Monday, April 13, 2015

BDC for Mass Internal Order Creation - KO01

Make the file in txt format having the fields that are defined in the Structure below -
REPORT ZKO01 NO STANDARD PAGE HEADING LINE-SIZE 255.

*TYPES DECLARATION............................................*
DATAW_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERSP_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

TABLESINVFO.

TYPES BEGIN OF ST,
          AUART(4),
          KTEXT(40),
          GSBER(4),
          WERKS(4),
          PRCTR(10),
          KOSTV(10),
          USER0(20),
          USER5(10),
          USER1(20),
          USER2(20),
          USER3(20),
          PRNAM(8),
          GJAHR(4),
          POSID(24),
        END OF ST.

*INTERNAL TABLE AND WORKAREA DECLARATION*
DATA IT TYPE TABLE OF ST.
DATA WA TYPE ST.

INCLUDE BDCRECX1.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            MASK             ',*.*,*.*.'
            MODE             '0'
            TITLE            'GET FILE NAME'
       IMPORTING
            FILENAME         P_FILENM
       EXCEPTIONS
            INV_WINSYS       1
            NO_BATCH         2
            SELECTION_CANCEL 3
            SELECTION_ERROR  4
            OTHERS           5.

** START OF CHANGE DCS05052003
START-OF-SELECTION.
 W_FILENAME P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
**   FILENAME                    = 'C:\BDC_XLS_ASSIGN.TXT'
   FILENAME                      W_FILENAME
   FILETYPE                      'ASC'
   HAS_FIELD_SEPARATOR           'X'
  TABLES
    DATA_TAB                     IT
 EXCEPTIONS
   FILE_OPEN_ERROR               1
   FILE_READ_ERROR               2
   NO_BATCH                      3
   GUI_REFUSE_FILETRANSFER       4
   INVALID_TYPE                  5
   NO_AUTHORITY                  6
   UNKNOWN_ERROR                 7
   BAD_DATA_FORMAT               8
   HEADER_NOT_ALLOWED            9
   SEPARATOR_NOT_ALLOWED         10
   HEADER_TOO_LONG               11
   UNKNOWN_DP_ERROR              12
   ACCESS_DENIED                 13
   DP_OUT_OF_MEMORY              14
   DISK_FULL                     15
   DP_TIMEOUT                    16
   OTHERS                        17.

          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO.
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

PERFORM OPEN_GROUP.

LOOP AT IT INTO WA.

PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0100'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-AUART'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'COAS-AUART'
                              WA-AUART."'Z650'.
PERFORM BDC_DYNPRO  USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT4'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-KOSTV'.
PERFORM BDC_FIELD       USING 'COAS-BUKRS'
                              'XXXX'.
PERFORM BDC_FIELD       USING 'COAS-GSBER'
                              WA-GSBER."'1'.
PERFORM BDC_FIELD       USING 'COAS-WERKS'
                              WA-WERKS."'1000'.
PERFORM BDC_FIELD       USING 'COAS-SCOPE'
                              'INVST'.
PERFORM BDC_FIELD       USING 'COAS-PRCTR'
                              WA-PRCTR."'100'.
PERFORM BDC_FIELD       USING 'COAS-KOSTV'
                              WA-KOSTV."''.
PERFORM BDC_FIELD       USING 'COAS-ABUKR'
                              'XXXX'.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT5'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-USER5'.
PERFORM BDC_FIELD       USING 'COAS-USER0'
                              WA-USER0."''.
PERFORM BDC_FIELD       USING 'COAS-USER5'
                              WA-USER5."'08.04.2014'.
PERFORM BDC_FIELD       USING 'COAS-USER1'
                              WA-USER1."''.
PERFORM BDC_FIELD       USING 'COAS-USER2'
                              WA-USER2."''.
PERFORM BDC_FIELD       USING 'COAS-USER3'
                              WA-USER3."''.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT2'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'COAS-IVPRO'
                              'Z00003'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RAIP1-POSID'.
PERFORM BDC_FIELD       USING 'RAIP1-PRNAM'
                              'XXXXX'.
PERFORM BDC_FIELD       USING 'RAIP1-GJAHR'
                              'XXXX'.
PERFORM BDC_FIELD       USING 'RAIP1-POSID'
                              WA-POSID." '.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=VARI'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-WAERS'.
PERFORM BDC_FIELD       USING 'COAS-WAERS'
                              'INR'.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=SICH'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-WAERS'.
PERFORM BDC_FIELD       USING 'COAS-WAERS'
                              'INR'.
PERFORM BDC_TRANSACTION USING 'KO01'.

ENDLOOP.

PERFORM CLOSE_GROUP.

No comments:

Post a Comment