cancel
Showing results for 
Search instead for 
Did you mean: 

bdc doubts

Former Member
0 Kudos

Hi experts,

Iam always confused in the BDC concept.

1.Suppose if i have 1000 records in my file,what should i use? Session method or Call transaction method ? and why?

2.If i want to schedule background job which one is better and why?

And also can any one give me some importent points about BDC which we need to remember always!!!

Thanks

kaki

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member
0 Kudos

The number of records in the file is irrelevant. Is it one records per transaction. How many screens are to be process within the BDC.

Former Member
0 Kudos

What is to happen for error processing. For Call Transaction, the BDC data is not stored. You will need to allow for this.

abdul_hakim
Active Contributor
0 Kudos

Hi

>>1.Suppose if i have 1000 records in my file,what should i use? Session method or Call transaction method ? and why?

you can go for call transaction here.

>>Why?

Execution will be faster than session method.Since you have only 1000 recs you can save your execution time.

Session Method is mainly intended for bulk transfers say 8000 recs or 10000 recs or more....

If you want you can also use session in your scenario also but itz not advisable here..

>>If i want to schedule background job which one is better and why?

Both are better it again depends on no of records...

>>And also can any one give me some importent points about BDC which we need to remember always!!!

Remember the below points alwayz..

<b>Session Method:</b>

1.Asynchronous Processing

2.Synchronous database update.

3.Transfer of data for multiple transaction

4.Batch input log will be genereated

5.SAP's Standard Approach for data transfer

<b>Call transaction</b>

1.Synchronous Processing

2.Syncrounous and Asynchrounous database updates

3.Transfer of data for individual transaction.

4.No batch input log

5.Execution is faster than other batch input techniques.

Cheers,

Abdul Hakim

vinod_gunaware2
Active Contributor
0 Kudos

BATCH INPUT SESSION is an intermediate step between internal table and

Database table. Data along with the action is stored in session i.e. data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.

STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".

STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".

STEP 3: DEPENDING UPON THE BDC TYPE I) call transaction (Write the program explicitly)

ii) create sessions (sessions are created and processed. if success data will transfer).

An ABAP program creates a batch input session.

We need to submit the program and the batch session in background.

Go to SM36 and create background job by giving job name, job class and job steps (JOB SCHEDULING)

<b>The fields in a BDC_Tab Table</b>

PROGRAM BDC_PROG CHAR 40 BDC module pool

DYNPRO BDC_DYNR NUMC 4 BDC Screen number

DYNBEGIN BDC_START CHAR 1 BDC screen start

FNAM FNAM_____4 CHAR 132 Field name

FVAL BDC_FVAL CHAR 132 BDC field value

<b>BDCDATA (standard structure).</b>

when the system crashes in the middle of a BDC batch session - we will look into the error log file (SM35).

What do you do with errors in BDC batch sessions?

We look into the list of incorrect session and process it again. To correct incorrect session we analyze the session to determine which screen and value produced the error for small errors in data we correct them interactively otherwise

modify batch input program that has generated the session or many times even the data file.

How do you set up background jobs in SAP? What are the steps? What are the events driven batch jobs?

Go to SM36 and create background job by giving job name, job class and job steps (JOB SCHEDULING)

regards

vinod

Former Member
0 Kudos

In any scenario, it is better u go for a combination of Call transaction and Session method.

Process all the records by Call transactions, if any errors are encountered during Call transaction, then you can process the same through BDC Session method, which will display the error log and hence correct the records...

former_member181962
Active Contributor
0 Kudos

Hi,

If you have 1000 records in a file, then you can go for call transaction method.Because the number of records is less and the processing of all that records can be done online without timeout.

If the volume of data to be processed is large then you have to go to bdc session method.

One more important thing abt cal transaction method is that you have to handle the error logging part in your code itself, whereas in bdc session method, the log is created automatically.

Regards,

Ravi

Former Member
0 Kudos

Hi Ravi,

I have one doubt in your answer.How can we say 1000 records are small data.If i have 10,000 records and if i use call transaction what happens?And it is faster compared to session....!!!!

former_member181962
Active Contributor
0 Kudos

Hi Kaki,

I say 10o0 records is small because the time taken to process the records on line(by pressing f8) is within the limit of timing out.

Generally below 10,000 records, you can use call transaction.

Otherwise the session gets timed out before the completing of the processing.

Regards,

Ravi

abdul_hakim
Active Contributor
0 Kudos

Hi Kaki,

1000 record is alwayz a small amount when you thing about data migration because we will migrage millions of records from legacy system while implementing SAP.Hope you will agree with me in this point.Right?

If you use call transaction for more records say 10000 then you may end up with the problem of loosing the interactive error handling provided by session method.I mean you need to capture the error message on your own which will be a time consuming process and it will affect your program performance incase if there are more data.So i would alwayz suggest you to go with the session method for bulk data and call transaction for less no of data.

Cheers,

Abdul

Former Member
0 Kudos

Many thanks to Abdul and Ravi...

Still some doubts..

If i want to use only session method, do i need to modify bdcrecx1(by creating Zbdcrecx1) accordingly or is there any other way??

abdul_hakim
Active Contributor
0 Kudos

hi kaki,

it is not needed you can use the same include and modify the PERFORM with the values accordingly..

please close the thread if your question has been answered..

Cheers,

Abdul Hakim

Former Member
0 Kudos

hello ..

i think this thread clear ur bdc concept...