35
Ariba Procurement Content Integration Guide Release 12s Document Version 3 March 2014

Ariba Procurement Content Integration Guide · Ariba Procurement Content Integration Guide 6 Chapter 2 Integrating with Oracle iProcurement † “Overview” on page 6 † “Pre-Requisites

Embed Size (px)

Citation preview

Ariba Procurement Content™

Integration GuideRelease 12sDocument 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 otheragreement containing restrictions on use and disclosure and are also protected by copyright, patent and/or other intellectual property laws. Except as permittedby such agreement, no part of the document may be reproduced or transmitted in any form by any means, electronic, mechanical or otherwise, without theprior 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 thedocumentation 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 areregistered trademarks of Ariba, Inc. Ariba Procure-to-Pay, Ariba Buyer, Ariba eForms, Ariba PunchOut, Ariba Services Procurement, Ariba Travel andExpense, Ariba Procure-to-Order, Ariba Procurement Content, Ariba Sourcing, Ariba Savings and Pipeline Tracking, Ariba Category Management, AribaCategory Playbooks, Ariba StartSourcing, Ariba Spend Visibility, Ariba Analysis, Ariba Data Enrichment, Ariba Contract Management, Ariba ContractCompliance, Ariba Electronic Signatures, Ariba StartContracts, Ariba Invoice Management, Ariba Payment Management, Ariba Working CapitalManagement, Ariba Settlement, Ariba Supplier Information and Performance Management, Ariba Supplier Information Management, Ariba Discovery, AribaInvoice Automation, Ariba PO Automation, Ariba Express Content, Ariba Ready, and Ariba LIVE are trademarks or service marks of Ariba, Inc. All otherbrand 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 otherintellectual property licensed from a third party, go to http://www.ariba.com/copyrights.cfm.

Ariba Procurement Content Integration Guide iii

Revision History

The following table provides a brief history of the updates to this guide. Ariba updates the technicaldocumentation for its On Demand solutions if

• software changes delivered in service packs or hot fixes require a documentation update to correctlyreflect 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. Mostdocumentation 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 anyHelp@Ariba page.

DocumentVersion

Month/Year ofUpdate

Updated Chapter/Section Short Description of Change

1 August 2012 NA Resetting document version torelease 12s

2 June 2013 Integrating with OracleiProcurement/Configuring PunchOut

Updated the table with missingpunchout parameters

3 March 2014 SAP SRM - Support for OCIVALIDATE Function

Added a section on support for OCIVALIDATE function

4 March 2014 Web Services chapter Added a new chapter on webservices

Ariba Procurement Content Integration Guide iv

Table of Contents

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

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

Chapter 2 Integrating with Oracle iProcurement. . . . . . . . . . . . . . . . . . . . 6Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Pre-Requisites for Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

About PunchOut Access Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Flow of Data Across the Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Configuring Punchout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Creating the PunchOut Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Advanced Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Catalog Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Mapping Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

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

About SAP SRM 7.0 Certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Flow of Data Across the Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Advanced Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Catalog Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Mapping Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Support for Open Catalog Interface VALIDATE Function. . . . . . . . . . . . . . . . . . . . . . . . 20

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Invalid Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Missing ScrollBar in Ariba Procurement Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Validity of Data in Open Catalog Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

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

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

Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Ariba Procurement Content Integration Guide 5

Chapter 1 Introduction

Overview

This document provides an overview of integration between Ariba Procurement Content and E-procurementapplications using standards-based communication. Ariba Procurement Content supports integration usingthe 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 basedprotocols. For more information, see “Integrating with Oracle iProcurement” on page 6.

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

Ariba Procurement Content Integration Guide 6

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 fieldsfor collaboration.

Choose Direct PunchOut using cXML if you want to:

• Access catalogs only from one supplier.

Ariba Procurement Content Integration Guide 7

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 punchouttransaction. To understand the specifications of a transaction, see the cXML User's Guide at the followingURL:

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. Afterbeing registered on Ariba Network, the iProcurement application needs to set up a relationship with AribaProcurement 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 aPunchoutSetupRequest document to the Ariba Network.

2 Ariba Network authenticates the iProcurement application and opens an HTTPS session with AribaProcurement Content to pass the request.

3 Ariba Procurement Content processes the incoming request, performs the necessary setup and returns aredirect 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 URLsent 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 POSTrequest back to the iProcurement application with the contents of the shopping cart.

Ariba Procurement Content Integration Guide 8

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 Methodand click Continue.

Ariba Procurement Content Integration Guide 9

Chapter 2 Integrating with Oracle iProcurement Configuring Punchout

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

Punchout URL

For cXML use the following URL:

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

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

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

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. Itshould include not only the URL, but the program name that will receive andprocess 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. Thepassword will be used as a site-level password to access the supplier site. Thesupplier needs to provide you with the value.

Retype Password Retype the shared secret password.

Prevent changes to itemsreturned from Punchout Site

Select this checkbox.

All Prices are negotiated De-select this checkbox.

Ariba Procurement Content Integration Guide 10

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. Forexample, supplierid.buyersystemid or supplierid.duns

• SupplierIdentity - The value you choose for the SupplierDomain. For example, if you choosebuyersystemid, 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&PreferredSupplierDomain=<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 replacedwith the ANID of the external procurement system. If the value of the parameter is not set or set to True, theShipTo Address is replaced with the the ANID of the external procurement system. The default value of theOverrideShipTo 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 namein 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 thePunchout URL.

When a user punches in to Ariba Procurement Content, the catalogs are filtered based on the group valuein 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-catalogitems to the shopping cart.

Ariba Procurement Content Integration Guide 11

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 catalogfields 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 CatalogManagement 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 ServiceAdministration Guide.

Standard Customization for Category Fields Mappings

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

After collaboration completes, you send the catalog fields that are defined by a category to OracleiProcurement 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 theshopping cart.

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

Ariba Procurement Content Integration Guide 12

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 comefrom a previous session. Please select Home to proceed.

Reason: The punchout flow generates an error when attempting to return from the supplier site to theiProcurement shopping cart if the values of the two profile options Framework Validation Level and FNDFunction Validation Level are set to Error. (These two profile options will automatically be set to Errorafter 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 displayedin 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 thevalues 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 whenyou choose to view the additional technical details for this failure:

Error Code: 201 Unable To Reach Supplier SiteUnable to send the Login Request XML.Supplier Login URL:..…..……ProcessorExceptionProxy Host: nullProxy Port: -1CA Certification File Location:e:\oracle\visora\iAS\Apache\Apache\conf\ssl.crt\svcitg.ariba.com.cerURL: https://ariba.com/Buyer/Main/ad/transform/POSRListenerjava.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 13

Chapter 2 Integrating with Oracle iProcurement Troubleshooting

Fix: Populate all the mandatory fields with relevant values.

Ariba Procurement Content Integration Guide 14

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 usingOpen Catalog Interface (OCI) based protocols. OCI is the standard format used by SAP SRM whenconnecting 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 punchinthrough 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.0has 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 partof the target attribute. The target attribute is used on the return path from Ariba Procurement Content and itspecifies 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 youare using Firefox then the value should be _top only.

For more information, see SAP Note: 1287412.

Ariba Procurement Content Integration Guide 15

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 theHOOK_URL parameter value.

Previously, Ariba Procurement Content truncated the HOOK_URL parameter value, preventing users fromreturning 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 inthis version.

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

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

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 SRMduring a punchout transaction.

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

Ariba Procurement Content Integration Guide 16

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

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 Contentredirects the User’s browser using HTTP FORMPOST containing the Shopping Cart contents.

PurchasingUnit No Purchasing Unit The purchasing unit associated with the user.Ariba Procurement Content is enabled to receivepurchasing units as an extrinsic field fromSAP SRM. The User Profile and PurchasingUnit associations help filter the content that auser 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. Forexample: AvailableTerritories = ('US').

Groups No Groups The groups associated with the user.

ShoppingCartAuxID No Shopping Cart ID The shopping cart ID.

PreferredSupplierDomain No Preferred SupplierDomain

The supplier domain value that needs to bereturned in the shopping cart. For example: dunsor networkid. If left blank, the buyersystemidvalue is returned by default.If your system cannot accommodate fields thatare over 20 characters in length, useSupplierDomain.

SupplierDomain No Supplier Domain The supplier domain value that needs to bereturned in the shopping cart.Use this instead ofPreferredSupplierDomain if your systemcannot accommodate fields that are over 20characters in length.

User.Address.UniqueName

No Address Ariba Procurement Content looks the value ofthis field and updates the users address whencreating the user.

User.Address.Street No State The part of the address that contains thehouse/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 17

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

2 The SAP SRM application initiates the OCI protocol by sending a HTTPS POST request to AribaProcurement 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 thecustomer 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 cartcontents to SAP SRM as part of form fields as specified by the OCI specifications below:

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 inthe format that is loaded in Ariba ProcurementContent.

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_CHARSET

No Character encodingsystem

The name of the character encoding system thatthe HTTP form POST needs to be encoded in. Ifthe parameter is left blank, the message isencoded in Unicode (UTF-8) by default.

OCI Inbound Parameters

Field Name Description Example

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

NEW_ITEM-DESCRIPTION[#] The description of the item in the catalog.(Onlythe first 40 characters are displayed.)

Rayovac 1.5VAlkaline MaximumBatteries

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

OCI Outbound Parameters

Field Name Mandatory Description Meaning

Ariba Procurement Content Integration Guide 18

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

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 ornot .["X" indicates a service item , " " indicates anon-service item]

NEW_ITEM-EXT_PRODUCT_ID[1] The unique key for this item in the catalog whichis a combination of Supplier ID ,SupplierPartIDand SupplierAuxillaryPartID and separated bythe ¦ character.

Sid498 ¦ RAY19844¦

NEW_ITEM-LONGTEXT_1:132[] Ariba uses long text attribute to add descriptionand other details associated with catalog items.The format is as below:

Catalog Item Description nlCOLLABORATION_ATTRIBUTES nlattribute: value nlnlCOLLABORATION_ATTRIBUTES_BASE64 nlITEM_ATTRIBUTES nlattribute: value nlnlCLASSIFICATION_CODES nldomain: value nlnl

Where nl represents new line separators in theinput.

Rayovac 1.5VAlkaline MaximumBatteries - AAA -2/Pack

NEW_ITEM-CUST_FIELD1[#] User-defined custom field. The maximum lengthis 10 characters.

NEW_ITEM-CUST_FIELD2[#] User-defined custom field. The maximum lengthis 10 characters.

NEW_ITEM-CUST_FIELD3[#] User-defined custom field. The maximum lengthis 10 characters.

NEW_ITEM-CUST_FIELD4[#] User-defined custom field. The maximum lengthis 20 characters.

NEW_ITEM-CUST_FIELD5[#] User-defined custom field. The maximum lengthis 50 characters.

OCI Inbound Parameters

Field Name Description Example

Ariba Procurement Content Integration Guide 19

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 SAPSRM) parameters:

• CustomFilterQuery

TerritoryAvailable is used as a name pair value in CustomFilterQuery values. Territory available is a fieldavailable out of the box in catalogs. Each catalog item needs to be loaded with Territory Available (singleor multiple) field values. When a user punches in with Territory Available values, the catalogs are filteredbased 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 TerritoryAvailable values.

• Groups

Catalog Views can be used to filter catalogs. The OCI outbound parameter Group must have the value ofthe 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 outboundparameter Group.

When a user punches in to Ariba Procurement Content, the catalogs are filtered based on the group valuein the OCI outbound parameter. For more information on Catalog Views, see the Ariba ProcurementCatalog Administration Guide.

• PurchasingUnits

Purchasing Units can be used to filter suppliers. Catalogs can then be filtered based on the filteredsuppliers.

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 suppliersthat 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 SAPSRM. Custom Catalog fields can be mapped to any of these custom fields in Ariba Procurement Content.

Ariba Procurement Content Integration Guide 20

Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

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

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

<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 ServiceAdministration 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 toAriba Procurement Content (APC) to validate the catalog items using the OCI VALIDATE function. APCthen 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 inAriba Procurement Content. Ariba Procurement Content, then, validates the catalog items and returns aresponse. 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 AribaProcurement 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 inAriba Procurement Content, then the search for the product ID fails and the “No line item found” errormessage 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 toOCI validate function request.

• No retry option is available for catalog search. However, SAP SRM can have its own retry option in caseof a failure.

Support for catalog item validation requests from SAP SRM in Ariba Procurement Content involves thefollowing steps:

• SAP SRM sends a HTTPS POST request to APC with certain parameter values that initiates theVALIDATE function in OCI protocol.

• Ariba Procurement Content sends a HTTPS POST response to SAP SRM with the relevant catalog itemdetails associated with each PRODUCT ID parameter value.

Ariba Procurement Content Integration Guide 21

Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

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

Sample OCI Request

HOOK_URL=http://fakhan1.ariba.com:8050/Buyer/test-catserver/content/ContentDataReceiver?PunchinId=AN02000429399PunchinPassword=welcome1arealm=apcAippSapPRODUCTID=sid498|RAY45047|aux83667QUANTITY=1FUNCTION=VALIDATEUniqueName=adavis

Sample OCI Response

The response to the above-mentioned is as follows:NEW_ITEM-MANUFACTMAT[1]=714-2NEW_ITEM-SERVICE[1]=NEW_ITEM-QUANTITY[1]=1NEW_ITEM-PRICE[1]=7.840NEW_ITEM-EXT_CATEGORY[1]=26111701NEW_ITEM-EXT_PRODUCT_ID[1]=sid498|RAY45047|aux83667NEW_ITEM-VENDORMAT[1]=RAY45047NEW_ITEM-VENDOR[1]=sid498NEW_ITEM-UNIT[1]=BXNEW_ITEM-MATGROUP[1]=R1133NEW_ITEM-DESCRIPTION[1]=Rayovac Renewal Reusable Alkaline Batteries -...NEW_ITEM-PRICEUNIT[1]=1NEW_ITEM-CUST_FIELD1[1]=

Parameter Description

HOOK_URL The parameter name must be HOOK_URL.The value of the returnURL must be empty; the actual return URL is determinedduring run time by SAP SRM.

PunchinID Ariba Network ID that allows suppliers to punch in to AribaProcurement Content and use the PunchOut capability.

PunchinPassword A password that allows suppliers to punch in to AribaProcurement 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 toAriba Procurement Content

Ariba Procurement Content Integration Guide 22

Chapter 3 Integrating with SAP SRM Advanced Configuration Settings

NEW_ITEM-LONGTEXT_1:132[1]=Rayovac Renewal Reusable Alkaline Batteries - C - 2/PackNEW_ITEM-MANUFACTCODE[1]=NEW_ITEM-CURRENCY[1]=USDNEW_ITEM-LEADTIME[1]=1NEW_ITEM-EXT_SCHEMA_TYPE[1]=unspscNEW_ITEM-CONTRACT[1] ::NEW_ITEM-CUST_FIELD1[1] ::collared:falseNEW_ITEM-CUST_FIELD2[1] ::size:small, medium, largeNEW_ITEM-CUST_FIELD3[1] ::color:orange, blueNEW_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 23

Chapter 3 Integrating with SAP SRM Troubleshooting

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.1Accept: 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-usContent-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflateCookie: DefaultTab=buyerUser-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.comContent-Length: 585Connection: Keep-AliveCache-Control: no-cachePunchinId=ANXXXXXXXXXXX&PunchinPassword=secret&UserName=bwayne&realm=realm_5&Url=+&HOOK_URL=http://customer.com/returnURL

Setup Response

HTTP/1.1 302 Moved TemporarilyDate: GMTServer: Apachecache-control: no-cachepragma: no-cacheVary: Accept-Encoding,User-AgentContent-Encoding: gzipKeep-Alive: timeout=120, max=100Connection: Keep-AliveTransfer-Encoding: chunkedContent-Type: text/html;charset=UTF-8NEW_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-CUST_FIELD4[n] User-defined field

NEW_ITEM-CUST_FIELD5[n] User-defined field

Field Description

Ariba Procurement Content Integration Guide 24

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.0through the SAP NetWeaver Portal.

Reason: This is happening because the appropriate parameter in the window.open JavaScript method (thatenables 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 thescrollbars 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 25

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 followingtable shows the features and the string tokens you can use in the windowfeatures parameter:

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 widthand 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");

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

Ariba Procurement Content Integration Guide 26

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 retrieveproduct ID

Ensure the product ID is correct and try again

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

No record was foundfor the given productID

Ensure the product ID is correct and try again

Invalid value for theAriba Network IDfield

Ensure the value for the Ariba Network ID is correct and tryagain

Product IDvalidation failed dueto an unexpectederror

Enter the correct product ID and try again

Ariba Procurement Content Integration Guide 27

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. Thesupported 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 Aribaweb services provide integration tasks, or integration events, that send and receive SOAP messages. Anintegration task requires an end point for the logical communication channel used by web services. An endpoint 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 andFundamentals Guide.

Note: You must ensure your site is configured for web services and the Inbound end point. Inbound endpoints 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 externalsystems 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 followinggeneral guidelines apply to the CatalogItemSearch web service:

Ariba Procurement Content Integration Guide 28

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 thefollowing properties:

• Attribute Name- Name of an attribute

• Attribute Type- Type of an attribute

• Data Type - Determines the value of an attribute

The CatalogItemSearch web service receives CatalogSearchQueryRequest messages and sendsCatalogSearchQueryResponse messages.

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

Ariba Procurement Content Integration Guide 29

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.

WSCatalogSearchRequest Elements

The WSCatalogSearchRequest element consists of the following sub-elements

WSCatalogItemSearchRequestWSCatalogSearchQueryRequest_ItemWSCatalogSearchQueryRequest

WSCatalogSearchQueryRequest consists of the following sub-elements.

Element Required Description

variant Mandatory String. Specify a value for this element

partition Mandatory String. Specify a value for this element

Element Required Description

SearchTerms Mandatory Consists of one or more WSCatalogSearchTerm elements(at least one search term is mandatory). Child elementsWSCatalogSearchTerm are:

• Field - Key• Operators - Like, or• Values

Sort Optional You can sort the catalog item search results with thefollowing 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 mostcomplete string match and is set as the default value.

• Price - Ascending sorts the items by price inascending order.

• Price - Descending sorts the items by price indescending 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 isprovided. The supported values are asc and desc.

UserID Mandatory This element searches for user information. The usersearch is based on the user’s unique name and the locale ofthe search results is based on the user’s locale.

Ariba Procurement Content Integration Guide 30

Chapter 4 Catalog Search Using Web Services Implementation Overview

WSCatalogItemSearchReply Elements

WSCatalogItemSearchReply consists of the following sub-elements:

WSCatalogSearchResponseWSCatalogSearchResponse_Item

CatalogItemsWSCatalogItem

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

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 typeusing 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 andone 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 webservice in the response. For example,

Ariba Procurement Content Integration Guide 31

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 andsearch 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 serviceswith the product ID. This is a request to search for a specific product sid498|RAY41400 for the useradavis. 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/"thaxmlns: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 onvariant 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 32

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 33

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 andsearch 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 34

Chapter 4 Catalog Search Using Web Services Implementation Overview

The following is an example of searching for multiple catalog items in Ariba Procurement Content usingweb 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 acatalog item “monitors and keyboards” and monitor and keyboards across multiple catalogs, within asingle catalog, or within categories across multiple catalogs are retrieved.

The following is an example of free text searching in Ariba Procurement Content using web servicesusing 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 toperform 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 35

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 webservices:

Error Resolution

Invalid user ID Provide a valid user ID

Invalid search term Provide a valid search term

Product IDvalidation failed dueto an unexpectederror

Provide a valid product ID

Search term notsupported

Provide a search term that is supported.

Invalid search fieldand value

Provide a valid search value

Invalid searchoperator

Provide a correct search operator

Search request hasreached themaximum limit

The search request has reached the maximum of 10000 searchresults. You can narrow down the search operations and tryagain.

Search field alreadyexists. Duplicatesearch fields are notallowed.

Provide a unique search field

Specified sort byfield is incorrect

Provide the correct sort by field option

Invalid sort direction Provide a correct sort direction