手工创建表控制条目

手工创建表控制条目:

1、新建主屏幕。

2、新建子屏幕至少两个。

3.在主屏幕上加上手工创建表条目的元素,设置其属性、这边值得注意的是在表条目元素里面加上子屏幕范围并设置名称,在tab1下面的参考字段里填上刚才加进去的子屏幕范围,并在tab2中相应的此位置也设置刚才创建的子屏幕范围名称。

4、代码部分:

定义的时候要多定义一个sy-ucomm变量 并赋予变量的默认值子屏幕中tab1的功能码。

还要定义CONTROLS:  tt TYPE TABSTRIP.   “TT为表条目控制的控件名称,一定要和你画出的一样,

5、在主屏幕的BPO下面设置逻辑流要加上一章中学过的调用子屏幕的语句:CALL SUBSCREEN:TT_REF INCLUDING sy-repid sid1. 其中 sy-repid 是本程序名称,sid1是屏幕的变量号码。

联系下面PAI在 MODULE STATUS_0100下面设置sid1的获取逻辑:如下:

module STATUS_0100 output.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.

 tt-activetab PRE_TAB.   ”PRE_TAB是PAI中功能码的变量值,如果不把ok_code赋给表条目控制的控件 tt-activetab,button按钮就会一直定在button默认的地方。

  CASE tt-activetab .
    WHEN 'T1'.
      SID1 200.
    WHEN 'T2'.
      SID1 300.
  ENDCASE.

endmodule.

6、PAI设置:

PROCESS AFTER INPUT.
  MODULE cancel AT EXIT-COMMAND.  “退出按钮的设置
  CALL SUBSCREEN tt_sca.   ”这边是必须的要调用子屏幕范围,这里tt_sca是子屏幕范围的名称
  MODULE tt_active_tab_get.   ”对功能码的控制也就是MODULE USER_COMMAND_0100.这里面的逻辑如下

  save_ok ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'EXIT'.
      LEAVE PROGRAM.

    WHEN 'T1'.
      pre_tab 'T1'.

    WHEN 'T2'.
      pre_tab 'T2'.

  ENDCASE.

原文地址:https://www.cnblogs.com/caizjian/p/3332666.html