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: 

BDC

Former Member
0 Kudos

Hi Experts

can anybody plz tell me the methods of BDC

I have referred the thread in which this topic was discussed earlier()

but here sm people are telling two methods and sm.. three methods.

basically only two methods i.e. call transaction and session method ?? than whtz the third one thatz Direct I/P method??

and whatz the synchroniation and asynchronisation in call transaction method??

am bit confused

plz clear the doubts I have

Thanks in advance

12 REPLIES 12

Former Member
0 Kudos

Nikita,

There are different ways uploading the data in SAP.

Direct Input - Standard SAP Programs that update the tables

LSMW - SAP's tool

BDC - This runs throught the transactions, just like what a user does.

With in BDC, you have

1. CALL TRANSACTION

2. SESSION METHOD

Synchronous - The changes are updated immediately as the response need to passed.

Asych - The changes are updated at a later time.

Regards,

Ravi

Note : Please mark the helpful answers

naimesh_patel
Active Contributor
0 Kudos

hello Nikita,

People are talking about the 3rd method of Call dialog, but it is not used that much as other two methods.

Regards,

Naimesh

Former Member
0 Kudos

Hi Jain,

Basically two are the BDC methods

one is <b>BATCH INPUT</b> and another one is <b>DIRECT INPUT</b> method

both methods are for uploading data only

coming to <b>BATCH INPUT</b> again it is having two functionalities one is <b>SESSION INPUT</b> another one is <b>CALL TRANSACTION</b>

coming to <b>DIRECT INPUT</b> method which you can manually perform upload data by writing code

Regards

Prabhakar

Former Member
0 Kudos

Thanks guz for your response

Can you plese expain synchronous and asynchronous processing bit clearly.. I am not getting what exactly it is??

0 Kudos

Hi Nikita,

Suppose there are 30 records, If there is any error in an intermediate record (say 5th record).

In the case of synchronous update, updating is done upto 4th record.

But in the case of asynchronous, update is done for everything.

In the case of Call transaction, d/b update is synchronous or asynchronous.

But in SESSION Method, it is synchronous only.

Regards,

SP.

former_member181962
Active Contributor
0 Kudos

Hi Nikita,

A BDC is any program which updates the SAP database after validating the correctness of the data in a file.

There actually 4 methods of uploading data into SAp if you consider BAPIs also.

1) Call transaction.

2) BDC session

3) Direct Input

4) BAPI

Call transaction is a method in which the program simulates a scenario in which a user enters data in a transaction manually.

BDC Session method is similar to a call transaction, but the catch here is that you create a session (JOB) with a program. The session can be processed at your will later.

Direct Input method accepts the file in a specific format on the application server and it directly updates he sap database.The screen flow in a transaction is irrelevant here.Basically a standard sap program does this for you.

In BAPI method you fill the BAPI interface parameters and tables and submit to the bapi.

The bapi updates the data to the database.

IN call transaction there are actually two ways to update .

Synchronous and Asynchronous.

In Synchrounous update, the control will stop for the completion of the work. i.e the next statement after the call transaction will onnly execute only after the database updates are completely done in the call transaction statement.

An asynchrounous process doesn't wait for the updates to comjpletely happen. It is like telling some other threaf to update the database, when the current thread continues to do the next statements in the program.

Hope it clarifies a bit.

Regards,

Ravi

Former Member
0 Kudos

HI

GOOD.

BDC (Batch Data Commands)

-

-


The Batch Input is a SAP technic that allows automating the input in transactions. It lies on a BDC (Batch Data Commands) scenario.

BDC functions:

· BDC_OPEN_GROUP : Opens a session group

· BDC_CLOSE_GROUP : Closes a session

· BDC_INSERT : Insert a BDC scenario in the session

· The ABAP statement "CALL TRANSACTION" is also called to run directly a transaction from its BDC table.

It runs the program RSBDCSUB in order to launch automatically the session. The session management is done through the transaction code SM35.

The object itself is maintanable through the transaction SE24.

BDC techniques used in programs:

1) Building a BDC table and calling a transaction,

2) Building a session and a set of BDC scenarios and keeping the session available in SM35,

3) Building a session and lauching the transaction right after closing the session.

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

BDC using Call Transaction

BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP

program. The process involves building an Internal BDC table containing the screen information needed to

execute the required transaction and then passing this to the Call transaction command (See code example).

The full procedure for creating a BDC program is as follows:

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

What is the difference between batch input and call transaction in BDC?

Session method.

1) synchronous processing.

2) can tranfer large amount of data.

3) processing is slower.

4) error log is created

5) data is not updated until session is processed.

Call transaction.

1) asynchronous processing

2) can transfer small amount of data

3) processing is faster.

4) errors need to be handled explicitly

5) data is updated automatically

Thanks

Mrutyunjaya Tripathy

0 Kudos

Hi

Synchronous Prcess=>The next transaction is called only when the update for the preceding transaction gas been complted

Asynchronous ->asynchronous processing, where the operation is carried out in a separate thread than that of the calling thread, leaving the main thread to do any other operation. This gives the user the control to do anything when processing (as transferring files). And the child thread created can callback the main thread to intimate when the transfer is complete or when an error occurs, on which the application can act accordingly.

Thanks

Mrutyunjaya Tripathy

Former Member
0 Kudos

Hi Everybody

Thanks a ton for ur responses

Prasad has given nice example

I will be thankful to you if anybody can give a practical senario where we can specifically use synchronous ,asynchronous ,session or direct I/P method

Thanks in advance

and one more thing.. m not getting those stars for rewarding points..so plz tell me how to reward points

Thanks

0 Kudos

Hi Nikita,

Usually for each of the reply you get, on the left side , you can see various radio buttons.One for "Helpful answer" , one for "Very Helpful Answer" and one for "Solved the problem". Select the appropriate radio button for the reply. In this way , you can award points to helpful answers.

Regards,

SP.

0 Kudos

HI NIkita,

A Practical scenario for using synchronous /asynchronous would be,

Say we are creating a sales order using call transaction and after that, we are changing the same sales order using another call transaction.

IF we use asynchrnous mode, The sales order creation part will not be completed and the changing of sales order already starts.

It give eroor because you are trying to change a Sales Order that hasn't been created yet.

YOu should go for asynchronous updates if the subsequesnt statements do not need the data that has been saved to the database.

Asynchrounous is obviously faster.

YOu go for Direct Input method in cases of very huge data.

(Master data uploads like materials , custimers, vendors data etc).

REgards,

Ravi

Former Member
0 Kudos

Thanks a lot to everybody for your responses

I wann reward poinds but unfortunately not getting those stars on left hand side..

Thanks once agian