‎2006 Aug 25 9:05 PM
Hi,
Suppose if i have 100 records which needs to be processed thru any method of our BDCs. While processing i have found the error in 20th row. Kindly advice whether remaining records will be processed or not? if so, how it is processed? and how can i rectify the error which was happened in the 20th record in both methods call transactions and session method. Please advice..
‎2006 Aug 25 9:11 PM
So long as you are using the session method. The batch input session will process all correct entries and put the incorrect ones into an error session. The errors can then be corrected by running through them in the foreground.
Rob
‎2006 Aug 25 9:11 PM
So long as you are using the session method. The batch input session will process all correct entries and put the incorrect ones into an error session. The errors can then be corrected by running through them in the foreground.
Rob
‎2006 Aug 25 9:17 PM
Hi,
Thanks for the prompt response.
In Case of Call transaction method wht will happen?
As you said, if i use session method, then how can i rectify the error records in foreground? is there any specific transaction code for doing this process?
‎2006 Aug 25 9:30 PM
The problem with call transaction is that you cannot process errors. The session method is generally preferred.
To process the errors, just go to transaction SM35. The error session will be there ready to process. Select your session and press the process button. Set the processing mode to 'foreground' and press process.
Rob
‎2006 Aug 25 9:42 PM
Hi Rob,
First i would like to say very thankful to you.
As you said, by mistake if i am processing those records by using call transactions as we won't expect thst the error may raise in the specific record. am i correct?
We have processed half of the records.then error was occured? then what about other records? is it possible to process them? otherwise i need to start it again by using session method? Please clarify...
‎2006 Aug 25 9:53 PM
If you are using call transaction, you can't re-process, but you can stop at the first error. Then fix the problem and resubmit from the beginning. the problem then will be to nake sure that you aren't processing data that you already processed during the first run.
Are you using call transaction or session?
Rob
‎2006 Aug 25 9:56 PM
‎2006 Aug 25 9:59 PM
What are your requirements that lead you to use call transaction?
If there is no pressing need for this method, it's not too difficult to convert to batch input.
Rob
‎2006 Aug 25 10:00 PM
As you said in your reply, i fixed the error and submitted again. is it processing from the first record or continue the process from where the error occured?
‎2006 Aug 25 10:02 PM
Unless you put in special logic, it starts again from the beginning.
Rob
‎2006 Aug 25 10:08 PM
Rob,
Then How can i avoid this situation? What type of logic i need to write? Can you suggest me.
‎2006 Aug 25 10:17 PM
I'm trying to suggest that you convert to the BDC session method.
It's not really possible to tell you the logic you would need to overcome the problems of reprocessing without knowing your requirements. And I think that would be a separate problem.
Rob
‎2006 Aug 25 10:30 PM
Thanks Much Rob.
Then what is the purpose of the BDCMSGCOLL IN CALL Trns?
‎2006 Aug 25 10:33 PM
It contains all of the messages that were returned by the call to the transaction. You would have to analyze them to determine if the transaction succeeded or failed.
Rob
‎2006 Aug 25 10:41 PM
‎2006 Aug 25 10:41 PM
Hi ramesh,
session method will process all the records and you can find the records which are failed during updation and you can process the error ones at latter as every one said.
in call transaction you can track the error records through sy-subrc and you can move the messages to bdcmsg call, but its very difficult to process only error records.
As you are using call transaction what i suggest is just use call transaction for all the records and whenever it fails just use session method(by bdc_insert fm and pass the same bdcdata) so that you can process all the failed records in sm35.
‎2006 Aug 25 10:46 PM
Yes - this is the best way of handling errors when using call transaction, but since you end up making a batch input session anyway, you have to have a good reason to use call transaction to start with.
In my experience, when processing multiple records the batch session handles over 95% of the cases.
Rob