1.首先在https://sites.google.com/site/sapxlwb/home里下载NUGG_ZXLWB_V.4.11.nugg(目前最新版)
2.通过sap link执行导入包的操作,如果导入报错,缺少一些对象或者类,需要通过sap link先导入一些插件,比如
3.再导入之后,如果没有查询到ZXLWB这个程序,那么需要我们手动创建这个程序,可以分配事务码等操作,比如ZXLWB_WORKBENCH
代码如下:
1 *&---------------------------------------------------------------------* 2 *& Report ZXLWB 3 *& 4 *======================================================================= 5 *======================================================================= 6 * Copyright 2016 Igor Borodin 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 *======================================================================= 17 *======================================================================= 18 * 19 * XLSX-Workbench(XLWB) components [Version 4.00] 20 * Documentation is available at: 21 * https://sites.google.com/site/sapxlwb/home 22 *======================================================================= 23 * Forms design tool starter 24 *======================================================================= 25 26 REPORT zxlwb . 27 28 *====================================================================== 29 *====================================================================== 30 * D A T A D E C L A R A T I O N 31 *====================================================================== 32 *====================================================================== 33 TYPE-POOLS: 34 icon , 35 abap . 36 TABLES: 37 sscrfields . 38 DATA: 39 gv_action TYPE sy-ucomm , 40 gs_dynpread TYPE dynpread , 41 gt_dynpread TYPE STANDARD TABLE OF dynpread , 42 gv_repid TYPE syrepid VALUE sy-repid . 43 44 INCLUDE zxlwb_include . 45 46 47 *====================================================================== 48 *====================================================================== 49 * S E L E C T I O N S C R E E N 50 *====================================================================== 51 *====================================================================== 52 SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE cm_ttl . 53 54 SELECTION-SCREEN BEGIN OF LINE . 55 SELECTION-SCREEN COMMENT 1(23) cm_form FOR FIELD pv_form . 56 PARAMETERS pv_form TYPE lvc_fname MEMORY ID zxlwb_formname . 57 SELECTION-SCREEN END OF LINE . 58 59 SELECTION-SCREEN SKIP . 60 61 SELECTION-SCREEN BEGIN OF LINE . 62 SELECTION-SCREEN PUSHBUTTON 1(13) import USER-COMMAND import . 63 SELECTION-SCREEN PUSHBUTTON 25(20) edit USER-COMMAND edit . 64 SELECTION-SCREEN END OF LINE . 65 66 SELECTION-SCREEN BEGIN OF LINE . 67 SELECTION-SCREEN PUSHBUTTON 1(13) export USER-COMMAND export . 68 SELECTION-SCREEN PUSHBUTTON 25(20) create USER-COMMAND create . 69 SELECTION-SCREEN PUSHBUTTON 47(8) crea_t USER-COMMAND crea_t . 70 SELECTION-SCREEN END OF LINE . 71 72 SELECTION-SCREEN BEGIN OF LINE . 73 SELECTION-SCREEN PUSHBUTTON 1(13) preset USER-COMMAND preset . 74 SELECTION-SCREEN PUSHBUTTON 25(20) copy USER-COMMAND copy . 75 SELECTION-SCREEN END OF LINE . 76 77 SELECTION-SCREEN BEGIN OF LINE . 78 SELECTION-SCREEN PUSHBUTTON 1(13) help USER-COMMAND help . 79 SELECTION-SCREEN PUSHBUTTON 25(20) delete USER-COMMAND delete . 80 SELECTION-SCREEN END OF LINE . 81 82 SELECTION-SCREEN END OF BLOCK bl1 . 83 84 85 86 *====================================================================== 87 *====================================================================== 88 * E V E N T S 89 *====================================================================== 90 *====================================================================== 91 92 *====================================================================== 93 INITIALIZATION . 94 *====================================================================== 95 cm_ttl = lcl_workbench=>v_title . 96 cm_form = lcl_workbench=>v_text-t219 . " text: Form name 97 CONCATENATE: 98 icon_change lcl_workbench=>v_text-t114 INTO edit , " text: Edit 99 icon_create lcl_workbench=>v_text-t115 INTO create , " text: Create 100 icon_linked_document lcl_workbench=>v_text-t116 INTO crea_t , " text: Tmpl. 101 icon_copy_object lcl_workbench=>v_text-t117 INTO copy , " text: Copy 102 icon_delete lcl_workbench=>v_text-t118 INTO delete , " text: Delete 103 icon_import lcl_workbench=>v_text-t210 INTO import , " text: Import 104 icon_export lcl_workbench=>v_text-t211 INTO export , " text: Export 105 icon_system_extended_help lcl_workbench=>v_text-t212 INTO help , " text: Help 106 icon_tools lcl_workbench=>v_text-t206 INTO preset . " text: Presets 107 108 DATA gt_exclude TYPE TABLE OF sy-ucomm. 109 CLEAR gt_exclude[] . 110 APPEND 'ONLI' TO gt_exclude. 111 APPEND 'PRIN' TO gt_exclude. 112 APPEND 'SPOS' TO gt_exclude. 113 APPEND 'NONE' TO gt_exclude. 114 CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' 115 EXPORTING 116 p_status = space 117 TABLES 118 p_exclude = gt_exclude. 119 120 CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE' 121 EXCEPTIONS 122 OTHERS = 0. 123 124 125 *====================================================================== 126 AT SELECTION-SCREEN OUTPUT . 127 *====================================================================== 128 LOOP AT SCREEN . 129 IF screen-name EQ 'CREA_T' 130 AND lcl_workbench=>s_presets_dt-popup_im IS INITIAL . 131 screen-active = 0 . 132 MODIFY SCREEN . 133 ENDIF . 134 ENDLOOP . 135 136 137 *====================================================================== 138 AT SELECTION-SCREEN . 139 *====================================================================== 140 CHECK sy-ucomm IS NOT INITIAL . 141 142 CASE sy-ucomm . 143 WHEN 'EDIT' . gv_action = lcl_workbench=>c_action-edit . 144 WHEN 'CREA' . gv_action = lcl_workbench=>c_action-create . 145 WHEN 'CREATE' . gv_action = lcl_workbench=>c_action-create . 146 WHEN 'CREA_T' . gv_action = lcl_workbench=>c_action-crea_t . 147 WHEN 'COPY' . gv_action = lcl_workbench=>c_action-copy . 148 WHEN 'DELETE' . gv_action = lcl_workbench=>c_action-delete . 149 WHEN 'IMPORT' . gv_action = lcl_workbench=>c_action-import . 150 WHEN 'EXPORT' . gv_action = lcl_workbench=>c_action-export . 151 WHEN 'HELP' . gv_action = lcl_workbench=>c_action-help . 152 WHEN 'PRESET' . gv_action = lcl_workbench=>c_action-preset . 153 WHEN 'PRESE2' . gv_action = lcl_workbench=>c_action-prese2 . 154 WHEN OTHERS . EXIT . 155 ENDCASE . 156 157 CALL FUNCTION 'ZXLWB_WORKBENCH' 158 EXPORTING 159 iv_formname = pv_form 160 iv_action = gv_action 161 EXCEPTIONS 162 process_terminated = 1 163 OTHERS = 2. 164 IF sy-subrc NE 0 . 165 MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno 166 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 . 167 ENDIF . 168 169 170 *====================================================================== 171 AT SELECTION-SCREEN ON VALUE-REQUEST FOR pv_form . 172 *====================================================================== 173 CLEAR gt_dynpread . 174 CLEAR gs_dynpread . 175 gs_dynpread-fieldname = 'PV_FORM' . 176 APPEND gs_dynpread TO gt_dynpread . 177 178 CALL FUNCTION 'DYNP_VALUES_READ' 179 EXPORTING 180 dyname = sy-repid 181 dynumb = sy-dynnr 182 TABLES 183 dynpfields = gt_dynpread 184 EXCEPTIONS 185 OTHERS = 8. 186 CHECK sy-subrc EQ 0. 187 READ TABLE gt_dynpread INTO gs_dynpread INDEX 1 . 188 CHECK sy-subrc EQ 0 . 189 CATCH SYSTEM-EXCEPTIONS OTHERS = 0 . 190 pv_form = gs_dynpread-fieldvalue . 191 ENDCATCH . 192 193 lcl_workbench=>popup_formname_f4( CHANGING cv_formname = pv_form ) .