人法地,地法天,天法道,道法自然
分类:
2009-06-06 11:53:01
类似ME23N(显示采购订单)的屏幕,收缩区域内的的屏幕,可以节省空间.
全部展开:
收起第二个区域:
收起第一个区域:
设计过程如下:
1、 主屏幕(0120)
子屏幕区域控件名称:SC_0120_1
逻辑流:
PROCESS BEFORE OUTPUT. |
2、 全部展开子屏幕(0130)
按钮功能码:PB_0130_1
PB_0130_2
子屏幕区域控件名称:SC_0130_1,SC_0130_2
逻辑流::
PROCESS BEFORE OUTPUT. |
3、同样设置其它子屏幕
0131:上区域展开,下区域收起,
按钮功能码:PB_0131_1,PB_0131_2,
子屏幕区域控件:SC_0131_1,SC_0131_2
逻辑流:
PROCESS BEFORE OUTPUT. |
0132:上区域收起,下区域展开
按钮功能码:PB_0132_1,PB_0132_2,
子屏幕区域控件:SC_0132_1,SC_0132_2
逻辑流:
PROCESS BEFORE OUTPUT. |
0133:上区域收起,下区域收起
按钮功能码:PB_0133_1,PB_0133_2,
子屏幕区域控件:SC_0133_1,SC_0133_2
逻辑流:
PROCESS BEFORE OUTPUT. |
4、 显示表格的子屏幕0140,0141
设置过程参考:Table Control多表设计<四>
5、 设置功能码事件响应:
REPORT ZMYP_TCM.
tables:mara,t001l.
data:begin of itab occurs 0.
include structure mara.
data:mark type char1.
data:end of itab.
data:begin of item occurs 0.
include structure t001l.
data:mark type char1.
data:end of item.
DATA: OK_CODE LIKE SY-UCOMM,
S_OK_CODE LIKE SY-UCOMM.
data: sub_screen like sy-dynnr .
sub_screen = '0130' .
…… ……
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0120 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0120 INPUT.”将该module放在主屏幕0120的PAI中
* DATA:lv_return_code type i.
S_OK_CODE = OK_CODE.
* CALL METHOD cl_gui_cfw=>dispatch
* IMPORTING
* return_code = lv_return_code.
*
* CHECK lv_return_code = cl_gui_cfw=>rc_noevent.
CASE S_OK_CODE.
WHEN 'PB_0130_1'. "收起上半部分 开
sub_screen = 0132 .
WHEN 'PB_0130_2'. "收起下半部分 开
sub_screen = 0131 .
WHEN 'PB_0131_1'. "收起上半部分 开
sub_screen = 0133 .
WHEN 'PB_0131_2'. "打开一下半部分 收
sub_screen = 0130 .
WHEN 'PB_0132_1'. "打开上半部分 收
sub_screen = 0130 .
WHEN 'PB_0132_2'. "收起下半部分 开
sub_screen = 0133 .
WHEN 'PB_0133_1'. "打开上半部分 收
sub_screen = 0131 .
WHEN 'PB_0133_2'. "打开下半部分 收
sub_screen = 0132 .
ENDCASE.
ENDMODULE. " USER_COMMAND_0120 INPUT