批量修改SO送达方

发布时间:2016-12-7 22:31:31 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"批量修改SO送达方",主要涉及到批量修改SO送达方方面的内容,对于批量修改SO送达方感兴趣的同学可以参考一下。

report  ZSDR006. tables: VBAK, VBAP. data:begin of WA_TAB,   VBELN type VBAK-VBELN,   posnr TYPE vbap-posnr,   KUNNR type VBAK-KUNNR,   end of WA_TAB. data:ITAB like table of WA_TAB with header line. data: SOHD like BAPISDH1,       SOHDX like BAPISDH1X,       SOITEM like BAPISDITM occurs 0 with header line,       SOITEMX like BAPISDITMX occurs 0 with header line. data:RT type table of BAPIRET2 with header line. data: RT2 type BAPIRET2. data:WA_RETURN  type BAPIRET2. data:SOBP type table of BAPIPARNRC with header line. data:SUB_SOBP type table of BAPIPARNRC with header line.. data:ROWNUM type I. constants:    C_BEGIN_ROW type I value 1,    C_BEGIN_COL type I value 1,    C_END_ROW type I value 9999,    C_END_COL type I value 3. selection-screen begin of block B1 with frame title T1. parameters: SO_FILE(60). selection-screen end of block B1. initialization.   T1 = '选择文件'. at selection-screen on value-request for SO_FILE.   perform GETDATA using SO_FILE. start-of-selection.   perform UPLOADDATA.   perform EXEUPDATE. *&---------------------------------------------------------------------* *&      Form  getdata *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* *      -->SO_FILE    text *----------------------------------------------------------------------* form GETDATA using SO_FILE. * Data for open dialog   data: L_FILETAB   type FILETABLE,         L_RC        type I.   clear L_FILETAB.   refresh L_FILETAB. * Open dialog   call method CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG     exporting *     WINDOW_TITLE         = 'SAP Custom - Open File' *     DEFAULT_EXTENSION    =       DEFAULT_FILENAME     = '*.xls' *     FILE_FILTER          = '*.xls'       INITIAL_DIRECTORY    = 'd:\'       MULTISELECTION       = ''     changing       FILE_TABLE           = L_FILETAB       RC                   = L_RC     exceptions       CNTL_ERROR           = 1       ERROR_NO_GUI         = 2       NOT_SUPPORTED_BY_GUI = 3       others               = 4. * Get file path   check L_RC eq 1.   read table L_FILETAB index 1 into SO_FILE. endform.                    "getdata *&---------------------------------------------------------------------* *&      Form  uploaddata *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* form UPLOADDATA.   data: begin of I_EXCEL occurs 0.           include structure ALSMEX_TABLINE.   data: end of I_EXCEL.   data: L_ANSWER(1) type C.   data: L_COLUMN type I.   field-symbols: <FS>.   data: L_PATHNAME like RLGRAP-FILENAME.   move SO_FILE to L_PATHNAME.   call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'     exporting       FILENAME                = L_PATHNAME       I_BEGIN_COL             = C_BEGIN_COL       I_BEGIN_ROW             = C_BEGIN_ROW       I_END_COL               = C_END_COL       I_END_ROW               = C_END_ROW     tables       INTERN                  = I_EXCEL     exceptions       INCONSISTENT_PARAMETERS = 1       UPLOAD_OLE              = 2       others                  = 3.   if SY-SUBRC <> 0.     message id SY-MSGID type SY-MSGTY number SY-MSGNO           with SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.   else.     if I_EXCEL[] is initial.       call function 'POPUP_TO_CONFIRM_WITH_MESSAGE'         exporting *         DEFAULTOPTION  = 'Y'           DIAGNOSETEXT1  = 'No data in excel' *         DIAGNOSETEXT2  = ' ' *         DIAGNOSETEXT3  = ' '           TEXTLINE1      = 'No data in excel' *         TEXTLINE2      = ' '           TITEL          = 'Confirm' *         START_COLUMN   = 25 *         START_ROW      = 6 *         CANCEL_DISPLAY = 'X'         importing           ANSWER         = L_ANSWER.     else.       delete I_EXCEL where ROW = '0001'.       sort I_EXCEL by ROW COL.       loop at I_EXCEL.         move I_EXCEL-COL to L_COLUMN.         assign component L_COLUMN of structure ITAB to <FS>.         move I_EXCEL-VALUE to <FS>.         at end of ROW.           append ITAB.           clear ITAB.         endat.       endloop.     endif.   endif. endform.                    "uploaddata *&---------------------------------------------------------------------* *&      Form  exeupdate *&---------------------------------------------------------------------* *       text *----------------------------------------------------------------------* form EXEUPDATE.   SOHDX-UPDATEFLAG = 'U'.   loop at ITAB into WA_TAB.     SOBP-DOCUMENT = WA_TAB-VBELN.     SOBP-ITM_NUMBER = wa_tab-posnr.     SOBP-UPDATEFLAG = 'U'.     SOBP-PARTN_ROLE = 'WE'.     SOBP-P_NUMB_NEW = WA_TAB-KUNNR.     append SOBP.     clear WA_TAB.   endloop. LOOP at sobp.    sub_sobp = sobp.    APPEND sub_sobp.    LOOP at sub_sobp.   call function 'BAPI_SALESORDER_CHANGE'     exporting       SALESDOCUMENT    = sub_SOBP-DOCUMENT       ORDER_HEADER_INX = SOHDX     tables       RETURN           = RT       PARTNERCHANGES   = sub_SOBP.   loop at RT.     if rt-type = 'E'.     write:/ RT-MESSAGE.     ENDIF.   endloop.   call function 'BAPI_TRANSACTION_COMMIT'     exporting       WAIT   = 'X'     importing       RETURN = RT2.   CLEAR sub_sobp[].   refresh sub_sobp.   ENDLOOP. ENDLOOP. endform.        

上一篇:RSA算法原理(二)
下一篇:cocoa1

相关文章

相关评论