TABLE是我目前学习ABAP中遇到的最复杂的控件,它就相当于NET中的GRIDVIEW,但功能远没有GRIDVIEW强大和方便。但是,人家是SAP所以我们也只能随从。
1、将工具栏中的table图标拖到设计界面中,拖放到适当的大写,取名这T_C1。
2、从目录/程序字段中找到需要的字段。并将字段放到T_C1当中,字段会自动生成各列。
3、在ABAP程序中申明T_C1
controls:T_C1 type TABLEVIEW WITH SCREEN 0200.
4、申明一个工作区和一个内表,用来暂存和传输数据。
data:g_tab like tab1 occurs 0,
wa_tab like tab1.
5、在ABAP中编写一个取数的MODULE并申明是PBO类型,因给Table增加数据,只能使用工作区一条一条的传,所以还需要建一个传送数据的MODULE并申明是PBO类型。
MODULE LOAD_DATA OUTPUT.
SELECT *
INTO TABLE G_TAB
FROM TAB1.
"将数据的记录数传给T_C1,T_C1好根据记录数来设定是否需要滚动条等信息。
DESCRIBE TABLE g_tab LINES T_C1-lines.
ENDMODULE.
MODULE TRANS_TO_TC OUTPUT.
"这里才是真真的把数据传给Table.
MOVE WA_TAB TO ZXSB.
ENDMODULE.
6、在屏幕的逻辑流中编写些代码。
PROCESS BEFORE OUTPUT.
MODULE LOAD_DATA.
LOOP AT G_TAB INTO WA_TAB WITH CONTROL T_C1.
MODULE trans_to_tc.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT G_TAB.
"这个暂时没什么用,但是一定要写,不然编译通不过。
ENDLOOP.
做完这些工作,就可以看到效果了,至于怎么做增、删、改,后面会有详细的说明。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23353800/viewspace-730273/
,如需转载,请注明出处,否则将追究法律责任。