Spend Management Blogs by SAP
Stay current on SAP Ariba for direct and indirect spend, SAP Fieldglass for workforce management, and SAP Concur for travel and expense with blog posts by SAP.
Showing results for 
Search instead for 
Did you mean: 
Former Member

Dear All,

You have recently upgraded the support package or upgraded your SRM systems to higher releases. You have customized offline approvals to work synchronously but after upgrade it stopped working.

You correctly receive a mail in your inbox to approve the workitem. When you click on 'Approve by email' link to approve or 'Reject by email' link to reject workitem, the document is not approved and the status doesn't change. However, when you approve or reject from portal, you do not face any issues and document is approved or rejected correctly.

Check KBA 2072703 - Incoming offline approval emails are not processed and make sure that BADI is adjusted or all the mentioned notes are implemented correctly in your system based on your release.

In case it still fails to work, follow the below steps to troubleshoot and find the root cause.

1. SO50 entry is correctly maintained

2. Mail is correctly received in SOIN transaction

3. Mime settings are correctly done. For this go to

Menu Options: Utilities -> Mime Settings

4. Trace should be turned ON. For this go to

Menu options: Utilities -> Trace Settings

5. Make sure that trace is saved and the exit (as maintained in transaction SO50) is correctly called.

For this,

  • Select the SOIN entry that failed
  • Click on 'Display Trace' icon. If the trace is correctly saved, you should see an entry.
  • Double Click on the entry to check the trace.
  • Entry corresponding to Exit processing should be the same as the one maintained in transaction SO50.

6. Go to transaction SE24, open class /SAPSRM/CL_OFFLINEAPP_INBOUND as maintained in transaction SO50

7. Place breakpoint in method IF_INBOUND_EXIT_BCS~PROCESS_INBOUND of the class

8. Select the entry you want to debug in transaction SOIN. Go to menu options: Send Request -> Send Again.

The debugger should stop at the breakpoint. From here it can be analysed as to why the inbound processing is failing.