Make the file in txt format having the fields that are defined in the Structure below -
REPORT ZFB70 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,
ACCNT(17),
BLDAT(10),
BUDAT(10),
CWRBTR(13),
WAERS(5),
BUPLA(4),
SECCO(4),
SGTXT(50),
HKONT(10),
DWRBTR(13),
"MWSKZ(2), Not Required
"GSBER(4), Not Required it will picked up from Cost Center
KOSTL(10),
"PRCTR(10), Not Required it will picked up from Cost Center
ZFBDT(10),
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' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF05A-BUSCS'
'R'.
PERFORM BDC_FIELD USING 'INVFO-ACCNT'
WA-ACCNT."'63G63187'.
PERFORM BDC_FIELD USING 'INVFO-BLDAT'
WA-BLDAT. "'31.01.2014'.
PERFORM BDC_FIELD USING 'INVFO-BUDAT'
WA-BUDAT."'31.01.2014'.
PERFORM BDC_FIELD USING 'INVFO-WRBTR'
WA-CWRBTR."'70000'.
PERFORM BDC_FIELD USING 'INVFO-WAERS'
WA-WAERS."''.
PERFORM BDC_FIELD USING 'INVFO-BUPLA'
WA-BUPLA."''.
PERFORM BDC_FIELD USING 'INVFO-SECCO'
WA-SECCO."''.
PERFORM BDC_FIELD USING 'INVFO-SGTXT'
WA-SGTXT."'TESTING FOR '.
PERFORM BDC_FIELD USING 'ACGL_ITEM-HKONT(01)'
WA-HKONT."'505100'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-WRBTR(01)'
WA-DWRBTR."' 70000'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-MWSKZ(01)'
''."WA-MWSKZ."'V0'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-GSBER(01)'
''."WA-GSBER."''.
PERFORM BDC_FIELD USING 'ACGL_ITEM-KOSTL(01)'
WA-KOSTL."'46301'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-PRCTR(01)'
''."WA-PRCTR."'400'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'INVFO-ZFBDT'.
PERFORM BDC_FIELD USING 'INVFO-ZFBDT'
WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BS'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'INVFO-ZFBDT'.
PERFORM BDC_FIELD USING 'INVFO-ZFBDT'
WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PS 18'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PS 37'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_TRANSACTION USING 'FB70'.
ENDLOOP.
PERFORM CLOSE_GROUP.
REPORT ZFB70 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,
ACCNT(17),
BLDAT(10),
BUDAT(10),
CWRBTR(13),
WAERS(5),
BUPLA(4),
SECCO(4),
SGTXT(50),
HKONT(10),
DWRBTR(13),
"MWSKZ(2), Not Required
"GSBER(4), Not Required it will picked up from Cost Center
KOSTL(10),
"PRCTR(10), Not Required it will picked up from Cost Center
ZFBDT(10),
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' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF05A-BUSCS'
'R'.
PERFORM BDC_FIELD USING 'INVFO-ACCNT'
WA-ACCNT."'63G63187'.
PERFORM BDC_FIELD USING 'INVFO-BLDAT'
WA-BLDAT. "'31.01.2014'.
PERFORM BDC_FIELD USING 'INVFO-BUDAT'
WA-BUDAT."'31.01.2014'.
PERFORM BDC_FIELD USING 'INVFO-WRBTR'
WA-CWRBTR."'70000'.
PERFORM BDC_FIELD USING 'INVFO-WAERS'
WA-WAERS."''.
PERFORM BDC_FIELD USING 'INVFO-BUPLA'
WA-BUPLA."''.
PERFORM BDC_FIELD USING 'INVFO-SECCO'
WA-SECCO."''.
PERFORM BDC_FIELD USING 'INVFO-SGTXT'
WA-SGTXT."'TESTING FOR '.
PERFORM BDC_FIELD USING 'ACGL_ITEM-HKONT(01)'
WA-HKONT."'505100'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-WRBTR(01)'
WA-DWRBTR."' 70000'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-MWSKZ(01)'
''."WA-MWSKZ."'V0'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-GSBER(01)'
''."WA-GSBER."''.
PERFORM BDC_FIELD USING 'ACGL_ITEM-KOSTL(01)'
WA-KOSTL."'46301'.
PERFORM BDC_FIELD USING 'ACGL_ITEM-PRCTR(01)'
''."WA-PRCTR."'400'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'INVFO-ZFBDT'.
PERFORM BDC_FIELD USING 'INVFO-ZFBDT'
WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BS'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'INVFO-ZFBDT'.
PERFORM BDC_FIELD USING 'INVFO-ZFBDT'
WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PS 18'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PS 37'.
PERFORM BDC_DYNPRO USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_TRANSACTION USING 'FB70'.
ENDLOOP.
PERFORM CLOSE_GROUP.
No comments:
Post a Comment