BDC (Batch Data Communication):
It Transfers or upload the data’s(records) from Legacy(Non SAP) system to SAP system.
Batch input means bulk amount of data. It is a programming method.
Types: It has two types
1. CALL TRANSACTION METHOD.
2. SESSION METHOD (CLASSICAL).
Call Transaction method:
1. synchronous Processing. (Data or record)
2. Synchronous and Asynchronous database updates.
3. Transfer of data for individual transaction.
4. This is more faster than session method.
5. Not suited for bulk transfer.
6. No automatic error handling.
7. Error logs are not created.
8. The value of sy-subrc returned to 0 if successful.
9. The system won't store data for later processing. This is online processing.
10. It can handle small amount of data.
11. Function modules :
üF4_FILENAME ( Open the legacy file [.txt or .xls]) .
üTEXT_CONVERT_XSL_TO_SAP ( Convert the .xls file to sap format) : Using for only .xls files.
üGUI_UPLOAD : Using for only .txt files.
Step-by-Step creation:
vCreate the recording :
· Using T-code SHDB.
· Click new recording then put the recoding name and transaction code (xd01 – customer, xk01- vender, mm01 –material master creation) then click continue or press enter.
· Thereafter put all the required data’s into the transaction screen. Note: Must provide the mandatory fields data’s.
· After finished recording to save and come back.
· Select your record then click program button.
vTransfer the recording to ABAP Editor (SE38).
· Put the program name in the pop up window then click continue or press enter.
· Automatically open the report in se38.
vDefine the type-pools and call the function modules.
Example 1: (call transaction to upload .xls file data) customer master creation
REPORT ZBDC_VAI
NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE BDCRECX1.
NO STANDARD PAGE HEADING LINE-SIZE 255.
INCLUDE BDCRECX1.
TYPE-POOLS TRUXS. “This is use to data conversion in TEXT_CONVERT_XLS_TO_SAP.
***************internal table**************************************
DATA: BEGIN OF RECORD OCCURS 0,
* data element: BUKRS
BUKRS_001(004),
* data element: KTOKD
KTOKD_002(004),
* data element: NAME1_GP
NAME1_003(035),
* data element: LAND1_GP
LAND1_004(003),
* data element: REGIO
REGIO_005(003),
* data element: SPRAS
SPRAS_006(002),
* data element: CIVVE
CIVVE_007(001),
* data element: AKONT
AKONT_008(010),
END OF RECORD.
*** End generated data section ***
* data element: BUKRS
BUKRS_001(004),
* data element: KTOKD
KTOKD_002(004),
* data element: NAME1_GP
NAME1_003(035),
* data element: LAND1_GP
LAND1_004(003),
* data element: REGIO
REGIO_005(003),
* data element: SPRAS
SPRAS_006(002),
* data element: CIVVE
CIVVE_007(001),
* data element: AKONT
AKONT_008(010),
END OF RECORD.
*** End generated data section ***
DATA IT_RAW TYPE TRUXS_T_TEXT_DATA.
PARAMETERS PATH TYPE RLGRAP-FILENAME OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PATH.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'PATH'
IMPORTING
FILE_NAME = PATH
.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_TAB_RAW_DATA = IT_RAW
I_FILENAME = PATH
TABLES
I_TAB_CONVERTED_DATA = RECORD
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
START-OF-SELECTION.
LOOP AT RECORD.
PERFORM OPEN_GROUP.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KTOKD'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02D-BUKRS'
RECORD-BUKRS_001.
PERFORM BDC_FIELD USING 'RF02D-KTOKD'
RECORD-KTOKD_002.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-REGIO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNA1-NAME1'
RECORD-NAME1_003.
PERFORM BDC_FIELD USING 'KNA1-LAND1'
RECORD-LAND1_004.
PERFORM BDC_FIELD USING 'KNA1-REGIO'
RECORD-REGIO_005.
PERFORM BDC_FIELD USING 'KNA1-SPRAS'
RECORD-SPRAS_006.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-LIFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0125'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-NIELS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0340'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0370'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'KNA1-CIVVE'
RECORD-CIVVE_007.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0360'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0210'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-AKONT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNB1-AKONT'
RECORD-AKONT_008.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0215'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-ZTERM'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0220'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB5-MAHNA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0230'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-VRSNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0610'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_TRANSACTION USING 'XD01'.
PERFORM CLOSE_GROUP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PATH.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'PATH'
IMPORTING
FILE_NAME = PATH
.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_TAB_RAW_DATA = IT_RAW
I_FILENAME = PATH
TABLES
I_TAB_CONVERTED_DATA = RECORD
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
START-OF-SELECTION.
LOOP AT RECORD.
PERFORM OPEN_GROUP.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KTOKD'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RF02D-BUKRS'
RECORD-BUKRS_001.
PERFORM BDC_FIELD USING 'RF02D-KTOKD'
RECORD-KTOKD_002.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0110'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-REGIO'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNA1-NAME1'
RECORD-NAME1_003.
PERFORM BDC_FIELD USING 'KNA1-LAND1'
RECORD-LAND1_004.
PERFORM BDC_FIELD USING 'KNA1-REGIO'
RECORD-REGIO_005.
PERFORM BDC_FIELD USING 'KNA1-SPRAS'
RECORD-SPRAS_006.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-LIFNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0125'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNA1-NIELS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0130'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNBK-BANKS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0340'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0370'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'KNA1-CIVVE'
RECORD-CIVVE_007.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0360'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0210'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-AKONT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'KNB1-AKONT'
RECORD-AKONT_008.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0215'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-ZTERM'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0220'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB5-MAHNA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0230'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'KNB1-VRSNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPMF02D' '0610'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RF02D-KUNNR'.
PERFORM BDC_TRANSACTION USING 'XD01'.
PERFORM CLOSE_GROUP.
ENDLOOP.
Excel sheet data: ( .xls file)
1000 ZMUM RAJ1 IN 20 EN x 16443100
1000 ZMUM RAJ2 IN 20 EN x 16443100
Example 2: (call transaction to upload .txt file data) customer master creation:
report ZBDC_VAI no standard page heading line-size 255.
include bdcrecx1.
data: begin of record OCCURS 0,
* data element: BUKRS
BUKRS_001(004),
* data element: KTOKD
KTOKD_002(004),
* data element: ANRED
ANRED_003(015),
* data element: NAME1_GP
NAME1_004(035),
* data element: LAND1_GP
LAND1_005(003),
* data element: SPRAS
SPRAS_006(002),
* data element: CIVVE
CIVVE_007(001),
* data element: AKONT
AKONT_008(010),
end of record.
*** End generated data section ***
data: file1 TYPE string.
PARAMETERS: file TYPE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN on VALUE-REQUEST FOR file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'file'
IMPORTING
FILE_NAME = file
.
file1 = file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = file1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'x'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = record
* 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.
start-of-selection.
loop at record.
perform open_group.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-BUKRS'
record-BUKRS_001.
perform bdc_field using 'RF02D-KTOKD'
record-KTOKD_002.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KNA1-ANRED'
record-ANRED_003.
perform bdc_field using 'KNA1-NAME1'
record-NAME1_004.
perform bdc_field using 'KNA1-LAND1'
record-LAND1_005.
perform bdc_field using 'KNA1-SPRAS'
record-SPRAS_006.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-NIELS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_CURSOR'
'KNBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0370'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'KNA1-CIVVE'
record-CIVVE_007.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0210'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-AKONT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KNB1-AKONT'
record-AKONT_008.
perform bdc_dynpro using 'SAPMF02D' '0215'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0220'.
perform bdc_field using 'BDC_CURSOR'
'KNB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0230'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VRSNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0610'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_transaction using 'XD01'.
perform close_group.
ENDLOOP.
data: begin of record OCCURS 0,
* data element: BUKRS
BUKRS_001(004),
* data element: KTOKD
KTOKD_002(004),
* data element: ANRED
ANRED_003(015),
* data element: NAME1_GP
NAME1_004(035),
* data element: LAND1_GP
LAND1_005(003),
* data element: SPRAS
SPRAS_006(002),
* data element: CIVVE
CIVVE_007(001),
* data element: AKONT
AKONT_008(010),
end of record.
*** End generated data section ***
data: file1 TYPE string.
PARAMETERS: file TYPE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN on VALUE-REQUEST FOR file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'file'
IMPORTING
FILE_NAME = file
.
file1 = file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = file1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'x'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* NO_AUTH_CHECK = ' '
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = record
* 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.
start-of-selection.
loop at record.
perform open_group.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-BUKRS'
record-BUKRS_001.
perform bdc_field using 'RF02D-KTOKD'
record-KTOKD_002.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-SPRAS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KNA1-ANRED'
record-ANRED_003.
perform bdc_field using 'KNA1-NAME1'
record-NAME1_004.
perform bdc_field using 'KNA1-LAND1'
record-LAND1_005.
perform bdc_field using 'KNA1-SPRAS'
record-SPRAS_006.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-NIELS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_CURSOR'
'KNBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0370'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'KNA1-CIVVE'
record-CIVVE_007.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02D' '0210'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-AKONT'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'KNB1-AKONT'
record-AKONT_008.
perform bdc_dynpro using 'SAPMF02D' '0215'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0220'.
perform bdc_field using 'BDC_CURSOR'
'KNB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0230'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VRSNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02D' '0610'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_transaction using 'XD01'.
perform close_group.
ENDLOOP.
Record: ( .txt file)
1000 ZMUM mr RAJ1 IN EN x 16443100
1000 ZMUM mr RAJ2 IN EN x 16443100