Using Inbound Enterprise Service for BP Change Request Creation in MDG
Seems like there is no direct way out there which mentions about the various bells and whistles associated with using an enterprise service in MDG, especially if there is no PI involved.
It is a bit of a challenge to get the service working as expected, but like everything else, once it does work, it does its job beautifully.
A few points below may help many folks out there when trying to setup any inbound web service for MDG change request creation.
Let me take the example of the business partner creation in MDG. No PI is involved. The requirement is to create MDG BPs through an external system call. There is a middleware which acts like a bridge between the external system and the SAP system. This middleware will ensure the call is made correctly, the data is passed to the fields correctly, the authentication happens correctly and finally the WS RM protocol is setup and utilized correctly.
Identify the right service:
SE80–> Package –> MDG_BS_BP_XI_PROXY –>Service Providers–>BusinessPartnerSUITEBulkReplicateRequest_In
Setup the service definition/binding in SOAMANAGER for this service
Provide the endpoint as well as the WSDL Details to the third party system
Ensure the bgRFC is setup correctly in the ECC system using the transaction SBGRFCCONF
If a change request other than the one configured for the UPLOAD activity has to be used, implement the BADI MDG_SE_BP_BULK_REPLRQ_IN and specify the change request type to be used.
Setup the global code lists of the system specific code lists for any fields requiring value mapping.
Test the service using the Test Service Provider option available within the package (in se80) and provide a sample payload.
If all the setup has been done correctly, the MDG change requests can be seen getting created.
The error messages returned in the service are pretty extensive and provide good information on where the issue is.
Usually the key problems arise because of the inconsistent formatting of the payload, absence of proper value mapping, incorrect attributes being passed etc.
Ensure that the SMT mapping is validated for BPBUPA_RPLRQ_BSFND_IN and BPBUPA_RPLRQ_ECC_CU_IN as these are the key for the customer inbound mappings. The field mappings are straightforward, however the complex transformations can be tricky, especially if some fields are not mandatory.
During the actual inbound processing that is triggered from an external system, make sure the messages are monitored using the tool SRT_UTIL as the WSRM based messaging will not return back the details of the errors.
Hope this helps folks to get a head start on the inbound service setup!