Make the file in txt format having the fields that are defined in the Structure below -
REPORT ZF04 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.
TYPES : BEGIN OF ST,
BLDAT(10),
BLART(2),
BURKS(4),
BUDAT(10),
MONAT(2),
WAERS(5),
NEWBS(2),
NEWKO(17),
WRBTR(13),
GSBER(4),
PRCTR(10),
VALUT(10),
ZUONR(18),
SGTXT(50),
NEWBS2(2),
NEWKO2(17),
WRBTR2(13),
GSBER2(4),
PRCTR2(10),
ZUONR2(18),
SGTXT2(50),
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 'SAPMF05A' '0122'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BKPF-BLDAT'
WA-BLDAT. "'24.06.2013'.
PERFORM BDC_FIELD USING 'BKPF-BLART'
WA-BLART. "'KA'.
PERFORM BDC_FIELD USING 'BKPF-BUKRS'
WA-BURKS.
PERFORM BDC_FIELD USING 'BKPF-BUDAT'
WA-BUDAT. "'24.06.2013'.
PERFORM BDC_FIELD USING 'BKPF-MONAT'
WA-MONAT. "'3'.
PERFORM BDC_FIELD USING 'BKPF-WAERS'
WA-WAERS. "'INR'.
PERFORM BDC_FIELD USING 'FS006-DOCID'
'*'.
PERFORM BDC_FIELD USING 'RF05A-NEWBS'
WA-NEWBS. "'39'.
PERFORM BDC_FIELD USING 'RF05A-NEWKO'
WA-NEWKO. "''.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA-WRBTR."'100'.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA-VALUT."'24.06.2013'.
PERFORM BDC_FIELD USING 'BSEG-ZUONR'
WA-ZUONR."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'BSEG-SGTXT'
WA-SGTXT."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'RF05A-NEWBS'
WA-NEWBS2. "'40'.
PERFORM BDC_FIELD USING 'RF05A-NEWKO'
WA-NEWKO2. "'860101'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA-GSBER."'4'.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA-PRCTR."'400'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AB'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA-WRBTR2."'100'.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA-VALUT."'03.02.2015'.
PERFORM BDC_FIELD USING 'BSEG-ZUONR'
WA-ZUONR2."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'BSEG-SGTXT'
WA-SGTXT2."'TESTING FOR PF'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA-GSBER2."'1'.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA-PRCTR."'100'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0700'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_TRANSACTION USING 'F-04'.
REFRESH BDCDATA.
ENDLOOP.
PERFORM CLOSE_GROUP.
REPORT ZF04 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.
TYPES : BEGIN OF ST,
BLDAT(10),
BLART(2),
BURKS(4),
BUDAT(10),
MONAT(2),
WAERS(5),
NEWBS(2),
NEWKO(17),
WRBTR(13),
GSBER(4),
PRCTR(10),
VALUT(10),
ZUONR(18),
SGTXT(50),
NEWBS2(2),
NEWKO2(17),
WRBTR2(13),
GSBER2(4),
PRCTR2(10),
ZUONR2(18),
SGTXT2(50),
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 'SAPMF05A' '0122'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BKPF-BLDAT'
WA-BLDAT. "'24.06.2013'.
PERFORM BDC_FIELD USING 'BKPF-BLART'
WA-BLART. "'KA'.
PERFORM BDC_FIELD USING 'BKPF-BUKRS'
WA-BURKS.
PERFORM BDC_FIELD USING 'BKPF-BUDAT'
WA-BUDAT. "'24.06.2013'.
PERFORM BDC_FIELD USING 'BKPF-MONAT'
WA-MONAT. "'3'.
PERFORM BDC_FIELD USING 'BKPF-WAERS'
WA-WAERS. "'INR'.
PERFORM BDC_FIELD USING 'FS006-DOCID'
'*'.
PERFORM BDC_FIELD USING 'RF05A-NEWBS'
WA-NEWBS. "'39'.
PERFORM BDC_FIELD USING 'RF05A-NEWKO'
WA-NEWKO. "''.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA-WRBTR."'100'.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA-VALUT."'24.06.2013'.
PERFORM BDC_FIELD USING 'BSEG-ZUONR'
WA-ZUONR."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'BSEG-SGTXT'
WA-SGTXT."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'RF05A-NEWBS'
WA-NEWBS2. "'40'.
PERFORM BDC_FIELD USING 'RF05A-NEWKO'
WA-NEWKO2. "'860101'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA-GSBER."'4'.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA-PRCTR."'400'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0300'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AB'.
PERFORM BDC_FIELD USING 'BSEG-WRBTR'
WA-WRBTR2."'100'.
PERFORM BDC_FIELD USING 'BSEG-VALUT'
WA-VALUT."'03.02.2015'.
PERFORM BDC_FIELD USING 'BSEG-ZUONR'
WA-ZUONR2."'TESTING FOR PF'.
PERFORM BDC_FIELD USING 'BSEG-SGTXT'
WA-SGTXT2."'TESTING FOR PF'.
PERFORM BDC_DYNPRO USING 'SAPLKACB' '0002'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'COBL-GSBER'
WA-GSBER2."'1'.
PERFORM BDC_FIELD USING 'COBL-PRCTR'
WA-PRCTR."'100'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '0700'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF05A-NEWBS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_TRANSACTION USING 'F-04'.
REFRESH BDCDATA.
ENDLOOP.
PERFORM CLOSE_GROUP.
No comments:
Post a Comment