手动创建table control实例

来源:互联网 发布:js 怎么取数组前10条 编辑:程序博客网 时间:2024/05/16 09:02

屏幕流代码:

 

 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.
DATAok_code TYPE sy-ucomm.
DATAsave_ok TYPE sy-ucomm.
DATAnums TYPE i.
"定义内表存储数据库数据
DATAsp2 LIKE TABLE OF spfli WITH HEADER LINE.
"定义单结构记录,table control中行记录字段值就是参考该结构。而该结构要从SP2内表中取数。
DATAsp1 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-carridsp2-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

原创粉丝点击