0% found this document useful (0 votes)
18 views4 pages

Source Code

The document outlines an ABAP report for processing vendor data from an Excel file into SAP. It includes a structured data section with specific formatting rules and a series of function calls to convert the Excel data and perform batch input transactions. The report handles sorting, duplicate removal, and populating various fields related to vendor information.

Uploaded by

greeshmakuderu2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views4 pages

Source Code

The document outlines an ABAP report for processing vendor data from an Excel file into SAP. It includes a structured data section with specific formatting rules and a series of function calls to convert the Excel data and perform batch input transactions. The report handles sorting, duplicate removal, and populating various fields related to vendor information.

Uploaded by

greeshmakuderu2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

report ZBDC_TABLE_CONTROL

no standard page heading line-size 255.

include bdcrecx1.

parameters: dataset(132) lower case.


*** DO NOT CHANGE - the generated data section - DO NOT CHANGE ***
*
* If it is nessesary to change the data section use the rules:
* 1.) Each definition of a field exists of two lines
* 2.) The first line shows exactly the comment
* '* data element: ' followed with the data element
* which describes the field.
* If you don't have a data element use the
* comment without a data element name
* 3.) The second line shows the fieldname of the
* structure, the fieldname must consist of
* a fieldname and optional the character '_' and
* three numbers and the field length in brackets
* 4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE ***
data: begin of record,
* data element: KTOKK
KTOKK_001(004),
* data element: NAME1_GP
NAME1_002(035),
* data element: SORTL
SORTL_003(010),
* data element: NAME2_GP
NAME2_004(035),
* data element: STRAS_GP
STRAS_005(035),
* data element: PSTLZ
PSTLZ_006(010),
* data element: LAND1_GP
LAND1_007(003),
* data element: REGIO
REGIO_008(003),
* data element: BANKS
BANKS_01_009(003),
* data element: BANKS
BANKS_02_010(003),
* data element: BANKK
BANKL_01_011(015),
* data element: BANKK
BANKL_02_012(015),
* data element: BANKN
BANKN_01_013(018),
* data element: BANKN
BANKN_02_014(018),
* data element: KOINH_FI
KOINH_01_015(060),
* data element: KOINH_FI
KOINH_02_016(060),
end of record.

TYPES : BEGIN OF TY_SEMI,


KTOKK TYPE RF02K-KTOKK, " ACCOUNT GROUP
NAME1 TYPE LFA1-NAME1, " VENDOR NAME
SORTL TYPE LFA1-SORTL, "SEARCH TERM
NAME2 TYPE LFA1-NAME2, " LAST NAME
STRAS TYPE LFA1-STRAS, " STREET
PSTLZ TYPE LFA1-PSTLZ, " POSTAL CODE
LAND1 TYPE LFA1-LAND1, "COUNTRY
REGIO TYPE LFA1-REGIO, "REGION
BANKS TYPE LFBK-BANKS, "BANK COUNTRY,
BANKL TYPE LFBK-BANKL, "BANK KEY
BANKN TYPE LFBK-BANKN, "ACCOUNT NO
KOINH TYPE LFBK-KOINH, " A/C HOLDER NAME
END OF TY_SEMI.

DATA : IT_SEMI TYPE TABLE OF TY_SEMI,


WA_SEMI TYPE TY_SEMI,
IT_FINAL TYPE TABLE OF TY_SEMI,
WA_FINAL TYPE TY_SEMI,
LV_NO(2) TYPE N,
LV_FNAME TYPE STRING.

DATA : IT_TRUX TYPE TRUXS_T_TEXT_DATA,


LV_PATH TYPE RLGRAP-FILENAME VALUE 'C:.XLSX'.

*** End generated data section ***

start-of-selection.

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'


EXPORTING
I_LINE_HEADER = 'X'
i_tab_raw_data = IT_TRUX
i_filename = LV_PATH
TABLES
i_tab_converted_data = IT_SEMI.

IT_FINAL = IT_SEMI. " ASSIGNING THE DATA FROM SEMI ITAB TO FINAL
ITAB.

SORT IT_SEMI BY NAME1 PSTLZ.


DELETE ADJACENT DUPLICATES FROM IT_SEMI COMPARING NAME1 PSTLZ.

SORT IT_FINAL BY NAME1 PSTLZ.


*perform open_dataset using dataset.
perform open_group.

LOOP AT IT_SEMI INTO WA_SEMI..

*read dataset dataset into record.


*if sy-subrc <> 0. exit. endif.

perform bdc_dynpro using 'SAPMF02K' '0100'.


perform bdc_field using 'BDC_CURSOR'
'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-KTOKK'
WA_SEMI-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-REGIO'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
WA_SEMI-NAME1.
perform bdc_field using 'LFA1-SORTL'
WA_SEMI-SORTL.
perform bdc_field using 'LFA1-NAME2'
WA_SEMI-NAME2.
perform bdc_field using 'LFA1-STRAS'
WA_SEMI-STRAS.
perform bdc_field using 'LFA1-PSTLZ'
WA_SEMI-PSTLZ.
perform bdc_field using 'LFA1-LAND1'
WA_SEMI-LAND1.
perform bdc_field using 'LFA1-REGIO'
WA_SEMI-REGIO.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-KOINH(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.

CLEAR LV_NO.
LOOP AT IT_FINAL INTO WA_FINAL WHERE NAME1 = WA_SEMI-NAME1 AND PSTLZ =
WA_SEMI-PSTLZ.
LV_NO = LV_NO + 1.
CONCATENATE 'LFBK-BANKS(' LV_NO ')' INTO LV_FNAME.

perform bdc_field using LV_FNAME


WA_FINAL-BANKS.
*perform bdc_field using 'LFBK-BANKS(02)'
* record-BANKS_02_010.

CONCATENATE 'LFBK-BANKL(' LV_NO ')' INTO LV_FNAME.


perform bdc_field using LV_FNAME WA_FINAL-BANKL.
*perform bdc_field using 'LFBK-BANKL(02)'
* record-BANKL_02_012.

CONCATENATE 'LFBK-BANKN(' LV_NO ')' INTO LV_FNAME.


perform bdc_field using LV_FNAME WA_FINAL-BANKN.
*perform bdc_field using 'LFBK-BANKN(02)'
* record-BANKN_02_014.

CONCATENATE 'LFBK-KOINH(' LV_NO ')' INTO LV_FNAME.


perform bdc_field using LV_FNAME WA_FINAL-KOINH.
*perform bdc_field using 'LFBK-KOINH(02)'
* record-KOINH_02_016.

ENDLOOP.

perform bdc_dynpro using 'SAPMF02K' '0130'.


perform bdc_field using 'BDC_CURSOR'
'LFBK-KOINH(02)'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
perform bdc_transaction using 'XK01'.

ENDLOOP..

perform close_group.
*perform close_dataset using dataset.

You might also like