zoukankan      html  css  js  c++  java
  • 参考选择屏幕(控制选择屏幕两个屏幕,单值输入……通过函数实现单值输入)

      1 TABLES:likp,vbap,vbak,vttp.
      2 DATA:gl_restrict TYPE sscr_restrict.
      3 
      4 SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
      5 SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
      6 SELECT-OPTIONS: s_vstel FOR likp-vstel NO INTERVALS,               "装运点
      7                 s_lfdat FOR likp-lfdat NO INTERVALS    NO-EXTENSION ,                            "交货日期
      8                 s_lfart FOR likp-lfart DEFAULT 'LF' NO INTERVALS MODIF ID lf,              "交货类型
      9                 s_prodh FOR vbap-prodh NO INTERVALS,                          "产品层次
     10                 s_vbeln1 FOR likp-vbeln,                                       "交货单号
     11                 s_vtweg FOR vbak-vtweg NO INTERVALS.                          "销售渠道
     12 
     13 SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-002.
     14 * 配送方式
     15 SELECTION-SCREEN BEGIN OF LINE.
     16 SELECTION-SCREEN COMMENT 1(8) text-003.
     17 SELECTION-SCREEN POSITION 33.
     18 PARAMETERS r_rd1 RADIOBUTTON GROUP sg1 DEFAULT 'X' USER-COMMAND rd_click.
     19 SELECTION-SCREEN COMMENT 34(4) text-004 FOR FIELD r_rd1.
     20 SELECTION-SCREEN POSITION 45.
     21 PARAMETERS r_rd2 RADIOBUTTON GROUP sg1.
     22 SELECTION-SCREEN COMMENT 46(4) text-005 FOR FIELD r_rd2.
     23 SELECTION-SCREEN END OF LINE.
     24 * 拣配状态
     25 SELECTION-SCREEN BEGIN OF LINE.
     26 SELECTION-SCREEN COMMENT 1(8) text-006.
     27 SELECTION-SCREEN POSITION 33.
     28 PARAMETERS p_ck1 AS CHECKBOX.
     29 SELECTION-SCREEN COMMENT 34(4) text-007 FOR FIELD p_ck1.
     30 SELECTION-SCREEN POSITION 45.
     31 PARAMETERS p_ck2 AS CHECKBOX.
     32 SELECTION-SCREEN COMMENT 46(4) text-008 FOR FIELD p_ck2.
     33 SELECTION-SCREEN END OF LINE.
     34 
     35 SELECTION-SCREEN END OF BLOCK bk2.
     36 SELECTION-SCREEN END OF BLOCK bk1.
     37 SELECTION-SCREEN END OF SCREEN 100.
     38 
     39 * subscreen 200
     40 SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
     41 SELECTION-SCREEN BEGIN OF BLOCK bk3 WITH FRAME TITLE text-015.
     42 PARAMETERS: p_vbeln TYPE likp-vbeln   MODIF ID mop.
     43 SELECTION-SCREEN: PUSHBUTTON 63(5) pubu USER-COMMAND mailbutt.
     44 SELECT-OPTIONS: s_vbeln FOR likp-vbeln NO-DISPLAY.
     45 SELECTION-SCREEN END OF BLOCK bk3.
     46 SELECTION-SCREEN END OF SCREEN 200.
     47 
     48 * tab screen
     49 SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 25 LINES,
     50                   TAB (20) button1 USER-COMMAND push1,
     51                   TAB (20) button2 USER-COMMAND push2,
     52                   END OF BLOCK mytab.
     53 
     54 INITIALIZATION.
     55   PERFORM frm_set_tab.
     56   PERFORM frm_select_option.
     57 
     58 AT SELECTION-SCREEN OUTPUT.
     59   PERFORM frm_output_set.
     60 
     61 *&---------------------------------------------------------------------*
     62 *& 参数输入检查
     63 *&---------------------------------------------------------------------*
     64 AT SELECTION-SCREEN.
     65   PERFORM frm_set_screen.
     66 *&---------------------------------------------------------------------*
     67 *&      Form  frm_set_tab
     68 *&---------------------------------------------------------------------*
     69 *       text
     70 *----------------------------------------------------------------------*
     71 FORM frm_set_tab.
     72   DATA: lv_tab TYPE char1.
     73 
     74   button1 = '查询1'.
     75   button2 = '查询2'.
     76   mytab-prog = sy-repid.
     77   IMPORT p1 = lv_tab FROM MEMORY ID 'ZDQWM_099_TAB'.
     78   IF lv_tab IS INITIAL.
     79     mytab-dynnr = 100.
     80     mytab-activetab = 'PUSH1'.
     81   ELSE.
     82     IF lv_tab = 'A'.
     83       mytab-dynnr = 100.
     84       mytab-activetab = 'PUSH1'.
     85     ENDIF.
     86     IF lv_tab = 'B'.
     87       mytab-dynnr = 200.
     88       mytab-activetab = 'PUSH2'.
     89     ENDIF.
     90   ENDIF.
     91 *  mytab-dynnr = 100.
     92 *  mytab-activetab = 'PUSH1'.
     93 ENDFORM.                    "frm_set_tab
     94 *&---------------------------------------------------------------------*
     95 *&      Form  frm_set_screen
     96 *&---------------------------------------------------------------------*
     97 *       text
     98 *----------------------------------------------------------------------*
     99 FORM frm_set_screen.
    100 
    101   CASE sy-ucomm.
    102     WHEN 'PUSH1'.
    103       mytab-dynnr = 100.
    104       EXPORT p1 = 'A' TO MEMORY ID 'ZDQWM_099_TAB'.
    105     WHEN 'PUSH2'.
    106       mytab-dynnr = 200.
    107       EXPORT p1 = 'B' TO MEMORY ID 'ZDQWM_099_TAB'.
    108     WHEN 'MAILBUTT'.
    109       PERFORM show_box.
    110 
    111     WHEN OTHERS.
    112       ...
    113   ENDCASE.
    114 
    115 ENDFORM.                    "frm_set_screen
    116 *&---------------------------------------------------------------------*
    117 *&      Form  FRM_OUTPUT_SET
    118 *&---------------------------------------------------------------------*
    119 *       text
    120 *----------------------------------------------------------------------*
    121 *  -->  p1        text
    122 *  <--  p2        text
    123 *----------------------------------------------------------------------*
    124 FORM frm_output_set .
    125   IF p_vbeln IS INITIAL.
    126     WRITE icon_enter_more  AS ICON TO pubu.
    127   ELSE.
    128     WRITE icon_display_more AS ICON TO pubu.
    129   ENDIF.
    130 ENDFORM.                    " FRM_OUTPUT_SET
    131 
    132 *&---------------------------------------------------------------------*
    133 *&      Form  frm_select_option
    134 *&---------------------------------------------------------------------*
    135 *       text
    136 *----------------------------------------------------------------------*
    137 FORM frm_select_option.
    138 
    139   REFRESH gl_restrict-ass_tab.
    140   PERFORM frm_set_key USING 'KEY1' 'S_VSTEL'.
    141   PERFORM frm_set_key USING 'KEY2' 'S_PRODH'.
    142   PERFORM frm_set_key USING 'KEY3' 'S_VTWEG'.
    143   PERFORM frm_set_key USING 'KEY4' 'S_LFART'.
    144   PERFORM frm_set_key USING 'KEY10' 'S_VBELN2'.
    145 *    PERFORM frm_set_key USING 'KEY11' 'S_POS'.
    146   CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'                 "只执行一次
    147     EXPORTING
    148       restriction            = gl_restrict
    149     EXCEPTIONS
    150       too_late               = 1
    151       repeated               = 2
    152       selopt_without_options = 3
    153       selopt_without_signs   = 4
    154       invalid_sign           = 5
    155       empty_option_list      = 6
    156       invalid_kind           = 7
    157       repeated_kind_a        = 8
    158       OTHERS                 = 9.
    159   IF sy-subrc <> 0.
    160     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    161     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    162   ENDIF.
    163 
    164 ENDFORM.                    "frm_select_option
    165 *&---------------------------------------------------------------------*
    166 *&      Form  frm_set_key
    167 *&---------------------------------------------------------------------*
    168 *       text
    169 *----------------------------------------------------------------------*
    170 *      -->L_KEY      text
    171 *      -->L_NAME     text
    172 *----------------------------------------------------------------------*
    173 FORM frm_set_key USING l_key l_name.
    174   DATA: wl_restrict TYPE sscr_restrict,
    175         wl_optlist TYPE sscr_opt_list,
    176         wl_ass TYPE sscr_ass.
    177 
    178   CONSTANTS:  cl_s TYPE char1 VALUE 'S',
    179               cl_x TYPE c VALUE 'X',
    180               cl_i TYPE char1 VALUE 'I'.
    181 
    182   wl_optlist-name = l_key.      "选项框id,不同select-option不能重复
    183   wl_optlist-options-eq = cl_x.
    184   APPEND wl_optlist TO gl_restrict-opt_list_tab.
    185   CLEAR: wl_optlist.
    186 
    187   wl_ass-kind = cl_s.
    188   wl_ass-name = l_name.   "select-option id
    189   wl_ass-sg_main = cl_i.
    190   wl_ass-sg_addy = space.
    191   wl_ass-op_main = l_key.
    192   APPEND wl_ass TO gl_restrict-ass_tab.
    193   CLEAR: wl_ass.
    194 ENDFORM.                    "frm_set_key
    195 *&---------------------------------------------------------------------*
    196 *&      Form  SHOW_BOX
    197 *&---------------------------------------------------------------------*
    198 *       text
    199 *----------------------------------------------------------------------*
    200 *  -->  p1        text
    201 *  <--  p2        text
    202 *----------------------------------------------------------------------*
    203 FORM show_box .
    204   DATA: wh_excluded_options TYPE rsoptions.
    205   DATA: w_message TYPE char100.
    206 *输入单值,排除其他
    207   wh_excluded_options-ne = 'X'.
    208   wh_excluded_options-bt = 'X'.
    209   wh_excluded_options-nb = 'X'.
    210   wh_excluded_options-ge = 'X'.
    211   wh_excluded_options-gt = 'X'.
    212   wh_excluded_options-le = 'X'.
    213   wh_excluded_options-lt = 'X'.
    214   wh_excluded_options-cp = 'X'.
    215   wh_excluded_options-np = 'X'.
    216 
    217   CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
    218     EXPORTING
    219       title             = '批量处理'
    220       just_incl         = 'X'         "只有包含输入
    221       excluded_options  = wh_excluded_options
    222     TABLES
    223       range             = s_vbeln
    224     EXCEPTIONS
    225       no_range_tab      = 1
    226       cancelled         = 2
    227       internal_error    = 3
    228       invalid_fieldname = 4
    229       OTHERS            = 5.
    230   IF sy-subrc <> 0.
    231     IF sy-subrc = 2.
    232       MESSAGE '取消批量处理' TYPE 'S'.
    233       EXIT.
    234     ENDIF.
    235     CALL FUNCTION 'MESSAGE_TEXT_BUILD'
    236       EXPORTING
    237         msgid               = sy-msgid
    238         msgnr               = sy-msgno
    239         msgv1               = sy-msgv1
    240         msgv2               = sy-msgv2
    241         msgv3               = sy-msgv3
    242         msgv4               = sy-msgv4
    243       IMPORTING
    244         message_text_output = w_message.
    245     MESSAGE w_message TYPE 'S' DISPLAY LIKE 'E'.
    246     EXIT.
    247   ENDIF.
    248 ENDFORM.                    " SHOW_BOX
    View Code

     

  • 相关阅读:
    jquery easy ui 学习 (8)basic treegrid
    jquery easy ui 学习 (7) TreeGrid Actions
    jquery easy ui 学习 (6) basic validatebox
    jquery easy ui 学习 (5) windowlayout
    jquery easy ui 学习 (4) window 打开之后 限制操纵后面元素属性
    提示“应用程序无法启动,因为应用程序的并行配置不正确”不能加载 System.Data.SQLite.dll
    visual studio 添加虚线的快捷键
    VS2010打开项目时,出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案
    visual studio 编译时 出现 Files 的值 乱码
    微信 连接被意外关闭
  • 原文地址:https://www.cnblogs.com/ruingy/p/3643044.html
Copyright © 2011-2022 走看看