12-12-2007 5:33 AM
Hi all
Is call transaction advisable for processing less than 10,000 records.
I want to use call transaction for each record and if it fails, pass it to an opened bdc session for manual processing by functional consultants. At the same time, I have to write a report with successful and errored records. Is my approach the only way? Any other ideas are welcome and appreciated
Thanks
ricky
12-12-2007 5:38 AM
hi ricky,
while using bdc session you/Functional consultants cannot process it manually.
instead trap error records into one error intarnal table and reprocess it by correcting the values before you pass it to the session.
Cheers,
Chandra
12-12-2007 6:11 AM
Hi,
Process to hold error records.
DATA: MSG_TAB TYPE TABLE OF BDCMSGCOLL.
CALL TRANSACTION 'MM01' USING BDCDATA MODE 'N' UPDATE 'A' MESSAGES INTO MSG_TAB.
Here in call transaction method, all the error messages will be stored in MSG_TAB. loop the MSG_TAB, get MSGID and MSGNR and see the errors.
Reward if helpful.
Regards,
Harini.S
12-12-2007 6:17 AM
for this change the mode to N and check for error messages after call transaction for each record .
this is possible by :
IF sy-msgty NE 'E' AND sy-subrc EQ 0.
this means no error and move this recod in success file
else
this means error is thier and move this record into error file
endif.
this is the best way.
plz reward point if helps.
regards,
rahul
12-12-2007 6:22 AM
Hi,
You can process the session using E - error mode. If any error occurs it will take you thru the screens.
Thanks,
Sriram Ponna.
12-13-2007 4:01 PM
Thanks Guys for the reply. Can I assume that the method which i chose is the right one for records less than 10,000 records? Can anybody give a sample code if possible so that I can get a better picture of what I am doing Thanks
12-13-2007 4:16 PM
Using a BAPI is the preferred way; otherwise, you should try to use the batch input session method. Call transaction would be the least advisable way.
Rob