How to – Sales Order Simulation from C4C to ECC using HCI
This blog provides details on the required configuration, to be carried out in different systems in integration landscape, to make sales order simulate function working in C4C.
The scenario described here uses HCI as middleware, C4C acts as the source system and ECC is the target system. An assumption is made that connectivity between these different system is already up and working.
Cloud for Customer (C4C) configuration –
- Business Configuration
- Do you want to create follow-up documents for sales quotes
- Do you want to use an external application to determine prices
- Fine Tuning
- Sales Order -> Maintain Document Types
- In case you do not want to use the standard document type OR, you can create new document types here.
- External Pricing -> External Pricing Procedure
- This is the setting where the pricing procedure used in ECC will be configured. You can create an entry with same ID as in ECC.
- For each pricing procedure, pricing steps can also be maintained in this setting. These pricing steps hold the intermediate calculated figures.
- To check which pricing procedure is in use in ECC, go to IMG -> Sales & Distribution -> Basic Functions -> Pricing -> Pricing Control -> Define and Assign Pricing Procedure
- > External Pricing -> External Condition Types
- This is the setting where you will configure pricing conditions of ECC which you expect to capture in C4C. You can use the same IDs as in ECC.
- Code List Mapping
- Pricing Procedure
- Local Data Type Name = ExternalSalesPricingProcedureCode
- Condition Types
- Local Data Type Name = ExternalSalesPriceSpecificationElementTypeCode
- Local Data Type Name = DivisionCode
- Distribution Channel
- Local Data Type Name = DistributionChannelCode
- Business Transaction Documents
- Local Data Type Name = BusinessTransactionDocumentProcessingTypeCode
- In case you are using a customized sales order document type, then map it with the ECC code.
- Pricing Procedure
- Sales Order -> Maintain Document Types
- Communication Arrangement (CA)
- Sales order simulate uses the communication arrangement “Sales Quote with Pricing in an External System”.
- Check that the service URL path of the service in above CA should be /cxf/COD/ERP/CUSTOMERQUOTEREQUESTEXTERNALSALESDOCUMENTDATAOUT. You can check the IntegrationFlows excel in Service Market Place to get the latest service url for this service.
- ID Mapping
- As sales order is dependent on sales area therefore ID mapping for sales area fields will be required.
- Usually the ECC consultants at customer’s end should be aware which all sales areas are required for mapping, however you can check the sales area of the customer and product for which you are trying to simulate the sales order.
- Customer Sales Area – Go to transaction XD03 and follow Extras -> Sales Areas -> Sales Areas by Customer
- Product Sales Area – Go to transaction MM03 and select views Basic Data 1 + Basic Data 2 + Sales:Sales Org. Data 1 & Sales:Sales Org. Data 2. Provide Plant, Sales Org and Distribution Channel to view the details
- A Sales Area is a combination of Sales Org, Distribution Channel and Division. Out of these, only the Sales Org will be having ID mapping. Distribution Channel and Division will be mapped in code list mapping as explained above.
- Web Service Configuration
- Sales order simulate from C4C calls a web service on ECC in synchronous manner. To achieve this, C4C has provided a web service which needs to be configured.
- Go to SOAMANAGER in your ECC system, go for Service Administration -> Simplified Web Service Configuration.
- Search for COD_SALESORDER_SIMULATE & configure it providing the authentication details etc.
- Click on “Show Details” button to get the access url as this needs to be put into HCI iflow configuration. Sample access url looks like https://<ECC_URL>:<port>/sap/bc/srt/scs/sap/cod_sales_order_simulate?sap-client=>ECC_CLIENT>
- Note – the access url of this service points to /sap/bc/srt/scs….. however in SICF transaction this service will be found under /sap/bc/srt/pm.
- Web service user authorization
- Most probably you would be using the ECC integration user (i.e. CODINTEG) for this web service call from HCI. In this case, this user should have authorization to this web service in his roles.
- Go to the role assigned to your communication user. This role can be opened in transaction S000.
- Go to Authorizations tab and click on “Display Authorization Data”.
- Search for S_SERVICE object and check if this role has the required web service added already. If not then please add it. Below screenshot highlights the line where this web service should be added.
- Sales order simulate uses “Request External Data from SAP Business Suite” which has the eclipse project name “com.sap.scenarios.cod2erp.querysalesquotepricing.request”.
- Configure the iflow similar to others. Provide the access url of the ECC web service in the receiver configuration of the iflow.
With the above settings, you should be able to trigger sales order simulation and should also get the results back from ECC system. However, in case you get issues, you need to resolve those. Some resolution techniques in ECC are provided below.
SRTUTIL – To check if sales order simulate request is coming to ECC
As this is a synchronous call, therefore by default no trace is stored. You need to enable trace for the communication user in ECC system under transaction SRTUTIL. You can activate the payload trace in this transaction. This will provide you the payload getting received at ECC. If the web service sends any response, then that response should also be visible in the trace. Looking at the payload and response, you can try to resolve the issue.
SRTUTIL – virtual interface error
This is a temporary error and could be resolved following note 1847901 & 2094208.
SRTUTIL – ECC web service only shows request but no response
If in your above trace, you do not see any response back from web service, you may think to debug the service. The function module is COD_SALESORDER_SIMULATE. You can execute and debug it by providing the same data which you have received in the request payload of this web service from C4C.