如何做出类似ME21N的折叠屏幕

 
REPORT  z_barry_screen.
 
DATA  p_subscreen LIKE sy-dynnr .
DATA: save_ok LIKE sy-ucomm ,
      ok_code LIKE sy-ucomm.
DATA: inputt1(10),
      inputt2(10).
 
inputt1 = 'TESTT1'.
inputt2 = 'TESTT2'.
p_subscreen = '1001'.
 
CALL SCREEN 100 .
 
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'MAIN100'.
  SET TITLEBAR 'T100'.
ENDMODULE.                 " STATUS_0100  OUTPUT
 
MODULE user_command_0100 INPUT.
  CLEAR save_ok.
  save_ok = ok_code.
  CLEAR ok_code.
 
  CASE save_ok.
    WHEN 'B1001_1' OR 'B1004_2'.
      p_subscreen  =  1003.
    WHEN 'B1001_2' OR 'B1004_1'.
      p_subscreen  =  1002.
    WHEN 'B1002_1' OR 'B1003_2'.
      p_subscreen  =  1004.
    WHEN 'B1003_1' OR 'B1002_2'.
      p_subscreen  =  1001.
    WHEN 'BACK'.
      LEAVE PROGRAM.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
 
** 0100
PROCESS BEFORE OUTPUT.
  MODULE status_0100.
  CALL SUBSCREEN sub_0100 INCLUDING sy-repid p_subscreen.
PROCESS AFTER INPUT.
  MODULE user_command_0100.
  CALL SUBSCREEN sub_0100.
 
**1001
PROCESS BEFORE OUTPUT.
  CALL SUBSCREEN sub_1001_1 INCLUDING sy-repid '0200'.
  CALL SUBSCREEN sub_1001_2 INCLUDING sy-repid '0300'.
PROCESS AFTER INPUT.
  CALL SUBSCREEN sub_1001_1.
  CALL SUBSCREEN sub_1001_2.
 
**1002
PROCESS BEFORE OUTPUT.
  CALL SUBSCREEN sub_1002_1 INCLUDING sy-repid '0200'.
PROCESS AFTER INPUT.
  CALL SUBSCREEN sub_1002_1.
 
**1003
PROCESS BEFORE OUTPUT.
  CALL SUBSCREEN sub_1003_2 INCLUDING sy-repid '0300'.
PROCESS AFTER INPUT.
  CALL SUBSCREEN sub_1003_2.
 
**1004
PROCESS BEFORE OUTPUT.
* MODULE STATUS_2260.
*
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_2260.
 
除100屏幕外,其余屏幕类型都是“子屏幕” 没有OK_code!

你可能感兴趣的:(如何做出类似ME21N的折叠屏幕)