Skip to Content
Technical Articles
Author's profile photo Soujanya Puli

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:

  1. Run the transaction code, SPXNGENAPPL. Maintain the namespace for the Master Data Repository.
  2. 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 TypeTABL 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 TypeDTEL and the ABAP NameARBCIG_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

Assigned Tags

      8 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Varun Sahu
      Varun Sahu

      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

      Author's profile photo Soujanya Puli
      Soujanya Puli
      Blog Post Author

      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

       

       

      Author's profile photo Varun Sahu
      Varun Sahu

      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

      Author's profile photo Soujanya Puli
      Soujanya Puli
      Blog Post Author

      Hi Varun,

      can you check prerequisite steps:

      1. Run the transaction code, SPXNGENAPPL. Maintain the namespace for the Master Data Repository.
      2. Create entry with the Namespace http://ariba.com/xi/SupplierManagement and select Backend Metadata Repository as the Generation Source.

       

      Regards,

      Soujanya

      Author's profile photo Varun Sahu
      Varun Sahu

      Yes, pre-requisite were also completed!

      Author's profile photo Varun Sahu
      Varun Sahu

      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

      Author's profile photo Soujanya Puli
      Soujanya Puli
      Blog Post Author

      Hey Varun,

       

      Good to know that you resolve the issue. You shared good information. Thank you.

       

      Cheers,

      Soujanya

      Author's profile photo Marcelo Garcia Bernardo
      Marcelo Garcia Bernardo

      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