Skip to Content
Author's profile photo Former Member

Call OCI Catalogs from Web Dynpro ABAP in ECC

Process Flow



Run WDA Application and Call OCI Catalog to add Materials


User Access External Vendor Catalog


User Procure the materials and Submit the form


All the items are populated in Underlying Business Process Application


User Validates the material Item


User Submit’s the Business Application in ECC.


Business Objective

Web Dynpro ABAP based Business application should be capable of calling an external product catalog.


  • Vendor supplied external product catalog should be launched from WDA application
  • Transfer selected materials from product catalog to WDA Application.
  • Configure WDA Application into Netweaver Portal and run the above scenario.


Data required to create Business application items, can be directly transferred from the external catalog to the WDA application.

OCI Catalog / External Vendor Catalog

  • Open Catalog Interface (OCI) is the standard format used by SAP Supplier Relationship Management when connecting to external punch-out catalogs.
  • The OCI format is used to define the field mapping between the supplier’s catalog and the SAP SRM shopping cart, to ensure that the data is transferred accurately and completely between source and receiver. This standard is used instead of XML or cXML.

How can we Implement OCI using Web Dynpro ABAP in ECC 6.0 ?


Create a Z structure for OCI Catalog Return Items using include- WSI_OCI_ITEM_S.

This Structure will be used to handle returnedMaterials from OCI Catalog


Create a Web Dynpro Component, eg. ZWDA1.

Create a View, eg VW_ZWDA1.


Create a Node ND_MATERIAL to handle Materials from OCI Catalog in View VW_ZWDA1.


Create a table in view VW_ZWDA1 and bind it to node ND_MATERIAL.

Create a Button BTN_CAT to launch OCI Catalog.

Create a Outbound plug OUT_WN_ZWDA1.

Call the outbound plug OUT_WN_ZWDA1 from BTN_CAT.


Create a Window WN_ZWDA1 and embed the view VW_ZWDA1.

Create an inbound plug IN_VW_ZWDA1.

Create navigation link between OUT_WN_ZWDA1 from view VW_ZWDA1 and IN_VW_ZWDA1.


Create a Outbound plug TO_CAT of Type – SUSPEND in window WN_WDA1 to call Catalog with Importing Parameters-

Type – TIHTTPNVP and String.


Fill these Importing parameters in handler event of inbound plug – IN_VW_WDA1.

Call Outbound plug TO_CAT from handler event of inbound plug – IN_VW_WDA1.


Create a Inbound Plug FROM_CATALOG of type Resume to return from catalog.



Create  two web services in SICF transaction to handle Outbound and Inbound call to and from Catalog.


Suspend Plug Parameters

  • URL – Address to Outbound handler Service-



Contains Parameters to call Catalog-

    • Catalog URL
    • Username & Password
    • HOOK URL / Return URL

Web Service





Inbound Plug

Get the attached Parameters from URL to get selected material data.


Assign the selected materials to node on screen VW_ZWDA1 to display them on the table.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Akash, Thanks for the clear description on OCI from Web Dynpro. I have got a quick question for you. The note suggest that OCI is an SRM feature. Can you shed some light on whether Web Dynpro against SAP ECC 6.0 without SRM installed can process OCI communication or not? Your thoughts are appreciated. Thanks. Jozsef

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Jozsef,

      We had this exactly same requirement of calling OCI from WDA in SAP ECC 6.0 without SRM, i know next question would be how did we archived, that.

      Please refer to above document, I have incorporated all steps in doing the same, do let me know if you stuck anywhere, would love to help you out.



      Author's profile photo Former Member
      Former Member


      Thanks for the quick reply and clarifications. Let me confirm: you have implemented the above Web Dynpro application and calling out from it to external catalogs via OCI without SRM installed. Please, confirm.



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Yes, this is true.

      Author's profile photo Former Member
      Former Member


      Let me ask you a different question as well about the functionality of OCI. Let's assume that the OCI call would be to a provider who hosts catalogs for multiple vendors. Is it possible to create a requisition with multiple line items against different vendorson each line item? Is there a limitation with the OCI calls to only handle one vendor at a time?

      Requisitions are flexible by their nature to allow different vendor number on the different requisition line items. Can OCI facilitate this?

      In your above example when the shopping cart content is returned to the requisition dynpro screen can each line item have a different vendor number on?

      Please, let me know



      Author's profile photo Former Member
      Former Member

      Hi Akash,

      in SICF you add the 2 services, is this without handler?

      Because I get an error

      Service cannot be reached.

      In SRM the handler is /SAPSRM/CL_CH_WD_OUTBOUND_HDLR but in ECC you don't have the class provided.




      Service cannot be reached

      Author's profile photo Ashish Shah
      Ashish Shah

      Hi Akash,

      i want to implement something similar to what you have done.

      I am trying to add this feature in standard SAP application MMPUR_SPPR_MAIN_APPL which is based on FPM.

      Can you tell me what kind of objects have you associated with

      SICF webservices to handle Outbound and Inbound call ?

      I suppose they would be implementing IF_HTTP_EXTENSION.

      If possible can you share nugg files of these classes?

      How are you calling these handlers?


      Ashish Shah

      Author's profile photo Former Member
      Former Member


      I am able to create all steps except SICF web services. Can you give me more details about how create web services and how to link them.

      Currently I am able to call OCI catalog but control is not comming back to WDA when I check out in catalog.



      Author's profile photo Former Member
      Former Member

      Hi Akash,

      You would have more specific tutorial to implement this solution, I am a newbie and I can not run the catalog. Thanks