Tabstrip表条目控制
采用表条目控制生成报表,更直观地看到数据,而不必另外返回屏幕再转向需要的报表界面,
设计中因报表太多,如图(S-1)在工具条中就有五个报表,这些报表都与合同相关;
表条目控制设计如下:
第一、 对话框屏幕(0123),屏幕类型:方式对话框;
第二、 子屏幕(0124,0125,0126,0127,0128),屏幕类型:子屏幕;
第三、 程序代码:
controls mytabstrip type tabstrip. mytabstrip-activetab = 'PUSH01'.
PROCESS BEFORE OUTPUT. MODULE STATUS_0123. CALL SUBSCREEN : REF1 INCLUDING SY-REPID '0124', REF2 INCLUDING SY-REPID '0125', REF3 INCLUDING SY-REPID '0126', REF4 INCLUDING SY-REPID '0127', REF5 INCLUDING SY-REPID '0128'.
PROCESS AFTER INPUT.
CALL SUBSCREEN : REF1, REF2, REF3, REF4, REF5.
MODULE USER_COMMAND_0123.
PROCESS ON VALUE-REQUEST. * FIELD EXTWG MODULE F1_GET_INFO_EXTWG .
*&---------------------------------------------------------------------* *& Module STATUS_0123 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module STATUS_0123 output. * SET PF-STATUS 'xxxxxxxx'. * SET TITLEBAR 'xxx'. SET PF-STATUS 'DIALOG123'.
endmodule. " STATUS_0123 OUTPUT
*&---------------------------------------------------------------------* *& Module USER_COMMAND_0123 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module USER_COMMAND_0123 input. * S_OK_CODE = ok_code. * message s_ok_code type 'S'. mytabstrip-activetab = s_ok_code.
CASE s_ok_code.
WHEN 'PUSH01'. mytabstrip-activetab = s_ok_code. WHEN 'PUSH02'. mytabstrip-activetab = s_ok_code. WHEN 'PUSH03'. mytabstrip-activetab = s_ok_code. WHEN 'PUSH04'. mytabstrip-activetab = s_ok_code. WHEN 'PUSH05'. mytabstrip-activetab = s_ok_code. when 'BACK' . LEAVE TO SCREEN 0. when 'CANCEL' . LEAVE TO SCREEN 0. when 'ENV_OK'. LEAVE TO SCREEN 0. when 'ENV_CANCEL'. LEAVE TO SCREEN 0. ENDCASE. endmodule. " USER_COMMAND_0123 INPUT |
阅读(1038) | 评论(2) | 转发(0) |