Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

.can anybody explain the bdc with help of an example

Former Member
0 Kudos

i am new to bdc .can anybody explain the bdc with help of an example

4 REPLIES 4

Former Member
0 Kudos

BDC stands for Batch Data Communication and is the methodology to upload data in to SAP R/3. As SAP has an underlying RDBMS, directly uploading data into database tables will lead to inconsistency. Therefore, data is uploaded using Tcode for a transaction.

1. First record the screen and field sequence using the Tcode SHDB.

2. Transfer the recording into a Z program and edit this program to replace the hard-coded value s with the dynamic values from the program.

Your program is ready to upload the required data into R3.

Regards.

baskaran00
Active Participant
0 Kudos

Hi,

BDC is method to transfer legacy data into R3 system.

Data transfer can be done in any one method below:

BDC

LSMW

Direct Input method

BAPI

Of these BDC is subdivided into 2 types,

Call Transaction and Session method (TCode: SM35)

Let me give the sample prg for Call Transaction method.

tables ZMATMASTER.

DATA : itab like TABLE OF ZMATMASTER WITH KEY DESCRIPTION with header line.

DATA : IT_BDC LIKE TABLE OF BDCDATA WITH HEADER LINE.

DATA : IT_MSG LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'C:\Material.txt'

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = '#'

TABLES

DATA_TAB = itab.

LOOP AT ITAB.

PERFORM BDC_HEADER USING 'ZFILE_DOWNLOAD' 9001.

PERFORM BDC_DATA USING 'BDC_OKCODE' 'SAVE'.

PERFORM BDC_DATA USING 'ZMATMASTER-MNO' ITAB-MNO.

PERFORM BDC_DATA USING 'ZMATMASTER-DESCRIPTION' ITAB-DESCRIPTION.

PERFORM BDC_DATA USING 'ZMATMASTER-PLANT' ITAB-PLANT.

PERFORM BDC_DATA USING 'ZMATMASTER-SLOC' ITAB-SLOC.

PERFORM BDC_DATA USING 'ZMATMASTER-ROL' ITAB-ROL.

PERFORM BDC_DATA USING 'ZMATMASTER-UOM' ITAB-UOM.

PERFORM BDC_DATA USING 'ZMATMASTER-PRICE' ITAB-PRICE.

PERFORM BDC_DATA USING 'ZMATMASTER-DDAYS' ITAB-DDAYS.

PERFORM BDC_DATA USING 'ZMATMASTER-FLOT' ITAB-FLOT.

ENDLOOP.

CALL TRANSACTION 'ZTRANSCODES'

USING IT_BDC

MODE 'A'

UPDATE 'S'

MESSAGES INTO IT_MSG.

FORM BDC_HEADER USING PROGRAMNAME SCREENNO.

IT_BDC-PROGRAM = PROGRAMNAME.

IT_BDC-DYNPRO = SCREENNO.

IT_BDC-DYNBEGIN = 'X'.

APPEND IT_BDC.

ENDFORM.

FORM BDC_DATA USING FNAME FVALUE.

CLEAR IT_BDC.

IT_BDC-FNAM = FNAME.

IT_BDC-FVAL = FVALUE.

APPEND IT_BDC.

ENDFORM.

-


In session method, log file can be viewed.

Foll. is the example for session method.

REPORT ZBDC_BATCH1 .

TABLES: ZEMPREC.

DATA : BEGIN OF STR1,

EMPNO(3),

EMPNAME(15),

SALARY(9),

DOJ(10),

END OF STR1.

DATA: FNAME(100) TYPE C VALUE 'C:\EMPLOYEE.TXT.,

DATA : BDCITAB LIKE TABLE OF BDCDATA WITH HEADER LINE,

MSGITAB LIKE TABLE OF BDCMSGCOLL WITH HEADER LINE.

OPEN DATASET: FNAME FOR INPUT IN TEXT MODE ENCODING DEFAULT.

perform open_group.

DO .

READ DATASET FNAME INTO STR1.

IF SY-SUBRC <> 0 .

EXIT.

ENDIF.

perform bdc_dynpro using 'ZBDC_BATCH' '9000'.

perform bdc_field using 'ZEMPREC-EMPNO'

STR1-EMPNO.

perform bdc_field using 'ZEMPREC-EMPNAME'

STR1-EMPNAME.

perform bdc_field using 'ZEMPREC-SALARY'

STR1-SALARY.

perform bdc_field using 'ZEMPREC-DOJ'

STR1-DOJ.

ENDDO.

CLOSE DATASET FNAME.

perform bdc_transaction using 'ZTCODE'.

perform close_group.

CLOSE DATASET FNAME1.

CALL TRANSACTION 'SM35'.

-


*

FORM open_group

-


*

-


*

FORM open_group .

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

GROUP = 'sample'

HOLDDATE = SY-DATUM

KEEP = 'X'

USER = SY-UNAME.

ENDFORM. "open_group

-


*

FORM bdc_transaction

-


*

-


*

--> TCODE

-


*

form bdc_transaction USING TCODE.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'ZTCODE'

TABLES

DYNPROTAB = BDCITAB.

ENDFORM. "bdc_transaction

-


*

FORM close_group

-


*

-


*

FORM close_group.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

ENDFORM. "close_group

-


*

FORM BDC_DYNPRO

-


*

-


*

--> PROGRAM

--> SCREEN

-


*

FORM BDC_DYNPRO USING PROGRAM SCREEN.

CLEAR BDCITAB.

BDCITAB-PROGRAM = PROGRAM.

BDCITAB-DYNPRO = SCREEN.

BDCITAB-DYNBEGIN = 'X'.

APPEND BDCITAB.

ENDFORM. "BDC_DYNPRO

-


*

FORM BDC_FIELD

-


*

-


*

--> FNAM

--> FVAL

-


*

FORM BDC_FIELD USING FNAM FVAL.

CLEAR BDCITAB.

BDCITAB-FNAM = FNAM.

BDCITAB-FVAL = FVAL.

APPEND BDCITAB.

ENDFORM. "BDC_FIELD

Hope now u get an idea abt BDC.

Regards,

Router

Former Member
0 Kudos

Hello,

Please gimme your email ID, will forward you a good document.

Regs,

Venkat Ramanan N

0 Kudos

Hi Venkat,

My email id : <b>suresh_kutamvenkata@yahoo.co.in</b> Please send me the BDC documents plz..

thanks,

suresh