‎2006 Mar 28 8:12 PM
hi,
How to handle errors in LSMW. Please let me know one example.
Regards
Vinay.
‎2006 Mar 28 8:22 PM
hey vinay
u can get the log after u process the session
when u go to sm35 u will find the log there u will get the summery of the process in that if u choose only errors to display to then u will get only errors occured in it
ok if it is useful don't forget to reward the points
Regards
naveen
‎2006 Mar 28 8:20 PM
In the case of direct input programs, the error handling will be handled for you. I would suggest that you run your files in test mode untill all errors have been cleared, then run in "Live" mode to update the system. If using a batch input session, the errors will be handled for you in the log, you can keep reprocess the session untill the errors have been cleared. The system will skip over the ones that have been successfully processed.
Regards,
Rich Heilman
‎2006 Mar 28 8:22 PM
hey vinay
u can get the log after u process the session
when u go to sm35 u will find the log there u will get the summery of the process in that if u choose only errors to display to then u will get only errors occured in it
ok if it is useful don't forget to reward the points
Regards
naveen
‎2006 Mar 28 8:54 PM
In case they are errors that you can/ want to capture before proceeding to the session. you can capture it in the end_of_record area for each record and move it to an internal table which can then be downloaded in the end_of_processing.
Example : You have a loaded material master with the legacy material number in BISMT field in MARA. Let's say you now want to load your inventory. In the LSMW for the inventory load you can do a select and get teh SAP material number for the legacy material number provided to you. In this select if you do not find the SAP material number for one material(may be it errored out during material master load for instance) you can move this record to an internal table and in the processing block when all such errrors have been collected in the internal table then you can download it to your presentation server so you can report it to your business users to fix. This is my preferred method of loading data. Sure it will error out int eh batch session as a valid SAP material number is not provided but then you can never fix it automatically. you will have to process tem in the foreground or in errors mode and this invoves a lot of time and developers intervention. In my way developers intervention is limited. A report is generated and then business will fix the data and the delta loades will have to be loaded.
Here's the sample code :
Material Number
BINS-MATNR ()
RLBES-MATNR = BINS-MATNR.
clear RLBES-MATNR.
select single matnr into RLBES-MATNR from MARA
where BISMT = BINS-MATNR.
IF SY-SUBRC <> 0.
RLBES-matnr = BINS-MATNR.
MOVE-CORRESPONDING BINS TO err_file.
MOVE 'Material not created' TO err_file-error.
APPEND err_file.
WRITE : 'NO MATERIAL'.
skip_record.
endif.
__END_OF_PROCESSING__
FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = error_file_name
TABLES
DATA_TAB = err_file.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
This example used GUI_DOWNLOAD . Ofcourse this is now not recommended so you can use the latest FMs for download.
Thanks,
AM
‎2007 Apr 27 11:40 PM
The reply by you was wonderfull !!
can you please let me know hoe to handle errors when using LSMW - BAPI method?
eg: Am using BAPI_ACC_DOCUMENT_POST to post my accounting doc.How & where to handle error acc documents ?
Provided with some nearer response will be appreciated
‎2007 May 16 7:35 PM
Sonair ,
All BAPIs return the failed records in error tables parameter namely RETURN ,
so you will get all the logs in this table parameter,
Akbar.
sap3aki@yahoo.com