KEMBAR78
APC Intg Mar14 | PDF | Procurement | Software
0% found this document useful (0 votes)
130 views35 pages

APC Intg Mar14

Uploaded by

khairy sap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views35 pages

APC Intg Mar14

Uploaded by

khairy sap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Ariba Procurement Content™

Integration Guide
Release 12s
Document Version 3
March 2014
Copyright © 1996–2014 Ariba, Inc. All rights reserved.

This documentation, as well as the Ariba software and/or services described in it, contain proprietary information. They are provided under a license or other
agreement containing restrictions on use and disclosure and are also protected by copyright, patent and/or other intellectual property laws. Except as permitted
by such agreement, no part of the document may be reproduced or transmitted in any form by any means, electronic, mechanical or otherwise, without the
prior written permission of Ariba, Inc.

Ariba, Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in the documentation. The information contained in the
documentation is subject to change without notice.

Ariba, the Ariba logo, AribaLIVE, SupplyWatch, Ariba.com, Ariba.com Network and Ariba Spend Management. Find it. Get it. Keep it. and PO-Flip are
registered trademarks of Ariba, Inc. Ariba Procure-to-Pay, Ariba Buyer, Ariba eForms, Ariba PunchOut, Ariba Services Procurement, Ariba Travel and
Expense, Ariba Procure-to-Order, Ariba Procurement Content, Ariba Sourcing, Ariba Savings and Pipeline Tracking, Ariba Category Management, Ariba
Category Playbooks, Ariba StartSourcing, Ariba Spend Visibility, Ariba Analysis, Ariba Data Enrichment, Ariba Contract Management, Ariba Contract
Compliance, Ariba Electronic Signatures, Ariba StartContracts, Ariba Invoice Management, Ariba Payment Management, Ariba Working Capital
Management, Ariba Settlement, Ariba Supplier Information and Performance Management, Ariba Supplier Information Management, Ariba Discovery, Ariba
Invoice Automation, Ariba PO Automation, Ariba Express Content, Ariba Ready, and Ariba LIVE are trademarks or service marks of Ariba, Inc. All other
brand or product names may be trademarks or registered trademarks of their respective companies or organizations in the United States and/or other countries.

Ariba Sourcing solutions (On Demand and software) are protected by one or more of the following patents, including without limitation: U.S. Patent Nos.
6,199,050; 6,216,114; 6,223,167; 6,230,146; 6,230,147; 6,285,989; 6,408,283; 6,499,018; 6,564,192; 6,871,191; 6,952,682; 7,010,511; 7,072,061; 7,130,815;
7,146,331; 7,152,043;7,225,152; 7,277,878; 7,249,085; 7,283,979; 7,283,980; 7,296,001; 7,346,574; 7,383,206; 7,395,238; 7,401,035; 7,407,035; 7,444,299;
7,483,852; 7,499,876; 7,536,362; 7,558,746; 7,558,752; 7,571,137; 7,599,878; 7,634,439; 7,657,461; and 7,693,747. Patents pending.

Other Ariba product solutions are protected by one or more of the following patents:

U.S. Patent Nos. 6,199,050, 6,216,114, 6,223,167, 6,230,146, 6,230,147, 6,285,989, 6,408,283, 6,499,018, 6,564,192, 6,584,451, 6,606,603, 6,714,939,
6,871,191, 6,952,682, 7,010,511, 7,047,318, 7,072,061, 7,084,998; 7,117,165; 7,225,145; 7,324,936; and 7,536,362. Patents pending.

Certain Ariba products may include third party software or other intellectual property licensed from a third party. For information regarding software or other
intellectual property licensed from a third party, go to http://www.ariba.com/copyrights.cfm.
Revision History

The following table provides a brief history of the updates to this guide. Ariba updates the technical
documentation for its On Demand solutions if
• software changes delivered in service packs or hot fixes require a documentation update to correctly
reflect the new or changed functionality;
• the existing content is incorrect or user feedback indicated that important content is missing.

Ariba reserves the right to update its technical documentation without prior notification. Most
documentation updates will be made available in the same week as the software service packs are released,
but critical documentation updates may be released at any time.

To provide feedback on this guide or any Help@Ariba resources, click the Submit Feedback link on any
Help@Ariba page.

Document Month/Year of Updated Chapter/Section Short Description of Change


Version Update
1 August 2012 NA Resetting document version to
release 12s
2 June 2013 Integrating with Oracle Updated the table with missing
iProcurement/Configuring PunchOut punchout parameters
3 March 2014 SAP SRM - Support for OCI Added a section on support for OCI
VALIDATE Function VALIDATE function
4 March 2014 Web Services chapter Added a new chapter on web
services

Ariba Procurement Content Integration Guide iii


Table of Contents

Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Chapter 2 Integrating with Oracle iProcurement. . . . . . . . . . . . . . . . . . . . 6


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Pre-Requisites for Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
About PunchOut Access Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Flow of Data Across the Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Configuring Punchout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Creating the PunchOut Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Advanced Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Catalog Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Mapping Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Chapter 3 Integrating with SAP SRM. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
About SAP SRM 7.0 Certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Flow of Data Across the Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Advanced Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Catalog Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Mapping Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Support for Open Catalog Interface VALIDATE Function. . . . . . . . . . . . . . . . . . . . . . . . 20
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Invalid Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Missing ScrollBar in Ariba Procurement Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Validity of Data in Open Catalog Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Chapter 4 Catalog Search Using Web Services . . . . . . . . . . . . . . . . . . . . 27


Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Implementation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configuring Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Understanding Catalog Item Search Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Common Header Elements in Catalog Item Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
WSCatalogSearchRequest Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
WSCatalogItemSearchReply Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Ariba Procurement Content Integration Guide iv


Chapter 1 Introduction

Overview
This document provides an overview of integration between Ariba Procurement Content and E-procurement
applications using standards-based communication. Ariba Procurement Content supports integration using
the following protocols:
• cXML (commerce eXtensible Markup Language)
• Oracle native XML(Oracle native eXtensible Markup Language)
• OCI (Open Catalog Interface)

Ariba Procurement Content integrates with Oracle iProcurement using cXML and Oracle native XML based
protocols. For more information, see “Integrating with Oracle iProcurement” on page 6.

Ariba Procurement Content integrates with SAP Supplier Relationship Management (SAP SRM) using OCI
based protocols. For more information, see “Integrating with SAP SRM” on page 14.

Ariba Procurement Content Integration Guide 5


Chapter 2 Integrating with Oracle iProcurement

• “Overview” on page 6
• “Pre-Requisites for Integration” on page 6
• “Flow of Data Across the Systems” on page 7
• “Configuring Punchout” on page 8
• “Troubleshooting” on page 12

Overview
Oracle iProcurement integrates with Ariba Procurement Content using the following protocols:
• cXML
• Oracle native XML.

Pre-Requisites for Integration


Before you start the integration process you must obtain the following details from Ariba customer support:
• Ariba Network ID for iProcurement
• Ariba Network ID for Ariba Procurement Content
• Shared Secret for authentication

About PunchOut Access Methods


Oracle iProcurement supports the following punchout models:
• Direct PunchOut using Oracle native XML
• Direct PunchOut using cXML

You must select a punchout model before configuring the integration.

Choose Direct PunchOut using Oracle native XML if:


• You want to access catalogs from multiple suppliers in Ariba Procurement Content.
• You want to work with collaborative items. Oracle native XML enables you to customize 15 custom fields
for collaboration.

Choose Direct PunchOut using cXML if you want to:


• Access catalogs only from one supplier.

Ariba Procurement Content Integration Guide 6


Chapter 2 Integrating with Oracle iProcurement Flow of Data Across the Systems

Flow of Data Across the Systems


This section provides information on the flow of data across the different systems during a punchout
transaction. To understand the specifications of a transaction, see the cXML User's Guide at the following
URL:
http://xml.cxml.org/current/cXMLUsersGuide.pdf

The current version supported is cXML 1.2.

The different systems involved in this transaction are the following:


• iProcurement
• Ariba Procurement Content
• Ariba Network - The e-commerce hub that authenticates both the parties involved in this transaction.

The iProcurement application and Ariba Procurement Content must be registered with Ariba Network. After
being registered on Ariba Network, the iProcurement application needs to set up a relationship with Ariba
Procurement Content.

 The sequence of steps involving the flow of data is as follows:


1 The iProcurement application initiates the transaction by sending an HTTPS/SSL POST request with a
PunchoutSetupRequest document to the Ariba Network.
2 Ariba Network authenticates the iProcurement application and opens an HTTPS session with Ariba
Procurement Content to pass the request.
3 Ariba Procurement Content processes the incoming request, performs the necessary setup and returns a
redirect encoded URL as part of the response to the iProcurement application through Ariba Network.
4 The iProcurement application then redirects the user's browser to the Ariba Procurement Content URL
sent as part of the response sent in the previous step.
5 The user will now be able to browse catalogs in Ariba Procurement Content.

6 After the user completes the shopping session, Ariba Procurement Content sends an HTTPS form POST
request back to the iProcurement application with the contents of the shopping cart.

Ariba Procurement Content Integration Guide 7


Chapter 2 Integrating with Oracle iProcurement Configuring Punchout

The flow of data across the systems is illustrated in the following workflow diagram.

Configuring Punchout
This section provides information on configuring the punchout transaction in Oracle iProcurement.

Creating the PunchOut Catalog


 To create a punchout catalog:
1 Log in to Oracle iProcurement as a catalog administrator.

2 Click the iProcurement Catalog Administration link.

3 Click Manage Content and then Catalogs.

4 Click Create to set up a new catalog.

5 Select Punchout catalog and click Continue.

6 Choose Supplier as the source.

7 Choose either Direct punchout (Oracle native XML) or Direct punchout (cXML) as the Access Method
and click Continue.

Ariba Procurement Content Integration Guide 8


Chapter 2 Integrating with Oracle iProcurement Configuring Punchout

8 In the Create Supplier Punchout (cXML) Catalog page enter the following information as applicable:

Field Name Value


Buyer Company Identification
Company Name Enter the name of your realm.

Domain Enter Network ID.

Identity Enter the iProcurement ANID.

PunchOut Identification
Catalog Name Enter a name for the punchout catalog. The name will be displayed in the catalog
store.

Description Enter a description. This is an optional field.


Keywords Enter keywords. This is an optional field.

Mapping Information
Key 1 Enter Ariba.

Supplier This is an optional field.

PunchOut Supplier Configuration


Supplier Name Enter the name of the supplier.

Supplier ID Enter the supplier ID. This is an optional field.

Punchout URL Enter the URL that Oracle iProcurement will use to log in to the supplier site. It
should include not only the URL, but the program name that will receive and
process the login request.

For more information, see “Punchout URL” on page 9.

Image This is an optional field.

Password Enter the Ariba Network shared secret password required by the supplier. The
password will be used as a site-level password to access the supplier site. The
supplier needs to provide you with the value.

Retype Password Retype the shared secret password.

Prevent changes to items Select this checkbox.


returned from Punchout Site

All Prices are negotiated De-select this checkbox.

Punchout URL
For cXML use the following URL:

https://s1.ariba.com/Buyer/Main/ad/transform/ariba.htmlui.content.POSRListener?ANURL=https://serv
ice.ariba.com/service/transaction/cxml.asp&APCANID=<myAPCANID>&SupplierDomain=<My
SupplierDomain>&SupplierIdentity=<MySupplierID>

Note: Replace the values in < > with the following values:

Ariba Procurement Content Integration Guide 9


Chapter 2 Integrating with Oracle iProcurement Advanced Configuration Settings

• APCANID - Ariba Network ID for Ariba Procurement Content


• SupplierDomain - supplierid followed by one of the available organizational ID domains. For
example, supplierid.buyersystemid or supplierid.duns
• SupplierIdentity - The value you choose for the SupplierDomain. For example, if you choose
buyersystemid, enter the buyersystemid domain value.

For Oracle native XML use the following URL:


https://s1.ariba.com/Buyer/Main/ad/transformPOSR/ariba.content.transform.TransformListener?ANURL=
https://service.ariba.com/service/transaction/cxml.asp&Groups=<myGroup>&ShipTo=oracle&PreferredSu
pplierDomain=<mySupplierDomain>&SelfRedirect=FALSE&OverrideShipTo=FALSE

Note: Replace the values in < > with the following values:
• Groups - Enter the group name.
• PreferredSupplierDomain - Enter the preferred organizational ID domain. For example, duns.

Note: If the value of the OverrideShipTo parameter is set to False, the ShipTo Address will not be replaced
with the ANID of the external procurement system. If the value of the parameter is not set or set to True, the
ShipTo Address is replaced with the the ANID of the external procurement system. The default value of the
OverrideShipTo parameter is True.

Advanced Configuration Settings


Note: The information in this section is only relevant to the Oracle native XML punchout method.

Catalog Filtering

Groups
Catalogs Views created based on groups can be used to filter catalogs. You can then specify the group name
in the Punchout URL to filter catalogs based on the catalog views created in Ariba Procurement Content

 To filter catalogs based on groups:


1 Create catalog views in Ariba Procurement Content based on groups.
2 Enter the name of the group on which the catalog view is based as the value for the parameter in the
Punchout URL.
When a user punches in to Ariba Procurement Content, the catalogs are filtered based on the group value
in the Punchout URL. See, “Punchout URL” on page 9.
For more information on Catalog Views, see the Ariba Procurement Catalog Administration Guide.

Note: If you enter the No Ad-hoc Item group name as the value, then users will not be able to add non-catalog
items to the shopping cart.

Ariba Procurement Content Integration Guide 10


Chapter 2 Integrating with Oracle iProcurement Advanced Configuration Settings

Mapping Custom Fields

Standard Customization for Custom Field Mappings


An Oracle native XML message from Oracle iProcurement contains fifteen custom fields. Custom catalog
fields can be mapped to any of these fifteen custom fields in Ariba Procurement Content.

Custom Catalog fields are the fields created by loading Type Definitions. Contact your Ariba Catalog
Management resource or Ariba Customer Support to load type definitions.

For example, to map the Hazardous Material field value to cus_Attribute1:

<inClass name="ariba.content.core.ShoppingCartLineItem">
<derived>
<field name="cus_Attribute1" expression="getAnalyzableAttributes('hazmat')"
templates="OXMLAttributes">
<type class="java.lang.String"/>
<properties label="attribute1"/>
</field>
</derived>
</inClass>

For more information on customization and managing type definitions, see the Ariba Procurement Service
Administration Guide.

Standard Customization for Category Fields Mappings


Services procurement items are catalog items that are controlled by a category definition. When you create a
category definition, you can configure items to require collaboration with a supplier to define the details of
the item before an order can be placed. Collaboration can be configured for any item controlled by a
category definition.

After collaboration completes, you send the catalog fields that are defined by a category to Oracle
iProcurement by mapping these fields to the custom fields using standard customization.

For example, to map Hours Per Week field value which is defined by a category to cus_Attribute3:

<inClass name="vrealm_13.category.DemoLabor.LaborLineItemDetails">
<derived>
<field name="cus_Attribute3" expression="HoursPerWeek" templates="OXMLAttributes">
<type class="java.math.BigDecimal"/>
<properties label="attribute1"/>
</field>
</derived>
</inClass>

To find the class used in standard customization, lookup the lineitem.CategoryLineItemDetailsVector in the
shopping cart.

For more information on services items and category definitions, see the Ariba Services Procurement
Configuration and Management Guide.

Ariba Procurement Content Integration Guide 11


Chapter 2 Integrating with Oracle iProcurement Troubleshooting

Troubleshooting
This section provides information on troubleshooting error messages that might be displayed.

Page No Longer Active


Issue: When creating a requisition, the following error is displayed after punchout:
Error: You are trying to access a page that is no longer active. The referring page may have come
from a previous session. Please select Home to proceed.

Reason: The punchout flow generates an error when attempting to return from the supplier site to the
iProcurement shopping cart if the values of the two profile options Framework Validation Level and FND
Function Validation Level are set to Error. (These two profile options will automatically be set to Error
after applying 11.5.10.2CU.)

Fix: Contact your iProcurement administrator.

Error Category/UOM is not configured for Purchasing


Issue: An error message indicating that a category/UOM has not been configured for purchasing is displayed
in Oracle iProcurement after checking out an item from Ariba Procurement Content.

Reason: The unit of measure and category values that the supplier sends have not been mapped to the
values in Oracle iProcurement.

Fix: Contact your iProcurement administrator.

SSL Handshake Failed


Issue: An error occurs after clicking the Punchout catalog link and the following message is displayed when
you choose to view the additional technical details for this failure:
Error Code: 201 Unable To Reach Supplier Site
Unable to send the Login Request XML.
Supplier Login URL:
..…..
……
ProcessorException
Proxy Host: null
Proxy Port: -1
CA Certification File Location:
e:\oracle\visora\iAS\Apache\Apache\conf\ssl.crt\svcitg.ariba.com.cer
URL: https://ariba.com/Buyer/Main/ad/transform/POSRListener
java.io.IOException: javax.net.ssl.SSLException: SSL handshake failed: X509CertChainInvalidErr

Reason: The certification chain has not been configured as needed by Oracle.

Fix: Contact your Oracle iProcurement administrator.

Invalid Fields
Issue: An error occurs on punchin indicating that one or more field values are invalid.

Reason: One or more mandatory field values have not been populated. For example: Email Address,
APCANID etc.

Ariba Procurement Content Integration Guide 12


Chapter 2 Integrating with Oracle iProcurement Troubleshooting

Fix: Populate all the mandatory fields with relevant values.

Ariba Procurement Content Integration Guide 13


Chapter 3 Integrating with SAP SRM

• “Overview” on page 14
• “Flow of Data Across the Systems” on page 15
• “Advanced Configuration Settings” on page 19
• “Support for Open Catalog Interface VALIDATE Function” on page 20
• “Troubleshooting” on page 23

Overview
SAP Supplier Relationship Management (SAP SRM) integrates with Ariba Procurement Content using
Open Catalog Interface (OCI) based protocols. OCI is the standard format used by SAP SRM when
connecting to external punch-out catalogs.

About SAP SRM 7.0 Certification


Ariba Procurement Content has been certified to integrate with SAP SRM version 7.0 when users punchin
through the SAP NetWeaver Portal.

Users can punchin to Ariba Procurement Content from SAP SRM 7.0 in one of the following ways:
• Punchin through SAP NetWeaver Portal
• Punchin through Portal-Independent Navigation Frame

Punchin through Portal-Independent Navigation Frame to Ariba Procurement Content from SAP SRM 7.0
has NOT been certified yet and is being planned for in a future service pack release.

Requirements

Returntarget
A new call structure parameter, returntarget is required for OCI integration in SAP SRM 7.0.

The value specified for this parameter in the OCI call structure will be used in the HTTP form POST as part
of the target attribute. The target attribute is used on the return path from Ariba Procurement Content and it
specifies the frame in SAP SRM 7.0 to which Ariba Procurement Content needs to send data.

If you are using Internet Explorer 6.0 and higher, then the value of the parameter is _top or _parent. If you
are using Firefox then the value should be _top only.

For more information, see SAP Note: 1287412.

Ariba Procurement Content Integration Guide 14


Chapter 3 Integrating with SAP SRM Flow of Data Across the Systems

ModifyURL
After checkout, Ariba Procurement Content returns the shopping cart contents to SAP SRM using the
HOOK_URL parameter value.

Previously, Ariba Procurement Content truncated the HOOK_URL parameter value, preventing users from
returning the shopping cart contents to SAP SRM 7.0.

Note: Customers using SAP SRM 5.0 did not experience this issue as the truncated values were accepted in
this version.

Now, a new parameter has been introduced to ensure the HOOK_URL parameter is not truncated. The
ModifyURL parameter value specifies whether the HOOK_URL value needs to be truncated or not. You
must ensure that this parameter is defined as an Outbound Parameter in the OCI Call Structure. It should be
entered above the HOOK_URL.

If you do not want the HOOK_URL parameter value to be truncated, set the ModifyURL parameter value to
False.

The default value of this parameter is True.

Flow of Data Across the Systems


This section provides information on the flow of data across Ariba Procurement Content and SAP SRM
during a punchout transaction.

The flow of data across the systems is illustrated in the following workflow diagram:

Ariba Procurement Content Integration Guide 15


Chapter 3 Integrating with SAP SRM Flow of Data Across the Systems

 The sequence of steps involving the flow of data is as follows:


1 To enable integration with Ariba Procurement Content, you must set the following parameters in SAP
SRM.

OCI Outbound Parameters

Field Name Mandatory Description Meaning


Punchinid Yes Ariba Network ID Unique identifier of Ariba Procurement Content

UniqueName Yes Login User ID to login to Ariba Procurement Content

EmailAddress Yes Email address The user’s email address.

HOOK_URL Yes HOOK_URL The URL to which Ariba Procurement Content


redirects the User’s browser using HTTP FORM
POST containing the Shopping Cart contents.

PurchasingUnit No Purchasing Unit The purchasing unit associated with the user.
Ariba Procurement Content is enabled to receive
purchasing units as an extrinsic field from
SAP SRM. The User Profile and Purchasing
Unit associations help filter the content that a
user can view in Ariba Procurement Content.

DefaultCurrency No Default Currency The currency associated with the user.

UserLocale No User Locale The locale associated with the user.

CustomFilterQuery No Used for filtering based on territory. For


example: AvailableTerritories = ('US').

Groups No Groups The groups associated with the user.

ShoppingCartAuxID No Shopping Cart ID The shopping cart ID.

PreferredSupplierDomain No Preferred Supplier The supplier domain value that needs to be


Domain returned in the shopping cart. For example: duns
or networkid. If left blank, the buyersystemid
value is returned by default.
If your system cannot accommodate fields that
are over 20 characters in length, use
SupplierDomain.
SupplierDomain No Supplier Domain The supplier domain value that needs to be
returned in the shopping cart.
Use this instead of
PreferredSupplierDomain if your system
cannot accommodate fields that are over 20
characters in length.

User.Address.UniqueNam No Address Ariba Procurement Content looks the value of


e this field and updates the users address when
creating the user.

User.Address.Street No State The part of the address that contains the


house/apartment number and street/cross name

User.Address.City No City The name of the city in the address.

User.Address.State No State The name of the State.

Ariba Procurement Content Integration Guide 16


Chapter 3 Integrating with SAP SRM Flow of Data Across the Systems

OCI Outbound Parameters

Field Name Mandatory Description Meaning


User.Address.PostalCode No Postal Code The postal code of the address.

User.Address.Country No Country The name of the country. The name should be in


the format that is loaded in Ariba Procurement
Content.

User.Address.Phone No Phone Number The phone number of the user.

User.Address.Fax No Fax Number The fax number of the user.

User.Address.Organization No Organization The name of the organization.

HTTP_CONTENT_CHA No Character encoding The name of the character encoding system that
RSET system the HTTP form POST needs to be encoded in. If
the parameter is left blank, the message is
encoded in Unicode (UTF-8) by default.

2 The SAP SRM application initiates the OCI protocol by sending a HTTPS POST request to Ariba
Procurement Content.
3 After receiving the request, Ariba Procurement Content redirects the request to a corporate authenticator.
Ariba Procurement Content should be configured to use a corporate authenticator when enabling the
customer site for punchin users.
4 The corporate authenticator authenticates the user and redirects the user to Ariba Procurement Content.

5 The user will now be able to browse catalogs in Ariba Procurement Content.

6 After the user completes the shopping session, Ariba Procurement Content sends the shopping cart
contents to SAP SRM as part of form fields as specified by the OCI specifications below:

OCI Inbound Parameters

Field Name Description Example


NEW_ITEM-ShoppingCartID[#] The lookup key for the shopping cart in Ariba
Procurement Content.

NEW_ITEM-DESCRIPTION[#] The description of the item in the catalog.(Only Rayovac 1.5V


the first 40 characters are displayed.) Alkaline Maximum
Batteries
NEW_ITEM-MATGROUP[#] The material group for the item in SAP SRM.

NEW_ITEM-EXT_CATEGORY[#] The commodity code value. 26111702

NEW_ITEM-EXT_SCHEMA_TYPE[1] The commodity code domain. unspsc

NEW_ITEM-MATNR[1] The product number of the item in SAP SRM.


[Partitioned Commodity Code]

NEW_ITEM-QUANTITY[1] The item quantity. 1

NEW_ITEM-UNIT[1] The type of the item quantity. BX

NEW_ITEM-PRICE[1] The price of the item. 3.02

NEW_ITEM-PRICEUNIT[1] The price of one unit. 1

NEW_ITEM-CURRENCY[1] The currency of the item. USD

Ariba Procurement Content Integration Guide 17


Chapter 3 Integrating with SAP SRM Flow of Data Across the Systems

OCI Inbound Parameters

Field Name Description Example


NEW_ITEM-LEADTIME[1] The lead time for the item to be available. 0

NEW_ITEM-VENDOR[1] The Supplier ID. sid498

NEW_ITEM-VENDORMAT[1] The Supplier Part Number. RAY19844

NEW_ITEM-MANUFACTCODE[1] The manufacturer number of the item.

NEW_ITEM-MANUFACTMAT[1] The manufacturer's part number for the item. 824-2

NEW_ITEM-SERVICE The flag indicating if an item is a service item or


not .["X" indicates a service item , " " indicates a
non-service item]

NEW_ITEM-EXT_PRODUCT_ID[1] The unique key for this item in the catalog which Sid498 ¦ RAY19844¦
is a combination of Supplier ID ,SupplierPartID
and SupplierAuxillaryPartID and separated by
the ¦ character.

NEW_ITEM-LONGTEXT_1:132[] Ariba uses long text attribute to add description Rayovac 1.5V
and other details associated with catalog items. Alkaline Maximum
The format is as below: Batteries - AAA -
2/Pack
Catalog Item Description nl
COLLABORATION_ATTRIBUTES nl
attribute: value nl
nl
COLLABORATION_ATTRIBUTES_BASE64 nl
ITEM_ATTRIBUTES nl
attribute: value nl
nl
CLASSIFICATION_CODES nl
domain: value nl
nl

Where nl represents new line separators in the


input.
NEW_ITEM-CUST_FIELD1[#] User-defined custom field. The maximum length
is 10 characters.

NEW_ITEM-CUST_FIELD2[#] User-defined custom field. The maximum length


is 10 characters.

NEW_ITEM-CUST_FIELD3[#] User-defined custom field. The maximum length


is 10 characters.

NEW_ITEM-CUST_FIELD4[#] User-defined custom field. The maximum length


is 20 characters.

NEW_ITEM-CUST_FIELD5[#] User-defined custom field. The maximum length


is 50 characters.

Ariba Procurement Content Integration Guide 18


Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

Advanced Configuration Settings

Catalog Filtering
Catalogs can be filtered in Ariba Procurement Content based on the following OCI outbound (from SAP
SRM) parameters:
• CustomFilterQuery
TerritoryAvailable is used as a name pair value in CustomFilterQuery values. Territory available is a field
available out of the box in catalogs. Each catalog item needs to be loaded with Territory Available (single
or multiple) field values. When a user punches in with Territory Available values, the catalogs are filtered
based on territoryavailable value in the OCI outbound parameter.
For example, if the OCI outbound parameter field CustomFilterQuery has the following values:
AvailableTerritories = ('DE') AND AvailableTerritories = ('US')

then Ariba Procurement Content displays only the catalog items that have DE and US as Territory
Available values.
• Groups
Catalog Views can be used to filter catalogs. The OCI outbound parameter Group must have the value of
the group on which a catalog view is based in Ariba Procurement Content.
To filter based on groups:
1 Create catalog views in Ariba Procurement Content based on groups.

2 Enter the name of the group on which the catalog view is based as the value for the OCI outbound
parameter Group.
When a user punches in to Ariba Procurement Content, the catalogs are filtered based on the group value
in the OCI outbound parameter. For more information on Catalog Views, see the Ariba Procurement
Catalog Administration Guide.
• PurchasingUnits
Purchasing Units can be used to filter suppliers. Catalogs can then be filtered based on the filtered
suppliers.
To filter based on purchasing units:
• Map the purchasing units to suppliers when importing suppliers in Ariba Procurement Content.
• Enter the name of the purchasing unit as the value for the OCI outbound parameter Purchasing Unit.
When a user punches in to Ariba Procurement Content, the catalogs are filtered based on the suppliers
that are mapped to the purchasing unit.
For more information on Purchasing Units, see Ariba Purchasing Unit Administration Guide.

Mapping Custom Fields

Standard Customization for Custom Field Mappings


You can pass five custom fields as OCI inbound (from Ariba Procurement Content) parameters to SAP
SRM. Custom Catalog fields can be mapped to any of these custom fields in Ariba Procurement Content.

Ariba Procurement Content Integration Guide 19


Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

Custom Catalog fields are the fields created by loading Type Definitions. Contact Ariba Customer Support
to load type definitions.

For example, to map the Hazardous Material field value to the NEW_ITEM-CUST_FIELD2[#] OCI inbound
parameter:

<inClass name="ariba.content.core.ShoppingCartLineItem">
<derived>
<field name="cus_Attribute1" expression="getAnalyazableAttributes('hazmat')"
templates="OCIAttributes">
<type class="java.lang.String"/>
<properties label="NEW_ITEM-CUST_FIELD2[#]"/>
</field>
</derived>
</inClass>

For more information on customization and managing type definitions, see the Ariba Procurement Service
Administration Guide.

Support for Open Catalog Interface VALIDATE Function


Ariba Procurement Content (APC) supports catalog item validation requests in Open Catalog Interface
(OCI) format from SAP Supplier Relationship Management (SAP SRM). SAP SRM sends a request to
Ariba Procurement Content (APC) to validate the catalog items using the OCI VALIDATE function. APC
then responds with an HTML page that contains a form with the latest product data in the OCI 4.0 format.

Copy Requisition in SAP Supplier Relationship Management

In SAP SRM, you can select and copy a requisition. SAP SRM initiates the OCI VALIDATE function in
Ariba Procurement Content. Ariba Procurement Content, then, validates the catalog items and returns a
response. Based on the response from Ariba Procurement Content, SAP SRM copies the items.

Implementation Overview
Consider the following guidelines while implementing the OCI VALIDATE function for SAP SRM in Ariba
Procurement Content:
• Blank search of catalog items are not allowed. Product ID must be provided to search for catalog items.
• Search for Product ID is case sensitive. If the case for product IDs does not match with the product ID in
Ariba Procurement Content, then the search for the product ID fails and the “No line item found” error
message is sent back as a response to OCI VALIDATE function request.
• When search for Product ID has multiple results, only the first result will be sent back as a response to
OCI validate function request.
• No retry option is available for catalog search. However, SAP SRM can have its own retry option in case
of a failure.

Support for catalog item validation requests from SAP SRM in Ariba Procurement Content involves the
following steps:
• SAP SRM sends a HTTPS POST request to APC with certain parameter values that initiates the
VALIDATE function in OCI protocol.
• Ariba Procurement Content sends a HTTPS POST response to SAP SRM with the relevant catalog item
details associated with each PRODUCT ID parameter value.

Ariba Procurement Content Integration Guide 20


Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

The Open Catalog Interface (OCI) uses the following structure to provide all the information that is
necessary to support OCI with a product catalog. The request comprises of the following:

Parameter Description
HOOK_URL The parameter name must be HOOK_URL.The value of the return
URL must be empty; the actual return URL is determined
during run time by SAP SRM.
PunchinID Ariba Network ID that allows suppliers to punch in to Ariba
Procurement Content and use the PunchOut capability.
PunchinPassword A password that allows suppliers to punch in to Ariba
Procurement Content and use the PunchOut capability.
realm Ariba Procurement Content realm ID
PRODUCTID Database key for the product in the catalog.

The Product ID is a combination of the Buyer System ID,


Supplier Part ID, and the Supplier Part Auxiliary ID.
QUANTITY Current quantity
FUNCTION VALIDATE
UniqueName A variable that holds a unique name ID of the user punchin to
Ariba Procurement Content

Sample OCI Request

HOOK_URL=http://fakhan1.ariba.com:8050/Buyer/test-catserver/content/ContentDataReceiver?
PunchinId=AN02000429399
PunchinPassword=welcome1a
realm=apcAippSap
PRODUCTID=sid498|RAY45047|aux83667
QUANTITY=1
FUNCTION=VALIDATE
UniqueName=adavis

Sample OCI Response

The response to the above-mentioned is as follows:


NEW_ITEM-MANUFACTMAT[1]=714-2
NEW_ITEM-SERVICE[1]=
NEW_ITEM-QUANTITY[1]=1
NEW_ITEM-PRICE[1]=7.840
NEW_ITEM-EXT_CATEGORY[1]=26111701
NEW_ITEM-EXT_PRODUCT_ID[1]=sid498|RAY45047|aux83667
NEW_ITEM-VENDORMAT[1]=RAY45047
NEW_ITEM-VENDOR[1]=sid498
NEW_ITEM-UNIT[1]=BX
NEW_ITEM-MATGROUP[1]=R1133
NEW_ITEM-DESCRIPTION[1]=Rayovac Renewal Reusable Alkaline Batteries -...
NEW_ITEM-PRICEUNIT[1]=1
NEW_ITEM-CUST_FIELD1[1]=

Ariba Procurement Content Integration Guide 21


Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

NEW_ITEM-LONGTEXT_1:132[1]=Rayovac Renewal Reusable Alkaline Batteries - C - 2/Pack


NEW_ITEM-MANUFACTCODE[1]=
NEW_ITEM-CURRENCY[1]=USD
NEW_ITEM-LEADTIME[1]=1
NEW_ITEM-EXT_SCHEMA_TYPE[1]=unspsc
NEW_ITEM-CONTRACT[1] ::
NEW_ITEM-CUST_FIELD1[1] ::collared:false
NEW_ITEM-CUST_FIELD2[1] ::size:small, medium, large
NEW_ITEM-CUST_FIELD3[1] ::color:orange, blue
NEW_ITEM-CUST_FIELD4[1] ::bestprice:
NEW_ITEM-CUST_FIELD5[1] ::hazardousmaterials:

The naming convention for the fields in OCI is as follows:

Note: NEW_ITEM-<Field name>[<index>]. The field type is always CHAR.

Field Description
NEW_ITEM-MANUFACTMAT Item’s manufacturer part number

NEW_ITEM-SERVICE Flag: the item is a service.

NEW_ITEM-QUANTITY Item quantity

NEW_ITEM-PRICE Price of an item per price unit

NEW_ITEM-EXT_CATEGORY Unique key for an external category from the schema above,
dependent of the version of the schema

NEW_ITEM-EXT_PRODUCT_ID Unique database key for this item in the catalog

NEW_ITEM-VENDORMAT Vendor product number for the item

NEW_ITEM-VENDOR SRM vendor number (business partner) for the item

NEW_ITEM-UNIT Quantity unit for item quantity

NEW_ITEM-MATGROUP SRM Material group for the item

NEW_ITEM-DESCRIPTION Description of the item

NEW_ITEM-PRICEUNIT Price unit of the item (if empty, 1 is used)

NEW_ITEM-CUST_FIELD[n] User defined field

NEW_ITEM-LONGTEXT_n:132 Long text for the item

NEW_ITEM-MANUFACTCODE Manufacturer number of the item

NEW_ITEM-CURRENCY[n] Item currency

NEW_ITEM-LEADTIME[n] Delivery time of the item in days

NEW_ITEM-EXT_SCHEMA_TYPE[n Name of a schema via which it was imported in the Server


]

NEW_ITEM-CONTRACT[n] SRM contract to which the item refers


NEW_ITEM-CUST_FIELD1[n] User-defined field
NEW_ITEM-CUST_FIELD2[n] User-defined field
NEW_ITEM-CUST_FIELD3[n] User-defined field

Ariba Procurement Content Integration Guide 22


Chapter 3 Integrating with SAP SRM Troubleshooting

Field Description
NEW_ITEM-CUST_FIELD4[n] User-defined field
NEW_ITEM-CUST_FIELD5[n] User-defined field

Troubleshooting
Use a web-debugging tool (For example, Fiddler) to debug any errors or missing data.

A sample debug output is as following:

Setup Request
POST /Buyer/Main/ad/contentPunchin/OCIPunchinDirectAction?realm=realm_5 HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel,
application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Cookie: DefaultTab=buyer
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 1.1.4322;
.NET CLR 2.0.50727)
Host: svcdevss.ariba.com
Content-Length: 585
Connection: Keep-Alive
Cache-Control: no-cache
PunchinId=ANXXXXXXXXXXX&PunchinPassword=secret&UserName=bwayne&realm=realm_5&Url=+&HOOK_URL=http:
//customer.com/returnURL

Setup Response
HTTP/1.1 302 Moved Temporarily
Date: GMT
Server: Apache
cache-control: no-cache
pragma: no-cache
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=120, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=UTF-8
NEW_ITEM-ShoppingCartID1=SH138&
NEW_ITEM-DESCRIPTION1=Testing+Partial+Item&
NEW_ITEM-MATGROUP1=&
NEW_ITEM-EXT_CATEGORY1=22&
NEW_ITEM-EXT_SCHEMA_TYPE1=unspsc&
NEW_ITEM-MATNR1=&
NEW_ITEM-QUANTITY1=20.000&
NEW_ITEM-UNIT1=EA&
NEW_ITEM-PRICE1=30.000&
NEW_ITEM-PRICEUNIT1=1&
NEW_ITEM-CURRENCY1=USD&
NEW_ITEM-LEADTIME1=0&
NEW_ITEM-VENDOR1=sid483&

Ariba Procurement Content Integration Guide 23


Chapter 3 Integrating with SAP SRM Troubleshooting

NEW_ITEM-VENDORMAT1=supplier+part+no+123&
NEW_ITEM-MANUFACTCODE1=&
NEW_ITEM-MANUFACTMAT1=&
NEW_ITEM-EXT_PRODUCT_ID1=&
NEW_ITEM-LONGTEXT_1132=Item Description&

Invalid Fields
Issue: An error occurs on punchin indicating that one or more field values are invalid.

Reason: One or more mandatory field values have not been populated. For example: Email Address,
PunchinID etc.

Fix: Populate all the mandatory fields with relevant values.

Missing ScrollBar in Ariba Procurement Content


Issue: The scrollbar is not displayed in Ariba Procurement Content when users punchin from SAP SRM 7.0
through the SAP NetWeaver Portal.

Reason: This is happening because the appropriate parameter in the window.open JavaScript method (that
enables the scrollbar to be displayed in the new popup window) is not configured correctly.

Fix: Configure the windowFeatures parameter in the window.open JavaScript method to enable the
scrollbars to be displayed in the new popup window as following:

To enable the scrollbars to be displayed in the new popup window:


window.open ("http://www.correctsitename.com", "mywindow","location=1,status=1,scrollbars=1")

For more information, see “Using the window.open Method” on page 24.

Using the window.open Method


The syntax of the window.open method is as following:
open (URL, windowName[, windowFeatures])

URL: The URL of the page to open in the new window. This argument could be blank.

windowName: A name to be given to the new window. The name can be used to refer this window again.

windowFeatures: A string that determines the various window features to be included in the popup window
(like statusbar, address bar etc).

The following code opens a new browser window with standard features.
window.open ("http://www.javascript-coder.com","mywindow")

Ariba Procurement Content Integration Guide 24


Chapter 3 Integrating with SAP SRM Troubleshooting

Changing the Features of the Popup Window


You can control the features of the popup using the last argument to the window.open method. The following
table shows the features and the string tokens you can use in the windowfeatures parameter:

status The statusbar at the bottom of the window

toolbar The standard browser toolbar, with buttons such as Back and Forward

location The Location entry field where you enter the URL

menubar The menu bar of the window

directories The standard browser directory buttons, such as What’s New and What’s Cool

resizable Allow/Disallow the user to resize the window

scrollbars Enable the scrollbars if the document is bigger than the window

height Specifies the height of the window in pixels. (example: height=’350?)

width Specifies the width of the window in pixels

Examples:

The following code opens a window with a statusbar and no extra features.
window.open ("http://www.correctsitename.com","mywindow","status=1");

The following code opens a window with toolbar and statusbar:


window.open ("http://www.correctsitename.com", "mywindow","status=1,toolbar=1");

The following code opens a window with menu bar. The window is re-sizable and is having 350 pixels width
and 250 pixels height:
window.open
("http://www.correctsitename.com","mywindow","menubar=1,resizable=1,width=350,height=250");

The following code opens a window with location bar, statusbar, scrollbar and of size 100 X 100:
window.open ("http://www.correctsitename.com", "mywindow","location=1,status=1,scrollbars=1,
width=100,height=100");

The following code opens a window with location bar and no scrollbars:
window.open ("http://www.correctsitename.com", "mywindow","location=1,status=1,scrollbars=0");

Ariba Procurement Content Integration Guide 25


Chapter 3 Integrating with SAP SRM Troubleshooting

Validity of Data in Open Catalog Interface


SAP SRM users may encounter the following errors related to the validity of data in Open Catalog Interface:

Error Resolution
Unable to retrieve Ensure the product ID is correct and try again
product ID

Invalid user ID Ensure the user ID is correct and try again

No record was found Ensure the product ID is correct and try again
for the given product
ID

Invalid value for the Ensure the value for the Ariba Network ID is correct and try
Ariba Network ID again
field

Product ID Enter the correct product ID and try again


validation failed due
to an unexpected
error

Ariba Procurement Content Integration Guide 26


Chapter 4 Catalog Search Using Web Services

• “Overview” on page 27
• “Implementation Overview” on page 27
• “Troubleshooting” on page 35

Overview
Ariba Procurement Content supports web services requests for catalog search from external systems. The
supported search options include free text, product key, and specific attributes, among others.

Ariba web services use the W3C SOAP messaging framework to exchange messages over HTTP or HTTPS.
Ariba strongly recommends that you use Ariba web services over an HTTPS link to the EAI system as Ariba
web services provide integration tasks, or integration events, that send and receive SOAP messages. An
integration task requires an end point for the logical communication channel used by web services. An end
point consists of the URL and authentication information that controls access to the end point.

For information on Ariba Web Services and how to configure an end point, see Ariba Data Maintenance and
Fundamentals Guide.

Note: You must ensure your site is configured for web services and the Inbound end point. Inbound end
points are used when the task is initiated by the Enterprise Application Integration (EAI) system.

Implementation Overview

Configuring Web Services


Consider the following guidelines before implementing catalog item validation requests from external
systems using web services:
• Blank search of catalog items are not allowed. At least one search term must be provided.
• Refining of search results is not supported.
• Image files are not transferred while searching for catalog items.
• A maximum of 100 search results is returned.
• Search using parametric fields is not supported.

Understanding Catalog Item Search Web Service

Catalog Item Search


Ariba On Premise uses the CatalogItemSearch web service to search for catalog items. The following
general guidelines apply to the CatalogItemSearch web service:

Ariba Procurement Content Integration Guide 27


Chapter 4 Catalog Search Using Web Services Implementation Overview

• The supported operators are like and or.


• Operator like is supported for all searchable fields.
• Operator or is supported only for the Key field.
• In case of operator like, only one value is supported. In case of operator or multiple values are supported.
• If multiple search terms are specified; and operation is applied on all the search terms.
• Use MatchAll field for free text search. e.g. ‘Monitor OR Keyboard’.

Catalog Search Term


The following search terms are supported in the CatalogSearchItem web service and are defined using the
following properties:
• Attribute Name- Name of an attribute
• Attribute Type- Type of an attribute
• Data Type - Determines the value of an attribute

Supported Search Terms

Attribute Name Attribute Type Data Type

SupplierID DomainValuePair

CatalogName Id literal

SupplierPartId PartId string

TerritoryAvailable TerritoryCode literal

PunchoutEnabled Flag boolean

AribaInternalMAId Id literal

IsPartial Flag boolean

ClassificationCode DomainValuePair

TypeName Id literal

PunchoutStore Id literal

Language Id literal

Price Money

ManufacturerName Name

ManufacturerPartId PartId string

Keywords Id List of literal

The CatalogItemSearch web service receives CatalogSearchQueryRequest messages and sends


CatalogSearchQueryResponse messages.

Ariba Procurement Content Integration Guide 28


Chapter 4 Catalog Search Using Web Services Implementation Overview

Common Header Elements in Catalog Item Search


The following elements are common to SOAP headers for all web service events.

Element Required Description


variant Mandatory String. Specify a value for this element

partition Mandatory String. Specify a value for this element

WSCatalogSearchRequest Elements
The WSCatalogSearchRequest element consists of the following sub-elements

WSCatalogItemSearchRequest
WSCatalogSearchQueryRequest_Item
WSCatalogSearchQueryRequest

WSCatalogSearchQueryRequest consists of the following sub-elements.

Element Required Description


SearchTerms Mandatory Consists of one or more WSCatalogSearchTerm elements
(at least one search term is mandatory). Child elements
WSCatalogSearchTerm are:
• Field - Key
• Operators - Like, or
• Values

Sort Optional You can sort the catalog item search results with the
following options:
• For sort, validation is applied if the value is provided.
The supported fields are Relevance, Price,
Description, and Short Name.
• Relevance - sorts the items with the best or most
complete string match and is set as the default value.
• Price - Ascending sorts the items by price in
ascending order.
• Price - Descending sorts the items by price in
descending order.
• Best Selling sorts items by popularity.
• Name - Ascending sorts the items by name in
ascending order.
• Name - Descending sorts the items by name in
descending order.
SortDirection Optional • For sort direction, validation is applied if the value is
provided. The supported values are asc and desc.
UserID Mandatory This element searches for user information. The user
search is based on the user’s unique name and the locale of
the search results is based on the user’s locale.

Ariba Procurement Content Integration Guide 29


Chapter 4 Catalog Search Using Web Services Implementation Overview

WSCatalogItemSearchReply Elements
WSCatalogItemSearchReply consists of the following sub-elements:

WSCatalogSearchResponse
WSCatalogSearchResponse_Item
CatalogItems
WSCatalogItem

Each WSCatalogItem element contains sub-elements with attributes such as BuyerPartId, Price, and
SupplierId.

DomainValuePair Elements
Some attributes, such as SupplierId and UnitOfMeasure, contain WSDomainValuePair elements. For example,

<UnitOfMeasure>
<Domain>ANSI</Domain>
<Value>EA</Value>
</UnitOfMeasure>

Money
The Money element has the following child elements:
• Amount (optional decimal): Decimal amount.
• Currency (optional complex type): Contains UniqueName (optional string). Specifies the currency type
using the ISO 4217 alphabetic code (for example, USD, EUR, or CNY).

For example,

<NonContractPrice>
<Currency>USD</Currency>
<Amount>408</Amount>
</NonContractPrice>

Custom Attributes
Custom attributes are returned in ExtrinsicAttributes elements, which contain a FieldName element and
one or more Values elements. For example:

<ExtrinsicAttributes>
<item>
<Values>Acceptable</Values>
<FieldName>Condition</FieldName>
</item>
</ExtrinsicAttributes>

Errors
The Errors element consists of a list of items and its severity is (error or confirmation) returned by the web
service in the response. For example,

Ariba Procurement Content Integration Guide 30


Chapter 4 Catalog Search Using Web Services Implementation Overview

<Errors>
<item>Provide valid search field and value - MatchAll:[]
</item>
</Errors>

For more information on resolving errors, see “Troubleshooting” on page 35.

Sample Catalog Item Search Request


• Specific catalog item search - You can search for a specific catalog item in Ariba Procurement Content
(APC) using web services with the product ID. A product ID is a unique identifier of an item in APC and
search by product ID consists of BuyerSystemID, SupplierPartID, and SupplierPartAuxID. Note,
search for single or multiple product IDs in a requisition at the same time is allowed.
The following is an example of searching for specific in Ariba Procurement Content using web services
with the product ID. This is a request to search for a specific product sid498|RAY41400 for the user
adavis. The value of the searchable field name is <urn:Field>Key</urn:Field> with
<urn:Operator>like</urn:Operator>.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"tha
xmlns:urn="urn:Ariba:Buyer:vrealm_1">
<soapenv:Header>
<urn:Headers>
<urn:variant>vrealm_1</urn:variant>
<urn:partition>prealm_1</urn:partition>
</urn:Headers>
</soapenv:Header>
<soapenv:Body>
<urn:WSCatalogItemSearchRequest partition="prealm_1" variant="vrealm_1">
<urn:WSCatalogSearchQueryRequest_Item>
<urn:item>
<urn:SearchTerms>
<urn:item>
<urn:Field>Key</urn:Field>
<urn:Operator>like</urn:Operator>
<urn:Values>
<urn:item>sid498|RAY41400</urn:item>
</urn:Values>
</urn:item>
</urn:SearchTerms>
<urn:Sort></urn:Sort>
<urn:SortDirection></urn:SortDirection>
<urn:UserId>adavis</urn:UserId>
</urn:item>
</urn:WSCatalogSearchQueryRequest_Item>
</urn:WSCatalogItemSearchRequest>
</soapenv:Body>
</soapenv:Envelope>

Sample Catalog Item Search Response


The following is a response returned for the specific catalog item search request for sid498|RAY41400 on
variant vrealm_1 and partition prealm_1.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header>
<Headers xmlns="urn:Ariba:Buyer:vrealm_84">
<variant>vrealm_84</variant>

Ariba Procurement Content Integration Guide 31


Chapter 4 Catalog Search Using Web Services Implementation Overview

<partition>prealm_84</partition>
</Headers>
</soap:Header>
<soap:Body>
<WSCatalogItemSearchReply xmlns="urn:Ariba:Buyer:vrealm_84">
<WSCatalogSearchResponse_Item>
<item>
<Errors/>
<CatalogItems>
<item>

<SupplierPartAuxiliaryId/>
<ManufacturerPartId>303/357-1W</ManufacturerPartId>
<Key>sid498|RAY41400</Key>
<PunchoutEnabled>false</PunchoutEnabled>
<CatalogName>SchaferOffice</CatalogName>
<EffectiveDate/>
<Thumbnail/>
<InKitOnly>false</InKitOnly>
<ExpirationDate/>
<ManufacturerName/>
<ErrorSeverity/>
<AribaInternalMAId/>
<PriceBasisQuantityUOM>
<Domain/>
<Value/>
</PriceBasisQuantityUOM>
<LinkedBuyerFacility/>
<ReportingPath/>

<BuyerPartId/>
<ManufacturerURL/>
<ContractPrice>
<Currency>USD</Currency>
<Amount>1.56</Amount>
</ContractPrice>
<AribaInternalIsContractOrderable>false</AribaInternalIsContractOrderable>
<LeadTime>1</LeadTime>
<SpecSheet/>
<Price>
<Currency>USD</Currency>
<Amount>1.56</Amount>
</Price>
<ShortName/>

<SupplierId>
<item>
<Domain>buyersystemid</Domain>
<Value>sid498</Value>
</item>
</SupplierId>
<OriginatingLineNumber>0</OriginatingLineNumber>
<HazmatSheet/>
<Filtered>false</Filtered>
<ApplicableContracts/>
<ClassificationCode>
<item>
<Domain>UNSPSC</Domain>
<Value>26111711</Value>
</item>
</ClassificationCode>
<PriceBasisQuantityDesc/>
<OriginatingColumnNumber>0</OriginatingColumnNumber>
<InternalPartId>false</InternalPartId>

Ariba Procurement Content Integration Guide 32


Chapter 4 Catalog Search Using Web Services Implementation Overview

<ExtrinsicAttributes>
<item>
<Values>
<item/>
</Values>
<FieldName>bestprice</FieldName>
</item>
<item>
<Values>
<item/>
</Values>
<FieldName>hazardousmaterials</FieldName>
</item>
<item>
<Values>
<item/>
</Values>
<FieldName>green</FieldName>
</item>
</ExtrinsicAttributes>
<NonContractPrice>
<Currency>USD</Currency>
<Amount>1.56</Amount>
</NonContractPrice>
<PriceBasisQuantity/>
<SubscriptionVersionId/>
<Availability/>
<PunchoutLevel/>
<UnitOfMeasure>
<Domain>UN</Domain>
<Value>EA</Value>
</UnitOfMeasure>
<Image/>
<PreviewFilterName/>
<SupplierPartId>RAY41400</SupplierPartId>
<URL/>
<PunchoutStore/>
<PreviewFiltered>false</PreviewFiltered>
<TerritoryAvailable/>
<ConversionFactor/>
<CatalogTypeName>system:catalogitem</CatalogTypeName>
<Partial>false</Partial>
<Description>Watch/Calculator Batteries - 1.5 Silver</Description>
<Demo/>
<LinkedBuyerPart/>
<ProcureItemType/>
<PropertiesMask/>
<ItemNumber>0</ItemNumber>
<Language>en_US</Language>
<SupplierName>Schafer Office</SupplierName>
</item>
</CatalogItems>
</item>
</WSCatalogSearchResponse_Item>
</WSCatalogItemSearchReply>
</soap:Body>
</soap:Envelope>

• Multiple Product ID Search - You can search for mulitple catalog items in Ariba Procurement Content
(APC) using web services with the product ID. A product ID is a unique identifier of an item in APC and
search by product ID consists of BuyerSystemID, SupplierPartID, and SupplierPartAuxID. Note,
search for single or multiple product IDs in a requisition at the same time is allowed.

Ariba Procurement Content Integration Guide 33


Chapter 4 Catalog Search Using Web Services Implementation Overview

The following is an example of searching for multiple catalog items in Ariba Procurement Content using
web services with the product IDs. A request to search for multiple products is as follows:

<urn:SearchTerms>
<urn:item>
<urn:Field>Key</urn:Field>
<urn:Operator>or</urn:Operator>
<urn:Values>
<urn:item>sid498|RAY41400</urn:item>
<urn:item>sid498|RAY45052</urn:item>
</urn:Values>
</urn:item>
</urn:SearchTerms>

Where
• Products are sid498|RAY41400, sid498|RAY45052
• Value of the searchable Field name is Key
• Supported Operator is or
• Free text search - You can perform free text search for catalog items. For example, you can search for a
catalog item “monitors and keyboards” and monitor and keyboards across multiple catalogs, within a
single catalog, or within categories across multiple catalogs are retrieved.
The following is an example of free text searching in Ariba Procurement Content using web services
using the MatchAll field with the like operator as like is supported for all searchable fields.

Free Text Search Request


<urn:SearchTerms>
<urn:item>
<urn:Field>MatchAll</urn:Field>
<urn:Operator>like</urn:Operator>
<urn:Values>
<urn:item>Monitor or Keyboard</urn:item>
</urn:Values>
</urn:item>
</urn:SearchTerms>

• Attribute search - An attribute search is a search that requires you to specify the set of attributes to
perform the search. The following is an example of searching catalog items for
<SupplierPartAuxiliaryId/> and <SupplierId> attributes.

Attribute Search Request


<urn:item>
<!--You may enter the following 4 items in any order-->
<urn:SearchTerms>
<!--1 or more repetitions:-->
<urn:item>
<!--You may enter the following 3 items in any order-->
<urn:Field>MatchAll</urn:Field>
<urn:Operator>like</urn:Operator>
<urn:Values>
<!--1 or more repetitions:-->
<urn:item>JohnDoef1513</urn:item>
</urn:Values>
</urn:item>
</urn:SearchTerms>

Ariba Procurement Content Integration Guide 34


Chapter 4 Catalog Search Using Web Services Troubleshooting

<urn:Sort></urn:Sort>
<urn:SortDirection></urn:SortDirection>
<urn:UserId>jham</urn:UserId>
</urn:item>

Troubleshooting
The following table lists the commonly-encountered errors related to searching catalog items using web
services:

Error Resolution
Invalid user ID Provide a valid user ID

Invalid search term Provide a valid search term

Product ID Provide a valid product ID


validation failed due
to an unexpected
error

Search term not Provide a search term that is supported.


supported

Invalid search field Provide a valid search value


and value

Invalid search Provide a correct search operator


operator

Search request has The search request has reached the maximum of 10000 search
reached the results. You can narrow down the search operations and try
maximum limit again.

Search field already Provide a unique search field


exists. Duplicate
search fields are not
allowed.

Specified sort by Provide the correct sort by field option


field is incorrect

Invalid sort direction Provide a correct sort direction

Ariba Procurement Content Integration Guide 35

You might also like