Screen返回选择界面的问题
生活随笔
收集整理的這篇文章主要介紹了
Screen返回选择界面的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自己寫的Report,用到了自己定義的Screen,如何在任何一個Screen直接返回選擇界面(1000)?
可以用:????? SET SCREEN 0.
???????????? ?LEAVE SCREEN.
或者? :????? LEAVE TO SCREEN 0 . 但是,有時候不是返回選擇界面,而是返回了調用這個Screen的地方。 這是因為: LEAVE TO SCREEN scr. :Leaves the current screen and processes the screen scr.
If scr = 0, processing in CALL mode continues after the CALL SCREEN statement. Otherwise, you branch to the transaction selection screen.
所以,如果100調用200,不要用CALL,用Leave to screen 200 .就可以在200直接返回1000了。 下面是一個例子: REPORT z_scm_ftp_manager NO STANDARD PAGE HEADING . DATA: ok_code LIKE sy-ucomm . SELECT-OPTIONS:
????? s_date FOR sy-datum DEFAULT sy-datum . START-OF-SELECTION.
? CALL SCREEN 100. *&---------------------------------------------------------------------*
*&????? Module? USER_COMMAND_0100? INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
? CASE ok_code.
??? WHEN 'BACK'.
*????? SET SCREEN 0.
*????? LEAVE SCREEN.
????? LEAVE TO SCREEN 0 .
??? WHEN 'CALLSCR'.
????? CALL SCREEN 200.
??? WHEN 'LEAVESCR'.
????? LEAVE TO SCREEN 200.
? ENDCASE.
? CLEAR ok_code .
ENDMODULE.???????????????? " USER_COMMAND_0100? INPUT *&---------------------------------------------------------------------*
*&????? Module? STATUS_0100? OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
? SET PF-STATUS 'MAIN100'.
ENDMODULE.???????????????? " STATUS_0100? OUTPUT
*&---------------------------------------------------------------------*
*&????? Module? USER_COMMAND_0200? INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
? CASE ok_code.
??? WHEN 'BACKBTN'.
????? SET SCREEN 0.
????? LEAVE SCREEN.
? ENDCASE.
? CLEAR ok_code .
ENDMODULE.???????????????? " USER_COMMAND_0200? INPUT
*&---------------------------------------------------------------------*
*&????? Module? STATUS_0200? OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0200 OUTPUT.
? SET PF-STATUS space.
ENDMODULE.???????????????? " STATUS_0200? OUTPUT
???????????? ?LEAVE SCREEN.
或者? :????? LEAVE TO SCREEN 0 . 但是,有時候不是返回選擇界面,而是返回了調用這個Screen的地方。 這是因為: LEAVE TO SCREEN scr. :Leaves the current screen and processes the screen scr.
If scr = 0, processing in CALL mode continues after the CALL SCREEN statement. Otherwise, you branch to the transaction selection screen.
所以,如果100調用200,不要用CALL,用Leave to screen 200 .就可以在200直接返回1000了。 下面是一個例子: REPORT z_scm_ftp_manager NO STANDARD PAGE HEADING . DATA: ok_code LIKE sy-ucomm . SELECT-OPTIONS:
????? s_date FOR sy-datum DEFAULT sy-datum . START-OF-SELECTION.
? CALL SCREEN 100. *&---------------------------------------------------------------------*
*&????? Module? USER_COMMAND_0100? INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
? CASE ok_code.
??? WHEN 'BACK'.
*????? SET SCREEN 0.
*????? LEAVE SCREEN.
????? LEAVE TO SCREEN 0 .
??? WHEN 'CALLSCR'.
????? CALL SCREEN 200.
??? WHEN 'LEAVESCR'.
????? LEAVE TO SCREEN 200.
? ENDCASE.
? CLEAR ok_code .
ENDMODULE.???????????????? " USER_COMMAND_0100? INPUT *&---------------------------------------------------------------------*
*&????? Module? STATUS_0100? OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
? SET PF-STATUS 'MAIN100'.
ENDMODULE.???????????????? " STATUS_0100? OUTPUT
*&---------------------------------------------------------------------*
*&????? Module? USER_COMMAND_0200? INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
? CASE ok_code.
??? WHEN 'BACKBTN'.
????? SET SCREEN 0.
????? LEAVE SCREEN.
? ENDCASE.
? CLEAR ok_code .
ENDMODULE.???????????????? " USER_COMMAND_0200? INPUT
*&---------------------------------------------------------------------*
*&????? Module? STATUS_0200? OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0200 OUTPUT.
? SET PF-STATUS space.
ENDMODULE.???????????????? " STATUS_0200? OUTPUT
總結
以上是生活随笔為你收集整理的Screen返回选择界面的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PP部分主数据导出SQVI设置
- 下一篇: ABAP 的TABLE CONTROL实