SAP SRM PunchOut: How To Transfer of additional parameters ? For some kind of Catalogue, you need to transfer additional parameters between the Catalog and SAP SRM.
In order to illustrate the business requirement, let’s take the case of Transfer extra data for dangerous product to identify the requester in order ton identify the risk and the law’s appliance.
What SAP SRM PunchOut ?
SAP Open Catalog Interface (OCI)
First at all with, we start with a short definition of Open Catalog Interface:
“The Open Catalog Interface (OCI) incorporates external product catalogs into SRM Server applications. This way, data that is required in order to create shopping cart items in the SRM Server can be transferred directly from the external catalog to the SRM Server application. The interface uses the transfer mechanisms of Hyper Text Transfer Protocol (HTTP).”
This is the official definition. Check also the source in the end of this article for detail about the OCI convetion.
What is a PunchOut Catalog?
“A PunchOut Catalog, more accurately called a PunchOut Website, is a method for a corporate purchasing agent to buy from a supplier’s website from within the buyer’s own procurement application or hosted eprocurement system.
A PunchOut website is a standard ecommerce website with the special ability to communicate directly with a procurement system through cXML and return a pending purchase order back to the buyer so they don’t need to enter product information in the procurement system.”
This is the best answer and the most simple to define Punch Out Catalog.
Source: What is a PunchOut Catalog?
Common SAP SRM PunchOut catalog Parameters
The most used Punchout Catalog used are:
- URL of the Product Catalog
- HOOK_URL: Return URL ( The name of the return URL must be specified only if the catalog expects a different name for the return URL than HOOK_URL)
- login : the user name to connect to the PunchOut Catalog
- password: the password to make connection to Punch Out
- OCI_VERSION: the Open Catalog Interface Standard Version (3.0 , 4.0 )
How To Transfer of additional parameters to Catalog ?
If the fixed values and the generic parameter values are not sufficient for the chosen process, you can also implement the Business Add-In (BadI). In fact, the BADI Transfer Additional Parameters (BBP_CAT_CALL_ENRICH) to transfer additional parameters from the SRM Server System to the catalog.
In this BAdI, you can determine multiple name-value pairs transfered to the catalog.
Also, if the format of generic parameters is to be changed (for example, if the system language is to be transferred in a different format: DEde instead of simply DE), you can use this BAdI to convert these parameters.
Sample for Punch Out Extra Parameter
Here an example of use for PunchOut in order to use Additional Parameters:
As an example of how this data used by the catalog, see the ASP page (ASP = Active Server Pages) stored in the SRM Server System in the Internet Service BBP_FREEFORM in the file freeform.zip.
When you open all the data in an executable directory on an ASP-compatible Web server, you can use this page as a catalog application for ordering business cards. All the form fields automatically have the default values that have previously been transferred by the BAdI implementation.
Therefore, the user need only check the accuracy of the entries. This ASP page can, of course, only serve as a template.
Hence the example shows the most of all available options on a project basis with a catalog and the implementation of the BAdI Transfer Additional Parameters (BBP_CAT_CALL_ENRICH).
The BADI to use is BBP_CAT_CALL_ENRICH: BAdI for Transfer of Additional Parameters to Web Service.
The method to use is CAT_CALL_ENRICH : Method for Transfer of Additional Data to Web Service. Therefore the signature of the method is:
- IS_CAT_ENTITY : Definiton of Allowed Catalogs
- CT_POST_VALUES : ALE/Web (ITS) Context – Format
Read more on SAP Open Catalog Interface (OCI) Specification