现在的位置: 首页 > 综合 > 正文

SAP data migration: Change vendor account group

2013年01月12日 ⁄ 综合 ⁄ 共 3706字 ⁄ 字号 评论关闭

引用:翱翔云天

report ZUP1
       no standard page heading line-size 255.
parameters: dataset LIKE RLGRAP-FILENAME.
PARAMETERS: P_MODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
*       Batchinputdata of single transaction
DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
*       messages of call transaction
DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
data: begin of record,
        LIFNR(016),
        KTOKK_OLD(004),
        KTOKK_NEW(004),
      end of record.
DATA: ITAB LIKE STANDARD TABLE OF RECORD.
*** End generated data section ***
start-of-selection.
perform UPLOAD_FILE.
CHECK NOT ITAB[] IS INITIAL.
LOOP AT ITAB INTO RECORD.
perform bdc_dynpro      using 'SAPMF02K' '0102'.
perform bdc_field       using 'BDC_CURSOR'
                              'USE_ZAV'.
perform bdc_field       using 'BDC_OKCODE'
                              '/00'.
perform bdc_field       using 'RF02K-LIFNR'
                              record-LIFNR.
perform bdc_field       using 'USE_ZAV'
                              'X'.
perform bdc_dynpro      using 'SAPMF02K' '1030'.
perform bdc_field       using 'BDC_CURSOR'
                              '*RF02K-BUKRS(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=ENTR'.
perform bdc_dynpro      using 'SAPMF02K' '1020'.
perform bdc_field       using 'BDC_CURSOR'
                              'WRF02K-KTOKK_NEW'.
perform bdc_field       using 'BDC_OKCODE'
                              '=ENTR'.
perform bdc_field       using 'WRF02K-KTOKK_NEW'
                              record-KTOKK_NEW.
perform bdc_dynpro      using 'SAPMF02K' '1040'.
perform bdc_field       using 'BDC_CURSOR'
                              'WRF02K-FAUSS(01)'.
perform bdc_field       using 'BDC_OKCODE'
                              '=ENTR'.
perform bdc_dynpro      using 'SAPMF02K' '0111'.
perform bdc_field       using 'BDC_OKCODE'
                              '=UPDA'.
perform bdc_dynpro      using 'SAPLSPO1' '0300'.
perform bdc_field       using 'BDC_OKCODE'
                              '=YES'.
  CALL TRANSACTION 'XK07' USING BDCDATA
                   MODE   P_MODE
                   UPDATE 'S'
                   MESSAGES INTO MESSTAB.
  read table messtab with key MSGTYP = 'E'.
  IF SY-SUBRC = 0.
    WRITE: / record-LIFNR.
  ENDIF.
ENDLOOP.
*&---------------------------------------------------------------------*
*&      Form  UPLOAD_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_DATASET  text
*----------------------------------------------------------------------*
FORM UPLOAD_FILE .
  CALL FUNCTION 'WS_UPLOAD'
   EXPORTING
     FILENAME                      = DATASET
     FILETYPE                      = 'DAT'
    TABLES
      DATA_TAB                      = ITAB
   EXCEPTIONS
     CONVERSION_ERROR              = 1
     FILE_OPEN_ERROR               = 2
     FILE_READ_ERROR               = 3
     INVALID_TYPE                  = 4
     NO_BATCH                      = 5
     UNKNOWN_ERROR                 = 6
     INVALID_TABLE_WIDTH           = 7
     GUI_REFUSE_FILETRANSFER       = 8
     CUSTOMER_ERROR                = 9
     OTHERS                        = 10
            .
ENDFORM.                    " UPLOAD_FILE
*----------------------------------------------------------------------*
*        Start new screen                                              *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  CLEAR BDCDATA.
  BDCDATA-PROGRAM  = PROGRAM.
  BDCDATA-DYNPRO   = DYNPRO.
  BDCDATA-DYNBEGIN = 'X'.
  APPEND BDCDATA.
ENDFORM.
*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
  IF FVAL <> SPACE.
    CLEAR BDCDATA.
    BDCDATA-FNAM = FNAM.
    BDCDATA-FVAL = FVAL.
    APPEND BDCDATA.
  ENDIF.

抱歉!评论已关闭.