APC Intg Mar14
APC Intg Mar14
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.
Chapter 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
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.
• “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.
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.
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.
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.
7 Choose either Direct punchout (Oracle native XML) or Direct punchout (cXML) as the Access Method
and click Continue.
8 In the Create Supplier Punchout (cXML) Catalog page enter the following information as applicable:
PunchOut Identification
Catalog Name Enter a name for the punchout catalog. The name will be displayed in the catalog
store.
Mapping Information
Key 1 Enter Ariba.
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.
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.
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:
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.
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
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.
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.
<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.
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.
Troubleshooting
This section provides information on troubleshooting error messages that might be displayed.
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.)
Reason: The unit of measure and category values that the supplier sends have not been mapped to the
values in Oracle iProcurement.
Reason: The certification chain has not been configured as needed by Oracle.
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.
• “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.
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.
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 flow of data across the systems is illustrated in the following workflow diagram:
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.
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:
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
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.
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.
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.
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.
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
Field Description
NEW_ITEM-MANUFACTMAT Item’s manufacturer part number
NEW_ITEM-EXT_CATEGORY Unique key for an external category from the schema above,
dependent of the version of the schema
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.
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&
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.
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:
For more information, see “Using the window.open Method” on page 24.
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")
toolbar The standard browser toolbar, with buttons such as Back and Forward
location The Location entry field where you enter the URL
directories The standard browser directory buttons, such as What’s New and What’s Cool
scrollbars Enable the scrollbars if the document is bigger than the window
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 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");
Error Resolution
Unable to retrieve Ensure the product ID is correct and try again
product ID
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
• “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
SupplierID DomainValuePair
CatalogName Id literal
AribaInternalMAId Id literal
ClassificationCode DomainValuePair
TypeName Id literal
PunchoutStore Id literal
Language Id literal
Price Money
ManufacturerName Name
WSCatalogSearchRequest Elements
The WSCatalogSearchRequest element consists of the following sub-elements
WSCatalogItemSearchRequest
WSCatalogSearchQueryRequest_Item
WSCatalogSearchQueryRequest
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.
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,
<Errors>
<item>Provide valid search field and value - MatchAll:[]
</item>
</Errors>
<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>
<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>
<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>
<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.
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.
• 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.
<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
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.