• 2019.03.30 Dialog demo 一个标准使用的dialog程序


    1 PROGRAM zdemo_dialog.
    2 
    3 INCLUDE zdemo_dialogtop.
    4 INCLUDE zdemo_dialogo01.
    5 INCLUDE zdemo_dialogi01.
    6 INCLUDE zdemo_dialogf01.
    7 INCLUDE zdemo_dialoghelp.
    *&---------------------------------------------------------------------*
    *& 包含               ZDEMO_DIALOGTOP
    *&---------------------------------------------------------------------*
    
    
    "屏幕元素定义
    DATA"ok_code      TYPE sy-ucomm,
      input_one    TYPE char10,
      input_two    TYPE char10,
      output_three TYPE char10,
      cb_descri    TYPE char1.
    DATA subinput_one TYPE char10.
    TABLES:t001w,t001l,makt,marc.
    
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABSTRIP_01'
    CONSTANTSBEGIN OF c_tabstrip_01,
                 tab1 LIKE sy-ucomm VALUE 'TABSTRIP_01_FC1'"功能代码
                 tab2 LIKE sy-ucomm VALUE 'TABSTRIP_01_FC2',
                 tab3 LIKE sy-ucomm VALUE 'TABSTRIP_01_FC3',
               END OF c_tabstrip_01.
    *&SPWIZARD: DATA FOR TABSTRIP 'TABSTRIP_01'
    CONTROLS:  tabstrip_01 TYPE TABSTRIP.
    DATABEGIN OF g_tabstrip_01,
            subscreen   LIKE sy-dynnr, "子屏幕
            prog        LIKE sy-repid VALUE 'ZDEMO_DIALOG'"程序名
            pressed_tab LIKE sy-ucomm VALUE c_tabstrip_01-tab1, "按下去得按钮
          END OF g_tabstrip_01.
    DATA:      ok_code LIKE sy-ucomm.
    
    *排除按钮 EXCLUDING BUTTON
    DATA :gt_status TYPE TABLE OF sy-ucomm, "EXCLUDING GT_STATUS
          gs_status TYPE sy-ucomm. "
    
    *标题 TITLE
    DATA gv_title TYPE  c LENGTH 10.
    
    "标识 SIGN
    
    DATA gv_sign_01 TYPE c.
    
    
    *内表 TABLE CTRL 显示 表
    TYPES:BEGIN OF ty_tab,
            id    TYPE id,
            matnr TYPE mard-matnr,
            werks TYPE mard-werks,
            lgort TYPE mard-lgort,
          END OF ty_tab.
    DATA: lt_tab TYPE TABLE OF ty_tab,
          ls_tab TYPE  ty_tab.
    
    *table control 控制表
    TYPES:BEGIN OF ty_tab_crl,
            cbox  TYPE checkbox,
            id    TYPE id,
            matnr TYPE mard-matnr,
            werks TYPE mard-werks,
            lgort TYPE mard-lgort,
          END OF ty_tab_crl.
    DATA:gt_tab TYPE TABLE OF ty_tab_crl,
         gs_tab TYPE ty_tab_crl.
    
    *TABLE CONTROL 控制表2
    DATA :gt_tab_1 TYPE TABLE OF ty_tab_crl,
          gs_tab_1 TYPE ty_tab_crl.
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'TC_CTRL' ITSELF
    CONTROLS: tc_ctrl TYPE TABLEVIEW USING SCREEN 0120"table control 的控制器
    
    *&SPWIZARD: LINES OF TABLECONTROL 'TC_CTRL'
    DATA:     g_tc_ctrl_lines  LIKE sy-loopc."行数
    
    *DATA:     OK_CODE LIKE SY-UCOMM.
    
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'TC_CTRL_TAB' ITSELF
    CONTROLS: tc_ctrl_tab TYPE TABLEVIEW USING SCREEN 0130.
    
    *&SPWIZARD: LINES OF TABLECONTROL 'TC_CTRL_TAB'
    DATA:     g_tc_ctrl_tab_lines  LIKE sy-loopc.
    
    DATA gv_field TYPE lvc_s_fcat-fieldname.
    DATA gv_lines TYPE i.
    *DATA:     OK_CODE LIKE SY-UCOMM.
    
    
    *创建选择界面
    SELECTION-SCREEN BEGIN OF SCREEN 0111 AS SUBSCREEN.
    SELECT-OPTIONS s_werks FOR marc-werks.
    SELECTION-SCREEN END OF SCREEN 0111.
    
    *&SPWIZARD: DECLARATION OF TABLECONTROL 'TC_CTRL_TAB_1' ITSELF
    CONTROLS: tc_ctrl_tab_1 TYPE TABLEVIEW USING SCREEN 0110.
    
    *&SPWIZARD: LINES OF TABLECONTROL 'TC_CTRL_TAB_1'
    DATA:     g_tc_ctrl_tab_1_lines  LIKE sy-loopc.
    
    *DATA:     OK_CODE LIKE SY-UCOMM.
      1 *&---------------------------------------------------------------------*
      2 *& 包含               ZDEMO_DIALOGO01
      3 *&---------------------------------------------------------------------*
      4 *&---------------------------------------------------------------------*
      5 *& Module STATUS_0100 OUTPUT
      6 *&---------------------------------------------------------------------*
      7 *&
      8 *&---------------------------------------------------------------------*
      9 MODULE status_0100 OUTPUT.
     10   SET PF-STATUS 'STATUS_0100' EXCLUDING gt_status.
     11   SET TITLEBAR 'TITLE_0100' WITH gv_title.
     12 ENDMODULE.
     13 *&---------------------------------------------------------------------*
     14 *& Module PBO_0100 OUTPUT
     15 *&---------------------------------------------------------------------*
     16 *&
     17 *&---------------------------------------------------------------------*
     18 MODULE pbo_0100 OUTPUT.
     19   IF input_one IS NOT INITIAL.
     20     output_three = input_one.
     21   ELSE.
     22     output_three = 'NONE'.
     23   ENDIF.
     24 
     25   IF gv_sign_01 = abap_off.
     26     cb_descri = 'X'.
     27   ENDIF.
     28 
     29 
     30   IF cb_descri EQ abap_on.
     31     LOOP AT SCREEN .
     32       IF screen-group1 = 'GP1'.
     33         screen-active = '1'.
     34       ENDIF.
     35       MODIFY SCREEN.
     36     ENDLOOP.
     37   ELSE.
     38     LOOP AT SCREEN .
     39       IF screen-group1 = 'GP1'.
     40         screen-active = '0'.
     41       ENDIF.
     42       MODIFY SCREEN.
     43     ENDLOOP.
     44   ENDIF.
     45 
     46 
     47 ENDMODULE.
     48 
     49 *&SPWIZARD: OUTPUT MODULE FOR TS 'TABSTRIP_01'. DO NOT CHANGE THIS LINE!
     50 *&SPWIZARD: SETS ACTIVE TAB
     51 MODULE tabstrip_01_active_tab_set OUTPUT.
     52   tabstrip_01-activetab = g_tabstrip_01-pressed_tab.
     53   CASE g_tabstrip_01-pressed_tab."根据 按下得页签 来 获取 子屏幕
     54     WHEN c_tabstrip_01-tab1.
     55       g_tabstrip_01-subscreen = '0110'.
     56       gv_title = '-Create'.
     57     WHEN c_tabstrip_01-tab2.
     58       g_tabstrip_01-subscreen = '0120'.
     59       gv_title = '-Modify'.
     60     WHEN c_tabstrip_01-tab3.
     61       g_tabstrip_01-subscreen = '0130'.
     62       gv_title = '-Display'.
     63     WHEN OTHERS.
     64 *&SPWIZARD:      DO NOTHING
     65   ENDCASE.
     66 ENDMODULE.
     67 *&---------------------------------------------------------------------*
     68 *& Module STATUS_0110 OUTPUT
     69 *&---------------------------------------------------------------------*
     70 *&
     71 *&---------------------------------------------------------------------*
     72 MODULE status_0110 OUTPUT.
     73 * SET PF-STATUS 'xxxxxxxx'.
     74 * SET TITLEBAR 'xxx'.
     75   subinput_one = input_two.
     76 
     77 ENDMODULE.
     78 
     79 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL'. DO NOT CHANGE THIS LINE!
     80 *&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
     81 MODULE tc_ctrl_change_tc_attr OUTPUT.
     82   DESCRIBE TABLE lt_tab LINES tc_ctrl-lines."获取行数
     83 *  DESCRIBE TABLE LT_TAB OCCURS LV_LINES."初始化大小
     84   DESCRIBE TABLE lt_tab OCCURS DATA(lv_lines)."初始化大小
     85   DESCRIBE TABLE lt_tab KIND DATA(lv_type)."表类型
     86 
     87 ENDMODULE.
     88 
     89 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL'. DO NOT CHANGE THIS LINE!
     90 *&SPWIZARD: GET LINES OF TABLECONTROL
     91 MODULE tc_ctrl_get_lines OUTPUT.
     92   g_tc_ctrl_lines = sy-loopc.
     93   CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
     94     EXPORTING
     95       input  = ls_tab-matnr
     96     IMPORTING
     97       output = ls_tab-matnr.
     98 
     99 *  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    100 *    EXPORTING
    101 *      input  = ls_tab-id
    102 *    IMPORTING
    103 *      output = ls_tab-id.
    104 ENDMODULE.
    105 *&---------------------------------------------------------------------*
    106 *& Module GET_TABLE_DATA OUTPUT
    107 *&---------------------------------------------------------------------*
    108 *&
    109 *&---------------------------------------------------------------------*
    110 MODULE get_table_data OUTPUT.
    111 
    112   IF lt_tab[] IS INITIAL.
    113     SELECT matnr werks lgort FROM mard INTO CORRESPONDING FIELDS OF TABLE lt_tab
    114       UP TO 50 ROWS
    115       ORDER BY werks lgort.
    116     LOOP AT lt_tab ASSIGNING FIELD-SYMBOL(<fs>).
    117       <fs>-id = sy-tabix.
    118     ENDLOOP.
    119   ENDIF.
    120 
    121 ENDMODULE.
    122 
    123 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL_TAB'. DO NOT CHANGE THIS LINE!
    124 *&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
    125 MODULE tc_ctrl_tab_change_tc_attr OUTPUT.
    126   DESCRIBE TABLE gt_tab LINES tc_ctrl_tab-lines.
    127 ENDMODULE.
    128 
    129 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL_TAB'. DO NOT CHANGE THIS LINE!
    130 *&SPWIZARD: GET LINES OF TABLECONTROL
    131 MODULE tc_ctrl_tab_get_lines OUTPUT.
    132   g_tc_ctrl_tab_lines = sy-loopc.
    133   CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
    134     EXPORTING
    135       input  = gs_tab-matnr
    136     IMPORTING
    137       output = gs_tab-matnr.
    138 
    139 *  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    140 *    EXPORTING
    141 *      input  = gs_tab-id
    142 *    IMPORTING
    143 *      output = gs_tab-id.
    144 ENDMODULE.
    145 *&---------------------------------------------------------------------*
    146 *& Module GET_TABLE_DATA_130 OUTPUT
    147 *&---------------------------------------------------------------------*
    148 *&
    149 *&---------------------------------------------------------------------*
    150 MODULE get_table_data_130 OUTPUT.
    151   IF gt_tab[] IS INITIAL.
    152     SELECT matnr werks lgort FROM mard INTO CORRESPONDING FIELDS OF TABLE gt_tab
    153       UP TO 50 ROWS
    154       ORDER BY werks lgort.
    155     LOOP AT gt_tab ASSIGNING FIELD-SYMBOL(<fs1>).
    156       <fs1>-id = sy-tabix.
    157     ENDLOOP.
    158   ENDIF.
    159 ENDMODULE.
    160 
    161 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL_TAB_1'. DO NOT CHANGE THIS LIN
    162 *&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
    163 MODULE tc_ctrl_tab_1_change_tc_attr OUTPUT.
    164   DESCRIBE TABLE gt_tab_1 LINES tc_ctrl_tab_1-lines.
    165 ENDMODULE.
    166 
    167 *&SPWIZARD: OUTPUT MODULE FOR TC 'TC_CTRL_TAB_1'. DO NOT CHANGE THIS LIN
    168 *&SPWIZARD: GET LINES OF TABLECONTROL
    169 MODULE tc_ctrl_tab_1_get_lines OUTPUT.
    170   g_tc_ctrl_tab_1_lines = sy-loopc.
    171 ENDMODULE.
    172 *&---------------------------------------------------------------------*
    173 *& Module GET_TABLE_DATA_110 OUTPUT
    174 *&---------------------------------------------------------------------*
    175 *&
    176 *&---------------------------------------------------------------------*
    177 MODULE get_table_data_110 OUTPUT.
    178   IF gt_tab_1[] IS INITIAL.
    179     APPEND INITIAL LINE TO gt_tab_1.
    180   ENDIF.
    181 ENDMODULE.
    182 *&---------------------------------------------------------------------*
    183 *& Module TC_CTRL_TAB_CHANGE_FIELD_ATTR OUTPUT
    184 *&---------------------------------------------------------------------*
    185 *&
    186 *&---------------------------------------------------------------------*
    187 MODULE tc_ctrl_tab_change_field_attr OUTPUT.
    188 *  IF gs_tab-cbox = 'X'.
    189 *    LOOP AT SCREEN."控制摸个单元格可输入 可输出
    190 *      IF screen-name = 'GS_TAB-ID'.
    191 *        screen-input = '1'.
    192 *        MODIFY SCREEN.
    193 *      ENDIF.
    194 *    ENDLOOP.
    195 *  ENDIF.
    196 "光标处回车 可编辑
    197   IF tc_ctrl_tab-current_line = gv_lines + tc_ctrl_tab-top_line - 1.
    198     LOOP AT SCREEN.
    199       IF screen-name = gv_field.
    200         screen-input = '1'.
    201         MODIFY SCREEN.
    202       ENDIF.
    203     ENDLOOP.
    204   ENDIF.
    205 ENDMODULE.
      1 *&---------------------------------------------------------------------*
      2 *& 包含               ZDEMO_DIALOGI01
      3 *&---------------------------------------------------------------------*
      4 *&---------------------------------------------------------------------*
      5 *&      Module  USER_COMMAND_0100  INPUT
      6 *&---------------------------------------------------------------------*
      7 *       text
      8 *----------------------------------------------------------------------*
      9 MODULE user_command_0100 INPUT.
     10 
     11   ok_code = sy-ucomm.
     12 
     13   CASE ok_code.
     14     WHEN 'BACK' OR 'CANC'.
     15       LEAVE TO SCREEN 0.
     16     WHEN 'EXIT'.
     17       LEAVE PROGRAM.
     18     WHEN 'BT_BACK'.
     19       LEAVE TO SCREEN 0.
     20 *  WHEN 'BT_EXIT'.
     21 *    LEAVE PROGRAM.
     22   ENDCASE.
     23 
     24   "滚轮和回车都会触发 PBO 和 PAI 所以需要在function code 使用过后清空
     25   CLEAR ok_code.
     26   CLEAR sy-ucomm.
     27 ENDMODULE.
     28 *&---------------------------------------------------------------------*
     29 *&      Module  EXIT_COMMAND  INPUT
     30 *&---------------------------------------------------------------------*
     31 *       text
     32 *----------------------------------------------------------------------*
     33 MODULE exit_command INPUT.
     34   ok_code = sy-ucomm.
     35   CASE ok_code.
     36 *    WHEN 'BACK' OR 'CANC'.
     37 *      LEAVE TO SCREEN 0.
     38 *    WHEN 'EXIT'.
     39 *      LEAVE PROGRAM.
     40 *    WHEN 'BT_BACK'.
     41 *      LEAVE TO SCREEN 0.
     42     WHEN 'BT_EXIT'.
     43       LEAVE PROGRAM.
     44   ENDCASE.
     45 
     46   CLEAR ok_code.
     47   CLEAR sy-ucomm.
     48 ENDMODULE.
     49 *&---------------------------------------------------------------------*
     50 *&      Module  CHECK_PLANT  INPUT
     51 *&---------------------------------------------------------------------*
     52 *       text
     53 *----------------------------------------------------------------------*
     54 MODULE check_plant INPUT.
     55 
     56   SELECT SINGLE name1 INTO t001w-name1 FROM t001w
     57     WHERE werks = t001w-werks.
     58   IF sy-subrc NE 0.
     59     CLEAR :t001w-werks,t001w-name1.
     60   ENDIF.
     61 
     62 
     63 ENDMODULE.
     64 *&---------------------------------------------------------------------*
     65 *&      Module  CHECK_WAREHOUSE  INPUT
     66 *&---------------------------------------------------------------------*
     67 *       text
     68 *----------------------------------------------------------------------*
     69 MODULE check_warehouse INPUT.
     70 
     71   IF t001w-werks IS NOT INITIAL.
     72     SELECT SINGLE lgobe INTO t001l-lgobe FROM t001l
     73       WHERE werks = t001w-werks AND lgort = t001l-lgort.
     74     IF sy-subrc NE 0.
     75       CLEAR: t001l-lgort,t001l-lgobe.
     76     ENDIF.
     77   ELSE.
     78     CLEAR: t001l-lgort,t001l-lgobe.
     79   ENDIF.
     80 ENDMODULE.
     81 *&---------------------------------------------------------------------*
     82 *&      Module  CHECK_MATERIAL  INPUT
     83 *&---------------------------------------------------------------------*
     84 *       text
     85 *----------------------------------------------------------------------*
     86 MODULE check_material INPUT.
     87   IF t001w-werks IS NOT INITIAL
     88   AND t001l-lgort IS NOT INITIAL.
     89     SELECT SINGLE maktx INTO makt-maktx FROM makt
     90       WHERE matnr = makt-matnr AND spras = sy-langu.
     91   ELSE.
     92     CLEAR:makt-matnr,makt-maktx.
     93   ENDIF.
     94 ENDMODULE.
     95 
     96 *&SPWIZARD: INPUT MODULE FOR TS 'TABSTRIP_01'. DO NOT CHANGE THIS LINE!
     97 *&SPWIZARD: GETS ACTIVE TAB
     98 MODULE tabstrip_01_active_tab_get INPUT.
     99   ok_code = sy-ucomm.
    100   CASE ok_code.
    101     WHEN c_tabstrip_01-tab1.
    102       g_tabstrip_01-pressed_tab = c_tabstrip_01-tab1.
    103       REFRESH gt_status.
    104 *      gs_status = 'SAVE'."隐藏按钮
    105 *      APPEND gs_status TO gt_status.
    106 *      CLEAR gs_status.
    107     WHEN c_tabstrip_01-tab2.
    108       g_tabstrip_01-pressed_tab = c_tabstrip_01-tab2.
    109       REFRESH gt_status.
    110     WHEN c_tabstrip_01-tab3.
    111       g_tabstrip_01-pressed_tab = c_tabstrip_01-tab3.
    112       REFRESH gt_status.
    113       gs_status = 'SAVE'."隐藏按钮
    114       APPEND gs_status TO gt_status.
    115       CLEAR gs_status.
    116     WHEN OTHERS.
    117 *&SPWIZARD:      DO NOTHING
    118   ENDCASE.
    119 ENDMODULE.
    120 *&---------------------------------------------------------------------*
    121 *&      Module  SET_SIGNAL  INPUT
    122 *&---------------------------------------------------------------------*
    123 *       text
    124 *----------------------------------------------------------------------*
    125 MODULE set_signal INPUT.
    126   gv_sign_01 = 'X'.
    127 ENDMODULE.
    128 *&---------------------------------------------------------------------*
    129 *&      Module  USER_COMMAND_0110  INPUT
    130 *&---------------------------------------------------------------------*
    131 *       text
    132 *----------------------------------------------------------------------*
    133 MODULE user_command_0110 INPUT.
    134 
    135   ok_code = sy-ucomm.
    136 
    137   CASE ok_code.
    138     WHEN 'SUBCK'.
    139       IF subinput_one = input_one.
    140         MESSAGE 'Data is right' TYPE 'I' DISPLAY LIKE 'S'.
    141         g_tabstrip_01-pressed_tab = c_tabstrip_01-tab2.
    142         REFRESH gt_status.
    143       ELSE.
    144         MESSAGE 'No match' TYPE 'I' DISPLAY LIKE 'E'.
    145         RETURN.
    146       ENDIF.
    147   ENDCASE.
    148 
    149 
    150 ENDMODULE.
    151 
    152 *&SPWIZARD: INPUT MODULE FOR TC 'TC_CTRL'. DO NOT CHANGE THIS LINE!
    153 *&SPWIZARD: PROCESS USER COMMAND
    154 MODULE tc_ctrl_user_command INPUT.
    155   ok_code = sy-ucomm.
    156   PERFORM user_ok_tc USING    'TC_CTRL'
    157                               'LT_TAB'
    158                               ' '
    159                      CHANGING ok_code.
    160   sy-ucomm = ok_code.
    161 ENDMODULE.
    162 
    163 *&SPWIZARD: INPUT MODULE FOR TC 'TC_CTRL_TAB'. DO NOT CHANGE THIS LINE!
    164 *&SPWIZARD: MODIFY TABLE
    165 MODULE tc_ctrl_tab_modify INPUT.
    166   MODIFY gt_tab
    167     FROM gs_tab
    168     INDEX tc_ctrl_tab-current_line."只能修改不能新增
    169 ENDMODULE.
    170 
    171 *&SPWIZARD: INPUT MODUL FOR TC 'TC_CTRL_TAB'. DO NOT CHANGE THIS LINE!
    172 *&SPWIZARD: MARK TABLE
    173 MODULE tc_ctrl_tab_mark INPUT.
    174   DATA: g_tc_ctrl_tab_wa2 LIKE LINE OF gt_tab.
    175   IF tc_ctrl_tab-line_sel_mode = 1
    176   AND gs_tab-cbox = 'X'.
    177     LOOP AT gt_tab INTO g_tc_ctrl_tab_wa2
    178       WHERE cbox = 'X'.
    179       g_tc_ctrl_tab_wa2-cbox = ''.
    180       MODIFY gt_tab
    181         FROM g_tc_ctrl_tab_wa2
    182         TRANSPORTING cbox.
    183     ENDLOOP.
    184   ENDIF.
    185   MODIFY gt_tab
    186     FROM gs_tab
    187     INDEX tc_ctrl_tab-current_line
    188     TRANSPORTING cbox."修改选中的行
    189 ENDMODULE.
    190 
    191 *&SPWIZARD: INPUT MODULE FOR TC 'TC_CTRL_TAB'. DO NOT CHANGE THIS LINE!
    192 *&SPWIZARD: PROCESS USER COMMAND
    193 MODULE tc_ctrl_tab_user_command INPUT.
    194   ok_code = sy-ucomm.
    195   PERFORM user_ok_tc USING    'TC_CTRL_TAB'
    196                               'GT_TAB'
    197                               'CBOX'
    198                      CHANGING ok_code.
    199   sy-ucomm = ok_code.
    200 ENDMODULE.
    201 
    202 *&SPWIZARD: INPUT MODULE FOR TC 'TC_CTRL_TAB_1'. DO NOT CHANGE THIS LINE
    203 *&SPWIZARD: MODIFY TABLE
    204 MODULE tc_ctrl_tab_1_modify INPUT.
    205   MODIFY gt_tab_1
    206     FROM gs_tab_1
    207     INDEX tc_ctrl_tab_1-current_line.
    208 ENDMODULE.
    209 
    210 *&SPWIZARD: INPUT MODUL FOR TC 'TC_CTRL_TAB_1'. DO NOT CHANGE THIS LINE!
    211 *&SPWIZARD: MARK TABLE
    212 MODULE tc_ctrl_tab_1_mark INPUT.
    213   DATA: g_tc_ctrl_tab_1_wa2 LIKE LINE OF gt_tab_1.
    214   IF tc_ctrl_tab_1-line_sel_mode = 1
    215   AND gs_tab_1-cbox = 'X'.
    216     LOOP AT gt_tab_1 INTO g_tc_ctrl_tab_1_wa2
    217       WHERE cbox = 'X'.
    218       g_tc_ctrl_tab_1_wa2-cbox = ''.
    219       MODIFY gt_tab_1
    220         FROM g_tc_ctrl_tab_1_wa2
    221         TRANSPORTING cbox.
    222     ENDLOOP.
    223   ENDIF.
    224   MODIFY gt_tab_1
    225     FROM gs_tab_1
    226     INDEX tc_ctrl_tab_1-current_line
    227     TRANSPORTING cbox.
    228 ENDMODULE.
    229 
    230 *&SPWIZARD: INPUT MODULE FOR TC 'TC_CTRL_TAB_1'. DO NOT CHANGE THIS LINE
    231 *&SPWIZARD: PROCESS USER COMMAND
    232 MODULE tc_ctrl_tab_1_user_command INPUT.
    233   ok_code = sy-ucomm.
    234   PERFORM user_ok_tc USING    'TC_CTRL_TAB_1'
    235                               'GT_TAB_1'
    236                               'CBOX'
    237                      CHANGING ok_code.
    238   sy-ucomm = ok_code.
    239 ENDMODULE.
    240 *&---------------------------------------------------------------------*
    241 *&      Module  USER_COMMAND_0130  INPUT
    242 *&---------------------------------------------------------------------*
    243 *       text
    244 *----------------------------------------------------------------------*
    245 MODULE user_command_0130 INPUT.
    246   ok_code = sy-ucomm.
    247 
    248   CASE ok_code.
    249     WHEN 'ID_BT'."modify table control lines
    250       PERFORM frm_modify_lines.
    251     WHEN OTHERS.
    252   ENDCASE.
    253 
    254   CLEAR ok_code.
    255   CLEAR sy-ucomm.
    256 ENDMODULE.
    257 *&---------------------------------------------------------------------*
    258 *&      Module  GET_CURSOR  INPUT
    259 *&---------------------------------------------------------------------*
    260 *       text
    261 *----------------------------------------------------------------------*
    262 MODULE get_cursor INPUT.
    263   GET CURSOR FIELD gv_field LINE gv_lines.
    264 ENDMODULE.
      1 *&---------------------------------------------------------------------*
      2 *& 包含               ZDEMO_DIALOGF01
      3 *&---------------------------------------------------------------------*
      4 
      5 *----------------------------------------------------------------------*
      6 *   INCLUDE TABLECONTROL_FORMS                                         *
      7 *----------------------------------------------------------------------*
      8 
      9 *&---------------------------------------------------------------------*
     10 *&      Form  USER_OK_TC
     11 *&      标准FORM 标准按钮  引导自动创建              *
     12 *&---------------------------------------------------------------------*
     13 *&---------------------------------------------------------------------*
     14  FORM user_ok_tc USING    p_tc_name TYPE dynfnam
     15                           p_table_name
     16                           p_mark_name
     17                  CHANGING p_ok      LIKE sy-ucomm.
     18 
     19 *&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
     20    DATA: l_ok     TYPE sy-ucomm,
     21          l_offset TYPE i.
     22 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
     23 
     24 *&SPWIZARD: Table control specific operations                          *
     25 *&SPWIZARD: evaluate TC name and operations                            *
     26    SEARCH p_ok FOR p_tc_name.
     27    IF sy-subrc <> 0.
     28      EXIT.
     29    ENDIF.
     30    l_offset = strlen( p_tc_name ) + 1.
     31    l_ok = p_ok+l_offset.
     32 *&SPWIZARD: execute general and TC specific operations                 *
     33    CASE l_ok.
     34      WHEN 'INSR'.                      "insert row
     35        PERFORM fcode_insert_row USING    p_tc_name
     36                                          p_table_name.
     37        CLEAR p_ok.
     38 
     39      WHEN 'DELE'.                      "delete row
     40        PERFORM fcode_delete_row USING    p_tc_name
     41                                          p_table_name
     42                                          p_mark_name.
     43        CLEAR p_ok.
     44 
     45      WHEN 'P--' OR                     "top of list
     46           'P-'  OR                     "previous page
     47           'P+'  OR                     "next page
     48           'P++'.                       "bottom of list
     49        PERFORM compute_scrolling_in_tc USING p_tc_name
     50                                              l_ok.
     51        CLEAR p_ok.
     52 *     WHEN 'L--'.                       "total left
     53 *       PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
     54 *
     55 *     WHEN 'L-'.                        "column left
     56 *       PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
     57 *
     58 *     WHEN 'R+'.                        "column right
     59 *       PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
     60 *
     61 *     WHEN 'R++'.                       "total right
     62 *       PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
     63 *
     64      WHEN 'MARK'.                      "mark all filled lines
     65        PERFORM fcode_tc_mark_lines USING p_tc_name
     66                                          p_table_name
     67                                          p_mark_name   .
     68        CLEAR p_ok.
     69 
     70      WHEN 'DMRK'.                      "demark all filled lines
     71        PERFORM fcode_tc_demark_lines USING p_tc_name
     72                                            p_table_name
     73                                            p_mark_name .
     74        CLEAR p_ok.
     75 
     76 *     WHEN 'SASCEND'   OR
     77 *          'SDESCEND'.                  "sort column
     78 *       PERFORM FCODE_SORT_TC USING P_TC_NAME
     79 *                                   l_ok.
     80 
     81    ENDCASE.
     82 
     83  ENDFORM.                              " USER_OK_TC
     84 
     85 *&---------------------------------------------------------------------*
     86 *&      Form  FCODE_INSERT_ROW                                         *
     87 *&---------------------------------------------------------------------*
     88  FORM fcode_insert_row
     89                USING    p_tc_name           TYPE dynfnam
     90                         p_table_name             .
     91 
     92 *&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
     93    DATA l_lines_name       LIKE feld-name.
     94    DATA l_selline          LIKE sy-stepl.
     95    DATA l_lastline         TYPE i.
     96    DATA l_line             TYPE i.
     97    DATA l_table_name       LIKE feld-name.
     98    FIELD-SYMBOLS <tc>                 TYPE cxtab_control.
     99    FIELD-SYMBOLS <table>              TYPE STANDARD TABLE.
    100    FIELD-SYMBOLS <lines>              TYPE i.
    101 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
    102 
    103    ASSIGN (p_tc_name) TO <tc>.
    104 
    105 *&SPWIZARD: get the table, which belongs to the tc                     *
    106    CONCATENATE p_table_name '[]' INTO l_table_name. "table body
    107    ASSIGN (l_table_name) TO <table>.                "not headerline
    108 
    109 *&SPWIZARD: get looplines of TableControl                              *
    110    CONCATENATE 'G_' p_tc_name '_LINES' INTO l_lines_name.
    111    ASSIGN (l_lines_name) TO <lines>.
    112 
    113 *&SPWIZARD: get current line                                           *
    114    GET CURSOR LINE l_selline.
    115    IF sy-subrc <> 0.                   " append line to table
    116      l_selline = <tc>-lines + 1.
    117 *&SPWIZARD: set top line                                               *
    118      IF l_selline > <lines>.
    119        <tc>-top_line = l_selline - <lines> + 1 .
    120      ELSE.
    121        <tc>-top_line = 1.
    122      ENDIF.
    123    ELSE.                               " insert line into table
    124      l_selline = <tc>-top_line + l_selline - 1.
    125      l_lastline = <tc>-top_line + <lines> - 1.
    126    ENDIF.
    127 *&SPWIZARD: set new cursor line                                        *
    128    l_line = l_selline - <tc>-top_line + 1.
    129 
    130 *&SPWIZARD: insert initial line                                        *
    131    INSERT INITIAL LINE INTO <table> INDEX l_selline.
    132    <tc>-lines = <tc>-lines + 1.
    133 *&SPWIZARD: set cursor                                                 *
    134    SET CURSOR LINE l_line.
    135 
    136  ENDFORM.                              " FCODE_INSERT_ROW
    137 
    138 *&---------------------------------------------------------------------*
    139 *&      Form  FCODE_DELETE_ROW                                         *
    140 *&---------------------------------------------------------------------*
    141  FORM fcode_delete_row
    142                USING    p_tc_name           TYPE dynfnam
    143                         p_table_name
    144                         p_mark_name   .
    145 
    146 *&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
    147    DATA l_table_name       LIKE feld-name.
    148 
    149    FIELD-SYMBOLS <tc>         TYPE cxtab_control.
    150    FIELD-SYMBOLS <table>      TYPE STANDARD TABLE.
    151    FIELD-SYMBOLS <wa>.
    152    FIELD-SYMBOLS <mark_field>.
    153 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
    154 
    155    ASSIGN (p_tc_name) TO <tc>.
    156 
    157 *&SPWIZARD: get the table, which belongs to the tc                     *
    158    CONCATENATE p_table_name '[]' INTO l_table_name. "table body
    159    ASSIGN (l_table_name) TO <table>.                "not headerline
    160 
    161 *&SPWIZARD: delete marked lines                                        *
    162    DESCRIBE TABLE <table> LINES <tc>-lines.
    163 
    164    LOOP AT <table> ASSIGNING <wa>.
    165 
    166 *&SPWIZARD: access to the component 'FLAG' of the table header         *
    167      ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
    168 
    169      IF <mark_field> = 'X'.
    170        DELETE <table> INDEX syst-tabix.
    171        IF sy-subrc = 0.
    172          <tc>-lines = <tc>-lines - 1.
    173        ENDIF.
    174      ENDIF.
    175    ENDLOOP.
    176 
    177  ENDFORM.                              " FCODE_DELETE_ROW
    178 
    179 *&---------------------------------------------------------------------*
    180 *&      Form  COMPUTE_SCROLLING_IN_TC
    181 *&---------------------------------------------------------------------*
    182 *       text
    183 *----------------------------------------------------------------------*
    184 *      -->P_TC_NAME  name of tablecontrol
    185 *      -->P_OK       ok code
    186 *----------------------------------------------------------------------*
    187  FORM compute_scrolling_in_tc USING    p_tc_name
    188                                        p_ok.
    189 *&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
    190    DATA l_tc_new_top_line     TYPE i.
    191    DATA l_tc_name             LIKE feld-name.
    192    DATA l_tc_lines_name       LIKE feld-name.
    193    DATA l_tc_field_name       LIKE feld-name.
    194 
    195    FIELD-SYMBOLS <tc>         TYPE cxtab_control.
    196    FIELD-SYMBOLS <lines>      TYPE i.
    197 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
    198 
    199    ASSIGN (p_tc_name) TO <tc>.
    200 *&SPWIZARD: get looplines of TableControl                              *
    201    CONCATENATE 'G_' p_tc_name '_LINES' INTO l_tc_lines_name.
    202    ASSIGN (l_tc_lines_name) TO <lines>.
    203 
    204 
    205 *&SPWIZARD: is no line filled?                                         *
    206    IF <tc>-lines = 0.
    207 *&SPWIZARD: yes, ...                                                   *
    208      l_tc_new_top_line = 1.
    209    ELSE.
    210 *&SPWIZARD: no, ...                                                    *
    211      CALL FUNCTION 'SCROLLING_IN_TABLE'
    212        EXPORTING
    213          entry_act      = <tc>-top_line
    214          entry_from     = 1
    215          entry_to       = <tc>-lines
    216          last_page_full = 'X'
    217          loops          = <lines>
    218          ok_code        = p_ok
    219          overlapping    = 'X'
    220        IMPORTING
    221          entry_new      = l_tc_new_top_line
    222        EXCEPTIONS
    223 *        NO_ENTRY_OR_PAGE_ACT  = 01
    224 *        NO_ENTRY_TO    = 02
    225 *        NO_OK_CODE_OR_PAGE_GO = 03
    226          OTHERS         = 0.
    227    ENDIF.
    228 
    229 *&SPWIZARD: get actual tc and column                                   *
    230    GET CURSOR FIELD l_tc_field_name
    231               AREA  l_tc_name.
    232 
    233    IF syst-subrc = 0.
    234      IF l_tc_name = p_tc_name.
    235 *&SPWIZARD: et actual column                                           *
    236        SET CURSOR FIELD l_tc_field_name LINE 1.
    237      ENDIF.
    238    ENDIF.
    239 
    240 *&SPWIZARD: set the new top line                                       *
    241    <tc>-top_line = l_tc_new_top_line.
    242 
    243 
    244  ENDFORM.                              " COMPUTE_SCROLLING_IN_TC
    245 
    246 *&---------------------------------------------------------------------*
    247 *&      Form  FCODE_TC_MARK_LINES
    248 *&---------------------------------------------------------------------*
    249 *       marks all TableControl lines
    250 *----------------------------------------------------------------------*
    251 *      -->P_TC_NAME  name of tablecontrol
    252 *----------------------------------------------------------------------*
    253  FORM fcode_tc_mark_lines USING p_tc_name
    254                                 p_table_name
    255                                 p_mark_name.
    256 *&SPWIZARD: EGIN OF LOCAL DATA-----------------------------------------*
    257    DATA l_table_name       LIKE feld-name.
    258 
    259    FIELD-SYMBOLS <tc>         TYPE cxtab_control.
    260    FIELD-SYMBOLS <table>      TYPE STANDARD TABLE.
    261    FIELD-SYMBOLS <wa>.
    262    FIELD-SYMBOLS <mark_field>.
    263 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
    264 
    265    ASSIGN (p_tc_name) TO <tc>.
    266 
    267 *&SPWIZARD: get the table, which belongs to the tc                     *
    268    CONCATENATE p_table_name '[]' INTO l_table_name. "table body
    269    ASSIGN (l_table_name) TO <table>.                "not headerline
    270 
    271 *&SPWIZARD: mark all filled lines                                      *
    272    LOOP AT <table> ASSIGNING <wa>.
    273 
    274 *&SPWIZARD: access to the component 'FLAG' of the table header         *
    275      ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
    276 
    277      <mark_field> = 'X'.
    278    ENDLOOP.
    279  ENDFORM.                                          "fcode_tc_mark_lines
    280 
    281 *&---------------------------------------------------------------------*
    282 *&      Form  FCODE_TC_DEMARK_LINES
    283 *&---------------------------------------------------------------------*
    284 *       demarks all TableControl lines
    285 *----------------------------------------------------------------------*
    286 *      -->P_TC_NAME  name of tablecontrol
    287 *----------------------------------------------------------------------*
    288  FORM fcode_tc_demark_lines USING p_tc_name
    289                                   p_table_name
    290                                   p_mark_name .
    291 *&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
    292    DATA l_table_name       LIKE feld-name.
    293 
    294    FIELD-SYMBOLS <tc>         TYPE cxtab_control.
    295    FIELD-SYMBOLS <table>      TYPE STANDARD TABLE.
    296    FIELD-SYMBOLS <wa>.
    297    FIELD-SYMBOLS <mark_field>.
    298 *&SPWIZARD: END OF LOCAL DATA------------------------------------------*
    299 
    300    ASSIGN (p_tc_name) TO <tc>.
    301 
    302 *&SPWIZARD: get the table, which belongs to the tc                     *
    303    CONCATENATE p_table_name '[]' INTO l_table_name. "table body
    304    ASSIGN (l_table_name) TO <table>.                "not headerline
    305 
    306 *&SPWIZARD: demark all filled lines                                    *
    307    LOOP AT <table> ASSIGNING <wa>.
    308 
    309 *&SPWIZARD: access to the component 'FLAG' of the table header         *
    310      ASSIGN COMPONENT p_mark_name OF STRUCTURE <wa> TO <mark_field>.
    311 
    312      <mark_field> = space.
    313    ENDLOOP.
    314  ENDFORM.                                          "fcode_tc_mark_lines
    315 *&---------------------------------------------------------------------*
    316 *& Form FRM_MODIFY_LINES
    317 *&---------------------------------------------------------------------*
    318 *& text
    319 *&---------------------------------------------------------------------*
    320 *& -->  p1        text
    321 *& <--  p2        text
    322 *&---------------------------------------------------------------------*
    323  FORM frm_modify_lines .
    324    DATA ls_cols LIKE LINE OF tc_ctrl_tab-cols.
    325 
    326    LOOP AT tc_ctrl_tab-cols INTO ls_cols.
    327      IF ls_cols-index = '1'.
    328        IF ls_cols-screen-input = '0'.
    329          ls_cols-screen-input = '1'.
    330        ELSE.
    331          ls_cols-screen-input = '0'.
    332        ENDIF.
    333        MODIFY tc_ctrl_tab-cols FROM ls_cols.
    334      ENDIF.
    335    ENDLOOP .
    336  ENDFORM.
      1 *----------------------------------------------------------------------*
      2 ***INCLUDE ZDEMO_DIALOGHELP.
      3 *----------------------------------------------------------------------*
      4 *&---------------------------------------------------------------------*
      5 *&      Module  F4_HELP_WAREHOUSE  INPUT
      6 *&---------------------------------------------------------------------*
      7 *       text
      8 *----------------------------------------------------------------------*
      9 MODULE f4_help_warehouse INPUT.
     10   TYPES:BEGIN OF lty_lgort,
     11           werks TYPE t001l-werks,
     12           lgort TYPE t001l-lgort,
     13           lgobe TYPE t001l-lgobe,
     14         END OF lty_lgort.
     15 
     16   DATA:lt_lgort TYPE TABLE OF lty_lgort.
     17 
     18   IF t001w-werks IS NOT INITIAL.
     19     SELECT werks lgort lgobe INTO TABLE lt_lgort FROM t001l WHERE werks = t001w-werks.
     20 
     21     CHECK sy-subrc EQ 0.
     22     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
     23       EXPORTING
     24 *       DDIC_STRUCTURE         = ' '
     25         retfield     = 'LGORT'
     26 *       PVALKEY      = ' '
     27         dynpprog     = sy-cprog
     28         dynpnr       = sy-dynnr
     29         dynprofield  = 'T001L-LGORT'
     30 *       STEPL        = 0
     31         window_title = 'WAREHOUSE SELECTION'
     32 *       VALUE        = ' '
     33         value_org    = 'S'
     34 *       MULTIPLE_CHOICE        = ' '
     35 *       DISPLAY      = ' '
     36 *       CALLBACK_PROGRAM       = ' '
     37 *       CALLBACK_FORM          = ' '
     38 *       CALLBACK_METHOD        =
     39 *       MARK_TAB     =
     40 *     IMPORTING
     41 *       USER_RESET   =
     42       TABLES
     43         value_tab    = lt_lgort
     44 *       FIELD_TAB    =
     45 *       RETURN_TAB   =
     46 *       DYNPFLD_MAPPING        =
     47 *     EXCEPTIONS
     48 *       PARAMETER_ERROR        = 1
     49 *       NO_VALUES_FOUND        = 2
     50 *       OTHERS       = 3
     51       .
     52     IF sy-subrc <> 0.
     53 * Implement suitable error handling here
     54     ENDIF.
     55 
     56   ELSE.
     57     CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
     58       EXPORTING
     59         tabname     = 'T001L'
     60         fieldname   = 'LGORT'
     61 *       SEARCHHELP  = ' '
     62 *       SHLPPARAM   = ' '
     63         dynpprog    = sy-repid
     64         dynpnr      = sy-dynnr
     65         dynprofield = 'T001L-LGORT'
     66 *       STEPL       = 0
     67 *       VALUE       = ' '
     68 *       MULTIPLE_CHOICE           = ' '
     69 *       DISPLAY     = ' '
     70 *       SUPPRESS_RECORDLIST       = ' '
     71 *       CALLBACK_PROGRAM          = ' '
     72 *       CALLBACK_FORM             = ' '
     73 *       CALLBACK_METHOD           =
     74 *       SELECTION_SCREEN          = ' '
     75 *     IMPORTING
     76 *       USER_RESET  =
     77 *     TABLES
     78 *       RETURN_TAB  =
     79 *     EXCEPTIONS
     80 *       FIELD_NOT_FOUND           = 1
     81 *       NO_HELP_FOR_FIELD         = 2
     82 *       INCONSISTENT_HELP         = 3
     83 *       NO_VALUES_FOUND           = 4
     84 *       OTHERS      = 5
     85       .
     86     IF sy-subrc <> 0.
     87 * Implement suitable error handling here
     88     ENDIF.
     89 
     90 
     91   ENDIF.
     92 ENDMODULE.
     93 *&---------------------------------------------------------------------*
     94 *&      Module  F4_HELP_MATERIAL  INPUT
     95 *&---------------------------------------------------------------------*
     96 *       text
     97 *----------------------------------------------------------------------*
     98 MODULE f4_help_material INPUT.
     99   TYPES:BEGIN OF lty_matnr,
    100           werks TYPE mard-werks,
    101           lgort TYPE mard-lgort,
    102           matnr TYPE mard-matnr,
    103           maktx TYPE makt-maktx,
    104         END OF lty_matnr.
    105 
    106   DATA:lt_matnr TYPE TABLE OF lty_matnr.
    107 
    108   IF t001w-werks IS NOT INITIAL
    109    AND t001l-lgort IS NOT INITIAL.
    110     SELECT a~werks a~lgort a~matnr b~maktx
    111       INTO TABLE lt_matnr
    112       FROM mard AS a
    113       INNER JOIN makt AS b ON b~matnr = a~matnr AND b~spras = sy-langu
    114       WHERE a~werks = t001w-werks
    115       AND a~lgort = t001l-lgort.
    116 
    117     CHECK sy-subrc EQ 0.
    118     CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    119       EXPORTING
    120 *       DDIC_STRUCTURE         = ' '
    121         retfield     = 'MATNR'
    122 *       PVALKEY      = ' '
    123         dynpprog     = sy-cprog
    124         dynpnr       = sy-dynnr
    125         dynprofield  = 'MAKT-MATNR'
    126 *       STEPL        = 0
    127         window_title = 'MATERIAL SELECTION'
    128 *       VALUE        = ' '
    129         value_org    = 'S'
    130 *       MULTIPLE_CHOICE        = ' '
    131 *       DISPLAY      = ' '
    132 *       CALLBACK_PROGRAM       = ' '
    133 *       CALLBACK_FORM          = ' '
    134 *       CALLBACK_METHOD        =
    135 *       MARK_TAB     =
    136 *     IMPORTING
    137 *       USER_RESET   =
    138       TABLES
    139         value_tab    = lt_matnr
    140 *       FIELD_TAB    =
    141 *       RETURN_TAB   =
    142 *       DYNPFLD_MAPPING        =
    143 *     EXCEPTIONS
    144 *       PARAMETER_ERROR        = 1
    145 *       NO_VALUES_FOUND        = 2
    146 *       OTHERS       = 3
    147       .
    148     IF sy-subrc <> 0.
    149 * Implement suitable error handling here
    150     ENDIF.
    151 
    152   ELSE.
    153     CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    154       EXPORTING
    155         tabname     = 'MAKT'
    156         fieldname   = 'MATNR'
    157 *       SEARCHHELP  = ' '
    158 *       SHLPPARAM   = ' '
    159         dynpprog    = sy-repid
    160         dynpnr      = sy-dynnr
    161         dynprofield = 'MAKT-MATNR'
    162 *       STEPL       = 0
    163 *       VALUE       = ' '
    164 *       MULTIPLE_CHOICE           = ' '
    165 *       DISPLAY     = ' '
    166 *       SUPPRESS_RECORDLIST       = ' '
    167 *       CALLBACK_PROGRAM          = ' '
    168 *       CALLBACK_FORM             = ' '
    169 *       CALLBACK_METHOD           =
    170 *       SELECTION_SCREEN          = ' '
    171 *     IMPORTING
    172 *       USER_RESET  =
    173 *     TABLES
    174 *       RETURN_TAB  =
    175 *     EXCEPTIONS
    176 *       FIELD_NOT_FOUND           = 1
    177 *       NO_HELP_FOR_FIELD         = 2
    178 *       INCONSISTENT_HELP         = 3
    179 *       NO_VALUES_FOUND           = 4
    180 *       OTHERS      = 5
    181       .
    182     IF sy-subrc <> 0.
    183 * Implement suitable error handling here
    184     ENDIF.
    185 
    186 
    187   ENDIF.
    188 ENDMODULE.

    DEMO 得效果图如下,屏幕就自己画下哈, TABLE Control he  tablstrip 都是用引导功能画得

  • 相关阅读:
    Hibernate使用笔记
    svn树冲突的解决方法
    SVN 清理失败的解决方法
    类的实现
    lua元表
    lua中table的常用方法
    C/C++作用域运算符::
    Cocos2d-x Lua 学习
    Lua学习
    吾 三十而望
  • 原文地址:https://www.cnblogs.com/jxzhu/p/10626341.html
Copyright © 2020-2023  润新知