Skip to Content
Author's profile photo Former Member

Call OCI Catalogs from Web Dynpro ABAP in ECC

Process Flow

/wp-content/uploads/2012/08/1_132210.png

Demo

Run WDA Application and Call OCI Catalog to add Materials

/wp-content/uploads/2012/08/2_132211.png

User Access External Vendor Catalog

/wp-content/uploads/2012/08/3_132247.png


User Procure the materials and Submit the form

/wp-content/uploads/2012/08/4_132248.png

All the items are populated in Underlying Business Process Application

/wp-content/uploads/2012/08/5_132249.png

User Validates the material Item


/wp-content/uploads/2012/08/6_132250.png

User Submit’s the Business Application in ECC.

/wp-content/uploads/2012/08/7_132251.png

Business Objective

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

Challenges

  • 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.

Benefits

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 ?

STEP-1

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

STEP-2

Create a Web Dynpro Component, eg. ZWDA1.

Create a View, eg VW_ZWDA1.

STEP-3

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

STEP-4

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.

STEP-5

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.

STEP-6

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

Type – TIHTTPNVP and String.

/wp-content/uploads/2012/08/8_132252.png

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.

STEP-7

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

/wp-content/uploads/2012/08/9_132253.png

STEP-8

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

/wp-content/uploads/2012/08/10_132257.png

Suspend Plug Parameters

  • URL – Address to Outbound handler Service-

http://XXXXX.hostederp.local:8000/sap/zotc_cat/zoutbound_hdlr

  • I_PARAMETER_TAB-

Contains Parameters to call Catalog-

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

Web Service

OUTBOUND

/wp-content/uploads/2012/08/11_132258.png

INBOUND

/wp-content/uploads/2012/08/12_132259.png

Inbound Plug

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

/wp-content/uploads/2012/08/13_132266.png

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

Assigned Tags

      9 Comments
      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.

      Regards,

      Akash

      Author's profile photo Former Member
      Former Member

      Akash,

      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.

      Thanks

      Jozsef

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

      Yes, this is true.

      Author's profile photo Former Member
      Former Member

      Akash,

      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

      Thanks

      Jozsef

      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.

      Thanks.

      Kr.

      Kris

      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.

      http://scn.sap.com/thread/3274695

      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?

      Regards,

      Ashish Shah

      Author's profile photo Former Member
      Former Member

      Akash,

      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.

      Thanks,

      Kumar

      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