0% found this document useful (0 votes)
125 views6 pages

BDC

This document describes three methods for transferring data from non-SAP legacy files to SAP R/3 systems: call transaction method, session method, and direct input method. It focuses on explaining the call transaction method, which involves recording a transaction code, mapping data from a legacy file to the BDCDATA structure, and calling the transaction using BDCDATA to input the data into R/3 while displaying screens. Sample ABAP code is provided to demonstrate how to load data from a legacy file into an internal table, map it to BDCDATA to input via a recorded transaction, and define the required BDCDATA structures.

Uploaded by

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

BDC

This document describes three methods for transferring data from non-SAP legacy files to SAP R/3 systems: call transaction method, session method, and direct input method. It focuses on explaining the call transaction method, which involves recording a transaction code, mapping data from a legacy file to the BDCDATA structure, and calling the transaction using BDCDATA to input the data into R/3 while displaying screens. Sample ABAP code is provided to demonstrate how to load data from a legacy file into an internal table, map it to BDCDATA to input via a recorded transaction, and define the required BDCDATA structures.

Uploaded by

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

BATCH DATA COMMUNICATION

================================

BDC IS A METHOD FOR DATA TRANSFER FROM NON-SAP (LEGACY FILE)


TO SAP (R/3 SYSTEM)

3 METHODS ARE USED IN BDC


1.CALL TRANSACTION METHOD (SDHB)
2.SESSION METHOD (SM35)
3.DIRECT INPUT METHOD (SE38)

====================================
CALL TRANSACTION METHOD

RECORDING OF A T-CODE :

MK01: VENDOR MASTER CREATION


MM01: MATERIAL MASTER CREATION
XD01: CUSTOMER MASTER CREATION

go to t-code shdb
click on new recording button
recording hemrec

transaction code : mk01


click on start recording

vendor no : a555688890
purch org : 1000 (ides org)
accts group: cpdl (onetime vendor)

continue

name: hemanth
search term: hem

continue

continue (3rd screen)

ord currency : inr

continue

continue

save the recording


press back button

select hemrec and click on program button

program : zhemctm

select transfer from recording


continue

title: call transaction method


type: executable method
click on source code
save as local object

comment all lines of recording

===========================================

call transaction method

============================================

legacy file-----itab------BDCDATA-----R/3 SYSTEM


c:/abc.txt
<--------ISTEP----------------><-----IISTEP--->
=================================================
ROUGH WORK

a555688890 RF02K-LIFNR CHAR 16 LFA1-LIFNR (CHAR 10)


1000 RF02K-EKORG CHAR 4
CPDL RF02K-KTOKK CHAR 4
HEMANTH LFA1-NAME1 CHAR 35
HEM LFA1-SORTL CHAR 10
INR LFM1-WAERS CUKY 5

RF02K IS A STRUCTURE

TABLES:LFA1, LFM1.
====================================

CREATE THE LEGACY FILE IN C:/ABC.TXT

a5556888801000CPDLSATISH SAT INR


a5556888811000CPDLSATISH SAT INR
a5556888831000CPDLSATISH SAT I
===============================================

report ZHEMCTM
no standard page heading line-size 255.

TABLES: LFA1, LFM1.

DATA: BEGIN OF ITAB OCCURS 0,


LIFNR LIKE LFA1-LIFNR,
EKORG LIKE RF02K-EKORG,
KTOKK LIKE RF02K-KTOKK,
NAME1 LIKE LFA1-NAME1,
SORTL LIKE LFA1-SORTL,
WAERS LIKE LFM1-WAERS,
END OF ITAB.

DATA: BDCDATA TYPE BDCDATA OCCURS 0 WITH HEADER LINE.

*CLICK ON THE PATTERN BUTTON


CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:/ABC.TXT'
FILETYPE = 'ASC'
* HAS_FIELD_SEPARATOR = ' '
* 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 = ITAB[]
* 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.

LOOP AT ITAB.
WRITE:/ ITAB.
ENDLOOP.

========================================
STEP 2: CALL TRANSACTION METHOD

LOOP AT ITAB.
REFRESH BDCDATA. "CLEARING THE CONTENTS OF BDCDATA
PERFORM MAPDATA. "TO TRANSFER DATA FROM ITAB TO BDCDATA.
CALL TRANSACTION 'MK01' USING BDCDATA MODE 'A'.
*WRITE:/ ITAB.
ENDLOOP.

*A: ALL SCREEN MODE: TO DISPLAY ALL SCREENS WHILE TRANSFER


*N: NO SCREEN MODE: WILL DISPLAY ANY SCREEN TO USER WHILE TRANSFER
*E: ERROR SCREEN MODE: IN CASE OF ERRORS IT WILL STOP.

*DEFINE MAPDATA....
ALL THE RECORDING WILL BECOME FORM MAPDATA...ENDFORM
FORM MAPDATA.
perform bdc_dynpro using 'SAPMF02K' '0107'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
'a555688890'.
perform bdc_field using 'RF02K-EKORG'
'1000'.
perform bdc_field using 'RF02K-KTOKK'
'cpdl'.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-NAME1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
'hemanth'.
perform bdc_field using 'LFA1-SORTL'
'HEM'.
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' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
'inr'.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.

ENDFORM.

UNCOMMENT ALL LINES AND REPLACE ORIGINAL VALUES WITH ITAB VALUES

FORM MAPDATA.
perform bdc_dynpro using 'SAPMF02K' '0107'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-KTOKK'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
ITAB-LIFNR.
perform bdc_field using 'RF02K-EKORG'
ITAB-EKORG.
perform bdc_field using 'RF02K-KTOKK'
ITAB-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-NAME1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
ITAB-NAME1.
perform bdc_field using 'LFA1-SORTL'
ITAB-SORTL.
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' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
ITAB-WAERS.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.

ENDFORM.

DEFINE BDCDATA...
*include bdcrecx1.
D.CLICK ON IT
SAVE..YES
CLICK ON DISPLAY
GO TO END OF THE CODE
COPY THE CODE FOR START NEW SCREEN, INSERT FIELD
INTO ABAP PROGRAM

*STANDARD CODE FOR BDCDATA


*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM.

*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM.
SAVE THE PROGRAM
CHECK AND ACTIVATE-TEST

==================================
IT WILL TRANSFER DATA FROM ITAB TO BDCDATA AND TO R/3 SYSTEM
USING CALL TRANSACTION METHOD WHILE DISPLAYING SCREENS TO USER

=====================================================
NEXT CLASS: SESSION METHOD (SM35) SUN 10 AM

=====================================================

You might also like