Problem solve Get help with specific problems with your technologies, process and projects.

Debugging IDoc processing

I work for a small company that is using SAP (R/3 4.6c) but can't afford to staff SAP support to the extent required. We are currently running into a problem with our SAP-HR to 3rd party payroll provider IDoc where:
1. IDocs are not being generated at all for a small population of employees
2. Benefit plan end dates (for plans that were terminated) are not being passed for another group.

I can't find a common thread for the problems. All the records in SAP are accurate but we don't know enough about how the IDoc works to diagnose why certain records are not being selected.

Any thoughts you could provide would be welcome. Thanks.
Well, the common way to diagnose this is to use the debugger. As you say, there are some IDocs generated, you may easily determine which function is used to generate them. Have a look in the partner profile and take the processing code found in there. Find the function module attached to the processing code from table "TEDE1." Have a break-point in this function and try creating an IDoc from there. Cave! If it does not stop there, the IDoc might be triggered via NAST processing in background or via a background job. In case of NAST, set the message to processing event "1" (NAST-VSZTP) and process the NAST message with ABAP RSNAST00. This will force execution in foreground and ultimately stop in the function module. Now, you may debug from there to see why the IDoc is rejected. If you do not end in the function, another higher level point to put the break-point is in program RSNASTED und routine EDI_PROCESSING (for NAST-NACHA="6") or ALE_PROCESSING (for NAST-NACHA="A"). In case your IDocs are triggered through a job, find the job that does it and execute manually the ABAP that is run by the job.

Dig Deeper on SAP ABAP