zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Linux学习65 实战使用awk高级功能统计网络请求连接状态
    Linux学习64 awk使用与实战
    Linux学习63 shell脚本高级编程-信号捕捉实战
    Linux学习62 shell脚本高级编程-数组和字符串处理
    Linux学习61 企业军工级别安全策略-SELinux简介
    Linux学习60 centos7新特性-systemd及systemctl实战
    Linux学习59 shell脚本高级用法-函数编程与应用实战
    【HBase】HBase与MapReduce的集成案例
    【HBase】底层原理
    【HBase】Java实现过滤器查询
  • 原文地址:https://www.cnblogs.com/elegantok/p/1545576.html
Copyright © 2011-2022 走看看