Wednesday, January 25, 2017

Deleting error stack of DTP via ABAP

Error stack of DTP is function that is very useful in scenarios where data is not coming in proper format. While using it erroneous records are filtered out and only those which are correct are uploaded into data target. Later on BW administrator can correct the erroneous records and upload it too.


Below there is the error stack req ID 2.115.361 as depicted in DTP’s maintenance screen:


Now imagine that this error stack req is snot needed any more. We can also see it via ABAP report RSB_ANALYZE_ERRORLOG. The report provides a list of all available error stacks request in the system while analyzing contents of error tables:


To delete the error stack data of particular request we can use ABAP report: RSBM_ERRORLOG_DELETE while specifying particular DTP’s ID and ticking off “Delete Log” check box:


This is how output of RSBM_ERRORLOG_DELETE report looks like. After that the error stack req is not visible from RSB_ANALYZE_ERRORLOG either in t-code RSA1.


More information:
1095924 - Correction: Deletion/analyis report for error handling logs











2 comments:

Unknown said...

Hi Martin,

Please continue posting documents on HANA/BW and its very useful for consultants.

Thanks in Advance.

Regards,
SAP BW/HANA-Consultant

Anonymous said...

To delete data from B table may be necessary too using RSBK_ERRORSTACK_LIST_AND_DEL

NOTE 2004472

RSB_ANALYZE_ERRORLOG
This report analyzes the error log. It outputs the DTPs that contain the records in the error log, along with the corresponding requests and number of records. You read a line of the output. It tells you that a DTP has a certain number of requests that logged messages for data records of which a certain number were not posted to the target. This means the following:

If a few requests have logged a large number of messages, their sources deliver poor quality or you load large requests.
If a large number of messages have been logged for a few data records, the transformation is garrulous.
If messages exist for a large number of data records but only a few were not posted to the target, either the request is completely terminated or messages are logged that nobody reads.

RSBM_ERRORLOG_DELETE
This report lets you delete old entries from the error log for each DTP. These are the logs and messages that are logged when the records are filtered out. This does NOT involve the actual error records in the error stack (PSA), but instead only the messages indicating the reason why the records were filtered out as having errors and written to the error stack.

RSBK_DELETE_FROM_ERRORSTACK
This report lets you delete the error records for a specific message from the error stack (PSA table of the error handler).
You have to do this if the update task repeatedly filters out records with a constant error message, but these records are NEVER required.
Examples include warnings during the archiving overlap check and so on.
You can then use this report to delete these records from the PSA of the error stack, which means these records no longer have to be updated (which they should not be) and no longer take up any DB space.

RSBK_ERRORSTACK_LIST_AND_DEL
This report lets you delete all the error records from the PSA of the error stack for which no error log entries exist any longer for DTPs or the targets of the DTPs.
Therefore, if you use the above report RSBM_ERRORLOG_DELETE to delete the log (the logs for the error records) first, you can then run this report to delete the corresponding error records as well.
Note: You must be sure that you do NOT need these filtered out error records any more.