屏幕流代码:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
LOOP WITH CONTROL tab_crl.
MODULE filltab1.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tab_crl.
MODULE readtab1.
ENDLOOP.
MODULE USER_COMMAND_0100.
主程序代码:
REPORT ztest_pillar.
DATA: ok_code TYPE sy-ucomm.
DATA: save_ok TYPE sy-ucomm.
DATA: nums TYPE i.
"定义内表存储数据库数据
DATA: sp2 LIKE TABLE OF spfli WITH HEADER LINE.
"定义单结构记录,table control中行记录字段值就是参考该结构。而该结构要从SP2内表中取数。
DATA: sp1 TYPE spfli.
"增加内表数据
SELECT * INTO CORRESPONDING FIELDS OF TABLE sp2 FROM spfli.
"直接调用窗口
CALL SCREEN 100.
"定义表控制对象
CONTROLS tab_crl TYPE TABLEVIEW USING SCREEN 100.
"输出数据看内表有无改变
LOOP AT sp2.
WRITE: / sp2-carrid, sp2-connid.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS1'.
* SET TITLEBAR 'xxx'.
"给tabcontrol增加控制条----------------------------------------------------
IF nums = 0.
DESCRIBE TABLE sp2 LINES nums.
tab_crl-lines = nums.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module FILLTAB1 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE filltab1 OUTPUT.
READ TABLE sp2 INTO sp1 INDEX tab_crl-current_line.
ENDMODULE. " FILLTAB1 OUTPUT
*&---------------------------------------------------------------------*
*& Module READTAB1 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE readtab1 INPUT.
MODIFY sp2 FROM sp1 INDEX tab_crl-current_line.
ENDMODULE. " READTAB1 INPUT