For integrating SRM to PI SAP provides standard content that can be downloaded from the service market place. SAP XI content is one of the best features provided by SAP for integrating two different systems and exchange data between them using ESOA methodology.ESOA methodology exchanges message using proxies from ABAP back end. By using standard content we can integrate SAP ERP with other like SAP SRM, CRM, and SCM etc.There is a lot of predefined content already available that can be reused and which helps customers to save time and effort in their integration development projects. A typical use case is that customers use data types, service interfaces, and mappings provided by SAP, so no need to develop ESR content. For standard implementations like SAP ERP to SAP SRM predefined content works perfect for development projects. As it has all the relevant ESR content required.
Business Scenario is to integrate SAP SRM system with web-service to exchange Purchase order data through PI using ESOA methodology. Scenario will be XI-SOAP Asynchronous. Integration using SAP PI uses standard ABAP Run time of PI for message processing. See below diagram for the sample Interface flow of standard Interface Implementation. Here application servers could change depending on the Implementation Project.
SAP SRM 7.0
- Proxy Configurations are in place.
- SLD Bridge is active and running in RZ70.
- Import relevant IR content from Service Market Place.
- Functional configuration relevant for business functionality.
SAP PI 7.11
- Latest CR is available in SLD SAP_CR 6.6 version.
- Technical System for SAP ERP and SAP SRM got created using SLD Bridge.
- Created Business Systems for the corresponding client for both Application systems.
- Import the IR content relevant for both Application Systems in to ESR.
Systems involved in this integration are SAP SRM 7.0 and SAP PI 7.1 EHP 1.SAP Integration Content has to be imported from Service Market Place, let us see, available Integration Content for respective systems involved in our integration in Service Market Place.
SAP SRM 7.0
- Go to SAP Support portal–> Software Download–>Support Packages and Patches–> Entry by Application Group
B.Go to SAP Application Components à SAP SRM
C. Go to SAP SRM 7.0
D. Go to Entry by Component –>XI Content–>SRM Server 7.0–>Database Independent.
Check the latest available zip and download.
Similarly download XI Content SRM Server IC 7.0
We need to import the integration content to ESR as follows
- After downloading the Integration content, we should extract and place the file in the respective path for importing “<systemDir>\xi\repository_server\import“.
- After you start the Integration Builder, follow the menu path “Tools -> Import design objects…” to import the XI Content.
- After a successful import, the Integration Builder moves the imported tpz files into the directory “<systemDir>/xi/repository_server/importedFiles“. The Support Package level of imported software component versions is available in the Integration Builder on the “Details” tab for the relevant software component version. This information is important for support if an error occurs.
- After successful import, XI content will be visible under your “Software Component” in the SLD.
Configurations at Sender system [SRM]
1. The business systems should be based on SAP Web AS 6.20 and above
2. The business systems and your central Integration Server are maintained in the System Landscape Directory (SLD).
Use T Code SM59 to create RFC Destination in SRM to connect to PI (PID) system.
Connection between Business System and System Landscape Directory (SRM System) (Transaction SM59)
RFC Destination: LCRSAPRFC
RFC Destination: SAPSLDAPI
Configuration Business System as Local Integration Engine (SRM System) (Transaction SXMB_ADM)
- Run Transaction code SXMB_ADM
- Go to Integration Engine Configuration -> Choose Edit
- Select Role of Business System: Application system
- Corresponding integration server: http://<host>:<port>/sap/xi/engine?type=entry
Now click on button specific configuration and assign category as RUNTIME, Parameters as IS_URL and Current Value: http://<host>:<port>/sap/xi/engine?type=entry
Maintaining the SAP J2EE Connection parameters for LCRSAPRFC and SAPSLDAPI in SAP J2EE Engine (Transaction SM59)
- Go to J2EE Engine and choose Cluster –> Server –> Services. JCo RFC provider
- Under RFC destination specify the following:
Program ID: LCRSAPRFC_DX1, Gateway Host (This is your Integration Server host)
Gateway Service and Number of process: 3
- Under Repository specify your Integration Server host as your application server and Choose Set.
- Finally, Maintain SLD access details in Transaction SLDAPICUST
Configurations in PI
RFC Destination in PI
- SM59 –> ABAP connections –> type 3 connections –> Provide SRM system details
Login to PI Server -> T-code: SXMB_IFR
System Landscape Directory [SLD]
For the standard implementation we need to import latest Content Repository SAP_CR in to SAP PI’s SLD. Logic here is, latest CR contains relevant the Products and Software components for the Technical Systems (Application System SRM).
After post installation steps we could see in SLD, Data tab is containing Content Repository version as SAP_CR 3.0 or 4.0.This CR need to be updated to the latest available level. Refer: SAP Note: 669669 Updating the SAP Component Repository in the SLD.pdf
In SLD we should define the business system for SRM and the web-service. Click on System landscape directory option which is showing in the above screen, it will take you to the below screen.
Click on the business system and click new business system, provide the SRM system details and select the business system type as “ABAP”. XXXCLNT110 is the business system created for SRM system. Since we don’t have enough details to create the business system for Grainger we are directly creating business component in integration directory. Assume all the necessary configurations are completed.
Configuration in Enterprise service repository
In Enterprise Services Repository we need to import the IR content that we have imported in section 5.1. Generally we will be importing Software component and versions for custom development. But for standard implementation we will import the IR content to ESR directly. Let us see how to import IR content.
Fig: import design objects
Fig: import from client or server
If we got IR content imported in to our desktop then select Client, if we got on to the server location then select Server. Unzip the IR .ZIP file you can see .TPZ file. Import all .TPZ files in to ESR.
Fig: ESR Content Import
After importing IR content your ESR should look as follows:
As a developer we don’t need to create any mappings for Interfaces, as SAP has provided extensive pre-delivered IR content, which has similar global data types at both application system ends. But in our case we are not using the SAP system on target side [Web-service]. So we have to define the data type / external definition/ service interface / message mapping / operation mapping. Go to the service interface namespace where purchase order request message type is defined.
Target system is a web-service we should import the WSDL[Message structure] file in PI. since client didn’t provide the WSDL the other options available are we should generate the wsdl from pi or convert the target structure into XSD and import as external definition in SAP PI.Select the external definition and right click to import the XSD.
Purchase order request is the standard message type defined by SAP
1) Outbound Asynchronous referring to the source message type.
2) Inbound Asynchronous referring to the target message type.
Sender service interface [SRM]
Receiver Service Interface [Web-service]
Create message mapping to map the source and target fields and apply the mapping conversions.
Right click on name space and click new–> Mapping objects–> Message mapping
Give the name for message mapping and provide the name space and S/W component version.
Drag and drop the source and target message types in the respective fields.
Do the required mapping between source and target fields
Give the sender and receiver service interface details along with message mapping.