Technical Articles
How to add custom generic fields for Ariba SLP to SAP MDG integration with CIG
This article explain how to add custom fields in Ariba SLP integration using CIG. We have came across the requirement to add few localizations fields in Ariba network as part of Ariba implementation. Those will be available in integration payload with name ‘GenericCustomFieldname’. But those are not available in standard interface ‘BusinessPartnerSUITEBulkReplicateRequest_In’ in our MDG S4 system. This will help you out how to enable ‘GenericCustomFieldname’ in Ariba SLP standard interface.
SAP Ariba Cloud Integration Gateway, add-on to be installed on SAP ERP and it enables SAP to communicate with Ariba Network and SAP Ariba solutions through SAP Ariba Cloud Integration Gateway. SAP cloud integration using SAP Ariba Cloud integration Gateway is more popular and efficient for both master data and transaction data integration
SAP Ariba Supplier Management solutions integration with SAP ERP, SAP S/4HANA, or SAP MDG supports extension of the business partner data structure to enable you to use custom fields to address your specific requirements.
Perform the following steps to maintain the data types enhancements to customize the fields for SAP Ariba Supplier Lifecycle and Performance.
Prerequisite:
- Run the transaction code, SPXNGENAPPL. Maintain the namespace for the Master Data Repository.
- Create entry with the Namespace http://ariba.com/xi/SupplierManagement and select Backend Metadata Repository as the Generation Source.
Note: the entry can be maintained in development client. No need to transport across the landscape.
Procedure:
Go to SPROXY transaction code and open the following service interfaces for the namespace http://sap.com/xi/SAP_BS_FND/MDG/Global2 :
-
- BusinessPartnerSUITEBulkReplicateRequest_In
- BusinessPartnerSUITEBulkReplicateRequest_Out
Go to tab, External view:
Choose the following segments to be enhanced. Double-click each of the following ABAP Name to enhance the segment:
Segment Path and Name | ABAP Name |
Input–> BusinessPartnerSUITEReplicateRequestMessage–>BusinessPartner |
MDG_BP_BPSUITERPLCT_REQ_BP |
Input–> BusinessPartnerSUITEReplicateRequestMessage–>BusinessPartner–>Supplier |
MDG_BP_BPSUITERPLCT_REQ_SUPLR |
Input–> BusinessPartnerSUITEReplicateRequestMessage–>BusinessPartner–>BankDetails |
MDG_BP_BPSUITERPLCT_REQ_BK_DET |
Input–> BusinessPartnerSUITEReplicateRequestMessage –>BusinessPartner–>Supplier–>Accounting Information |
MDG_BP_BPSUITERPLRQ_ACCTG_INFO |
Click on ABAP Name (DDIC structure of the proxy structure) on the right side:
Click the Proxy Editor. The Proxy screen appears.
Click Create Enhancement.
The wizard, Enterprise Services: Create Data Type Enhancement appears. Enter a name and description for the enhancement. For example, zenh_ariba_supplier_ext. Change the namespace from http://sap.com/xi/SAP_BS_FND/MDG/Global2 to http://ariba.com/xi/SupplierManagement.
Click Cont. The Transport page appears. Enter a package name for your customization in the Package field. Enter a prefix value starting with Z* or Y* in the Prefix field.
Click Cont. Click Complete to finish the wizard.
Choose External view in Data Type Enhancement screen. Right-click on the name you newly created for the enhancement. Click Add Element to add an element with the name GenericCustomField. Edit the value in Max. Occurs for the GenericCustomField from 1 to Unbounded.
Right-click on the value, GenericCustomField and choose Select Existing global type available under Set Global Type Reference. The Restrict Value Range window appears.
Choose the ABAP Type, TABL and the ABAP Name ARBCIG_GENERIC_CUSTOM_FIELD. Click OK.
Choose the field, ARBCIG_GENERIC_CUSTOM_FIELD from the list. Again Right-click on the name you newly created for the enhancement.
Choose the field, ARBCIG_GENERIC_CUSTOM_FIELD from the list. Again Right-click on the name you newly created for the enhancement.
Click Add Attribute to add an element with thename genericCustomFieldListCompleteTransmissionIndicator.
Right-click on the value, genericCustomFieldListCompleteTransmissionIndicator and choose Select Existing global type available under Set Global Type Reference. The Restrict Value Range window appears.
Choose the ABAP Type, DTEL and the ABAP Name, ARBCIG_OPTIONAL_INDICAT.
Click OK. The field, ARBCIG_OPTIONAL_INDICAT appears in the list. Save the changes. Activate the data type enhancement.
BADI Activation:
Enhancement Spot: MDG_SE_SPOT_BPBUPA
Inbound Data processing: This can be used to process the data sent in the RequestIn in the IN parameter and fill in the necessary data in the OUT Parameter
BAdI Definition: MDG_SE_BP_BULK_REPLRQ_IN
Interface: IF_MDG_SE_BP_BULK_REPLRQ_IN
Outbound Data processing: This can be used to process the data which needs to be sent in the RequestOut in the IN parameter and fill in the necessary data in the OUT Parameter
BAdI Definition: MDG_SE_BP_BULK_REPLRQ_OUT
Interface: IF_MDG_SE_BP_BULK_REPLRQ_OUT
Reference:
https://help.sap.com
Conclusion:
Here I have explained steps to How to customize the fields for SAP Ariba SLP without middleware. Please feel free to contact in case of any queries and clarifications as well feedback.
Thanks,
Soujanya
Hi Soujanya,
Thank you for this blog post!
I mananged to enhance the standard structure and view the same but still not able to read the custom generic fields available in the XML file of the IN parameter BAdI Definition: MDG_SE_BP_BULK_REPLRQ_IN ?
I'm missing something, or does Ariba SLP team need to re-genreate or something.
Cheers,
Varun Sahu
Hi Varun,
Thanks for your comments.
The issue could be from Ariba mapping in CIG. Please check with Ariba and CIG team.
If proper mapping in done in CIG, you can see the custom fields in input XML file.
Regards,
Soujanya
Hi,
yes I’m able to view those custom generic fields in XML file but not in the IN parameter of the BADI.
is there something that needs to be done once we enhance the standard service?
cheers,
Varun
Hi Varun,
can you check prerequisite steps:
Regards,
Soujanya
Yes, pre-requisite were also completed!
Hi All,
I was able to resolve it by implementing the note - 2824730 - The report to pull suppliers from SAP Ariba Supplier Lifecycle and Performance failed. With this we don't have to extend the structures manually and please note if you have exteded manually and are planning to implement the note, make sure to delete the enhancements first else you will get short dumps.
Cheers,
Varun Sahu
Hey Varun,
Good to know that you resolve the issue. You shared good information. Thank you.
Cheers,
Soujanya
Thanks a lot for the detailed information @Soujanya Puli!
Do you know how can we deactivate or delete the enhancement?
I created one with some custom fields but after a successfull activation I added a new attribute and now is inconsistent with several errors. I'd like to delete it and create it again.
Thanks again!
Regards,
Marcelo