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............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.
TABLES: INVFO.
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.
REPORT ZKO01 NO STANDARD PAGE HEADING LINE-SIZE 255.
*TYPES DECLARATION............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.
TABLES: INVFO.
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