The purpose of this document is to show how ESOA works on SRM and how to debug the XML transfer between systems.
From SRM 7.0 on we have the possibility to transfer documents to ECC using ESOA. This leads to some configurations and requirements that we also will see in this document.
WHAT IS ESOA?
First to explain what is ESOA we need to clarify the SOA (Service Oriented Architecture) concept.
- SOA is an idea of creating composite applications based on reusable building blocks using open standards like Web Services, WSDL, SOAP, UDDI. Any system that provides web services (which are self-contained and self-describing) can be termed as SOA enabled. The provider of the service registers the service over UDDI in the form of WSDL. The consumer searches the UDDI for the desired service and invokes it. There can be multiple web services (from multiple providers) for the same application (eg. purchase order creation).
- ESOA (former ESA - Enterprise Service Architecture) is SAP's own version of SOA (more specialized version of SOA). SAP calls the services developed over the Business Process Platform and Enterprise Services. The enterprise services are different that web services in the sense that there will only one generic service (registered at UDDI) for one application. Enterprise Services are web services with business value and are reusable parts of business processes. Enterprise Services Repository - part of SAP NetWeaver is central point of ESOA and starting point for creating applications.
ESOA x SRM X ECC
On SRM7.0 with ECC 6.0 EHP4 on the ESOA is used into the scenarios.
Backend system ECC 6.0 EHP4 type ERP_4.0 is using adaptor /SAPSRM/CL_SOA_ADPT_PO_CRT_ERP (class interface)
To use SRM 7.0 with ECC 6.0 EHP4 functionalities it is mandatory to use the XI/PI. In this scenario, you will need to configure PI/XI.
- If you use SRM 7.0 and don't want to use XI/PI you will not be able to use ESOA and the new functionalities of EHP4. If you do not require service hierarchy for example ( one of the new functionalities), you may try to configure the system using backend system ERP_3.0 (that use RFC and will not call XI/PI)
- As of SRM701 and ERP6 EHP5 (only for EHP5 and higher) customer can use PI independent Enterprise services without need for PI system.
ESOA ERROR HANDLING
* In case of error, sender receives direct response.
- Information of error and its reason - Fault data type
- Fault Message Types designed for application --specific errors can be created explicitly for message interfaces in XI Integration Repository
- In the synchronous case, when an application-specific error occurs on the inbound side, instead of sending a response message back to the sender, the application can send a fault message to handle the error.
Error processing in Asynchronous communication on the Receiver side
- Temporary error - locking errors or missing customizing, the error will disappear after re-processing the inbound call (triggered by the FEH).
- An inbound message cannot be processed automatically, but a manual interaction is needed (e.g. special authorizations necessary). In this case the error can be resolved by manually processing the message request on the receiver side, e.g. posting a financial document manually by an accountant.
- Error can only be resolved by involving the sender of the message. In this case, a business user in the receiver will contact the sender (manually or automatically) and clarify together how to resolve this issue. The sending of a cancellation of the message might be the result.
- In order to support the business user with the error resolution SAP provides the Forward Error Handling tool.
Error Handling via FEH
- FEH (Forward Error Handling) tool is a framework containing supporting features like error persistency, monitor capabilities, derivation and triggering of resolution strategies, message editing.
- /n/SAPPO/PPO2 transaction (find error type and BO. If you get an error on this transaction 99% can be a configuration issue at FEH)
- /SAPPO/RESUBMIT transaction - resubmission of post processing orders (FEH REJECT and FEH RETRY) - Background Job PPO (FEH) RESUBMIT ENT. SERVICES
- Activate FEH in SPRO (FEHV_ACTIVE in sm30) and entry in a table via the transaction /n/SAPPO/LOGSYS, where the logical system must be assigned to the software component (ex CA-SOA-ESM-SRM-PUR)
Some ESOA SRM Interfaces
Service Procurement Services
Central Contract Management Services
For troubleshooting SOA Services - refer SAP Note 1270081
DEBUGGING HINTS ON XML
-> SXI_MONITOR (find XML messages)
-> SE38 -> /SAPSRM/PUR_SELECT_MESSAGES ( use this report to see specific documents at SRM. This is similar to SXI_monitor but advantage of put SRM document numbers)
1. At SXI_MONITOR you see the XML that you want to debug
2. At Sproxy you will open the Interface:
3. Inside the class put a BP:
4. Then you copy the XML message (PAYLOAD):
Take off the first line of the payload XML
Also change the action code = 1 (is create document ) to = 2 (is changedocument).
5. Execute the interface:
6.Paste the XML code and execute it:
7.The debug will start and you can go to the interface:
8. Now you should put the BPs that are relevant to your analysis. I.e. if the XML is not transferring the vendor, put a BP on the concerning FM or class for vendor determination.
SAP Note: 1270081 - Trouble shooting SOA Services
SAP Note: 817920 - XI Readiness Check 3.0/7.0, 7.1, 7.3
SAP Note: 1286936 - PI configuration for SRM additional information