In this blog, I will go through the steps necessary to connect a SAP Master Data Integration service instance with a SAP S/4HANA On-premise system. These steps can be applied to connect other cloud systems.
I. Data Replication Framework Customising
In the S/4HANA, the Data Replication Framework is used to invoke theSOAP services.You can follow the steps mentioned here to maintain this customising.
It is important that “Business system” value, that is used in DRF customising should be the same as MDI Business System Generic Configuration.
You can retrieve the MDI Business System Configuration via a GET call on this URL.(Use oAuth credentials of your MDI tenant)
II. Retrieving the WSDL required for the setup
Execute transaction sproxy in SAP S/4HANA system and download the WSDL files for the below interfaces.
BusinessPartnerSUITEBulkReplicateRequest_Out BusinessPartnerSUITEBulkReplicateConfirmation_Out BusinessPartnerRelationshipSUITEBulkReplicateRequest_Out BusinessPartnerRelationshipSUITEBulkReplicateConfirmation_Out
KeyMappingBulkReplicateRequest_Out
KeyMappingBulkReplicateConfirmation_Out
(Note: SAP colleagues can download the WSDL from my onedrive. The WSDL’s are already altered. You will however need to change the URL. See next step)
III. Altering the WSDL files with MDI Endpoints
Add the following elements at the end of each of the WSDL Files before the </wsdl:definitions> tag. It is important to note that the below XML element contains a sample MDI Endpoint. You would have to replace this with your MDI details for all of them.
Eg. For BP, replace
https://one-mds.cfapps.sap.hana.ondemand.com/businesspartner/v0/soap/BusinessPartnerRelationshipBulkReplicateRequestConfirmIn?tenantId=mdibpconsumer1
with your MDI tenant endpoint.
a. BusinessPartnerSUITEBulkReplicateRequest_Out
<wsdl:binding name="CO_MDG_BP_RPLCTRQ" type="tns:BusinessPartnerSUITEBulkReplicateRequest_Out"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="BusinessPartnerSUITEBulkReplicateRequest_Out"> <soap:operation soapAction=""/> <wsdl:input name="BusinessPartnerSUITEBulkReplicateRequest"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="BusinessPartnerSUITEBulkReplicateRequestOut"> <wsdl:port name="MDI_PORT" binding="tns:CO_MDG_BP_RPLCTRQ"> <soap:address location="https://one-mds.cfapps.sap.hana.ondemand.com:443/businesspartner/v0/soap/BusinessPartnerBulkReplicateRequestIn?tenantId=mdibpconsumer1"/></wsdl:port> </wsdl:service>
b. BusinessPartnerSUITEBulkReplicateConfirmation_Out
<wsdl:binding name="CO_MDG_BP_RPLCTCO" type="tns:BusinessPartnerSUITEBulkReplicateConfirmation_Out"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="BusinessPartnerSUITEBulkReplicateConfirmation_Out"> <soap:operation soapAction=""/> <wsdl:input name="BusinessPartnerSUITEBulkReplicateConfirmation"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="BusinessPartnerSUITEBulkReplicateConfirmationOut"> <wsdl:port name="MDI_PORT" binding="tns:CO_MDG_BP_RPLCTCO"> <soap:address location="https://one-mds.cfapps.sap.hana.ondemand.com:443/businesspartner/v0/soap/BusinessPartnerBulkReplicateRequestConfIn?tenantId=mdibpconsumer1"/></wsdl:port> </wsdl:service>
c. BusinessPartnerRelationshipSUITEBulkReplicateRequest_Out
<wsdl:binding name="CO_MDG_BP_RELATIONSHIP_OUT" type="tns:BusinessPartnerRelationshipSUITEBulkReplicateRequest_Out"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="BusinessPartnerRelationshipSUITEBulkReplicateRequest_Out"> <soap:operation soapAction=""/> <wsdl:input name="BusinessPartnerRelationshipSUITEBulkReplicateRequest"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="BusinessPartnerRelationshipSUITEBulkReplicateRequestOut"> <wsdl:port name="MDI_PORT" binding="tns:CO_MDG_BP_RELATIONSHIP_OUT"> <soap:address location="https://one-mds.cfapps.sap.hana.ondemand.com:443/businesspartner/v0/soap/BusinessPartnerRelationshipBulkReplicateRequestIn?tenantId=mdibpconsumer1"/></wsdl:port> </wsdl:service>
d. BusinessPartnerRelationshipSUITEBulkReplicateConfirmation_Out
<wsdl:binding name="CO_MDG_BP_RELATIONSHIP_CNF_OUT" type="tns:BusinessPartnerRelationshipSUITEBulkReplicateConfirmation_Out"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="BusinessPartnerRelationshipSUITEBulkReplicateConfirmation_Out"> <soap:operation soapAction=""/> <wsdl:input name="BusinessPartnerRelationshipSUITEBulkReplicateConfirmation"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="BusinessPartnerRelationshipSUITEBulkReplicateConfirmationOut"> <wsdl:port name="MDI_PORT" binding="tns:CO_MDG_BP_RELATIONSHIP_CNF_OUT"> <soap:address location="https://one-mds.cfapps.sap.hana.ondemand.com:443/businesspartner/v0/soap/BusinessPartnerRelationshipBulkReplicateRequestConfirmIn?tenantId=mdibpconsumer1"/></wsdl:port> </wsdl:service>
e. KeyMappingBulkReplicateRequest_Out
<wsdl:binding name="CO_KEY_MAP_RPLCTRQ" type="tns:KeyMappingBulkReplicateRequest_Out"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="KeyMappingBulkReplicateRequest_Out"> <soap:operation soapAction=""/> <wsdl:input name="KeyMappingBulkReplicateRequest"> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding> <wsdl:service name="KeyMappingBulkReplicateRequestOut"> <wsdl:port name="MDI_PORT" binding="tns:CO_KEY_MAP_RPLCTRQ"> <soap:address location="https://one-mds.cfapps.sap.hana.ondemand.com:443/businesspartner/v0/soap/KeyMappingBulkReplicateRequestIn?tenantId=mdibpconsumer1"/></wsdl:port> </wsdl:service>
f. KeyMappingBulkReplicateConfirmation_Out
<wsdl:binding name="CO_KEY_MAP_RPLCTCO type=" tns:KeyMappingBulkReplicateConfirmation_Out"="tns:KeyMappingBulkReplicateConfirmation_Out""> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="KeyMappingBulkReplicateConfirmation_Out"> <soap:operation