Step 1:设计一个主屏幕,放置一个”子屏幕范围”<o:p></o:p>
屏幕的逻辑流为:<o:p></o:p>
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN sa_2200_1 INCLUDING sy-repid '2220'.<o:p></o:p>
*
PROCESS AFTER INPUT.<o:p></o:p>
MODULE USER_COMMAND_0100.<o:p></o:p>
CALL SUBSCREEN sa_2200_1.<o:p></o:p>
<o:p> </o:p>
MODULE USER_COMMAND_0100 INPUT.<o:p></o:p>
DATA lv_return_code TYPE i.<o:p></o:p>
<o:p> </o:p>
CLEAR save_ok.<o:p></o:p>
save_ok = ok_code.<o:p></o:p>
CLEAR ok_code.<o:p></o:p>
CLEAR gv_processed.<o:p></o:p>
CALL METHOD cl_gui_cfw=>dispatch<o:p></o:p>
IMPORTING
return_code = lv_return_code.<o:p></o:p>
CHECK lv_return_code = cl_gui_cfw=>rc_noevent.<o:p></o:p>
CASE save_ok.<o:p></o:p>
WHEN 'PB_2220_1' OR 'PB_2220_2' OR 'PB_2240_1' OR 'PB_2240_2' OR<o:p></o:p>
'PB_2260_1' OR 'PB_2260_2' OR 'PB_2280_1' OR 'PB_2280_2'.<o:p></o:p>
PERFORM set_the_col_area_screen.<o:p></o:p>
WHEN others.<o:p></o:p>
* action code from the menus will be processed here.<o:p></o:p>
PERFORM get_screen_number USING save_ok.<o:p></o:p>
ENDCASE.<o:p></o:p>
ENDMODULE. " USER_COMMAND_0100 INPUT<o:p></o:p>
<o:p> </o:p>
*&---------------------------------------------------------------------*<o:p></o:p>
*& Form set_the_col_area_screen<o:p></o:p>
*&---------------------------------------------------------------------*<o:p></o:p>
* This subroutine is used to set the subscreen for the collapsible<o:p></o:p>
* areas<o:p></o:p>
*----------------------------------------------------------------------*<o:p></o:p>
FORM set_the_col_area_screen .<o:p></o:p>
CASE save_ok.<o:p></o:p>
WHEN 'PB_2220_1' OR 'PB_2260_2'. "打开下半部展开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2280.<o:p></o:p>
WHEN 'PB_2220_2' OR 'PB_2260_1'. "打开上半部展开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2240.<o:p></o:p>
WHEN 'PB_2240_1' OR 'PB_2280_2'. "打开全关闭的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2260.
WHEN 'PB_2280_1' OR 'PB_2240_2'. "打开全打开的子屏幕<o:p></o:p>
gv_subscreen_2200_1 = 2220.<o:p></o:p>
ENDCASE.<o:p></o:p>
ENDFORM. " set_the_col_area_screen<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
Step 2: 最底层的两个信息子屏幕<o:p></o:p>
屏幕(2290)
<v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 297.75pt; HEIGHT: 183.75pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
<v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 297.75pt; HEIGHT: 183.75pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
逻辑流<o:p></o:p>PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
<o:p> </o:p>
屏幕(2230)
<v:shape id="_x0000_i1026" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 228pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title=""></v:imagedata></v:shape>
逻辑流<o:p></o:p>
PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
<o:p> </o:p>
Step 3: 定义全展示子屏幕 (2220)
<o:p></o:p>
<v:shape id="_x0000_i1027" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 372pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image005.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2220_1
第一个按钮的功能码:PB_2220_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2220_1 including sy-repid '2290'.<o:p></o:p>
CALL SUBSCREEN SA_2220_2 including sy-repid '2300'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2220_1.<o:p></o:p>
CALL SUBSCREEN SA_2220_2.<o:p></o:p>
<o:p> </o:p>
Step 4:定义上半部展开的子屏幕(2240)
<o:p><o:p></o:p></o:p>
<v:shape id="_x0000_i1028" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 316.5pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image007.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2240_1
第一个按钮的功能码:PB_2240_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2240_1 including sy-repid '2290'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2240_1.<o:p></o:p>
<o:p> </o:p>
Step 5:定义下半部展开的子屏幕(2280)
<o:p></o:p>
<v:shape id="_x0000_i1029" type="#_x0000_t75" style="WIDTH: 415.5pt; HEIGHT: 239.25pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image009.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2280_1
第一个按钮的功能码:PB_2280_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
CALL SUBSCREEN SA_2280_2 including sy-repid '2300'.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>
CALL SUBSCREEN SA_2280_2.<o:p></o:p>
<o:p> </o:p>
Step 6:定义全关闭的子屏幕(2260)<o:p></o:p>
<v:shape id="_x0000_i1030" type="#_x0000_t75" style="WIDTH: 401.25pt; HEIGHT: 151.5pt"><v:imagedata src="file:///C:\DOCUME~1\wuzy\LOCALS~1\Temp\msohtml1\01\clip_image011.png" o:title=""></v:imagedata></v:shape>
第一个按钮的功能码:PB_2260_1
第一个按钮的功能码:PB_2260_2
屏幕逻辑流
PROCESS BEFORE OUTPUT.<o:p></o:p>
*<o:p></o:p>
PROCESS AFTER INPUT.<o:p></o:p>