Make the file in txt format having the fields that are defined in the Structure below -
REPORT ZABUMN NO STANDARD PAGE HEADING LINE-SIZE 255.
"DECLARATION TYPES
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: RAIFP1, RAIFP2, ANLA.
"STRUCTURE
TYPES : BEGIN OF ST,
ANLN1(12),
ANLN2(4),
BLDAT(10),
BUDAT(10),
BZDAT(10),
SGTXT(50),
XBANL(1),
XNANL(1),
TXT50(50),
ANLKL(8),
"ANLN1_1 TYPE ANLA-ANLN1,
XSUBNO(1),
XVLABG(1),
"TXT50_1 TYPE ANLA-TXT50,
KOSTL(10),
ANBTR(13),
XAALT(1),
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 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NEWA'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT..
PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP3-XNANL'.
PERFORM BDC_FIELD USING 'RAIFP3-XBANL'
WA-XBANL."''.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL."'X'.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=MAST'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT. PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP4-TXT50'.
PERFORM BDC_FIELD USING 'RAIFP4-TXT50'
WA-TXT50.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '2110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIST05-XSUBNO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=CREA'.
PERFORM BDC_FIELD USING 'ANLA-ANLKL'
WA-ANLKL.
PERFORM BDC_FIELD USING 'ANLA-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIST05-XSUBNO'
WA-XSUBNO.
PERFORM BDC_FIELD USING 'RAIST05-XVLABG'
WA-XVLABG.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
WA-TXT50.
PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
WA-KOSTL.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP2-ANLN1'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT.
PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAVE'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP2-ANBTR'.
PERFORM BDC_FIELD USING 'RAIFP2-ANBTR'
WA-ANBTR.
PERFORM BDC_FIELD USING 'RAIFP2-XAALT'
WA-XAALT.
PERFORM BDC_TRANSACTION USING 'ABUMN'.
ENDLOOP.
PERFORM CLOSE_GROUP.
REPORT ZABUMN NO STANDARD PAGE HEADING LINE-SIZE 255.
"DECLARATION TYPES
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: RAIFP1, RAIFP2, ANLA.
"STRUCTURE
TYPES : BEGIN OF ST,
ANLN1(12),
ANLN2(4),
BLDAT(10),
BUDAT(10),
BZDAT(10),
SGTXT(50),
XBANL(1),
XNANL(1),
TXT50(50),
ANLKL(8),
"ANLN1_1 TYPE ANLA-ANLN1,
XSUBNO(1),
XVLABG(1),
"TXT50_1 TYPE ANLA-TXT50,
KOSTL(10),
ANBTR(13),
XAALT(1),
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 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NEWA'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT..
PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP3-XNANL'.
PERFORM BDC_FIELD USING 'RAIFP3-XBANL'
WA-XBANL."''.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL."'X'.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=MAST'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT. PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP4-TXT50'.
PERFORM BDC_FIELD USING 'RAIFP4-TXT50'
WA-TXT50.
PERFORM BDC_DYNPRO USING 'SAPLAIST' '2110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIST05-XSUBNO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=CREA'.
PERFORM BDC_FIELD USING 'ANLA-ANLKL'
WA-ANLKL.
PERFORM BDC_FIELD USING 'ANLA-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIST05-XSUBNO'
WA-XSUBNO.
PERFORM BDC_FIELD USING 'RAIST05-XVLABG'
WA-XVLABG.
PERFORM BDC_FIELD USING 'ANLA-TXT50'
WA-TXT50.
PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
WA-KOSTL.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP2-ANLN1'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'RAIFP1-BLDAT'
WA-BLDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BUDAT'
WA-BUDAT.
PERFORM BDC_FIELD USING 'RAIFP1-BZDAT'
WA-BZDAT.
PERFORM BDC_FIELD USING 'RAIFP2-SGTXT'
WA-SGTXT.
PERFORM BDC_FIELD USING 'RAIFP3-XNANL'
WA-XNANL.
PERFORM BDC_DYNPRO USING 'SAPLAMDP' '0100'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAVE'.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN1'
WA-ANLN1.
PERFORM BDC_FIELD USING 'RAIFP2-ANLN2'
WA-ANLN2.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RAIFP2-ANBTR'.
PERFORM BDC_FIELD USING 'RAIFP2-ANBTR'
WA-ANBTR.
PERFORM BDC_FIELD USING 'RAIFP2-XAALT'
WA-XAALT.
PERFORM BDC_TRANSACTION USING 'ABUMN'.
ENDLOOP.
PERFORM CLOSE_GROUP.
No comments:
Post a Comment