选择屏幕的相关操作

58 篇文章 1 订阅

选择屏幕的相关操作

一、在选择屏幕中收起/展开字段
  1. 初始画面

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-90xGCts4-1678544897010)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220419164613242.png)]

  2. 点击Data Collapse按钮后,下面的两个字段收起不显示

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g5Q2j1z4-1678544897011)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220419164727349.png)]

  3. 代码:

    REPORT zdemo_016.
    TYPE-POOLS icon.
    TABLES mara.
    
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS p_werks TYPE werks_d.
    SELECTION-SCREEN END OF  BLOCK b1.
    
    SELECTION-SCREEN SKIP 1.
    
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN PUSHBUTTON 1(4) but1 USER-COMMAND button1 VISIBLE LENGTH 2.
    SELECTION-SCREEN COMMENT 6(20) com1.
    SELECTION-SCREEN END OF LINE.
    
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    SELECT-OPTIONS : s_matnr FOR mara-matnr MODIF ID bl1,
                     s_groes FOR mara-groes MODIF ID bl1.
    SELECTION-SCREEN END OF BLOCK b2.
    
    INITIALIZATION.
    * 初始化expand按钮
      WRITE icon_data_area_expand AS ICON TO but1.
      com1 = 'Data Collapse'.
    
    AT SELECTION-SCREEN.
    * 切换expand和Collapse按钮
      CASE sy-ucomm.
        WHEN 'BUTTON1'.
          IF but1 = '@K1@'.
            WRITE icon_data_area_collapse AS ICON TO but1.
            com1 = 'Data Expand'.
          ELSE.
            WRITE icon_data_area_expand AS ICON TO but1.
            com1 = 'Data Collapse'.
          ENDIF.
      ENDCASE.
    
    AT SELECTION-SCREEN OUTPUT.
    * 隐藏group1中的字段
      LOOP AT SCREEN.
        IF but1 = '@K2@' AND screen-group1 = 'BL1'.
          screen-active = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    
二、在选择屏中做出账龄效果\多个单选值在一行,下拉框
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MJTDSgu-1678544897011)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220430210810021.png)]

  2. 代码:

    *&---------------------------------------------------------------------*
    *& Report ZDEMO_0251
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zdemo_0251.
    
    *******************************
    *屏幕处理
    *******************************
    SELECTION-SCREEN BEGIN OF BLOCK selt WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (31) TEXT-004 FOR FIELD p_d1.
    PARAMETERS p_d1(4) TYPE n .
    PARAMETERS p_d2 TYPE char2 DEFAULT '1 天'AS LISTBOX VISIBLE LENGTH 5.
    PARAMETERS p_d3(4) TYPE n .
    PARAMETERS p_d4 TYPE char2 DEFAULT '2 月'AS LISTBOX VISIBLE LENGTH 5.
    PARAMETERS p_d5(4) TYPE n .
    PARAMETERS p_d6 TYPE char2 DEFAULT '3 年'AS LISTBOX VISIBLE LENGTH 5.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (31) TEXT-003 FOR FIELD p_d1.
    PARAMETERS p_d7(4) TYPE n .
    PARAMETERS p_d8 TYPE char2 DEFAULT '1 天'AS LISTBOX VISIBLE LENGTH 5.
    PARAMETERS p_d9(4) TYPE n .
    PARAMETERS p_d10 TYPE char2 DEFAULT '2 月'AS LISTBOX VISIBLE LENGTH 5.
    PARAMETERS p_d11(4) TYPE n.
    PARAMETERS p_d12 TYPE char2 DEFAULT '3 年'AS LISTBOX VISIBLE LENGTH 5.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK selt.
    
    INITIALIZATION.
      PERFORM  frm_list.
    
    *&---------------------------------------------------------------------*
    *& Form FRM_LIST
    *&---------------------------------------------------------------------*
    *& text
    *&---------------------------------------------------------------------*
    *& -->  p1        text
    *& <--  p2        text
    *&---------------------------------------------------------------------*
    FORM frm_list .
      "下拉框定义
      DATA:vid1   TYPE vrm_id,
           list1  TYPE vrm_values,
           value1 LIKE LINE OF list1.
      REFRESH list1.
      list1 = VALUE #( ( key = '1' text = '年'  )
                      ( key = '2' text = '月' )
                      ( key = '3' text = '天' ) ).
    
    **调用下拉框赋值函数
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D2' "对应选择屏幕上定义的名称
          values = list1.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D4' "对应选择屏幕上定义的名称
          values = list1.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D6' "对应选择屏幕上定义的名称
          values = list1.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D8' "对应选择屏幕上定义的名称
          values = list1.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D12' "对应选择屏幕上定义的名称
          values = list1.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id     = 'P_D10' "对应选择屏幕上定义的名称
          values = list1.
    ENDFORM.
    
三、通过单选按钮动态改变选择屏幕
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UcqQYSV0-1678544897012)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220430225439123.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O83jySsL-1678544897012)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220430225458455.png)]

  2. 代码:

    *&---------------------------------------------------------------------*
    *& Report ZDEMO_0251
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zdemo_0251.
    
    *******************************
    *屏幕处理
    *******************************
    TABLES: mseg,aufk,ekko.
    
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
    PARAMETERS: p_p1 TYPE c RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND flag,
                p_p2 TYPE c RADIOBUTTON GROUP g1.
    
    SELECTION-SCREEN SKIP 1.
    
    PARAMETERS: p_werks TYPE marc-werks DEFAULT '3001' .
    SELECT-OPTIONS: s_lgort FOR mseg-lgort MODIF ID m1,
    s_matnr FOR mseg-matnr,
    s_aufnr FOR aufk-aufnr MODIF ID m1,
    s_ebeln FOR ekko-ebeln MODIF ID m2,
    s_mblnr FOR mseg-mblnr,
    s_bwart FOR mseg-bwart.
    SELECTION-SCREEN END OF BLOCK b1.
    
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        CASE screen-group1.
          WHEN 'M1'.
            IF p_p1 = 'X'.
              screen-active = '0'.
            ELSE.
              screen-active = '1'.
            ENDIF.
          WHEN 'M2'.
            IF p_p1 = 'X'.
              screen-active = '1'.
            ELSE.
              screen-active = '0'.
            ENDIF.
          WHEN OTHERS.
        ENDCASE.
        MODIFY SCREEN.
      ENDLOOP.
    
四、在程序中定义屏幕选择字段的描述
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IuG4xw3J-1678544897012)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220507155145218.png)]

  2. 代码:

    TABLES:MARA.
    PARAMETER P_A TYPE C LENGTH 10.
    SELECT-OPTIONS S_MATNR FOR MARA-MATNR.
    
    INITIALIZATION.
    "变量参数:%_ + 屏幕选择字段变量 + _%_APP_%-TEXT
      %_P_A_%_APP_%-TEXT = '短文本'.
      %_S_MATNR_%_APP_%-TEXT = '对于屏幕字段备注测试的长文本'.
    
五、选择屏幕默认值
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mMKG4c97-1678544897012)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220507171348036.png)]

  2. 代码:

    PARAMETER p_a TYPE c LENGTH 10.
    
    INITIALIZATION.
    p_a = '12'.
    
六、在选择屏幕的菜单栏中添加按钮
  1. 在选择屏幕菜单栏中添加按钮,big响应对应的事件

    *&---------------------------------------------------------------------*
    *& Report ZDEMO_050
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zdemo_050.
    TABLES: sscrfields.
    
    "自定义按钮
    SELECTION-SCREEN: FUNCTION KEY 1,
                      FUNCTION KEY 2,
                      FUNCTION KEY 3.
    PARAMETERS: p_1 TYPE c.  " 选择屏幕
    
    INITIALIZATION.
    
      "初始化屏幕
      PERFORM frm_init_sel_screen.
    
    FORM frm_init_sel_screen .
      DATA: lv_functxt TYPE smp_dyntxt.
      DATA: lt_exclude TYPE TABLE OF sy-ucomm.
    
      lv_functxt-icon_id   = icon_change.
      lv_functxt-icon_text = '手工维护'.
      sscrfields-functxt_01 = lv_functxt.
    
      lv_functxt-icon_id   = icon_xls.
      lv_functxt-icon_text = '数据导入'.
      sscrfields-functxt_02 = lv_functxt.
    
      lv_functxt-icon_id   = icon_xxl.
      lv_functxt-icon_text = '导入模板下载'.
      sscrfields-functxt_03 = lv_functxt.
    
    ENDFORM.
    
    AT SELECTION-SCREEN.
      "响应选择屏幕的按钮功能
      PERFORM frm_excue_button.
    
    FORM frm_excue_button .
    
      CASE sscrfields-ucomm.
        WHEN 'FC01'.
          p_1 =  1 + ''.
          MESSAGE p_1 TYPE 'I'.
        WHEN 'FC02'.
          p_1 =  2 + ''.
          MESSAGE p_1 TYPE 'I'.
        WHEN 'FC03'.
          p_1 =  3 + ''.
          MESSAGE p_1 TYPE 'I'.
        WHEN OTHERS.
    
      ENDCASE.
    ENDFORM.
    
  2. 执行结果:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84BMpPOn-1678544897012)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220428153709648.png)]

七、在选择屏幕的界面中添加按钮
  1. 在选择屏幕下方的内容中添加按钮并执行对应的逻辑

    *&---------------------------------------------------------------------*
    *& Report ZDEMO_050
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zdemo_050.
    data p_1 TYPE string.  " 选择屏幕
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    
    SELECTION-SCREEN SKIP 1. "屏幕换行
    SELECTION-SCREEN PUSHBUTTON 30(10) TEXT-001 USER-COMMAND pb1. "查询按钮
    SELECTION-SCREEN SKIP 1. "屏幕换行
    SELECTION-SCREEN PUSHBUTTON 30(10) TEXT-002 USER-COMMAND pb2. "发送按钮
    
    SELECTION-SCREEN END OF BLOCK b1.
    
    INITIALIZATION.
    
    AT SELECTION-SCREEN OUTPUT.
    
    START-OF-SELECTION.
    
    AT SELECTION-SCREEN.
      CASE sy-ucomm.
        WHEN 'PB1'.
          p_1 = '按钮1'.
          MESSAGE p_1 TYPE 'I'.
        WHEN 'PB2'.
          p_1 = '按钮2'.
          MESSAGE p_1 TYPE 'I'.
      ENDCASE.
    
    END-OF-SELECTION.
    
  2. 执行结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p8IMawPP-1678544897013)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220428161658502.png)]

八、搜索帮助年月单输入框
  1. 效果图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y4UvOstU-1678544897013)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220509104644166.png)]

  2. 代码:

    *&---------------------------------------------------------------------*
    *& Report ZDEMO03
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zdemo03.
    
    PARAMETERS: p_spmon TYPE mcs1-spmon DEFAULT sy-datum+0(6) OBLIGATORY.           " 导入年月
    
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_spmon.
      PERFORM frm_spmon_f4.
    
    FORM frm_spmon_f4.
    
      DATA: BEGIN OF ls_dynpfields.
              INCLUDE STRUCTURE dynpread.
      DATA: END   OF ls_dynpfields,
      lt_dynpfields LIKE TABLE OF ls_dynpfields.
    
      DATA: lv_returncode LIKE sy-subrc,
            lv_monat      LIKE isellist-month,
            lv_hlp_repid  LIKE sy-repid.
    
      GET CURSOR FIELD ls_dynpfields-fieldname.
      APPEND ls_dynpfields TO lt_dynpfields.
      lv_hlp_repid = sy-repid.
    
      DO 2 TIMES.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            dyname               = lv_hlp_repid
            dynumb               = sy-dynnr
          TABLES
            dynpfields           = lt_dynpfields
          EXCEPTIONS
            invalid_abapworkarea = 01
            invalid_dynprofield  = 02
            invalid_dynproname   = 03
            invalid_dynpronummer = 04
            invalid_request      = 05
            no_fielddescription  = 06
            undefind_error       = 07.
        IF sy-subrc = 3.
          lv_hlp_repid = 'SAPLALDB'.
        ELSE.
          READ TABLE lt_dynpfields INTO ls_dynpfields INDEX 1.
          TRANSLATE ls_dynpfields-fieldvalue USING '_ '.
          EXIT.
        ENDIF.
      ENDDO.
    
      IF sy-subrc = 0.
    
        CALL FUNCTION 'CONVERSION_EXIT_PERI_INPUT'
          EXPORTING
            input         = ls_dynpfields-fieldvalue
          IMPORTING
            output        = lv_monat
          EXCEPTIONS
            error_message = 1.
    
        IF lv_monat IS INITIAL.
          lv_monat = sy-datlo(6).
        ENDIF.
    
        CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
          EXPORTING
            actual_month               = lv_monat
          IMPORTING
            selected_month             = lv_monat
            return_code                = lv_returncode
          EXCEPTIONS
            factory_calendar_not_found = 01
            holiday_calendar_not_found = 02
            month_not_found            = 03.
        IF sy-subrc = 0 AND lv_returncode = 0.
          CALL FUNCTION 'CONVERSION_EXIT_PERI_OUTPUT'
            EXPORTING
              input  = lv_monat
            IMPORTING
              output = ls_dynpfields-fieldvalue.
          COLLECT ls_dynpfields INTO lt_dynpfields.
          CALL FUNCTION 'DYNP_VALUES_UPDATE'
            EXPORTING
              dyname               = lv_hlp_repid
              dynumb               = sy-dynnr
            TABLES
              dynpfields           = lt_dynpfields
            EXCEPTIONS
              invalid_abapworkarea = 01
              invalid_dynprofield  = 02
              invalid_dynproname   = 03
              invalid_dynpronummer = 04
              invalid_request      = 05
              no_fielddescription  = 06
              undefind_error       = 07.
    
        ENDIF.
    
      ENDIF.
    
    ENDFORM.
    
九、搜索帮助年月多输入框
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jz6YtHgu-1678544897013)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220509105412446.png)]

  2. 代码:

    DATA: l_code  LIKE  sy-subrc.
    DATA:lv_ny TYPE  ISELLIST-MONTH .  "这个定义自己要注意下
    
    SELECTION-SCREEN BEGIN OF BLOCK bl01 WITH FRAME TITLE TEXT-001.
      SELECT-OPTIONS:  s_ny     FOR lv_ny  OBLIGATORY."年月
    SELECTION-SCREEN END OF BLOCK bl01.
    
    INITIALIZATION .
    
    AT SELECTION-SCREEN OUTPUT .
    
      lv_ny = sy-datum+0(6).
    
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ny-low. "对SELECT-OPTIONS第一个值进行搜索帮助
      CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
        EXPORTING
          actual_month               = lv_ny  "默认值:当前年月
          language                   = sy-langu
          start_column               = 8
          start_row                  = 5
        IMPORTING
          selected_month             = s_ny-low  "选择完成之后赋值给S_NY的low值
          return_code                = l_code
        EXCEPTIONS
          factory_calendar_not_found = 1
          holiday_calendar_not_found = 2
          month_not_found            = 3
          OTHERS                     = 4.
    
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_ny-high.
      CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
        EXPORTING
          actual_month               = lv_ny
          language                   = sy-langu
          start_column               = 8
          start_row                  = 5
        IMPORTING
          selected_month             = s_ny-high
          return_code                = l_code
        EXCEPTIONS
          factory_calendar_not_found = 1
          holiday_calendar_not_found = 2
          month_not_found            = 3
          OTHERS                     = 4.
    
    START-OF-SELECTION.
    
十、隐藏执行按钮
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TeBn3DW3-1678544897013)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220518164813354.png)]

  2. 代码:

    INITIALIZATION.
    
      DATA it_exclude TYPE TABLE OF sy-ucomm.
    
      "隐藏执行按钮
      APPEND 'ONLI' TO it_exclude.
      CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  = sy-pfkey
        TABLES
          p_exclude = it_exclude.
    
十一、复选按钮只选一个
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sBBnwtyG-1678544897013)(D:\学习计划笔记\问题解决办法\IMAGE\image-20220620153704597.png)]

  2. 代码:

    DATA: gv_str TYPE c.
    
    SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE t2.
      PARAMETERS:
        p_1 AS CHECKBOX USER-COMMAND flg1 MODIF ID m3, "
        p_2 AS CHECKBOX USER-COMMAND flg1 MODIF ID m4. "
    SELECTION-SCREEN END OF BLOCK bk2.
    
    
    
    AT SELECTION-SCREEN OUTPUT.
    *只能选择一项
      IF p_1 EQ 'X'.
        IF gv_str IS INITIAL.
          CLEAR p_2.
          gv_str = 'X'.
        ELSE.
          IF p_2 EQ 'X'.
            CLEAR p_1.
          ENDIF.
          CLEAR gv_str.
        ENDIF.
      ELSE.
        IF p_2 EQ 'X'.
          CLEAR p_1.
        ENDIF.
      ENDIF.
    
    AT SELECTION-SCREEN.
    
十二、选择屏幕中加一行空格
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tKwnsvoq-1678544897014)(D:\学习计划笔记\问题解决办法\IMAGE\image-20221124115827878.png)]

  2. 代码:

    SELECTION-SCREEN:BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:s_werks FOR ekbe-werks,
                   s_lifnr FOR ekko-lifnr,
                   s_matnr FOR ekbe-matnr,
                   s_budat FOR ekbe-budat,
                   s_bsart FOR ekko-bsart,
                   s_ebeln FOR ekbe-ebeln.
    PARAMETERS:p_status TYPE char4 AS LISTBOX VISIBLE LENGTH 20  DEFAULT 'A' MODIF ID m3.
    PARAMETERS:p_all    AS CHECKBOX  .
    SELECTION-SCREEN SKIP.
    PARAMETERS:p_bldat TYPE ekbe-budat  .
    SELECTION-SCREEN END OF BLOCK b1.
    
十三、选择屏幕中的某个字段不可以编辑。
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VgNC2QKM-1678544897014)(D:\学习计划笔记\问题解决办法\IMAGE\image-20221124120142799.png)]

  2. 代码:

    SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME TITLE TEXT-102.
    
    " 添加物料类型Z005  BY HAND 20221101 BEGIN OF "
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (31) TEXT-004 FOR FIELD p_mtart.
    PARAMETERS:p_mtart TYPE mara-mtart DEFAULT 'Z001'.  " ---物料类型默认Z001
    PARAMETERS:p_mtart2 TYPE mara-mtart DEFAULT 'Z005'.  " ---物料类型默认Z001
    SELECTION-SCREEN END OF LINE.
    " 添加物料类型Z005  BY HAND 20221101 END  OF "
     
    SELECTION-SCREEN END OF BLOCK blk01.
    
    *&---------------------------------------------------------------------*
    *& INITIALIZATION/选择屏幕前初始化                                     *
    *&---------------------------------------------------------------------*
    INITIALIZATION.
    *&---初始化选择屏幕值
    *&---初始化变量
    
    *&---------------------------------------------------------------------*
    *& at selection-screen/选择屏幕开始                                    *
    *&---------------------------------------------------------------------*
    AT SELECTION-SCREEN.
    *  //为控件页签单击事件, 选择不同页签显示不同子屏幕.
    *定义触发事件
    
    *&---------------------------------------------------------------------*
    *& at selection-screen output/选择屏幕输出                             *
    *&---------------------------------------------------------------------*
    AT SELECTION-SCREEN OUTPUT.
    *&---数据处理,数据输出(AVL/LIST/WRITE),功能应用
      LOOP AT SCREEN.
        IF screen-name = 'P_MTART' OR screen-name = 'P_MTART2'.
          screen-input = 0.
        ELSE.
          screen-input = 1.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    
十四、选择屏幕中多页签
  1. 效果图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vYoMyhyS-1678544897014)(D:\学习计划笔记\问题解决办法\IMAGE\image-20230104140749742.png)]

  2. 代码:

    SELECTION-SCREEN BEGIN OF TABBED BLOCK tabb1 FOR 9 LINES.
      SELECTION-SCREEN TAB (15) TEXT-001 USER-COMMAND ucomm1
        DEFAULT SCREEN 101.
      SELECTION-SCREEN TAB (15) TEXT-002 USER-COMMAND ucomm2
        DEFAULT SCREEN 102.
      SELECTION-SCREEN TAB (17) TEXT-003 USER-COMMAND ucomm3
        DEFAULT SCREEN 103.
    SELECTION-SCREEN END OF BLOCK tabb1.
    SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
      PARAMETER: p_matnr TYPE matnr.
    SELECTION-SCREEN END OF SCREEN 101.
    SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN.
      PARAMETER: p_mlbnr TYPE mblnr.
    SELECTION-SCREEN END OF SCREEN 102.
    SELECTION-SCREEN BEGIN OF SCREEN 103 AS SUBSCREEN.
      PARAMETER: p_ebeln TYPE ebeln.
    SELECTION-SCREEN END OF SCREEN 103.
    
十五、选择屏幕中多页签
  1. 效果图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ps9nainF-1678544897014)(D:\学习计划笔记\问题解决办法\IMAGE\image-20230303141652073.png)]

  1. 代码:

    REPORT  Z31667_DEMO.
    TABLES: mara.
    SELECTION-SCREEN BEGIN OF SCREEN 9000 AS WINDOW TITLE l_window.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE l_title.
    SELECT-OPTIONS s_matnr FOR mara-matnr.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN END OF SCREEN 9000.
    
    
    INITIALIZATION.
      l_window = 'window'.
      l_title = '选择条件'.
    
    START-OF-SELECTION.
      CALL SELECTION-SCREEN 9000 STARTING AT 10 5 ENDING AT 100 15.
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值