ariba buyer procurement user guide pdf

191
Ariba ® Procurement Solutions Integration Guide for SAP Ariba Procure-to-Order Ariba Procure-to-Pay Release 12s December 2014

Upload: others

Post on 11-Sep-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ariba Buyer Procurement User Guide pdf

Ariba®

ProcurementSolutions IntegrationGuide for SAP

Ariba Procure-to-Order™

Ariba Procure-to-Pay™

Release 12s

December 2014

Page 2: Ariba Buyer Procurement User Guide pdf

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.

Page 3: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 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.

DocumentVersion

Month/Year ofUpdate

UpdatedChapter/Section

Short Description of Change

1 August 2012 N/A Reset revision history for release 12s

2 November 2012 Integrating DataUsingWeb-Services andChapter 10 -IntegratingTransactionalData Using Files

Added information about the Import Invoice Status integrationevent that pulls information about the success or failure of aninvoice in your SAP ERP system.

3 June 2013 ConfiguringParameters

Added information about support for BAPI_PO_CREATE1 thatyou can use to create purchase orders in the SAP ERP system.

4 July 2013 Integrating DataUsing the WebServices Channel

Added information about configuring WSDL in SAPNetWeaver PI.

5 August 2013 All Updated some chapters as a result of defect fixes

6 December 2013 IntegratingTransactionalData Using FileChannel

Added some limitations to exporting POs, change POs andInvoices.

7 February 2014 SAP Integration -Overview

Added SAP NetWeaver PI 7.4 to the list of supportedversions.

8 May 2014 IntegratingTransactionalData Using FileChannel

Added information about time-out settings for invoice exports.Also updated the section heading for time-out settings specifiedfor receipts (Ch. 8).

9 June 2014 AccountAssignmentCategories

In the section about account assignment category imports,added a note that the requirement setting for the default requiredentries is fixed.

Page 4: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP iv

Revision History

10 August 2014 Document Typefor CreatingPurchase Orders

Added information about creating custom document types forpurchase orders.

11 December 2014 Parameters Added information about theBAPI_PO_PUSH_SECONDS_TO_WAIT and Z_ARIBA_RECEIPT_DOC_DATE parameters.

DocumentVersion

Month/Year ofUpdate

UpdatedChapter/Section

Short Description of Change

Page 5: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP v

Table of Contents

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

Part I Introduction to Ariba Procurement Solutions - SAPIntegration

Chapter 1 SAP Integration - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 13About SAP Integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapter 2 Configuring Ariba Procurement Solution . . . . . . . . . . . . . . . . 17Verifying Connection Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Receiving Tolerances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Receiving System Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Enabling Generation of an ERP Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Specifying the Preferred Ordering Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Specifying a Unique Number for Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Enabling Cancel Order Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Enabling Creation of Split Orders Based on Currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Chapter 3 Configuring SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Setting Up Ariba Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Creating a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Installing the SAP Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Downloading the Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Installing Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Running Directory Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Creating a Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Moving Files to a Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Renaming a Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Configuring Time-out Intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Verifying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Bank Selling Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Blank Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Vendor Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Vendor ERS Tax Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Catalog Item Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Testing Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Page 6: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP vi

Table of Contents

Chapter 4 Configuring NetWeaver XI/PI. . . . . . . . . . . . . . . . . . . . . . . . . . 28Configuring the System Landscape Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Importing Ariba SN Product and Component Definitions . . . . . . . . . . . . . . . . . . . . . . . . 29Configuring Technical and Business Landscape for Procurement Solutions . . . . . . . . . . 29Configuring Technical and Business Landscape for SAP R/3 . . . . . . . . . . . . . . . . . . . . . 30

Configuring Transaction Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Importing the Design Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Configuring R/3 Connectivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Configuring SAP NetWeaver XI/PI Value Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Configuring Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

About Configuring Integration Scenarios in the Integration Directory . . . . . . . . . . . . . . . . . . 35Configuring an Integration Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Transferring Integration Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Configuring the Integration Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Configuring Communication Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Transferring the Integration Scenario in SAP NetWeaver PI 7.1 and 7.11. . . . . . . . . . . . 38Configuring the Integration Scenario in SAP NetWeaver PI 7.1 and 7.11 . . . . . . . . . . . . 38Integration Scenario Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Configuring NetWeaver XI/PI for Web Services Integration. . . . . . . . . . . . . . . . . . . . . . . . . . 41Generation of keys for signing of NetWeaver XI/PI messages. . . . . . . . . . . . . . . . . . . . . 41Configuration for Inbound Messages Received by NetWeaver XI/PI . . . . . . . . . . . . . . . 42

Part II Integrating Master Data

Chapter 5 Integrating Master Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45About Master Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Importing Master Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Required Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Importing Payment Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Company Code Import RFC Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Customizing RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

About Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Adding Fields to Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Typical Extension Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Filtering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Static Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51ABAP Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Post-Hook Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

Master Data Integration Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Understanding the Master Data Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Running the Master Data Import Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Checking Output CSV Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Importing Data in Multiple Languages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Master Data Integration Through Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Enabling Master Data Integration Through Web Services . . . . . . . . . . . . . . . . . . . . . . . . 63

Chapter 6 Configuring Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64About ZARIBTVARV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Page 7: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP vii

Table of Contents

Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Days Past Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Minority Vendor Head Offices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Currency Conversion Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Internal Order Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Vendor Pull Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Using General Ledger Balance Sheet Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Language for Texts Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Allow Duplicates for Invoice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Document Type for Creating Expense Report Invoices . . . . . . . . . . . . . . . . . . . . . . . . . . 69Document Type for Creating OK-to-Pay Invoices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Chapter 7 Account Assignment Categories. . . . . . . . . . . . . . . . . . . . . . . 71About Account Assignment Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Account Assignment Category Imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Configuring Account Assignment Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Understanding Ariba Procurement Solutions Accounting Types . . . . . . . . . . . . . . . . . . . 72Configuring SAP Accounting Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Understanding Field Status Group Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Viewing Field Status Group Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Importing New Accounting Objects From SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Part III Integrating Transactional Data Using Web Services

Chapter 8 Integrating Data Using the Web Services Channel . . . . . . . . . 79About Transaction Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Typical Integration Event Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79Understanding SOAP URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Understanding WSDLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Configuring WSDL in SAP NetWeaver PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Formatting Dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Components of an Integration Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Advanced Pricing Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Scheduled Task for PurchaseOrdHeaderStatusImport . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Scheduled Task for RemittanceImport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Scheduled Task for ReceiptExport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Integrating Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Payment Terms Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Integrating Changed and Canceled Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Importing Requisitions Using Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Enabling Import of Requisitions Using Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Using Import of Requisitions Through Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Managing Import of Requisitions Through Web Services . . . . . . . . . . . . . . . . . . . . . . . . 95Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Page 8: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP viii

Table of Contents

Integrating Receipts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97About Filtering and Customer Exit Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Modifying Customer Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Extension Structures for Export Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Understanding Screen Field Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Mapping Fields for Receipts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Changing and Removing Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Integrating Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103About Payment Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Integration Events for Exporting Payment Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Importing Payment Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Integrating Remittance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Integrating Amount-Based Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Customizing Existing Integration Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Chapter 9 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107System-Level Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Part IV Integrating Transactional Data Using File Channel

Chapter 10 Integrating Transactional Data Using File Channel. . . . . . . 112Transactional Data Integration Event Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Configuration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Configuring the Options File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Scheduling Data Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Transaction Data Integration Event Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Advanced Pricing Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Exporting Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118Running the Purchase Order Export Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Exporting Change Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Running the Change Purchase Order Export Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Payment Terms Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Exporting Cancel Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Running the Cancel Purchase Order Export Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Importing Purchase Order Header Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Running the Purchase Order Header Status Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Exporting Receipts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Running the Receipts Export Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Filtering and Customer Exit Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Exporting Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Understanding Payments Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Running the Payment Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Program Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Accommodating Custom Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Page 9: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP ix

Table of Contents

Calling the SAP BAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Checking for Duplicate Invoices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Posting Special Charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Jurisdiction Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Document Type Determination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Custom Process Invoice Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Program Limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Exporting Invoice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132Running the Payments Export Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132Accommodating Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Calling the SAP RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Scheduling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Exporting Expense Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Understanding the Expense Report Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Running the Expense Report Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Program Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Accommodating Custom Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Calling the SAP BAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Checking for Duplicate Invoices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Determining Document Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Offset Entry for Company Paid expense. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Calculating the Gross Amount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Changing INVOICE_IND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Custom Process ER Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Importing Remittance Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Understanding the Remittance Data Pull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Running the Remittance Data Import Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Checking Output CSV Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Additional Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Accommodating Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Chapter 11 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Part V Reference Information

Appendix A Integration Events Reference . . . . . . . . . . . . . . . . . . . . . . . 148Common Integration Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Integration Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

Appendix B Ariba SAP Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Naming Conventions for Ariba SAP Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Summary of Ariba SAP Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Page 10: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP x

Table of Contents

ZAR6 Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Function Groups and Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Data Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Message Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

ZARC Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Function Groups and Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

ZARIBA_SSP_INVOICE Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Function Groups and Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

ZARIBA_SSP_CUSTINVOICE Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Dictionary Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

ZARIBA_SSP_REMITTANCE Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Dictionary Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

ZARIBA_SSP_CUST_REMITTANCE Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Dictionary Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

ZARIBTVARV RFC Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166ZARIBA_MASTER_DATA Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167ZARIBA_MASTER_DATA Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167ZARIBA_MASTER_DATA Data Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169ZARIBA_MASTER_DATA Message Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

ZARIBA_PO_PUSH Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170ZARIBA_PO_PUSH Function Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170ZARIBA_PO_PUSH Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

ZARIBA_CUST_PO_PUSH Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171ZARIBA_CUST_PO_PUSH Function Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171ZARIBA_CUST_PO_PUSH Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

ZARIBA_CHANGEORDER Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172ZARIBA_CHANGEORDER Function Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172ZARIBA_CHANGEORDER Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

ZARIBA_CUST_CHANGEORDER Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173ZARIBA_CUST_CHANGEORDER Function Group. . . . . . . . . . . . . . . . . . . . . . . . . . 173ZARIBA_CUST_CHANGEORDER Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

ZARIBA_GR_PUSH Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174ZARIBA_GR_PUSH Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174ZARIBA_CUST_GR_PUSH Function Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

ZARIBA_ER_PUSH Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176ZARIBA_ER_PUSH Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

ZARIBA_ER_CUST_PUSH Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177ZARIBA_ER_CUST_PUSH Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

ZARIBA_INVOICE Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178ZARIBA_INVOICE Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Page 11: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP xi

Table of Contents

ZARIBA_CUST_INVOICE Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179ZARIBA_CUST_INVOICE Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

ZARIBA_FILE_CHANNEL Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180ZARIBA_FILE_CHANNEL Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

ZARIBA_CUST_FILE_CHANNEL Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Appendix C About SAP Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Overview of SAP Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Delivered Transport Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Location of Transport Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Transport Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Import Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

Transport Description Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Base Functionality Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Page 12: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 12

Part I Introduction to Ariba ProcurementSolutions - SAP Integration

Part I of this book provides information that is common to - SAP integration using Web Services as well asFile based integration.

Part 1 includes the following chapters:

• Chapter 1, “SAP Integration - Overview”

• Chapter 2, “Configuring Ariba Procurement Solution”

• Chapter 3, “Configuring SAP”

• Chapter 4, “Configuring NetWeaver XI/PI”

Page 13: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 13

Chapter 1 SAP Integration - Overview

• “About SAP Integration” on page 13

About SAP Integration

The integration between Ariba procurement solutions and SAP system supports the exchange of both masterand transaction data. You can enable this integration of data either through file or Web Services.

File-Based Integration

File-based integration is enabled using Ariba Integration Toolkit that allows integration of master data andtransactional data with the SAP R/3 system. Ariba Integration Toolkit is an Ariba-developed middlewarethat consists of the Data Transfer Tool and DB Connector. The Ariba Integration Toolkit enables dataexchange in the following scenarios:

Ariba Procurement Solutions to SAP R/31 The Data Transfer Tool downloads transactional data from Ariba procurement solutions to the configured

location on your file system. The data from Ariba procurement solutions is exported in the form of CSVfiles that are generated for each integration event that you run.

2 When the ABAP program provided by Ariba is scheduled to run in SAP, it reads the downloaded CSVfiles from the file system and uploads the data to the SAP R/3 system.

SAP R/3 to Ariba Procurement Solutions1 When the ABAP program provided by Ariba is scheduled to run in SAP, it downloads master and

transaction status data from the SAP R/3 system to the configured location on your file system. The datais downloaded in the form of CSV files.

2 The Data Transfer Tool reads the downloaded CSV files from the file system and uploads the data to theAriba procurement solutions database.

The following graphics illustrate the integration of master and transactional data on file-based integration.

Page 14: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 14

Chapter 1 SAP Integration - Overview About SAP Integration

Master Data - File-Based Integration

1 The ABAP program provided by Ariba downloads master data from SAP R/3 in the form of CSV files.

2 The Data Transfer Tool then reads these CSV files and uploads data into Ariba Procurement Solutions.

Transactional Data - File-Based Integration

1 The Data Transfer Tool exports data from Ariba Procurement Solutions in the form of CSV files.

2 The ABAP program provided by Ariba then read these CSV files and transfers data to the SAP R/3system.

3 The ABAP program provided by Ariba then retrieve the status of each export transaction from the SAPR/3 system.

4 The Data Transfer tool reads these CSV files and uploads the status into Ariba procurement solutions.

Page 15: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 15

Chapter 1 SAP Integration - Overview About SAP Integration

Web Services Based Integration

Web Services based integration also allows integration of master data and transactional data. However,master data integration is not complete and allows you to import only some master data.

The following diagram illustrates the integration between Ariba procurement solutions and SAP R/3 usingWeb Services.

• The Web Services provide for real-time integration of the Ariba procurement solutions with SAP R/3systems using NetWeaver XI/PI. The integration using NetWeaver XI/PI is built out of the box. If youwant to use any other application system through a SOA supporting middleware, then you will have tobuild your integration.

• When an object is created in a procurement solution, which is configured to be sent to SAP, the WebServices generate a SOAP message based on the WSDL and dispatches it to a Web Services server suchas NetWeaver XI/PI using the URL configured through the Ariba Administrator.

• NetWeaver XI/PI is configured to receive SOAP messages using the SOAP adapter. It transforms the datausing the messaging mapping and converts the SOAP message to SAP format (typically RFC). The RFCadapter then transmits the information to SAP R/3 system based on the configuration.

• In SAP R/3, data is created using RFC/BAPI and the response (Success or failure) is sent back to XI,which again transforms the data and sends it back to the Ariba procurement solutions through the WebServices. The response is then updated in the respective procurement solution.

Supported Versions and Integration Landscape

The integration of Ariba procurement solutions is supported with the following SAP R/3 versions:

• 4.7

• 5.0

• 6.0

In case of web services-based integration between Ariba Procurement Solutions and SAP R/3, the followingSAP NetWeaver PI versions are supported:

• 7.0

• 7.1

• 7.3

• 7.4

Page 16: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 16

Chapter 1 SAP Integration - Overview About SAP Integration

Ariba recommends you to have separate installations of the integration for your Development andProduction environments.

Installation

You must install the Ariba Integration Toolkit if you are using file-based integration. For more information,see Ariba On Demand Solutions Integration Toolkit Guide.

Based on the solution you use, such as Procure-to-Pay, Procure-to-Order, or both, you must import theappropriate transports into your SAP system.

Page 17: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 17

Chapter 2 Configuring Ariba Procurement Solution

• “Verifying Connection Information” on page 17

• “Receiving Tolerances” on page 18

• “Enabling Generation of an ERP Order” on page 18

• “Specifying the Preferred Ordering Method” on page 19

• “Specifying a Unique Number for Purchase Orders” on page 19

• “Enabling Cancel Order Integration” on page 19

• “Enabling Creation of Split Orders Based on Currency” on page 20

Verifying Connection Information

In Web-Services based integration, for all export tasks, the URL of the XI/PI system is configured throughthe Ariba Administrator.

A generic URL looks similar to the following:

SoapURL="http:///XISOAPAdapter/MessageServlet?channel=:<BusinessSystemName>:<Communication ChannelName>";

For example:

SoapURL="http://<PIserver>:<port> sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_ChangePurchaseOrder_WSDL_Sender";

where,

• sapnw01: is the server name

• 50000: is the port

• BS_Procurement: is the business system name and

• CC_ChangePurchaseOrder_WSDL_Sender: is the communication channel name

Page 18: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 18

Chapter 2 Configuring Ariba Procurement Solution ReceivingTolerances

ReceivingTolerances

The Ariba procurement solutions allow users to enter receiving information about the items they order. Tosupport this feature, the procurement solution and SAP both need to receive items in the same way. Forexample, both must have similar receiving tolerances, or similar ways of allowing users to account for timeswhen they receive fewer or more items than they have ordered.

Receiving System Parameters

The Ariba procurement solutions allow you to configure receiving tolerances through the following settingsin the system parameters table:

• Application.Procure.OverReceivingOperator• Application.Procure.OverReceivingPercentage• Application.Procure.OverReceivingQuantity• Application.Procure.OverReceivingValue• Application.Procure.UnderReceivingOperator• Application.Procure.UnderReceivingQuantity• Application.Procure.UnderReceivingValue• Application.Procure.UnderReceivingPercentage

These values have to be set from the Service Manager. To set values for these parameters, please have yourDesignated Support Contact log a service request and an Ariba Customer Support representative will contactyou.

Make sure you know the following facts about Ariba procurement solutions receiving integration:

• Procurement solutions export both UnderReceiving and OverReceiving Percentages when exporting apurchase order.

• Procurement solutions do not import tolerances from SAP, but instead uses only those tolerances in thesystem parameters table.

• For receiving integration to work, make sure the receiving tolerances in Ariba procurement solutionsmatch the receiving tolerances in SAP.

Enabling Generation of an ERP Order

When you create a requisition for the first time, a direct order or PCardOrder is generated on approval. Toensure that an ERP Order is generated by default, you must change the default behavior.

Enabling Generation of an ERP Order by Default:

1 Log in to the Service Manager as Superuser.

2 From the navigation bar on the left, under Site Manager, click Customer Sites.

3 Log in as Customer Support Admin to the relevant realm.

4 Click Customization Manager.

5 Click on Advanced on the top right corner.

6 Click Parameters.

7 Under Search Filters, search for ordermethods.

Page 19: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 19

Chapter 2 Configuring Ariba Procurement Solution Specifying the Preferred Ordering Method

8 Click Edit.

9 Move ariba.sap.server.SAPPOERP to the top of the list.

10 Click OK.

11 Click Save.

Specifying the Preferred Ordering Method

This determines the format in which the purchase order must be sent to the supplier based on the supplierlocation. the purchase order can be sent in the following formats:

• Fax

• URL

• Print

• cXML

By default the value is set to URL. To ensure that the purchase order is downloaded in a CSV file, you mustset the value of the preferred ordering method to Print. To set your preferred ordering method, please haveyour Designated Support Contact log a service request and an Ariba Customer Support representative willcontact you.

Specifying a Unique Number for Purchase Orders

By default, the order numbers in Ariba procurement solution are generated starting from EP10. To specifyyour preferred unique numbers for purchase orders, please have your Designated Support Contact log aservice request and an Ariba Customer Support representative will contact you.

Note: Oracle Financials does not accept order numbers that are more than 20 characters even though in Aribaprocurement solution you can provide more than 20 characters. Therefore, ensure that you do not specifyorder numbers that exceed 20 characters.

Enabling Cancel Order Integration

To enable cancel order integration, the parameter Application.Procure.UseCancelOrderIntegration must beset to Yes. To set the value for this parameter, please have your Designated Support Contact log a servicerequest and an Ariba Customer Support representative will contact you.

Page 20: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 20

Chapter 2 Configuring Ariba Procurement Solution Enabling Creation of Split Orders Based on Currency

Enabling Creation of Split Orders Based on Currency

If you create a requisition that has line items having different currencies, then the order that will be createdmust be split based on the different currencies. This is because SAP R/3 does not accept a purchase orderthat contains line items having different currencies.

To allow Creation of Split Orders Based on Currency:

1 Log in to the Service Manager as Superuser.

2 From the navigation bar on the left, under Site Manager, click Customer Sites.

3 Log in as Customer Support Admin to the relevant realm.

4 Click Customization Manager.

5 Click Field Configuration.

6 In Browse Classes, enter procurelineitem and click Search.

7 Click ProcureLineItem.

8 Click on Create Field on the bottom right side and select Computed Field.

9 In the Label field, enter a label for the field.

10 In the Expression field, click Add.

11 Expand Amount and click on Currency.

12 Click Add next to the currency field.

13 Click on the Advanced tab

14 Select Split Order on this Field and click OK.

15 Click on Customizing on the top of the page.

16 Select Publish.

ERP orders are purchase orders that Ariba procurement solutions push to an ERP (such as SAP) instead ofsending them to the vendor. Procurement solutions expect SAP to handle the ERP orders and transmit themto vendors.

Be careful about receiving integration with ERP orders because SAP users and processes can change an ERPorder after the ERP order is in SAP. Such changes can cause errors, especially if SAP applies releasestrategies to purchase orders from Ariba procurement solutions. SAP does not allow you to receive against apurchase order until all the release strategies have been fulfilled.

See your Ariba Solutions Delivery representative to obtain more information and to decide if ERP orders areappropriate for your implementation.

Page 21: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 21

Chapter 3 Configuring SAP

• “Setting Up Ariba Users” on page 21

• “Installing the SAP Transports” on page 22

• “Configuring Time-out Intervals” on page 24

• “Verifying Data” on page 25

Setting Up Ariba Users

Before using Ariba procurement solutions with SAP, you configure your SAP system and install the AribaPackages.

To work with your SAP instance, you create user accounts for the NetWeaver XI/PI RFC Adaptercommunication channel and the Ariba procurement solutions implementation personnel. Create one or moredialog users for the Ariba procurement solutions implementation personnel to use and to assist withdebugging

Creating a User

In a complete Ariba procurement solutions implementation, a user provides both Ariba procurementsolutions and NetWeaver XI/PI adapters with R/3 access to the Ariba procurement solutions RFCs. Makesure to grant the user unrestricted access to your SAP instance with SAP_ALL and SAP_NEW privileges in theprofile. These privileges are necessary for the Ariba procurement solutions and the Ariba procurementsolutions RFCs to communicate properly.

When connecting to SAP, you choose an account for Ariba procurement solutions to use. Ariba recommendsyou create a new account, but use an existing account if you prefer.

The default user name for this account is ariba. Whichever user you choose, check the user defaults andmake sure they are set as follows:

• For date format: MM/DD/YYYY

• For decimal notation: . (period)

To create a user:

1 Access the Maintain Users: Initial Screen using SU01.

2 Enter the user ID you have chosen for Ariba procurement solutions integration, and click the Create icon.

3 Click the Logon data tab.

4 Enter the password for the Ariba user in the Initial password field, and select the appropriate User Type.

5 In the Profiles tab, enter a profile for SAP_NEW and SAP_ALL.

The other fields in the screen are optional. Fill them in as you want. Choose the Enter check when youfinish.

6 In the Defaults tab, enter the following values for the following fields:

Page 22: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 22

Chapter 3 Configuring SAP Installing the SAPTransports

• Date format—MM/DD/YYYY

• Decimal point format —Period

7 Complete the other fields of this screen, or leave them blank as you want, and choose the enter check. Inthe Parameters tab in the next screen, complete the fields, or leave them blank, as you want.

Installing the SAPTransports

To integrate an Ariba on-demand application with SAP, you must install SAP transports. The followingtopics provide background information about the SAP transports and other files, and instructions forinstalling them:

• “Downloading the Transport Files” on page 22

• “Installing Transport Files” on page 23

• “Running Directory Management Commands” on page 23

Downloading theTransport Files

To download the Ariba on-demand SAP integration transports:

1 Go to https://connect.ariba.com and log in. If you do not have a User ID and Password for Connect,contact your Ariba account executive.

2 Under Quick Links, click Product Info and then click the name of your solution (such as AribaProcure-to-Pay).

3 In the Administration Tools section, click SAP Transports (SAP Only). If the list does not contain this entry,contact your Ariba account executive.

4 Click Save, and specify a location on your hard drive. The Ariba_P2P_SAP_Transports_10s2.zip file isdownloaded to the location you set.

5 Extract the contents of Ariba_P2P_SAP_Transports_10s2.zip to the appropriate locations on your SAPinstance.

Page 23: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 23

Chapter 3 Configuring SAP InstallingTransport Files

InstallingTransport Files

The process for installing transports is the same for both first-time installations and upgrades. Before youstart, note the following:

• The transports contain both client-dependent and independent configurations. Therefore, specify a targetclient when adding these transports to your import queue. If you are using SAP’s Transport ManagementSystem (STMS), use extended transport control so you can specify the target client.

• Do not use umodes when installing these transports.

• Ariba recommends that you ask your SAP BASIS personnel to install the Ariba transports.

• The order in which you need to install the transports is specified in the Readme.txt file. This file isavailable in the ZIP file that you download from connect.ariba.com.

Running Directory Management Commands

The integration function modules issue external operating system commands to create directories and movethe CSV files. The function modules use these external commands:

• ZSSPDIRCREATE to create a directory

• ZSSPMOVE to move files to other directories

• ZSSPREN to rename a directory

As provided, these commands are set up to function in Windows. You can easily modify them to perform thesame functions in your operating system by using the External command utility in SAP (transaction SM69).

Creating a Directory

The SAP integration function modules use the ZSSPDIRCREATE command to create directories for CSV files. Itcreates processing directory for CSV files it is in the process of creating (and when done renames it toprocessed). It also creates an error directory. This is where it puts files that encountered a processing error.The command works as follows

• It takes as input a value for the name of the directory to create.

• It invokes the command line program, which for Windows is CMD.

• It issues the command to create the directory, which in Windows is the MKDIR command.

You can change ZSSPDIRCREATE in the SAP SM69 transaction to use a different command, depending on youroperating system.

Page 24: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 24

Chapter 3 Configuring SAP ConfiguringTime-out Intervals

Moving Files to a Directory

The SAP integration function modules use the ZSSPMOVE command to move files from the source to the targetdirectory. The command works as follows:

• It takes as input values the name of the source files and destination.

• It invokes the command line program, which for Windows is CMD

• It issues the command to move a directory, which in window is the move command.

You can change ZSSPMOVE in the SAP SM69 transaction to use a different command, depending on youroperating system.

Renaming a Directory

The SAP integration function modules use the ZSSPREN command to rename a directory. For example itrenames the processing directory to processed after the CSV files are written. The command works asfollows:

• It takes as input the name of the directory to rename and the new name.

• It invokes the command line program, which for Windows is CMD

• It issues the command to rename the directory, which in Windows is the REN command.

You can change ZSSPREN in the SAP SM69 transaction to use a different command, depending on youroperating system.

ConfiguringTime-out Intervals

The SAP system has a time-out limit on RFC transactions. The limit makes sure no resources stay locked inthe SAP system inadvertently. The SAP time-out interval is defined by the profile parameterrdisp/max_wprun_time. The default value is 300 seconds.

If you have a large purchase order to export (with a large number of line items) or a large amount of data toimport, you might encounter this time-out limit. In this case, the SAP system could cancel the job. To avoidthis problem, you change your SAP configuration to lengthen the time-out interval. Change the interval onyour central instance as well as any application servers that communicate with Ariba. For the change to takeeffect, restart each SAP server.

Note: Make sure to enlist the help of your BASIS administrator to make these changes.

To set the time-out interval:

1 Log in as the SAP Administrator.

2 Run transaction RZ10.

3 Enter the Instance Profile.

4 Enter the most current version (you create a new version based on the most current one).

5 In the Edit profile panel, click the Extended maintenance radio button.

6 Click Change.

7 Scroll down to Parameter name rdisp/max_wprun_time.

Page 25: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 25

Chapter 3 Configuring SAP Verifying Data

If the value does not appear in your profile, create it by choosing Create from the Parameter menu.

8 Create or change the value of rdisp/max_wprun_time to something longer, for example, 3000 (for 3000seconds).

9 From the Parameter menu, choose Change.

10 Click Copy.

This step makes a copy of the new profile. The status line displays the message “Changes were made.”

11 Navigate back to the initial Edit Profiles screen, and save the changes.

12 From the Profile menu, choose Activate.

13 Restart your SAP server for the profile changes to take effect.

14 Repeat the steps in this procedure for each application server that exchanges data with ProcurementSolutions.

Verifying Data

In some cases, the Ariba procurement solutions do not pull data from the SAP system unless that data hasbeen set up in a particular manner in the SAP system. This section describes a few places to check the dataon your SAP system, to make sure it has been set up to match the requirements of the Ariba procurementsolutions.

If an integration entry fails, check this section again to look for problems.

Bank Selling Rate

The Ariba procurement solutions import currency conversion information from the SAP system to makesure all purchase orders from Ariba use currencies valid in SAP. In the default configuration, the bank sellingrate is B. The currency conversion pull imports all currency conversions associated with the bank setting rateB. The import task fails if the rate is not configured in the system. If you want to specify a different bankselling rate, add an entry in the ZARIBATVARV table for the BANK_SELLING_RATE_SYMBOL parameter.

To find the bank selling rate symbol:

1 Run transaction spro.

2 Choose General Settings > Currencies > Check Exchange rate types. Set the symbol, if necessary.

Blank Descriptions

For most data in the SAP system, such as Purchasing Groups, the SAP integration event imports (and uses)both ID and description fields from the SAP system. If either value is blank, the import task ignores thatitem, and it does not appear in the procurement solution system.

Check your SAP system to make sure all material groups and purchasing groups have valid—that is,non-blank—ID and description fields.

Page 26: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 26

Chapter 3 Configuring SAP Verifying Data

Vendor Restrictions

The Ariba procurement solutions/SAP integration has some restrictions on vendors. To import all availablevendors, make sure none of the vendors have partner functions specifying multiple ordering addresses. TheSAP integration imports one ordering address only, so users cannot choose from among multiple orderingaddresses.

The Ariba procurement solutions do not import vendors that are blocked. SAP uses special codes todesignate blocked vendors. The field SPERQ in table LFA1 specifies the code that SAP uses for blockedvendors. The value you need to check for the SPERQ field is in table TQ04A in field SPERRFKT.

Vendor ERSTax Status

The Ariba procurement solutions support vendors from SAP that offer evaluated receipt settlement (ERS)agreements. These agreements have different tax rates depending on many factors, such as the tax laws in thelocation of the supplier and requestor.

Purchase orders from the Ariba procurement solutions for SAP contain a field to determine whether a vendorhas ERS tax information. The Ariba procurement solutions always set a value for the ERS tax field. If theAriba procurement solutions have no tax ERS information about a vendor, it sets this field to a blank, empty,or null value.

Some SAP systems require you to set a default value for empty tax code values. Such systems return an errormessage during purchase order pushes if you have not configured them to handle empty values.

• To correct this problem, configure SAP to set a default tax code.

• If you cannot configure a default tax code, change the message type from error to information or warningin SAP.

Catalog Item Validation

Catalog items are validated against the purchasing organization. The vendor for each catalog item must bedefined in the purchasing organization.

If a user picks a catalog item that originated in the SAP system, the Ariba procurement solutions validate thevendor of that item against the user’s purchasing organization. If the vendor is not defined in the purchasingorganization, the Ariba procurement solutions flag the field as invalid and does not allow the user to submitthe purchase requisition until the field has been corrected.

Page 27: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 27

Chapter 3 Configuring SAP Testing Connections

Testing Connections

You can test the connections between the Ariba procurement solutions and SAP using the SAP Interface asfollows: This is applicable only if you are using Web Services-based integration.

To test your connections from the SAP User Interface:

1 Log into SAP R/3 and go to the t-code SM59.

2 Select the R/3 Connections option and double-click the RFC destination that is created for the SAP XIsystem.

3 Click Test Connection on the tool bar.

The Connection Success message appears if your information has been correct.

Page 28: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 28

Chapter 4 Configuring NetWeaver XI/PI

• “Configuring the System Landscape Directory” on page 28

• “Configuring Transaction Processes” on page 31

• “Configuring SAP NetWeaver XI/PI Value Mapping” on page 34

• “Configuring an Integration Scenario” on page 35

• “Configuring NetWeaver XI/PI for Web Services Integration” on page 41

Configuring the System Landscape Directory

Configure the System Landscape Directory (SLD) by importing the Ariba procurement solutions productdefinition, and defining the systems involved in the integration. The SAP System Landscape Directory is acentral repository that holds the information on the systems and software in the customer environment. Itconsolidates the information about components actively available, and on which machines, instances, andclients they are available.

The Ariba procurement solutions leverages all the advantages of the SLD in order to maintain the coherenceof the system landscape as follows:

• It is defined as a product and component expressed in Common Information Interface (CIM) formatimportable in the SLD

• It uses a configuration using technical and business systems involved in the Ariba procurement solutionsintegration and defined in the SLD.

You must make the following settings in the SLD:

• Import Ariba Procurement Product and Component definitions

• Define Technical and Business Landscape for the Ariba procurement solutions

• Define Technical and Business Landscape for SAP R/3

The NetWeaver XI/PI design packages (.tpz files) are available on Connect.ariba.com in a zip file,Ariba_P2P_SAP_NetWeaver_Repository_10s2.

Page 29: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 29

Chapter 4 Configuring NetWeaver XI/PI Configuring the System Landscape Directory

Importing Ariba SN Product and Component Definitions

Import the product and component definitions of Ariba products that will work with SAP NetWeaver XI/PI,as a CIM file.

To import product and component definitions:

1 From the XI main page, open the SLD administration home page.

2 Navigate to the Content section, and then click on Import.

3 Select the AribaOnDemand.SOftwareCatalog.zip by clicking on the Browse button, and then navigating tothe file location.

4 Start the import.

5 In the Product Catalog, verify that the following product is available:

• Vendor: ariba.com

• Product: Procurement Solutions

• Version: 10s2

6 Next, verify that the following components are available:

• Vendor: ariba.com

• Component: ARIBA_ONDEMAND_PURCHASEORDER, ARIBA_ONDEMAND_INVOICE, ARIBA_ONDEMAND_RECEIPT, ARIBA_ONDEMAND_REMITTANCE, ARIBA_ONDEMAND_ER_INVOICE

• Version: 10s2

The Ariba procurement solutions will now be recognized by the Integration Repository and Directory.

ConfiguringTechnical and Business Landscape for Procurement Solu-tions

Set up the technical landscape for the Ariba procurement solutions system using the Technical LandscapeWizard.

To configure the Technical Landscape for Ariba Procurement Solutions:

1 Select Technical Landscape from the main SLD page to open the Technical Landscape page.

2 Click New Technical System here to open the Technical System Wizard.

3 In the Wizard, select Third-Party as the Technical System Type to set up a third-party (non-SAP)application such as Ariba procurement solutions, and then click on Next.

4 Specify the system details as follows:

• System Name: Specify a user-defined system name here. For example, TS_BUYER

• Host Name: Enter "ariba_buyer" as the host name.

5 Click on Next.

6 Associate the Ariba Procurement product and components to the system next. Select the product AribaProcurement, and then click Add. Ensure that the components you want to implement, are selected.

7 Click on Finish.

Page 30: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 30

Chapter 4 Configuring NetWeaver XI/PI Configuring the System Landscape Directory

You must now set up the business landscape for the Ariba Network system using the Business LandscapeWizard.

To configure the Business Landscape for Ariba SN:

1 Select Business Landscape from the main SLD page to open the Business Landscape page.

2 Click New Business System here to open the Business System Wizard.

3 In the wizard, enter the business system name, for example, BS_BUYER, and then click Next.

4 Select Third-Party as the Technical System Type, and then click Next.

5 Associate the new business system with the required Technical System. From the drop-down list, selectthe technical system, TS_BUYER, created in the previous procedure, and then click Save.

Note: The Logical System Name is not mandatory.

6 Specify the installed products. Make sure that the product Ariba procurement solutions and the relatedcomponents to be implemented (for example, ARIBA_ONDEMAND_PURCHASEORDER) on the technical system areselected, and then click Next.

7 Select the role of the business system. The only available Business System Role for a third-party BusinessSystem is Application System. Select your SAP NetWeaver XI/PI instance name from the drop-down list,to specify the Related Integration Server.

8 Click Finish.

ConfiguringTechnical and Business Landscape for SAP R/3

Set up the technical landscape for the SAP R/3 system using the Technical Landscape Wizard.

To configure the Technical Landscape for SAP R/3:

1 Select Technical Landscape from the main SLD page to open the Technical Landscape page.

2 Click New Technical System here to open the Technical System Wizard.

3 In the wizard, select Web AS ABAP as the Technical System Type, and then click Next.

4 To specify the SAP R/3 system details enter the Web AS ABAP name (SID), installation number, anddatabase host name, and then click Next.

5 Specify the Message Server and Central Application Server. Specify the Host Name, Message Port, andLogon Groups for the Message Server. Enter the Host Name and Instance Number for the CentralApplication Server, and then click Next.

6 Define additional application servers, if required. Specify the Host Name and Instance Number for theApplication Server, and then click Add.

7 Click Next.

8 Define the Client. Specify the Client Number, and then click Next.

9 To add a Logical System Name, enter the system name, and then click Add. The logical system name isrequired for enabling the communication using IDocs between the SAP NetWeaver XI/PI and R/3systems, and is used for routing documents in multi-ERP implementations.

10 Define software product and components. Select the SAP R/3 version installed on this technical system,as well all other products installed on the system, and then click Add.

Page 31: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 31

Chapter 4 Configuring NetWeaver XI/PI ConfiguringTransaction Processes

11 Click Finish.

Next, you must set up the business landscape for the SAP R/3 system using the Business Landscape Wizard.

To configure the Business Landscape for SAP R/3:

1 Select Business Landscape from the main SLD page to open the Business Landscape page.

2 Click New Business System to open the Business System Wizard.

3 In the wizard, enter the business system name. For example, BS_SAPR3_47.

4 Click Next.

5 Select Web AS ABAP as the Technical System Type, and then click Next.

6 Select the technical system created in the previous procedure from the drop-down list, to associate it withthe business system, select a client for the selected technical system, and then click Next.

7 Specify the installed products. Select the products that must be supported by this business system fromthe ones available from the associated technical system, to install them in the business system, and thenclick Next.

8 Select the role of the business system. Select Application System as the Business System Role and selectyour SAP NetWeaver XI/PI instance name from the drop-down list to specify the Related IntegrationServer. In the case of application systems, specify the integration server.

9 Click Finish.

ConfiguringTransaction Processes

After you have installed the SLD, do the following:

• Import the design package containing the transactions supported by the Ariba procurement solutions.

• Configure SAP NetWeaver XI/PI connectivity to R/3.

• Configure SAP NetWeaver XI/PI value mapping to provide the global configuration.

• Configure the different transactions in the Integration Directory by importing the scenarios from theIntegration Repository.

• Configure the communication channels and the conditions for routing messages, for each supportedtransaction.

Note: The names for objects in the Directory used in the configuration procedures are examples provided forillustration. You may use them or replace them with names and format corresponding to your systemenvironment.

Page 32: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 32

Chapter 4 Configuring NetWeaver XI/PI ConfiguringTransaction Processes

Importing the Design Package

The following transport files are relevant for the transactions described:

To import the design package:

1 Copy the package file ARIBA_ONDEMAND_PurchOrder_Design.tpz to the import directory on theSAP NetWeaver XI/PI server, *****\SYS\global\xi\repository_server\import.

For example, D:\usr\sap\ARB\SYS\global\xi\repository_server\import

2 Open the Integration Builder: Design Tool from the SAP NetWeaver XI/PI main page.

3 From the Tools menu, select the Import Design objects... option.

4 Select ARIBA_ONDEMAND_PurchOrder_Design.tpz from the available files list, and then click OK.

5 After the import is complete, the component ARIBA_ONDEMAND_PURCHASEORDER, for 10s2 ariba.com appearsin the components list of the Integration Builder Design Tool.

Configuring R/3 Connectivity

To enable communication between SAP NetWeaver XI/PI and SAP R/3 using IDoc documents, you need toconfigure the following parameters on the SAP NetWeaver XI/PI ABAP stack:

• Configure the RFC Destination

• Configure the Port for the IDoc Adapter SAP NetWeaver XI/PI connectivity to R/3

To configure R/3 connectivity:

1 Using Transaction SM59, create an RFC destination of type R/3 to connect to the SAP R/3 system.

2 Using Transaction IDX1, create a Port for the new RFC destination. For example, for the SAP R/3 systemD47 client 800, you must use specify following parameters to create the port:

• Port: SAPD47.

• Client 800.

• RFC Destination: Specify the destination created in SM59 here.

Important: Enter the password in UPPER case.

Transport File Transactions

ARIBA_ONDEMAND_PurchOrder_Design.tpz • Purchase Order

• Change Purchase Order

• Cancel Purchase Order

• Purchase Order Header Status Import

ARIBA_ONDEMAND_Receipt_Design.tpz Receipts (Receipt Export)

ARIBA_ONDEMAND_Invoice_Design.tpz Invoices (Payment Export)

ARIBA_ONDEMAND_Remittance_Design.tpz Remittance (Remittance Import)

ARIBA_ONDEMAND_ER_INVOICE_10s2_of_ariba.com.tpz

Expense Report (export)

Page 33: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 33

Chapter 4 Configuring NetWeaver XI/PI ConfiguringTransaction Processes

Assigning Business Systems in the Integration Directory

The Integration Directory configuration uses the information on the Technical and Business systems fromthe SLD. You must assign the Business Systems defined and involved in the integration setup.

To assign a business system:

1 Open the Configuration: Integration Builder from the XI main page.

2 In the Objects tab of the Integration Builder, navigate to Service Without Party > Business System.

3 From the context menu for Business System, select Assign Business System to start the Assign BusinessSystem wizard.

4 Click on Continue in the first and second windows. Leave the Party field in the second window blank.

5 In the third window, Select Business Systems, select the business systems BS_BUYER and BS_SAPR3_46C,created earlier, from the list. For more information about creating business systems, “Configuring theSystem Landscape Directory” on page 28.

Note: In the case of Multi-ERP implementation, you must select all the Business Systems representingyour SAP R/3 instances involved in the integration.

Also, uncheck the Create Communication Channel Automatically option, to avoid the creation ofunwanted channels.

6 Click Finish.

Creating Communication Channels for R/3

Create the communication channels used for R/3 connectivity. You must create the RFC Receivercommunication channels from the Integration Builder, to enable communication using the RFC invocationon the remote SAP R/3 system. This channel will be used by almost all the scenarios and are common to allof them. Therefore, you only need to create them once, for each Business System corresponding to yourSAP R/3.

To create the RFC Receiver communication channel:

1 In the Objects tab of the Integration Builder, navigate to Service Without Party > Business System >BS_SAPR3_46C > Communication Channel.

2 From the context menu for Communication Channel, select New.

3 In the Create Object window, specify CC_RFC_Receiver as the name of the communication channel, in theCommunication Channel field, and then click Create.

4 From the Parameters tab of the Edit Communication Channel window, click on the icon next to theAdapter Type field to display the list of adapter types. From the adapter type list window, select thefollowing adapter and click OK:

• Name: RFC

• Namespace: http://sap.com/xi/XI/System

• Software Component Version: SAP BASIS 7.10 of SAP NetWeaver PI 7.1 and SAP Basis 7.11 for SAPNetWeaver PI 7.1 Ehp1

5 After selecting the adapter, click the Receiver option, to select the corresponding type.

Page 34: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 34

Chapter 4 Configuring NetWeaver XI/PI Configuring SAP NetWeaver XI/PI Value Mapping

6 In the Adapter Engine field, select Integration Server or Non-Central Adapter Engine, depending on yourconfiguration.

7 Edit the other parameters to match your SAP R3 system (Application Server, System Number,Authentication Mode, Logon User, Logon Password, Logon Language, Logon Client).

Important: Enter the password in UPPER case.

8 Edit the Maximum Connections option according to the excepted load.

9 Save and activate the communication channel.

Note: In the case of Multi-ERP implementation, you must create one CC_RFC_Receiver channel per BusinessSystem, representing each of the SAP R/3 instances involved in the integration.

Configuring SAP NetWeaver XI/PI Value Mapping

Configure SAP NetWeaver XI/PI value mapping for supporting facilities such as IDoc Payload and standardcode conversions.

Configuring Global Variables

Because SAP NetWeaver XI/PI acts as the integration platform between SAP R/3 and Ariba Network, thereare many parameters that are global for each of the supported scenarios. This section describes the steps toconfigure global variables.

In the value mappings, use the following parameters for Global Variables:

• Source Values:

• Agency: XI_Global

• Schema: GlobalVariable

• Target Values:

• Agency: XI

• Schema: GlobalVariable

Key Value Pairs

The XI column in the above table has sample values.

XI_Global XI Description

AribaBuyerTimeZone +5:30 Time zone of Ariba procurement solutions

Page 35: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 35

Chapter 4 Configuring NetWeaver XI/PI About Configuring Integration Scenarios in the Integration Directory

About Configuring Integration Scenarios in the IntegrationDirectory

The following sections describe how to import and configure the integration scenarios in the SAPNetWeaver XI/PI Integration Directory for the supported transactions. Use an integration scenario from theIntegration Repository as a template for configuring the corresponding transaction in the IntegrationDirectory. The Integration Scenarios are part of the Design package, which has to be imported into theIntegration Repository first.

Important: Do not activate the Change Lists feature of Integration Builder Configuration Tool until all theconfiguration steps are completed.

Configuring an Integration Scenario

You need to configure the integration scenario for the all transactions in the Integration Directory to be ableto run each transaction. All the steps of a configuration scenario section must be completed to fullyconfigure a scenario.

Ensure that the following design packages corresponding to the different transactions are imported into yoursystem before you configure an integration scenario.

The following steps assume that the different Business Systems are defined in the SLD. For moreinformation about configuring the SLD, see “Configuring the System Landscape Directory” on page 28.

To configure the an Integration Scenario:

1 Transfer the Integration Scenario from the Integration Repository to the Integration Directory.

2 Configure the Integration Scenario.

3 Configure the Communication Channels.

4 Activate the new configuration.

The rest of this section describes these steps in detail.

Integration Scenario Design Packages

IntegrationScenario

Design Package

Purchase Order ARIBA_ONDEMAND_PurchOrder_Design.tpz

Change PurchaseOrder

ARIBA_ONDEMAND_PurchOrder_Design.tpz

Cancel Order ARIBA_ONDEMAND_PurchOrder_Design.tpz

Purchase OrderHeader Status

ARIBA_ONDEMAND_PurchOrder_Design.tpz

Receipt ARIBA_ONDEMAND_Receipt_Design.tpz

Invoice ARIBA_ONDEMAND_Invoice_Design.tpz

Remittance ARIBA_ONDEMAND_Remittance_Design.tpz

Expense Report ARIBA_ONDEMAND_ER_Invoice_10s2_of_ariba.com.tpz

Page 36: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 36

Chapter 4 Configuring NetWeaver XI/PI Configuring an Integration Scenario

Transferring Integration Scenario

The first step to configure the integration scenario for the Purchase Order transaction is to transfer to theIntegration Directory. The integration scenario is loaded into the Integration Repository when the Designpackage is imported.

To transfer the Integration Scenario:

1 From the SAP NetWeaver XI/PI main page, select Integration Builder: Configuration, and then login intothe Integration Builder: Configuration application.

2 In the Integration Builder menu, select Tools > Transfer Integration Scenario From Integration repository.

3 In the first screen of the Transfer Integration Scenario wizard, Select Integration Scenario, click on theName field, and then select the following Integration Scenario from the selection list:

• Name

• Namespace

• Software Component Version

For information about the values that you must specify for these fields, see the table in the followingsection.

4 Click Continue.

5 If required, change the name of the scenario for the Integration Directory.

6 Click Finish. After the transfer is completed, the Integration Scenario Configurator window appears.

Configuring the Integration Scenario

After you select the Integration Scenario, complete the following steps to configure it:

To configure the selected integration scenario:

1 Select Component View.

2 Assign Services.

3 Configure Connections.

In the Integration Scenario Configurator window, click Select Component View, and then click Apply toselect the unique component view that is selected by default. After selecting the component view, you mustassign services to the application components of the selected integration scenario.

To assign services:

1 In the Integration Scenario Configurator, select Assign Services.

2 In the Assign Services window, select the Business System Services for A2A tab to assign services for.

3 Click Insert Line ('+') to add a service entry in the table.

4 Click on the row under the Service column, and then select the business service name BS_PROCUREMENT

from the selection list.

5 Click the Next icon (right arrow next to the Role field) to go to the next screen in the wizard.

6 Click Insert Line ('+') to add a service entry in the table.

Page 37: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 37

Chapter 4 Configuring NetWeaver XI/PI Configuring an Integration Scenario

7 Click on the row under the Service column, and then select the business service name BS_SAPR3_47,from the selection list.

Note: For Multi ERP implementation, add the multiple business services defined for your multiple SAPR/3 systems by repeating the steps 6 and 7.

8 Click Assign to save the changes.

9 After assigning services, you must define sender/receiver relations for the individual connections in theIntegration Scenario and specify Communication Channels that are relevant for the sender/receiverrelations.

To Configure Connections:

1 In the Integration Scenario Configurator, select Configure Connections. You must assignCommunication Channels to set up the connections.

2 In the Connections from the Service Assignment tab in the Configure Connection window, click on theempty Communication Channel cell corresponding to BS_PROCUREMENT in the Sender Business SystemServices for A2A table.

3 Click New, and then select Create Communication Channel with Template to start the CreateCommunication Channel wizard.

4 Click Continue, and in the next page, select the following Communication Channel Template:

• Name

• Namespace

• Software Component Version

For information about the values that you must specify for these fields, see the table in the followingsection.

5 Click Continue, modify the channel name to CC_PurchaseOrder_WSDL_Sender, and then click on Finish.

6 Click Apply to save the changes.

After making all the configuration settings in the wizard, you must generate the objects. Generation createsthe configuration objects if they do not yet exist. If they do already exist, they will be reused and enhanced,if required. You can also simulate generation for test purposes.

To generate the objects:

1 In the Integration Scenario Configurator, click Generate.

2 In the Create Configuration Object window, make the following settings:

• General: Generation (select the radio button for this option)

• Scope of Generation: Select all the check boxes - Receiver Determination, Interface Determination,and Sender/Receiver Agreement.

3 Select the Create New radio button under Change List for Generated Objects and use the proposed nameor modify it.

4 Click Start to begin generating objects.

5 After the object generation is complete, close the wizard and click Apply in the pop up window, to savethe new configuration settings. Close the log that is created without saving. You can also save it, ifrequired.

Page 38: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 38

Chapter 4 Configuring NetWeaver XI/PI Configuring an Integration Scenario

Configuring Communication Channels

Configure the communication channel under the Configuration Scenario. This is applicable only for releasesprior to SAP NetWeaver PI 7.1 and 7.11.

To configure the communication channel:

1 Expand Business Systems, and then select BS_Procurement.

2 Under Communication Channel, select CC_PuchaseOrder_WSDL_Sender.

3 In the Parameters section, set the parameters in the Default XI Parameters section as below.

• Default Interface NameSpace

• Default Interface Name

For information about the values that you must specify for these fields, see the table in the followingsection.

4 Save the changes.

Transferring the Integration Scenario in SAP NetWeaver PI 7.1 and 7.11

To transfer the Integration Scenario in SAP NetWeaver PI 7.1:

1 After logging into the Integration Builder, Select Tools > Apply Model from ES Repository.

2 Under Type of ES Repository Model, select Process Integration Scenario.

3 In the Name field, select the input help by clicking the down arrow button.

4 From the search results, select the relevant integration scenario. For more information, see the table in thefollowing section.

5 Click Continue.

6 If required, change the name of the scenario for the Integration Directory.

7 Click Finish.

Configuring the Integration Scenario in SAP NetWeaver PI 7.1 and 7.11

To assign components in SAP NetWeaver PI 7.1:

1 Under Configuration Scenario, double-click the relevant integration scenario.

2 Click on Model Configurator.

3 Click on Assign Component.

4 Under Assign Business System Components for A2A Configuration, click Insert Line ('+') to add a serviceentry in the table.

5 Click on the row under the Communication Component column, and then select the business componentname BS_PROCUREMENT_50 from the selection list.

6 Click the Next icon (right arrow above the Communication Component column) to go to the next screenin the wizard.

Page 39: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 39

Chapter 4 Configuring NetWeaver XI/PI Configuring an Integration Scenario

7 Click on the row under the Communication Component column, and then select the business componentname BS_SAPR3_47 from the selection list.

Note: For Multi ERP implementation, add the multiple business components defined for your multipleSAP R/3 systems by repeating the steps 6 and 7.

8 Click Apply to save the changes.

To Configure Connections in SAP NetWeaver PI 7.1:

1 Under Configuration Scenario, double-click the relevant integration scenario.

2 Click on Model Configurator.

3 Click on Configure Connections.

4 Under Sender Business System Components, click on the row under the Communication Channel column.

5 Select the input help by clicking the down arrow button next to the field.

6 Select the relevant communication channel.

7 Click Save and then Apply.

After making all the configuration settings in the wizard, you must generate the objects. Generation createsthe configuration objects if they do not yet exist. If they do already exist, they will be reused and enhanced,if required. You can also simulate generation for test purposes.

To generate the objects in SAP NetWeaver PI 7.1:

1 Under Configuration Scenario, double-click the relevant integration scenario.

2 Click on Model Configurator.

3 Click Generate.

4 Under General, select Generation.

5 Under Scope of Generation: Select all the check boxes - Receiver Determination, Interface Determination, andSender/Receiver Agreement.

6 Under Change List for Generated Objects, you can use an existing change list or create a new one.

7 Click Start.

Activating the Scenario

Using the Change List tab on the main application screen, activate all the Change Lists containing theobjects created and modified during the scenario setup.

This completes the configuration of the integration scenario in SAP NetWeaver XI/PI.

Page 40: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 40

Chapter 4 Configuring NetWeaver XI/PI Configuring an Integration Scenario

Integration Scenario Parameter Values

The following table contains information about the values you need to specify when you are configuring anintegration scenario for the different transactions:

Integration Scenario Parameter Values

Transaction Integration ScenarioTransfer

CommunicationChannel Template

Values for configuringcommunication channels

Purchase Order • AR_PurchaseOrder_Send

• urn:ariba.com:xi:OnDemand:CreatePurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• CCT_PurchaseOrder_WSDL_Sender

• urn:ariba.com:xi:OnDemand:CreatePurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• urn:ariba.com:xi:OnDemand:CreatePurchaseOrder

• MI_Out_Sync_WSDL_WSPurchaseOrderPushRequestMessage

ChangePurchase Order

• AR_ChangePurchaseOrder_Send

• urn:ariba.com:xi:OnDemand:ChangePurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• CCT_ChangePurchaseOrder_WSDL_Sender

• urn:ariba.com:xi:OnDemand:ChangePurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• urn:ariba.com:xi:OnDemand:ChangePurchaseOrder

• MI_Out_Sync_WSDL_WSPurchaseOrderChangePushRequestMessage

CancelPurchase Order

• AR_CancelPurchaseOrder_Send

• urn:ariba.com:xi:OnDemand:CancelPurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• CCT_CancelPurchaseOrder_WSDL_Sender

• urn:ariba.com:xi:OnDemand:CancelPurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• urn:ariba.com:xi:OnDemand:CancelPurchaseOrder

• MI_Out_Sync_WSDL_WSPurchaseOrderCancelRequestMessage

Purchase OrderHeader Status

• AR_PurchaseOrderHeader_Send

• urn:ariba.com:xi:OnDemand:PurchaseOrderHeaderStatus

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• CCT_PurchaseOrderHeader_WSDL_Sender

• urn:ariba.com:xi:OnDemand:CreatePurchaseOrder

• ARIBA_ONDEMAND_PURCHASEORDER,10s2 of ariba.com

• urn:ariba.com:xi:OnDemand:PurchaseOrderHeaderStatus

• MI_Out_Sync_WSDL_WSPurchaseOrderHeaderRequestMessage

Receipt • AR_Receipt_Send• urn:ariba.com:xi:OnDem

and:Receipt• ARIBA_ONDEMAND_

CREATE_RECEIPT,10s2 of ariba.com

• CCT_Receipt_WSDL_Sender

• urn:ariba.com:xi:OnDemand:Receipt

• ARIBA_ONDEMAND__CREATE_RECEIPT,10s2 of ariba.com

• urn:ariba.com:xi:OnDemand:Receipt

• MI_Out_Sync_WSDL_WSReceiptPushRequestMessage

Page 41: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 41

Chapter 4 Configuring NetWeaver XI/PI Configuring NetWeaver XI/PI for Web Services Integration

Configuring NetWeaver XI/PI for Web Services Integration

This section provides information on the activities that you need to perform to enable Ariba procurementsolutions to integrate with NetWeaver XI/PI by using the Web services channel.

Generation of keys for signing of NetWeaver XI/PI messages

In NetWeaver XI/PI, you can manage the certificates from the key storage of the Visual administrator.

1 To start the visual administrator, go to link: /usr/sap//DVEBMGS00/j2ee/admin and run the script go(.bat)and click on service KeyStorage.

2 In the Runtime tab, under the Entry section to Generate a pair of keys (public/private), click Create.

3 In the Key and Certificate Generation screen, enter values for all the fields as required. You can also modifyexisting values.

4 Select the Store Certificate option.

5 Click Generate.

The system creates two entries, one for the private key and the other with appended -cert as suffix as thecertificate (public key).

6 Select the certificate and under the Entry section click Export.

7 In the Store Key Entry screen, from the Files of Type field, select x.509 certificate (*.crt) file type.

Invoice • AR_Invoice_Send• urn:ariba.com:xi:OnDem

and:Invoice• ARIBA_ONDEMAND_I

INVOICE, 10s2 ofariba.com

• CCT_Invoice_WSDL_Sender

• urn:ariba.com:xi:OnDemand:Invoice

• ARIBA_ONDEMAND_IINVOICE, 10s2 ofariba.com

• urn:ariba.com:xi:OnDemand:Invoice

• MI_Out_Sync_WSDL_WSInvoicePushRequestMessage

Remittance • AR_RemittanceImport_Send

• urn:ariba.com:xi:OnDemand:Remittance

• ARIBA_ONDEMAND_ICREATE_REMITTANCE, 10s2 of ariba.com

• CCT_RemittanceImport_WSDL_Sender

• urn:ariba.com:xi:OnDemand:Remittance

• ARIBA_ONDEMAND_ICREATE_REMITTANCE, 10s2 ofariba.com

• urn:ariba.com:xi:OnDemand:Remittance

• MI_Out_Sync_WSDL_RemittanceImportRequestMessage

ExpenseReport

• AR_Expense_Report_Send_Integration

• urn:ariba.com:xi:OnDemand:ExpenseReport

• ARIBA_ONDEMAND_ER_INVOICE, 10s2 ofariba.com

• CCT_ExpenseReport_WSDL_Sender

• urn:ariba.com:xi:OnDemand:ExpenseReport

• ARIBA_ONDEMAND_ER_INVOICE, 10s2 ofariba.com

• urn:ariba.com:xi:OnDemand:ExpenseReport

• MI_Out_Sync_WSDL_WSExpenseReportPushRequestMessage

Integration Scenario Parameter Values

Transaction Integration ScenarioTransfer

CommunicationChannel Template

Values for configuringcommunication channels

Page 42: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 42

Chapter 4 Configuring NetWeaver XI/PI Configuring NetWeaver XI/PI for Web Services Integration

8 In the file name field, enter an appropriate name and click OK.

To validate messages by Ariba procurement solutions, you need to import the public key exported fromAriba procurement solutions keystore. You must have copied the certificate into the XI server.

1 Select the view where the certificate is stored.

2 In the Runtime tab, under the Entry section, click Load.

3 Select the required certificate and choose OK.

Configuration for Inbound Messages Received by NetWeaver XI/PI

This configuration enables NetWeaver XI/PI to verify messages sent from the Ariba procurement solutions.

Configuration of the Communication Channel1 From the SAP NetWeaver XI/PI main page, select Integration Builder: Configuration, and then login into

the Integration Builder: Configuration application.

2 Select the sender communication channel for the required integration scenario for which you want toconfigure the WSS signature.

3 Change to edit mode.

4 Under the Security Parameters section, select Select Security Profile option.

5 For the Security Profile field, select Web Services Security from the drop-down list.

6 In the Persist Duration field, enter 30.

7 Click Save.

The system may display an error because the Sender agreement is not configured.

Configuration of the sender agreement1 From the SAP NetWeaver XI/PI main page, select Integration Builder: Configuration, and then login into

the Integration Builder: Configuration application.

2 Open sender agreement for the required communication channel.

3 Change to edit mode.

4 Under Security Settings, you need to specify values for the following fields:

a Security Standard -

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd

b Security Procedure - Validate.

c Partner certificate to verify signature (WS)

Issuer - select the certificate that you imported during the generation of keys.

Subject - select the certificate that you imported during the generation of keys.

Page 43: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 43

Chapter 4 Configuring NetWeaver XI/PI Configuring NetWeaver XI/PI for Web Services Integration

d Certification Authority (WS)

Keystore View - select the private keycertificate that you imported during the generation of keys.

5 Click Save.

Activate the communication channel and sender agreement to ensure that your changes are validated.

Page 44: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 44

Part II Integrating Master Data

Part II of this book provides information on integration of master data using the file channel and the variousconfigurations that must be performed.

Important: This part of the book is specific only to the master data integration tasks using the file basedintegration, and the corresponding configurations that you carry out.

Part 2 includes the following chapters:

• Chapter 5, “Integrating Master Data”

• Chapter 6, “Configuring Parameters”

• Chapter 7, “Account Assignment Categories”

Page 45: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 45

Chapter 5 Integrating Master Data

• “About Master Data” on page 45

• “Importing Master Data” on page 45

• “Company Code Import RFC Example” on page 47

• “Customizing RFC” on page 48

• “Filtering Data” on page 51

• “Master Data Integration Events” on page 59

• “Master Data Integration Through Web Services” on page 62

About Master Data

Master data consists of general information stored in SAP that is used in the Ariba procurement solutions toconstruct business documents such as requisitions, receipts, and invoices.

The Ariba procurement solutions provide the integration events for standard data imports from SAP.Because your SAP implementation might contain additional data to be included with the Ariba procurementsolutions purchase orders, invoices, or receipts, you modify these data imports to include such data.

The information presented in this chapter is intended for SAP administrators and developers. Performing thetasks detailed in this chapter requires familiarity with the ABAP/4 (Advanced Business ApplicationPrograming) language and proficiency in basic SQL tasks.

This chapter describes how to create and edit objects in your SAP instance. When you make changes toAriba procurement solutions objects in SAP, you might encounter the following warning: “Only urgentrepairs in the consolidation system.” This warning appears when you change objects on both consolidationand development systems and indicates that you are making changes to objects that originated in anothersystem. In this particular case, the objects originated from Ariba. The SAP client expects you to developyour own objects on a development system rather than to change objects from third-party vendors.Therefore, in the context of this chapter, it is safe to disregard this warning message.

Importing Master Data

Master data consists of general information stored in SAP that is used in Ariba procurement solutions toconstruct requisitions, receipts, or invoices. Transaction data includes information like remittance advice,invoice, purchase orders, and receipts. You import data using the Data Transfer Tool or run integrationsevents manually from Ariba Administrator.

Page 46: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 46

Chapter 5 Integrating Master Data Importing Master Data

Required Data

Ariba procurement solutions imports only the data it needs to create properly formed purchase orders,invoice, and receipt information for SAP.

Ariba procurement solutions imports the following data from SAP:

• Account assignment categories

• Accounting field display status

• Language-specific names for data imports

• Asset accounts

• Cost centers

• Company Codes

• General ledger accounts

• Internal orders

• WBS (Work Breakdown Structure) elements

• Currency conversion rates

• Material groups

• Plants

• Purchasing organizations

• Purchasing groups

• Vendors

• Tax codes

Optionally, you can import the following data from SAP with some configuration on your part:

• Users

• Release authorizations

• User release authority

Note: Vendor master payment terms import is available in Ariba procurement solutions.

The Ariba Procurement Data Import and Administration Guide discusses how to configure this optional dataand also about imports and integration events related to SAP.

Importing PaymentTerms

Importing payment terms for single installments is available through the Ariba File Channel. Payment termsindicate the negotiated discount between a buying organization and supplier for a specified number of daysbefore payment is due. For information on ERP considerations for importing payment terms and addingpayment terms using a CSV file, see the Ariba Invoicing and Payment Data Import and AdministrationGuide.

Page 47: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 47

Chapter 5 Integrating Master Data Company Code Import RFC Example

Company Code Import RFC Example

The content of the company code import RFC, Z_ARIBA_COMPANY, provides an example of the mechanisms andtechniques this chapter presents:

FUNCTION Z_ARIBA_COMPANY.

*"--------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(FILE_NAME) LIKE RLGRAP-FILENAME OPTIONAL*" VALUE(ENCODING) TYPE CHAR10 OPTIONAL*" VALUE(VARIANT) TYPE ZARIBTVARV-ZVARIANT OPTIONAL*" VALUE(PARTITION) TYPE ZARIBTVARV-PARTIT OPTIONAL*" TABLES*" COMPANY_INFO STRUCTURE ZXTCOMPANY*"--------------------------------------------------------------------* DATA Declaration*----------------------------------------------------------------------- DATA: wa LIKE t001.

DATA: wtab LIKE zaribawtab OCCURS 1 WITH HEADER LINE. DATA: select_list LIKE sdit_qry OCCURS 5.*----------------------------------------------------------------------

REFRESH company_info. CLEAR company_info.

* Get the addtional filter CALL FUNCTION 'Z_ARIBA_PREFILTER' EXPORTING name = 'Z_ARIBA_COMPANY' variant = variant partition = partition TABLES where = wtab EXCEPTIONS invalid_selection_sign = 1 invalid_selection_option = 2 OTHERS = 3.

* Get the Columns to be downloaded CALL FUNCTION 'Z_ARIBA_SELECT_LIST' EXPORTING structure_name = 'ZXTCOMPANY' intersection_struct = 'T001' TABLES select_fields = select_list EXCEPTIONS OTHERS = 1.

SELECT (select_list) FROM t001 INTO CORRESPONDING FIELDS OF TABLE company_info WHERE (wtab).

* Custom exit provided for any data changes CALL FUNCTION 'Z_ARIBA_COMPANY_EXT' EXPORTING variant = variant partition = partition TABLES company_info = company_info.

* Downloading the data to the file

Page 48: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 48

Chapter 5 Integrating Master Data Customizing RFC

IF NOT file_name IS INITIAL.

CALL FUNCTION 'Z_ARIBA_DATA_CONVERT_WRITE_FILE' EXPORTING i_filename = file_name i_fileformat = 'CSV' i_field_seperator = ',' i_tabname = 'ZXTCOMPANY' i_encoding = encoding TABLES i_tab_sender = company_info EXCEPTIONS OPEN_FAILED = 1 CLOSE_FAILED = 2 AUTHORIZATION_FAILED = 3 WRITE_FAILED = 4 CONVERSION_FAILED = 5 OTHERS = 6 . IF sy-subrc <> 0. MESSAGE S002 with file_name 'File can not be written'. ENDIF. ENDIF.

ENDFUNCTION.

Customizing RFC

This section describes how to configure Ariba procurement solutions custom RFCs to import additionalfields into Ariba procurement solutions for existing import integration events. It includes the followingsections:

• “About Extension Structures” on page 48

• “Adding Fields to Extension Structures” on page 50

• “Typical Extension Structure” on page 50

To customize Ariba procurement solutions RFCs, you identify the data to be imported, the RFCs to be used,and the structures where this data appears.

About Extension Structures

The term extrinsic refers to any data field you import into an Ariba procurement solutions object that is notpart of the object as supplied with Ariba procurement solutions. You import extrinsics into Aribaprocurement solutions from CSV (comma separated value) files, databases, or ERP systems.

Customer packages like ZARIBA_CUST_MASTER_DATA provide special structures, called extension structures.You use extension structures to define extrinsic data in the Ariba procurement solutions RFCs on your SAPinstance. Most Ariba procurement solutions RFCs offer one or more extension structures for you toconfigure extrinsic import tasks. See “Summary of Ariba SAP Packages” on page 153 for a comprehensivelist of customer packages.

Page 49: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 49

Chapter 5 Integrating Master Data Customizing RFC

Extension Structures for ImportTasks

Ariba procurement solutions RFCs use these extension structures to determine which fields to create in thetables they export to Ariba procurement solutions. Essentially, extension structures function as a template todefine the structure of the Ariba procurement solutions RFC tables. A diagram of this concept follows:

Extension structures have all the fields in the core Ariba development structures in addition to any fields youadd. The contents of an extension structure are shown in the following diagram:

For example, the ZXTASSET extension structure for asset imports contains a substructure called ZARASSET. TheZARASSET substructure holds all the base fields that Ariba procurement solutions RFCs need to run. To addnew asset fields to Ariba procurement solutions RFC data imports, you add them to the ZXTASSET structure.

Note: If you change the original structures of Ariba-supplied RFCs, your SAP integration might not functionproperly. Similarly, you include the original structures as well as the .include statements within theextensions.

This chapter explains only how to define extrinsic data within an extension structure. If you make changes toextension structures, you modify your channel’s data mapping (AML Mapping) to map and transform thesefields appropriately. You also modify the Ariba procurement solutions metadata XML to include yourchanges.

Page 50: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 50

Chapter 5 Integrating Master Data Customizing RFC

Extension Structure Names

By convention, extension structure names begin with the letters ZXT and belong to theZARIBA_CUST_MASTER_DATA Ariba procurement solutions configuration package. The corresponding Aribaprocurement solutions structure names begin with ZAR and belong to the ZARIBA_MASTER_DATA package, whichyou must not alter. Both names share the same root.

For example, internal orders have the root ORD. The extension structure has the name ZXTORD, and the Aribaprocurement solutions structure is named ZARORD.

Adding Fields to Extension Structures

In most circumstances, each structure and extension structure selects data from one table only.Consequently, you return additional fields from one table only.

To add fields to extension structures:

1 Determine the table in SAP that contains the column of data you want to import.

2 Determine which Ariba procurement solutions RFC selects data from that particular table.

3 Add the field to the RFC extension structure for the table.

4 Click Activate.

Typical Extension Structure

Assume you want Ariba procurement solutions to identify the country where an asset originates. The assetmaster record, ANLA, contains a column called LAND1, which indicates the country origin of an asset. In thiscase, the Ariba procurement solutions RFC that handles asset imports from ANLA is ZARIBA_ASSET. For adetailed list of Ariba procurement solutions SAP objects, see Appendix B, “Ariba SAP Objects.”

ZARIBA_ASSET exports an extension structure called ZXTASSET, which includes the Ariba procurementsolutions structure ZARASSET. The ZARASSET structure does not contain the LAND1 field by default, so you add itto the Ariba procurement solutions extrinsic asset import structure, ZXTASSET, and then activate your changes.Make sure to enter AM_LAND1 for the data element description exactly as it appears in the ANLA table.Subsequently, your SAP system includes a new extrinsic, LAND1, in ZXTASSET, which it imports from ANLA.

You use the exact field name and data element descriptions for the column from which you import data.When the Ariba procurement solutions RFC runs, it uses the information you provided to find the column inthe table.

Note: Whenever you make changes to a structure, make sure to click Activate.I

Page 51: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 51

Chapter 5 Integrating Master Data Filtering Data

Filtering Data

Your SAP packages for Ariba procurement solutions offer three ways to filter, or restrict the data included ina data import. These filtering methods are described in the following sections:

• “Static Filtering” on page 51

• “ABAP Filtering” on page 56

• “Post-Hook Filtering” on page 58

Static Filtering

Static filtering allows you to construct conditional searches of your SAP tables according to the values ofspecified fields. The table ZARIBTVARV allows you to construct queries to limit the data you import from SAPinto Ariba procurement solutions. Defining queries within ZARIBTVARV is referred to as static filteringbecause the data exists in a structured form within ZARIBTVARV, and data isn’t selected based on dynamicallyformed queries.

Every Ariba procurement solutions RFC that imports data from your SAP system first makes a call toZARIBTVARV to see if it needs to restrict its search. The RFCs search for any entries that match their names. Ifthey find a match, they restrict the query according to the instructions in the ZARIBTVARV entry. The RFCsused to import master data from SAP into Ariba procurement solutions can use the table ZARIBTVARV to filterthe data before it is imported into Ariba procurement solutions. Each RFC has a specific table whose fieldscan be used in ZARIBTVARV. For more information, see “About ZARIBTVARV” on page 64.

Static filtering is quick and simple, but it does not handle inner join queries against more than one table. Ifyou need to restrict data imports from more than one table, use the filtering techniques explained in “ABAPFiltering” on page 56.

Modifying ZARIBTVARV

To restrict the data that an Ariba procurement solutions RFC imports, make a corresponding entry inZARIBTVARV. Enter a new row in the ZARIBTVARV table with the RFC name, the field you want to use, andinformation about what you’re trying to find.

Note: Ariba suggests you run transaction SM30 to examine ZARIBTVARV. Your SAP user ID must haveauthorization S_TABU_DIS to run transaction SM30. ZARIBTVARV resides as a table within the dictionary objectsfor the ZAR6 package.

You also use the ZARIBTVARV table to configure variable settings in certain RFCs. In particular, you use it tostore and retrieve parameters through calls to the Z_ARIBA_PARAMETER RFC. This text refers to ZARIBTVARV’s

configuration and parameter capabilities as parameter use. To learn more about parameter use, seeChapter 6, “Configuring Parameters.” For instructions on editing the ZARIBTVARV parameters, see “About

ZARIBTVARV” on page 64.

Page 52: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 52

Chapter 5 Integrating Master Data Filtering Data

ZARIBTVARV Field Reference

The following table presents the fields you set in ZARIBTVARV.

ZARIBTVARV Field Reference

Field Name Description Use and Necessity

Ariba Variant Identifies the unique name for the shape of datain your SAP system as it appears within Aribaprocurement solutions. An Ariba procurementsolutions variant is different from a variant inSAP.

Necessary for both filteringand parameter use(selection types S and P).

Ariba Partition Describes the unique instance name of aspecified variant shape as you represent it toAriba procurement solutions.

Necessary for both filteringand parameter use(selection types S and P).

Variable Name Provides an index to the table. Ariba procurementsolutions uses the Name field either to pass thename of the calling function or to pass the nameof the parameter it seeks. See Chapter 6,“Configuring Parameters,” to find out more aboutZARIBTVARV and parameters.

Necessary for both filteringand parameter use(selection types S and P).

Field Name Refers to the column name you use to filter data.Leave this field blank to use ZARIBTVARV forparameters and selection type P.

Necessary for filtering only(selection type S).

SelectionCategory

Determines whether to use ZARIBTVARV to filterdata or to configure a parameter for an RFC.Enter a value of S to perform filtering and P toconfigure parameters.

See Chapter 6, “Configuring Parameters,” to findout more about ZARIBTVARV and parameters.

Necessary for both filteringand parameter use(selection types S and P).

Number Determines the sequential order of selectionstatements. The order determines how toconstruct the entire selection.

See “Selection Condition Options” on page 53.

Optional and used forfiltering (selection type S).

Incl/Excl Determines whether to include or exclude theselection condition. Set this value to I forinclusion if the condition is positive or to E forexclusion if the condition is negative.

See “Selection Condition Options” on page 53.

Required for filtering use(selection type S).

Page 53: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 53

Chapter 5 Integrating Master Data Filtering Data

Selection Condition Options

The selection options in the ZARIBTVARV table reflect the internal structure of select options in SAP reporttables. The ZARIBTVARV structure itself resembles the SAP TVARV structure, and the fields function similarly.

The ZARIBTVARV structure allows you to create the following conditions:

• Equality and inclusion

• Ranges and exclusion

• Patterns and comparisons

Equality and Inclusion

Equality and inclusion conditions allow you to set a selection criteria that equals or includes a specifiedvalue.

The following example takes you through the steps of creating an equality and inclusion filter condition.

Scenario: You need to create a static filter that pulls only company information for companies in specificcountries.

Option Allows you to create conditions based onequality, value ranges, and patterns. Set it to thefollowing conditions:

BT— The “BeTween” option specifies a selectionwithin the range of values in the LOW and HIGH

fields. For example, names between “Reid” and“Sligh”.

CP — The “Contains Pattern” option allows youto return data with a given pattern, for instance,names that begin with “Dan”.

EQ — The “EQual” option determinesequivalency, such as names = “Angus”.

GE — The “Greater than or Equal to” optiondetermines if the FIELDNAME is greater than orequal to a value, such as names >= “Bruce”.

Required for filtering use(selection type S).

Selection Value(LOW)

Sets the low value for filtering and settings forparameters. To enter particularly long values—like strings—overlap values to the HIGH field.

Optional for parameterconfiguration and requiredfor most filteringstatements.

Selection Value(HIGH)

Sets the high value and works with LOW valuesand BT option fields.

Optional for mostparameter configurationand filtering, except BToption fields.

ZARIBTVARV Field Reference (continued)

Field Name Description Use and Necessity

Page 54: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 54

Chapter 5 Integrating Master Data Filtering Data

To create the filter:

1 See Z_ARIBA_COMPANY to determine where this information originates.

In this example, the information originates from table T001. Table T001 contains an entry called LAND1,which designates countries. In this example, the only countries you want to import company informationfrom are Australia and Japan, which LAND1 designates with the strings AU and JP.

You have the information you need to build your static filter:

• The Ariba procurement solutions RFC that imports the data

• The column that contains the data (and the table)

• The data set you want to return

2 Build your select statement.

The statement depends on the data set you want to capture. In this example, you want to import rowswhere LAND1 is equal to AU or rows in which LAND1 is equal to JP. Another way of saying this might be:

(LAND1 = “AU”) OR (LAND1 = “JP”)

In this example, you want to define a logical “OR” based on two conditions of equality. Each condition in aselection requires its own row in ZARIBTVARV. The two rows might look similar to the entries in the followingtable (the VARIANT and PARTITION fields are not included):

The fields in the VARIABLE NAME column indicate this filter is for the data imported by the RFCZARIBA_COMPANY.

The fields in the FIELD NAME column indicate you are importing data from the LAND1 column.

The fields in the SELECTION CATEGORY column specify to the calling function that the row is for filtering, orselecting, data. In this case, the S specifies filtering.

The fields in the NUMBER column include more than one row of the same filtering table in the condition. Itstarts at zero, or 0000. The order is not significant.

The fields in the INCL/EXCL column indicate whether to exclude the condition from the statement or includeit, signified by I or E. An included condition is generally specified with an OR statement. To specify anexcluded condition, you generally use an AND NOT statement. For an example of exclusion, see “Ranges andExclusion” on page 55.

The fields in the OPTION column determine that you’re selecting for a condition of equality (EQ). It is alsopossible to specify:

VARIABLENAME

FIELDNAME

SELECTIONCATEGORY

NUMBER INCL/EXCL OPTION SELECTION VALUE(LOW)

SELECTIONVALUE(HIGH)

Z_ARIBA_COMPANY

LAND1 S 0000 I EQ AU

Z_ARIBA_COMPANY

LAND1 S 0001 I EQ JP

Page 55: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 55

Chapter 5 Integrating Master Data Filtering Data

• Ranges of values (BT)—The “BeTween” option specifies a selection within the range of values in the LOW

and HIGH fields, such as the names between “Daly” and “Thompson.”

• Pattern matches (CP)—The “Contains Pattern” option allows you to return data with a given pattern, forexample, names that begin with “Lu.” For more information, see “Patterns and Comparisons” on page 55.

• Greater than or equal to conditions (GE)—The “Greater than or Equal to” option determines if theFIELDNAME is greater than or equal to a value, for example names >= “Bruce.”

Ranges and Exclusion

You can also create other kinds of selection options. Suppose you want to import only countries whose SAPcodes alphabetically range between, and include, AU and GB (for Australia and Great Britain). However,you need to exclude Canada (CA) from this import. Here’s a rough statement of the logic:

(“AU” >= LAND1 >= “GB”) AND NOT (LAND1 = “CA”)

The ZARIBTVARV entries could resemble the rows in the following table.

The selection first includes the range between AU and GB and then excludes CA.

Patterns and Comparisons

You also select data according to its pattern and by comparing values.

Suppose you want to import only vendors that certain users have created, according to the user’s name. Youwant to import only users who have names that begin with the letter “M” or “N”. For some reason, however,you want only some of the “N” users, specifically, only those in the alphabetic range “N” through “NE”.

The Ariba procurement solutions RFC, ZARIBA_VENDOR_ONLY, imports vendors from the table LAFI. LAFI

contains the column ERNAM for the user name. The logic of the selection can resemble the followingstatement:

(ERNAM LIKE “M*”) OR (ERNAM LIKE “N*”) AND NOT (ERNAM >= “ND”)

Note: You do not have to use AND NOT ERNAM >= “ND”, but this example does so for illustrative purposes.Using AND ERNAM < “ND” is more concise.

VARIABLENAME

FIELDNAME

SELECTION TYPE

NUMBER INCL/EXCL

OPTION SELECTION VALUE(LOW)

SELECTION VALUE(HIGH)

Z_ARIBA_COMPANY

LAND1 S 0000 I BT AU GB

Z_ARIBA_COMPANY

LAND1 S 0001 E EQ CA

Page 56: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 56

Chapter 5 Integrating Master Data Filtering Data

The values in ZARIBTVARV might resemble the following:

This filter selects three conditions:

• Names that begin with “M.”

• Names that begin with “N.”

• After the first two conditions, the filter refines the set to only those names that are equal to or less than“NE” (or not greater than or equal to “ND”).

ABAP Filtering

ABAP filtering is a method of selecting data by editing a special exit RFC called ZARIBA_PREFILTER_EXT.Every Ariba procurement solutions RFC that pulls data first makes a call to ZARIBA_PREFILTER_EXT to refinethe table data set. ZARIBA_PREFILTER_EXT is part of the Ariba Customer Packages such as ZARC where youmake the modifications.

Each RFC passes its name to ZARIBA_PREFILTER_EXT. You use conditional tests to determine how and ifZARIBA_PREFILTER_EXT restricts the data set of the table based on the calling RFC name. This process is calledABAP filtering because you write ABAP/4 code to get the results you want.

This section explains how ABAP filtering:

• Performs inner joins

• Provides an RFC interface

• Works in a sample configuration

Joins and ABAP Filters

You use ABAP filters to reduce your data set through references to more than one table. Because you arewriting the code yourself, you can implement inner join statements.

VARIABLENAME

FIELDNAME

SELECTION TYPE

NUMBER INCL/EXCL OPTION SELECTION VALUE(LOW)

SELECTION VALUE(HIGH)

Z_ARIBA_VENDOR_ONLY

ERNAM S 0000 I CP M

Z_ARIBA_VENDOR_ONLY

ERNAM S 0001 I CP N

Z_ARIBA_VENDOR_ONLY

ERNAM S 0002 E GE ND

Page 57: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 57

Chapter 5 Integrating Master Data Filtering Data

Prefilter Interface

The ZARIBA_PREFITLER_EXT is as follows:FUNCTION ZARIBA_PREFILTER_EXT.*"--------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(NAME) LIKE ZARIBTVARV-NAME*" VALUE(VARIANT) TYPE ZARIBTVARV-ZVARIANT OPTIONAL*" VALUE(PARTITION) TYPE ZARIBTVARV-PARTIT OPTIONAL*" TABLES*" WHERE STRUCTURE ZARIBAWTAB*" EXCEPTIONS*" INVALID_SELECTION_SIGN*" INVALID_SELECTION_OPTION*"--------------------------------------------------------------------

ENDFUNCTION.

The RFCs pass your unique Ariba procurement solutions variant, site, and RFC name.

Sample ABAP Filter

It is possible for you to create dynamic WHERE statements for selections in the WHERE structure. The examplecode in Z_ARIBA_PREFILTER_EXT demonstrates the use of dynamic WHERE statements. The WHERE statements inthe code can come from another table.

Following is an example of an inner join ABAP filter. This example joins a purchase organization table to acompany code table to retrieve all purchase organizations for company codes tied to the US:

TABLES: T001.DATA: US_BUKRS LIKE T001-BUKRS.IF 'Z_ARIBA_PURCHASE_ORG' = NAME. SELECT DISTINCT BUKRS INTO US_BUKRS FROM T001 WHERE LAND1 = 'US'. DESCRIBE TABLE WHERE LINES COUNT. IF COUNT > 0. WHERE = 'or'. APPEND WHERE. ENDIF. CONCATENATE 'bukrs = ''' US_BUKRS '''' INTO WHERE. APPEND WHERE. ENDSELECT.ENDIF.

Page 58: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 58

Chapter 5 Integrating Master Data Filtering Data

Post-Hook Filtering

Both static filters and ABAP filters cut down on data before an Ariba procurement solutions RFC begins toprocess anything. You filter data after the Ariba procurement solutions RFCs complete through post-hookfiltering. SAP commonly provides this feature through “user exits” or “customer exits.”

This section introduces:

• Exit RFCs

• Post-hook filtering suggestions

Exit RFCs

Only SAP can use the SAP infrastructure of user exits, so Ariba procurement solutions providespost- hook filtering through exit RFCs instead. Ariba procurement solutions RFCs call exit RFCs just beforethey exit.

Each Ariba procurement solutions RFC has its own exit RFC. Exit RFCs derive their names from the Aribaprocurement solutions module that calls them, with the suffix _EXT. For example, ZARIBA_ASSET calls the exitRFC ZARIBA_ASSET_EXT. Exit RFCs compose most of the customer packages such as ZARC that allow you tomake modifications.

An exit RFC usually imports only the Ariba procurement solutions variant, site, and the extension structurefor a given internal table. The interface for ZARIBA_ASSET appears as follows:*" IMPORTING*" VALUE(FILE_NAME) LIKE RLGRAP-FILENAME OPTIONAL*" VALUE(ENCODING) TYPE CHAR10 OPTIONAL*" VALUE(VARIANT) TYPE ZARIBTVARV-ZVARIANT OPTIONAL*" VALUE(PARTITION) TYPE ZARIBTVARV-PARTIT OPTIONAL*" TABLES*" ASSET_INFO STRUCTURE ZXTASSET

Post-Hook Filtering Suggestions

Ariba procurement solutions RFCs expose filtering for only some of the tables from which they take data inSAP. Ariba procurement solutions RFCs sometimes depend on filtering for one table to restrict the dataimported from a second table. For example, you might filter one table for a data type in the first table, andthen use that filtered result to import data from a second table.

In most circumstances, this arrangement works just fine. However, if the Ariba procurement solutions RFCsretrieve data from the second table that you do not want, you need some mechanism to restrict it further.ABAP and static filters do not work because they only provide you access to the first table, not the second.You need to restrict the data after the Ariba procurement solutions RFCs have finished with it. Post-hookfilters let you restrict the data.

You need to write ABAP code to change the data within the given internal table for an Ariba procurementsolutions RFC.

Page 59: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 59

Chapter 5 Integrating Master Data Master Data Integration Events

Master Data Integration Events

Ariba procurement solutions imports master data from CSV files that the SAP integration programZARIBA_MASTER_DATA_PULL creates on your SAP instance client.

This section has the following topics:

• “Understanding the Master Data Import” on page 59

• “Running the Master Data Import Event” on page 59

• “Checking Output CSV Files” on page 60

Understanding the Master Data Import

The following high-level steps describe the master data import process:

1 Run the SAP program ZARIBA_SSP_MASTER_DATA_PULL. This program transfers the SAP master data intoAriba CSV files on the SAP server.

2 Set up the Ariba Data Transfer Tool on the SAP server to run when the master data download is complete.

3 The Ariba Data Transfer Tool picks up the master data CSV files and sends them to the Aribaprocurement solutions.

4 Ariba procurement solutions then creates the master data objects.

Note: All master data loads are full loads. There is no incremental master data load. That is, it always loadsall the master data, and not just the data that changed since the last time the program ran.

Running the Master Data Import Event

The input for the Z_ARIBA_CR_MASTER_DATA_PULL program includes the directory where the CSV files shouldbe written, the path separator character, encoding, and the data to import.

To run the master data import event:

1 In SAP, run the program ZARIBA_SSP_MASTER_DATA_PULL using SAP transaction code SE38.

2 Specify the directory path on the SAP application server in which to create the CSV files. This directorymust already exist. For example c:\masterdata\InDir. Be sure to use the same directory you specify in theAriba Data Transfer Tool options file that you use when you pull master data from SAP. The directorymust match %topDir%\%inDir%.

3 Specify the directory separator character (/ or \).

4 Specify the character encoding to use in the generated CSV files. Use the encoding that corresponds to thedata you are supplying from SAP. Ariba supports any of the encodings listed for the Java.io API at

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

5 Specify the particular master data imports you would like this program to execute. By default all arechecked. Uncheck the choices of data that you do not want to import.

6 To schedule ZARIBA_SSP_MASTER_DATA_PULL to run at regular intervals, save the program input as a variantthat you can specify to run as a job. Schedule this program using SAP transaction SM36. For moreinformation about this transaction or scheduling SAP function modules, see your SAP documentation.

7 When writing the master data CSV files is complete:

Page 60: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 60

Chapter 5 Integrating Master Data Master Data Integration Events

• Schedule the Ariba Data Transfer Tool to run event “Import Batch Data” to load the CSV files eachtime ZARIBA_SSP_MASTER_DATA_PULL has written them.

• Make sure the Ariba Data Transfer Tool input directory specification matches the directory where youcreated the CSV files, as noted in step 2.

Checking Output CSV Files

When ZARIBA_SSP_MASTER_DATA_PULL has completed, you can check that the CSV files are generated asexpected and that they are located where the Ariba Data Transfer Tool can find them.

The ZARIBA_SSP_MASTER_DATA_PULL program creates a temporary directory called processingyyyymmddhhmmss,where yyyymmddhhmmss is the date and time stamp indicating when the directory was created. It writes all therequested CSV files into this directory, depending on which data you chose to pull. The Processing directoryis placed inside the folder you specified as input in step 2, above.

Note: Set your Ariba Data Transfer Tool options file to specify “processing” as the filterPrefix value so thatthe Ariba Data Transfer Tool ignores it.

When ZARIBA_SSP_MASTER_DATA_PULL is finished writing the files, it renames the temporary directory toprocessedyyyymmddhhmmss. This directory is where the Ariba Data Transfer Tool looks for the CSV files. Thenext time the Ariba Data Transfer Tool runs, it finds this directory and transfers the data.

The following table lists the SAP remote function calls (RFCs) and the CSV files they generate for each dataimport task.

Task RFC Used Generated CSV File

Import Company Codes Z_ARIBA_COMPANY CompanyCode.csv

Import Plants Data Z_ARIBA_PLANT Plant.csv

Import Purchase Organizations ZARIBA_PURCHASE_ORG PurchaseOrg.csv

Import Purchase Groups Z_ARIBA_PURCHASE_GROUP PurchaseGroup.csv

Import Plant To Purchase OrganizationMapping

Z_ARIBA_PLANT_PORG PlantPurchaseOrgCombo.csv

Import Assets Z_ARIBA_ASSET Asset.csv

Import Cost Centers Z_ARIBA_COST_CENTER CostCenter.csv

Import General Ledgers Z_ARIBA_GENERAL_LEDGER GeneralLedger.csv

Import Internal Order Codes Z_ARIBA_INERNAL_ORDER InternalOrder.csv

Import WBS Elements Z_ARIBA_WBS WBSElement.csv

Import Account Categories Z_ARIBA_ACCOUNT_CATEGORY AccountCategory.csv

Import Account Category Field StatusCombinations

Z_ARIBA_ACC_FIELD_STATUS

AccCategoryFieldStatusCombo.csv

Import Company Code Internal OrderMapping

Z_ARIBA_INTERNAL_ORDER CompanyCodeIOCombo.csv

Import Company Code WBS Mapping Z_ARIBA_WBS CompanyCodeWBSCombo.csv

Page 61: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 61

Chapter 5 Integrating Master Data Master Data Integration Events

Importing Data in Multiple Languages

The Z_ARIBA_SSP_MASTER_LANG_PULL program provides options to download translations of thefollowing master data:

• Account category

• Cost center

• General ledger

• ERP commodity codes

• Tax codes

To import data in multiple languages from SAP systems:

1 Download the relevant SAP transports from connect.ariba.com. In the Readme file, the SAP transportcorresponding to the description “Contains objects for Master data pulls and Language pulls (File)” must beimported into your SAP ERP system.

2 Configure the Import ERP Master Data Translations data import task for use with the Ariba Data TransferTool. For information on configuring data import tasks in the Data Transfer Tool, refer to the AribaIntegration Toolkit Guide.

Import ERP Commodity Codes Z_ARIBA_MATERIAL_GROUP ERPCommodityCode.csv

Import Currency Conversion Rates Z_ARIBA_CURRENCY_ CONVERSION

CurrencyConversion Rate.csv

Import Suppliers Z_ARIBA_VENDOR Supplier.csvSupplierLocation.csv

Import Purchase Organization toSupplier Mapping

Z_ARIBA_VENDOR PurchaseOrgSupplierCombo.csv

Import Minority Vendor Data Z_ARIBA_MINORITY_VENDOR MinorityVendor.csv

Import Tax Codes Z_ARIBA_TAX_CODE TaxCode.csv

Task RFC Used Generated CSV File

Page 62: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 62

Chapter 5 Integrating Master Data Master Data IntegrationThrough Web Services

Master Data IntegrationThrough Web Services

In file-based integration, you load master data from an ERP system into Ariba Spend Management solutionsby executing scheduled tasks. The scheduled tasks are executed based on the time interval that you haveconfigured. If a new supplier is created in the ERP system, this supplier’s details are available in AribaSpend Management solutions only after the next execution of the corresponding scheduled task. This canlead to delays in creating orders against this new supplier, as the supplier is not available in Ariba SpendManagement solutions.

Prior to this release, you were able to integrate master data between Ariba Spend Management solutions andSAP ERP systems, by using only file-based integration (CSV files). With this release, you can also use WebServices to integrate some master data between Ariba Spend Management solutions and SAP ERP systems.Web Services allow real-time integration of master data between the two systems. As a result, if a supplier iscreated in the SAP ERP system, the supplier is immediately downloaded to Ariba Spend Managementsolutions and users can start creating orders against this new supplier immediately.

The integration of master data between Ariba Spend Management solutions and SAP ERP systems is notend-to-end. The SAP ERP system must publish a SOAP message for the required integration event and postthat SOAP message to an Enterprise Application Integration (EAI) tool or application. The EAI thentransforms this SOAP message to a format that allows Ariba Spend Management solutions to consume thismessage.

Ariba supports the following integration events for import of master data using Web Services.

Integration Between Ariba Spend Management Solutions and a SAP System

General ledgers and cost centers are related to company codes. Therefore, you must first import the companycodes and then the general ledgers and cost centers. You will not be able to create a requisition if companycodes is not imported because general ledgers and cost centers are filtered based on company codes.

Similarly, a supplier is related to a purchase organization that in turn is related to a company code. Beforeyou import suppliers, you must ensure that you have imported the purchase organization and company code.

Master Data Integration Event Name

Company Code Import Company Codes

General Ledger Import General Ledgers

Cost Center Import Cost Centers

Purchase Organization Import Purchase Organizations

Supplier Import Suppliers

Page 63: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 63

Chapter 5 Integrating Master Data Master Data IntegrationThrough Web Services

Enabling Master Data IntegrationThrough Web Services

The integration of master data using Web Services is disabled by default. To enable Web Servicesintegration, you must enable the corresponding events from Ariba Administrator.

You must configure the integration events for Web Services master data integration using the IntegrationManager workspace in Ariba Administrator. Before you enable a Web Services integration event, you mustensure that you have associated an end point to the integration event. If no end points have been defined,then you must first create an end point.

For more information, see Ariba Procurement Data Import and Administration Guide.

Page 64: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 64

Chapter 6 Configuring Parameters

You change the way Ariba RFCs function by modifying parameters in the RFCs. This section explains howto change ZARIBTVARV RFC parameters. The material in this section is appropriate for SAP developers oradministrators. The following topics explain parameter configuration:

• “About ZARIBTVARV” on page 64

• “Parameters” on page 65

• “Parameter Descriptions” on page 67

About ZARIBTVARV

You configure all Ariba RFC parameters through the ZARIBTVARV table. By editing the parameterconfigurations in ZARIBTVARV, you:

• Perform static filtering on data pulls through TVARV-like selection options.

• Configure parameters that affect how Ariba RFCs function.

For information on performing static filtering, see “Filtering Data” on page 51

For a list of the RFCs affected by parameters in ZARIBTVARV, see “ZARIBTVARV RFC Reference” onpage 166.

ZARIBTVARV contains a special field, called TYPE, which determines whether an entry is for static filtering orparameter configuration. To change parameters, you enter a “P” in the TYPE field. (If you set the field to S,you use ZARIBTVARV for static filtering; see “Filtering Data” on page 51.)

In your default configuration, ZARIBTVARV does not contain any parameters. Ariba RFCs that call ZARIBTVARValready contain certain default values that they use. Enter a value in ZARIBTVARV only if you want to changethe default values.

To edit ZARIBTVARV parameters:

1 Run transaction SM30.

2 Open the Maintain Table Views initial screen, enter ZARIBTVARV in the Table/View field, and click Maintain.

3 Choose Edit > New Entries, or click the New Entries button.

4 Enter appropriate information in the screen that appears. For details, see the parameters table, below.

5 To save your changes, choose Table View > Save or (press F11).

6 If a transport window appears prompting you to enter the change request, click Create Request to create anew request, or choose an existing request number in the Request field, and then click the check mark tocreate the transport request.

Page 65: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 65

Chapter 6 Configuring Parameters Parameters

Parameters

The following table lists possible ZARIBTVARV parameters, default values, and the calling functions thatreference them. The remaining sections in this section explain what these parameters do and provide otherpossible values.

Parameter Name Default Calling Function/Program

BALANCE_SHEET_ACCOUNTS disallow Z_ARIBA_GENERAL_LEDGER

COST_CENTER_DAYS_PAST 7 Z_ARIBA_COST_CENTER

DO_GET_LAST_CHANGE_DATE Last change date fromchange document headertable

Z_ARIBA_LAST_CHANGE_DATE

GENERAL_LEDGER_DAYS_PAST 7 Z_ARIBA_GENERAL_LEDGER

MINORITY_VENDOR_USE_HEADOFFICE T Z_ARIBA_MINORITY_VENDOR

Z_ARIBA_CURR_CONV_BANK_RATE B Z_ARIBA_CURRENCY_CONVERSION

Z_ARIBA_CURR_CONV_DAYS_PAST 60 Z_ARIBA_CURRENCY_CONVERSION

Z_ARIBA_CURR_CONV_EURO_RATE EURO Z_ARIBA_CURRENCY_CONVERSION

Z_ARIBA_INTERNAL_ORDER_AUART blank Z_ARIBA_INTERNAL_ORDER

Z_ARIBA_INVOICE_ALLOW_DUPS blank ZARIBA_SSP_INVOICELOADZARIBA_SSP_ER_INVOICE_CREATE

Z_ARIBA_LANGUAGE E Z_ARIBA_ACCOUNT_CATEGORYZ_ARIBA_MATERIAL_GROUPZ_ARIBA_COST_CENTERZ_ARIBA_GENERAL_LEDGERZ_ARIBA_MINORITY_VENDORZ_ARIBA_TAX_CODE

Z_ARIBA_REMITTANCE_BKPF ‘ ‘ ZARIBA_REMITTANCE_PULL

Z_ARIBA_VENDOR_ONLY_COUNTPORGS 1 Z_ARIBA_VENDOR_ONLY

Z_ARIBA_ER_DOC_TYPE ER ZARIBA_SSP_REMITTANCE_PULLZARIBA_SSP_ER_INVOICE_CREATE

Z_ARIBA_INV_DOC_TYPE RE ZARIBA_SSP_INVOICELOAD

BAPI_PO_CREATE_DOC_TYPE AR Z_ARIBA_BAPI_PO_CREATE

BAPI_PO_CREATE_ERP_DOC_TYPE NB Z_ARIBA_BAPI_PO_CREATE

Page 66: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 66

Chapter 6 Configuring Parameters Parameters

Z_ARIBA_USE_BAPI_PO_CRT1 If you set the value of thisparameter to X,Z_ARIBA_BAPI_PO_CREATE calls the new BAPIBAPI_PO_CREATE1 thatsupports new structures andfields and is rich comparedto BAPI_PO_CREATE. If youdo not maintain a value forthis parameter,Z_ARIBA_BAPI_PO_CREATE calls the existing BAPIBAPI_PO_CREATE to createpurchase orders in the SAPERP system.

Z_ARIBA_BAPI_PO_CREATE

BAPI_PO_PUSH_SECONDS_TO_WAIT The default value set it 5seconds. However, in somecases, it is recommended toincrease the wait time for theAriba PO IDs to be updatedsuccessfully in theZARIBAPOS table.

Z_ARIBA_BAPI_PO_CREATE_POST

Z_ARIBA_RECEIPT_DOC_DATE In the TVARV generalizedfor fields section, you mustalso ensure you enter thefollowing values:

INCL/EXCL: i

Option: eq

Selection value: X

When this parameter is set,the date available in theRECVDAT field is used whilecreating a receipt. Thisavailable date value is basedon the user time zone and isalso populated in the BLDAT(document date). If thisparameter is not maintained,then the document date ispopulated from the BLDATfield.

ZARIBA_GR_PUSH

Parameter Name Default Calling Function/Program

Page 67: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 67

Chapter 6 Configuring Parameters Parameter Descriptions

Parameter Descriptions

This section groups categories of parameters together and explains how to use them in the following topics:

• “Days Past Parameter” on page 67

• “Minority Vendor Head Offices” on page 67

• “Currency Conversion Rates” on page 67

• “Internal Order Types” on page 68

• “Vendor Pull Filtering” on page 68

• “Using General Ledger Balance Sheet Accounts” on page 68

• “Language for Texts Parameter” on page 68

• “Allow Duplicates for Invoice” on page 69

• “Document Type for Creating Expense Report Invoices” on page 69

• “Document Type for Creating OK-to-Pay Invoices” on page 69

Days Past Parameter

The DAYS_PAST parameter allows you to configure how far back, in days, the Ariba RFCs look for GeneralLedger and Cost Center data created or modified in the specified time period.

Make sure that the days past parameters for Ariba procurement solutions RFCs are values less than or equalto the scheduled events in the SAP integration table.

Minority Vendor Head Offices

The Z_ARIBA_MINORITY_VENDOR RFC allows you to change the way you pull minority indicators so they comeonly from the individual entries in the central vendor master record. The default is to use the minority statusof the head office account through the MINORITY_VENDOR_USE_HEADOFFICE parameter.

To find the indicator from the vendor itself, set the following:

MINORITY_VENDOR_USE_HEADOFFICE = F

Currency Conversion Rates

The Z_ARIBA_CURRENCY_CONVERSION RFC calls ZARIBTVARV to look up specifications for SAP currencyconversion rates for banks or for the Euro:

• Z_ARIBA_CURR_CONV_BANK_RATE

• Z_ARIBA_CURR_CONV_EURO_RATE

The defaults are “B” and “Euro”.

Note: You can determine how far back the RFC looks to pull historical currency conversion information todeal with expenses from the past through the following parameter: Z_ARIBA_CURR_CONV_DAYS_PAST.

Parameter Description Default Value

Z_ARIBA_CURR_CONV_DAYS_PAST Keeps track of currencyconversion rates

60

Page 68: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 68

Chapter 6 Configuring Parameters Parameter Descriptions

Internal OrderTypes

Internal orders contain a field called AUART, which designates their order type. The value of AUART determineswhether SAP can use the internal order to create a purchase order. The Ariba procurement solutions RFCsdo not create purchase orders using internal orders that have an AUART value specified withZ_ARIBA_INTERNAL_ORDER_AUART.

If you do not specify a value for AUART, your Ariba RFCs can create purchase orders from any internal orderin which the AUART field of the order master data (AUFK):

• Is not equal to a space.

• Is not marked for deletion (LOEKZ).

• Is not already ordered or released.

Vendor Pull Filtering

By default, Ariba RFCs pull only those vendors from SAP they have found associated with at least onepurchasing organization.

The parameter Z_ARIBA_VENDOR_ONLY_COUNTPORGS provides a filtering parameter for vendor pulls. Validsettings are 1 or 0. The default setting is 1.

• If the parameter is set to 1, the RFC selects only vendors assigned to at least one purchasing organization.

• If the parameter is set to 0, the RFC pulls all vendors without regard to any assigned purchasingorganizations.

The default setting of 1 pulls a smaller set of data by executing two select statements within the RFC code.The 0 setting pulls more data, which the RFC refines further through a single selection query.

Using General Ledger Balance Sheet Accounts

You use general ledger balance sheet accounts for your procurement needs in Ariba procurement solutions.By default, Z_ARIBA_GENERAL_LEDGER does not pull accounts for balance sheets, particularly if your SAPsystem is configured not to allow this pull, and returns a hard error message when a user attempts to do so.

To enable Z_ARIBA_GENERAL_LEDGER to pull and use balance sheet accounts, you enter the value allow in theBALANCE_SHEET_ACCOUNTS parameter. To instruct the RFC not to use balance sheet accounts, even if balancesheet accounts are permitted on your system, you enter the value disallow instead.

Language forTexts Parameter

To get language-dependent descriptions in languages besides English (if you are running other languageinstances), you can set the Z_ARIBA_LANGUAGE parameter. Subsequently, the descriptions are displayed in thelanguage set in the parameter. If English language descriptions are not maintained in SAP, set the value tothe language in which descriptions need to be shown in the Ariba on-demand application.

Page 69: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 69

Chapter 6 Configuring Parameters Parameter Descriptions

Allow Duplicates for Invoice

By default, Ariba on-demand applications do not create duplicate invoices. When the integration pushes aninvoice or expense report to SAP, it checks to see if it has already created a invoice with the same referencedocument for the given supplier and fiscal year. If so, it does not create a new invoice but returns the existinginvoice number.

If the Z_ARIBA_INVOICE_ALLOW_DUPS parameter is set, the program does not check for duplicates.

DocumentType for Creating Expense Report Invoices

To distinguish invoices created by the expense report program (ZARIBA_SSP_ER_INVOICE_CREATE) frominvoices created by the OK-to-pay invoice (ZARIBA_SSP_INVOICELOAD) function module, use differentdocument types for expense report and Ok-to-pay invoices.

By default, the Ariba on-demand applications use the custom document type “ER” for expense reports. Thisdocument type does not exist in the SAP standard configuration. You need create this document type. If youwant to use any other document type make an entry in ZARIBTVARV table for the variable Z_ARIBA_ER_DOC_TYPEwith the document type you would like to use.

DocumentType for Creating OK-to-Pay Invoices

By default Ariba On-demand applications use a custom document type “RE” for creating invoices using theAriba OK-to-Pay SAP integration function module, ZARIBA_SSP_INVOICELOAD. If you want to use any otherdocument type, make an entry in ZARIBTVARV table for the variable Z_ARIBA_INV_DOC_TYPE with thedocument type to be used.

By default, Ariba on-demand applications use the custom document type “RE” for OK-to-Pay integration.This document type does not exist in the SAP standard configuration. You need create this document type. Ifyou want to use any other document type make an entry in ZARIBTVARV table for the variableZ_ARIBA_ER_DOC_TYPE with the document type you would like to use.

DocumentType for Creating Purchase Orders

For creating purchase orders, there are two parameters that you can use to maintain the document type:

BAPI_PO_CREATE_DOC_TYPE

If the document type sent from Ariba is "ERPCC" or blank, then specify the document type that you want touse as a value for this parameter in the ZARIBTVARV table. If you do not specify a document type in the table,then the default value of the document type will be “AR”.

Page 70: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 70

Chapter 6 Configuring Parameters Parameter Descriptions

You can create custom document types for purchase orders in the BAPI_PO_CREATE_DOC_TYPE parameter. Tocreate custom document types, ensure that you enter values in the TVARV generalized for fields section for thefollowing fields:

BAPI_PO_CREATE_ERP_DOC_TYPE

If the document type sent from Ariba is “ERP”, then specify the document type that you want to use as a valuefor this parameter in the ZARIBTVARV table. If you do not specify a document type in the table, then the defaultvalue of the document type will be “NB”.

Field Name Description

Ariba Variant The unique variant name for the Ariba procurement solution inyour SAP system for purchase orders.

For example, VREALM_1.

Ariba Partition The unique name of your site for the Ariba procurement solutionin your SAP system for purchase orders.

For example, PREALM_1.

INCL/EXCL This field must have the value “i”.

Option This field must have the value “eq”.

Selection value Sets the low value for filtering and settings for the parameter.

For example, ZARB

Selection value This field can be left empty.

Page 71: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 71

Chapter 7 Account Assignment Categories

• “About Account Assignment Categories” on page 71

• “Configuring Account Assignment Categories” on page 72

The material in this chapter is appropriate for SAP administrators and developers and Ariba procurementsolutions implementation personnel.

About Account Assignment Categories

SAP uses account assignment categories to specify how to assign a line-item expenditure to an account.Examples of account assignment categories are assets, WBS elements, or cost centers. Account assignmentcategories determine what information a user must provide for a line item, such as the account number of anasset.

For example, if you were to purchase an elevator for your company’s building through Ariba procurementsolutions, you could apply the cost of the elevator through an asset account category. You might do sobecause buildings are usually considered assets. Quite often, special tax and accounting considerations existfor expenses related to the improvement or maintenance of assets.

Such considerations might make it necessary for your SAP system to handle expenses for assets in adifferent manner than expenses for other items such as manufacturing raw materials or office supplies. Thesedifferences affect the type of information SAP displays to users who enter asset line items, and what theymust do with this information. Account assignment categories let SAP know how to handle thesedifferences.

For example, if a user chooses an asset account assignment category, SAP does not require the entry of anyinformation related to cost centers. When possible, SAP includes default values for required informationbased upon current data.

It is possible to configure all existing SAP account assignment categories to display and require theaccounting fields you want. If the default account assignment categories do not suit your needs, you createyour own categories.

Page 72: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 72

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

Account Assignment Category Imports

Ariba procurement solutions imports account assignment categories from SAP. The import from SAPincludes information about how the Ariba procurement solutions user interface must treat accountassignment categories to know:

• What types of accounts to display in the user interface.

• Whether to require the user to choose or provide certain types of account information in the user interface.

The default Ariba procurement solutions SAP configuration imports the categories listed in the followingtable. The table identifies which entries are required for each assignment category. The requirement settingsfor these entries are fixed; the entries are required regardless of the values in the FAUS1 field inAccountCategory.csv.)

Note: In the default configuration, the CostCenter field is not displayed on the line-item details screen whenthe user chooses account assignment category “F” (Order).

Configuring Account Assignment Categories

Ariba procurement solutions imports account category information and uses it in similar ways to those usedby SAP. This section explains how SAP allows you to configure account assignment categories, and thenexplains how Ariba procurement solutions imports, displays, and handles account assignment categories inthe user interface.

Understanding Ariba Procurement Solutions AccountingTypes

Ariba procurement solutions defines a generic accounting entity, which is a piece of accounting information.Examples of accounting entities include Project, Cost Center, Account, and SubAccount.

In a typical configuration, each site defines its own set of accounting entities. The accounting fields are notextrinsic—they are just specific instances of the generic accounting entity.

The default Ariba procurement solutions configuration for SAP defines the following accounting entities:

• asset—Asset

• Sub Asset — Sub Asset

• cost center—Cost Center

• general ledger—G/L Account

• internal order—RK/PPC order

• WBS element—Project

Symbol Assignment Category Required Entries

A Asset Asset Number

F Order Internal Order, GL Account,Asset, and Sub Asset

K Cost Center Cost Center, GL Account

P Project WBS Element, GL Account

Page 73: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 73

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

Ariba procurement solutions imports appropriate data from your SAP system and uses that data to populatethe choosers and accounting information in Ariba procurement solutions. Ariba procurement solutionsimports and uses SAP account assignment category information to determine what users need to enter for aline item.

When setting up your Ariba procurement solutions configuration, you define the accounting entities youplan to use. You also set up your configuration to default accounting information for catalog items fromcommodity codes. For information on how to configure accounting information in Ariba procurementsolutions, see the Ariba Procurement Data Import and Administration Guide.

Configuring SAP Accounting Fields

SAP has a set of information fields it can display or require for any account assignment category. Youcontrol the way in which the SAP user interface displays a field and how a user can modify it.

To configure the SAP accounting fields:

1 To control how SAP displays fields and how users modify them, choose one of the following four options:

• Required Entry—SAP displays the accounting field and requires user input. (This setting is ignored forsome account category entries. See “Account Assignment Category Imports” on page 72 for a list.)

• Optional Entry—SAP displays the accounting field, and a user can change it, but SAP does not requirethe user to make any changes.

• Display—SAP displays the accounting field, but the user cannot change it.

• Hidden—SAP does not display the accounting field.

2 To maintain these properties for each account assignment category, choose Go to > Details in transactionOME9 in the SAP user interface.

For example, the default asset account assignment category settings within an International Demonstrationand Education System (IDES) are as follows:

• Display and require the user to enter an asset name or ID.

• Display but do not require the user to enter the following:

• Asset sub-number

• Business area

• Deletion indicator

• Details account assignment block

• Quantity/Percent for material account assignment

• Goods recipient/Ship-to party

• Unloading point

• Special region

• Display the following for informational purposes, but do not allow the user to change:

• General ledger account

• Project

• CO/PP order

• Do not display the remaining fields.

Page 74: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 74

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

Understanding Field Status Group Strings

SAP stores information about when to display or require user input for account assignment categories infield status group strings. SAP uses these strings to store the settings previously discussed in the ChangeView “Account Assignment Categories”: Details screen, in transaction OME9.

One field status group string exists for each account assignment category in your SAP instance. The stringsreside in table T162K, within field faus1. Ariba procurement solutions imports the strings and interprets themto handle accounting fields within the user interface.

Each string consists of a series of four characters or spaces. Each of the four characters corresponds to thefour settings SAP allows for accounting fields for a given account assignment category. Ariba procurementsolutions treats some settings differently from SAP within the user interface.

The position of each character within the string determines the accounting field to which it applies. Forexample, in an IDES system, the field status group strings for the default Ariba procurement solutionsaccount assignment categories are as follows:

The position of the characters within the string corresponds to the accounting fields within the OME9maintenance screen. Ariba procurement solutions imports all the characters in the string, but the defaultconfiguration uses only those that apply to the five account types. The character positions relevant to adefault configuration for an SAP partition are as follows:

Character SAP User Interface Ariba procurement solutions

‘+’ (plus sign) Required entry Displays the field and requires userinput.

‘.’ (period) Optional entry Displays the field, and the user candecide to whether to change it.

‘*’ (asterisk) Display Does not display this field because itdoes not require user input.

‘-’ (minus sign) Suppressed Does not display this field because it isnot relevant.

Account Type Position

Cost Center 10

Internal Order 11

WBS Element 12

Asset 24

General Ledger 51

Page 75: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 75

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

For example, the positions for an asset category from an IDES system resemble those in the followingdiagram:

Ariba procurement solutions interprets this field status group string in the following way:

• The Cost Center character is a minus sign, which means it is not relevant to asset line items and does notappear in the Ariba procurement solutions user interface.

• The Internal Order, WBS Element (project), and General Ledger characters are asterisks. Aribaprocurement solutions does not display them because it does not require the user to enter a value.

• The Asset character is a plus sign. Ariba procurement solutions displays the asset field in the userinterface and requires the user to enter a value.

Ariba procurement solutions imports the entire field status group, even though the default configurationexamines only five of the character positions. Ariba procurement solutions does so in case you want tocustomize Ariba procurement solutions to use and display other accounting type objects.

Your SAP sites create objects with unique names. The fileariba/variants/variant/partitions/partition/data/FieldStatusToAccountingFieldNameMap.csv containsmappings of field positions to the account type. Make sure to check this file for the new account type youadded.

If you implement your own SAP accounting objects to import other accounting categories, the status stringsare available for you to use. You can modify the RFCs that pull account categories with selection filters inZARIBTVARV to include categories for custom accounting objects.

The implementation of a new accounting object in Ariba procurement solutions is beyond the scope of thisdocument, but generally includes creating a new ClusterRoot object that resembles the existing accountingtypes.

Page 76: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 76

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

Viewing Field Status Group Strings

It is possible to view the field status group strings that the Ariba procurement solutions RFC imports foraccount assignment categories on your SAP instance.

To view Ariba procurement solutions field status group strings:

1 Run transaction SE37 to access the Function Builder Library: Initial Screen.

2 Type ZARIBA_ACCOUNT_CATEGORY in the Function module field, and click Sngl.test or choose Function mode >Test > Single test.

The Test Function Module Initial Screen appears.

3 In the Value column, enter your Ariba procurement solutions variant name and partition, and then clickthe green check mark button to execute.

For example, enter “vsap” and “sappart1”.

Importing New Accounting Objects From SAP

You might want to configure account assignment imports to provide display information for a newaccounting object you have created in Ariba procurement solutions.

To pull a new assignment category:

1 Within SAP, set up a parameter to an entry in ZARIBTVARV for the account assignment category RFC,ZARIBA_ACCOUNT_CATEGORY.

In the default configuration, uses the showField method to validate custom account categories with theirfield status strings.

2 The default behavior of displaying these fields is based on the visibility conditions in the code that followsthis task. If you want other behavior, you could add a cluster root object in the metadata XML visibilitycondition calls.

3 For ideas about how to validate custom account assignment categories with their field status strings,examine the code that follows this task. For example, you could use the showField, within a metadataXML user interface description.

The comments provide a good summary of this chapter:

/**Given a field on Accounting for the SAP variant, and a givenaccount assignment category on that Accounting object,determine if the accounting field should show up. This isbased on SAP's account category property called FieldStatusGroup. We pull this field status group back from SAP when wepull AACs (Account Assignment Categories. The field status groupis a string of dots,slashes, plusses, and stars. Each of these means a different thing.

'Optional' ('.') means the accounting field should be shown,but does not require any kind of input.

'Suppressed' ('-') means the accounting field should not beshown at all.

'Required' ('+') means the accounting field requires input,and therefore it should be shown.

Page 77: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 77

Chapter 7 Account Assignment Categories Configuring Account Assignment Categories

'Display' ('*') in SAP means visible, but no input possible.In Ariba that means that the field is simply not visible. SAPhas this option 'display' for when it defaults values to anaccounting field and wants the field to be visible forinformational purposes only. Since we don't do any defaultinglike that, it's not necessary to show such a field.

@aribaapi external*/public static boolean showField (String fieldName, ValueSource aac){ if (null == aac) { return false; } String Unique_Name = (String)aac.getFieldValue("UniqueName"); String fstag = (String)aac.getFieldValue("FieldSelectionString1"); char code = fstag.charAt(positionForField(fieldName));

/**For an optional field, if the following combinations of Account Category (InternalOrder) and Accounting Field (CostCenter) are encountered, then we will suppress the display of the CostCenter field.*/

if ('.' == code) { if (Unique_Name.equals("F") ) { if ( fieldName.equals("CostCenter") ) { return false; } } // Optional return true; } else if ('-' == code) { // Suppressed return false; } else if ('+' == code) { // Required return true; } else if ('*' == code) { // Display-only return false; } else { // error handling return false; }}

Page 78: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 78

Part III IntegratingTransactional Data UsingWeb Services

Part III of this book provides information pertaining to the configuration of the web services channel and thevarious export integration events that are performed using the Web Services channel.

Important: This part of the book is specific only to the configuration tasks and subsequent integration eventsthat you carry out using the Web Services channel. If you are not using the Web Services channel, skip Part3 and go directly to Part 4, “Integrating Transactional Data Using File Channel” on page 111 of this Book.

Part 3 includes the following chapters:

• Chapter 8, “Integrating Data Using the Web Services Channel”

• Chapter 9, “Error Handling”

Page 79: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 79

Chapter 8 Integrating Data Using the Web ServicesChannel

• “About Transaction Data” on page 79

• “Components of an Integration Event” on page 87

• “Integrating Purchase Orders” on page 90

• “Integrating Changed and Canceled Purchase Orders” on page 91

• “Importing Requisitions Using Web Services” on page 92

• “Integrating Receipts” on page 97

• “Integrating Payments” on page 103

• “Integrating Remittance” on page 104

• “Customizing Existing Integration Events” on page 106

About Transaction Data

Transaction data includes information like remittance advice, invoice, purchase orders, and receipts. Exportevents, when using the Web Services channel occur in real-time (triggered when the transactions are ready tobe sent to the SAP ERP).

Import events such as a Remittance Import are scheduled tasks.

Typical Integration Event Process Flow

The following illustration shows a typical data integration process flow using Web Services:

Page 80: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 80

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

Understanding SOAP URLs

The SOAP URL is the endpoint on the Web Service. For outbound events (where performs the request:Request-Reply and Publish), this SOAP URL needs to be explicitly configured through Ariba Administrator.

For outbound events (where the external EAI system performs the request: Service and Subscribe), theSOAP URL is generated automatically to be present in the generated WSDL according to the followinglogic:

<IncomingHttpServerURL> / <ContextRoot> / soap / <realm name> / <event_name>

where:

• IncomingHttpServerURL, ContextRoot: are taken from the AppInfo.xml file located in<install>/config/asmshared

• soap: is the static alias for the Web Service Servlet intended to process the WS requests

• soap_servlet_alias: is the alias used for the WS channel servlet

• partition: is the name of the partition

• event_name: is the name of the event

Consider the following AppInfo.xml example, where the partition is psap and the topic name isPurchaseOrderExport:<AppInfo Version="3.0"> <Instance isCDS="true" name="Buyer"> <Param name="ContextRoot" value="Buyer"/> <Param name="IncomingHttpServerURL" value="https://buyer.ariba.com:4443"/>[...] </Instance></AppInfo>

The generated SOAP URL will be:

https://buyer.ariba.com:4443/Buyer/soap/psap/PurchaseOrderExport

The value of the SOAP URL for the inbound events can be configured through the Ariba Administrator.

Understanding WSDLs

WSDL is an XML format for describing network services as a set of endpoints operating on messagescontaining either document-oriented or procedure-oriented information. It provides a model and an XMLformat for describing Web services.

The abstract definition of ports and messages is separated from their concrete use or instance, allowing thereuse of these definitions. A port is defined by associating a network address with a reusable binding, and acollection of ports define a service. Messages are abstract descriptions of the data being exchanged, and porttypes are abstract collections of supported operations. The concrete protocol and data format specificationsfor a particular port type constitutes a reusable binding, where the operations and messages are then boundto a concrete network protocol and message format. In this way, WSDL describes the public interface to theweb service.

WSDL is often used in combination with SOAP and XML Schema to provide web services over the Internet.A client program connecting to a web service can read the WSDL to determine what functions are availableon the server. Any special data types used are embedded in the WSDL file in the form of XML Schema. Theclient can then use SOAP to actually call one of the functions listed in the WSDL.

Page 81: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 81

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

A WSDL is made up of the following sections:

For more information about how to configure Web services events from the Ariba Administrator, see theAriba Procurement Data Import and Administration Guide.

Section Description

import This element is used to associate a namespace with a documentlocation. We do not currently use this tag.

types This element is used to define user created data types which willbe used in the document.

message This element defines all the parts of an individual message.

portType This is a container of supported operations by the web service.The operations in the portType are ordered and indicate whether amessage is inbound or outbound.

binding This element defines the operation to protocol mapping. (forexample, http, https, MIME, etc.).

service This element defines the operation to address mapping. So this isthe actual address the request should be sent to.

Page 82: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 82

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

Configuring WSDL in SAP NetWeaver PI

Importing a WSDL1 You need to download the WSDL from Ariba Prod and import it in your SAP NetWeaver PI Development

system. Then transport the TPZ file to your SAP NetWeaver PI system in production. Example ofPurchase Order transaction is displayed in the graphic:

2 Save and Activate.

Page 83: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 83

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

Changing Message Mappings1 In the mapping, select the source message for Request and target message for Reply as shown in the

graphic:

Page 84: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 84

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

2 Save and Activate.

Page 85: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 85

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

Changing Message Interface1 In message interface, refer the imported WSDL.

2 Save and Activate.

Page 86: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 86

Chapter 8 Integrating Data Using the Web Services Channel AboutTransaction Data

Changing Interface Mapping1 Click on Read Interfaces to refer the imported WSDL for Request and Response.

2 Save and Activate.

Repeat the above activities for all the other transactions.

Formatting Dates

Ariba procurement solutions formats dates to have four-digit years. Ariba procurement solutions cannotensure the dates you provide from an ERP system, flat file, database, or other external source are accurateand properly formatted. If you provide accurate and properly formatted dates to Ariba procurementsolutions, the corresponding dates Ariba procurement solutions exports to your ERP system or other datadestinations are also accurate.

Ariba procurement solutions imports, or pulls, all dates from external ERP systems and data sources asstrings. Ariba procurement solutions depends upon the java.text.DateFormat class within the Sun JDK(Java Development Kit) to format these strings into Java date objects. See Sun’s API Java documentationand the Sun Java source code for more information about how to format ERP and external data source datesas strings for the java.text.DateFormat class.

Page 87: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 87

Chapter 8 Integrating Data Using the Web Services Channel Components of an Integration Event

Components of an Integration Event

The following table lists the various components that constitute every transactional data integration event.These components are spread across both Ariba procurement solutions and the SAP ERP systems.

The sample URLs in the Ariba Administrator under Integration Manager -> End Point Configuration foreach data integration event is listed here:

• PurchaseOrderExport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_PurchaseOrder_WSDL_Sender

• PurchaseOrderChangeExport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_ChangePurchaseOrder_WSDL_Sender

TransactionalData

Event Name SWC Name and NameSpace RFC/IDoc

Purchase Order PurchaseOrderExport ARIBA_ONDEMAND_PURCHASEORDER, 11s2 ofariba.com

(urn:ariba.com:xi:OnDemand:CreatePurchaseOrder)

Z_ARIBA_BAPI_PO_CREATE

ChangedPurchase Order

PurchaseOrderChangeExport -do-

(urn:ariba.com:xi:OnDemand:ChangePurchaseOrder)

Z_ARIBA_BAPI_PO_CHANGE

CanceledPurchase Order

PurchaseOrderCancelExport -do-(urn:ariba.com:xi:OnDemand:CancelPurchaseOrder)

Z_ARIBA_BAPI_PO_CANCEL

Purchase OrderHeader Status

PurchaseOrdHeaderStatusImport

-do-(urn:ariba.com:xi:OnDemand:PurchaseOrderHeaderStatus)

Z_ARIBA_PO_HEADER_STATUS

Receipts ReceiptExport ARIBA_ONDEMAND_RECEIPT, 11s2 of ariba.com(urn:ariba.com:xi:OnDemand:Receipt)

Z_ARIBA_GR_PUSH

Invoice PaymentExport ARIBA_ONDEMAND_INVOICE, 11s2 of ariba.com(urn:ariba.com:xi:OnDemand:Invoice)

Z_ARIBA_BAPI_INVOICE_CREATE

Invoice Status Import Invoice Status ARIBA_ONDEMAND_INVOICE, 11s2 of ariba.com(urn:ariba.com:xi:OnDemand:Invoice)

Z_ARIBA_BAPI_INVOICE_CREATE

Remittance (Is ascheduled task)

RemittanceImport ARIBA_ONDEMAND_REMITTANCE, 11s2 of ariba.com(urn:ariba.com:xi:OnDemand:Remittance)

Z_ARIBA_REMITTANCE_PULL

Page 88: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 88

Chapter 8 Integrating Data Using the Web Services Channel Components of an Integration Event

• PurchaseOrderCancelExport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_CancelPurchaseOrder_WSDL_Sender

• PurchaseOrdHeaderStatusImport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_PurchaseOrderHeader_WSDL_Sender

• ReceiptExport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_Receipts_WSDL_Sender

• PaymentExport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_Invoice_WSDL_Sender

• RemittanceImport

http://sapnw01:50000/XISOAPAdapter/MessageServlet?channel=:BS_Procurement:CC_RemittanceImport_WSDL_Sender

Advanced Pricing Details

While creating a requisition in Ariba procurement solutions, the user can specify advanced pricing detailsfor a line item or multiple line items. Advanced pricing details includes:

• Quantity Based Pricing

• Unit Conversion Pricing

Quantity based pricing allows the unit price of an item to be based on a different price unit quantity than 1.Unit Conversion Pricing allows unit of measure conversion in the pricing calculation, when the unit ofmeasure on the order differs from the pricing unit of measure.

While creating a requisition in Ariba procurement solutions, if the user has specified advanced pricingdetails for a line item, then in the exported SOAP message, the following fields are added:

• PriceBasisQuantity

• PriceBasisQuantityUOM

• ConversionFactor

• PriceBasisQuantityDesc

Advanced pricing details are also applicable for change purchase order and payment requests. Therefore,when a change PO and payment request are exported, the above mentioned fields are available in therespective SOAP message.

To ensure that the above mentioned fields related to advanced pricing details are processed in SAPNetWeaver PI and your SAP ERP system, download the relevant .TPZ files and SAP transport requests fromconnect.ariba.com and import them into SAP NetWeaver PI and SAP ERP system respectively.

Page 89: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 89

Chapter 8 Integrating Data Using the Web Services Channel Components of an Integration Event

ScheduledTask for PurchaseOrdHeaderStatusImport

The PurchaseOrderHeaderStatusImport intergation event can also be scheduled by using theProcessERPHeaderStatusPull scheduled task. An example of the scheduled task is as follows:

ProcessERPHeaderStatusPull = { QueryPeriod = 30; ScheduledTaskClassName = "ariba.purchasing.ordering.ProcessERPHeaderStatusPull"; Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 1;};}; };

This schedule tasks picks up all ERP Orders in having the "Ordered" status, and have been created in the last30 days (QueryPeriod), and exports them to SAP through NetWeaverXI.

SAP returns values such as ERPAllowCancel to be True or False (that determines whether or not to allow theCancel PO action.

ScheduledTask for RemittanceImport

The RemittanceImport intergation event can also be scheduled using the IncrementalRemittanceImportscheduled task. An example of the scheduled task is as follows:

IncrementalRemittanceImport = { DefaultStartDate = 20080901000000; Event = RemittanceImport; LoggingName = IncrementalRemittanceImport; Partition = psap; ScheduledTaskClassName = "ariba.integration.core.IncrementalIntegrationEventTask"; Variant = vsap;

Schedules = { Schedule1 = { DayOfWeek = Everyday; Hour = 4;};}; };

Note: The DefaultStartDate parameter can be used as shown in the above example, to import the remittancedocuments from a particular date and time when running event for the very first time.

Subsequent runs will be incremental and the start date submitted in the event request will be the end date ofthe previously executed instance of the event.

ScheduledTask for ReceiptExport

The ReceiptExport intergation event can also be scheduled by using the ProcessPendingReceipts scheduledtask. An example of the scheduled task is as follows:

ProcessPendingReceipts = { ProcessPeriod = 1; ScheduledTaskClassName = ariba.receiving.ProcessPendingReceipts; Schedules = { Schedule1 = { DayOfWeek = Weekday; Hour = 0;};}; };

Note: The ProcessPeriod parameter value indicates the lag in the number of days before the receipts areexported to SAP when the scheduled task is executed.

If you want the scheduled task to pick up the receipts created on the current day, the ProcessPeriod

parameter value needs to be changed to “0” (zero.)

Page 90: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 90

Chapter 8 Integrating Data Using the Web Services Channel Integrating Purchase Orders

Integrating Purchase Orders

An Ariba procurement solutions purchase order is exported to SAP as soon as it is fully approved in Aribaprocurement solutions.

The following steps explain how a purchase order export integration event works:

1 Create a purchase order (PO) with multiple line items in. After the Requisition is fully approved, ERPOrder Objects is created and sent to NetWeaverXI as per the WSDL.

Note: When creating the PO, the NeedByDate field is not mandatory. However, when you push the PO toSAP, this field is required else the PO push fails.

2 NetWeaverXI transmits the XML messages to the RFC Adapter, which process data and sends theresponse back, either as a Success (Number Import) or Error (Error Import). If the ERP Order is createdsuccessfully in SAP, you receive the PO number from the SAP ERP, and the order status changes fromOrdering to Ordered. If there is an error in the event, the status changes to Composing

3 Update the Requisition Object with the ERP Order ID. The Requisition status changes to Ordered.

The following features are not provided in the export purchase order integration event:

• Exporting the purchase order titles to SAP.

• Support for the “deliver to” or “ship to” address in an Ariba procurement solutions purchase order. Inmany circumstances, the plant field provides the information for SAP to deliver to the address field inpurchase orders.

• When you create a Non-PO based invoice, Ariba does not support Asset as an account assignmentcategory.

Understanding BAPI Import Limitations

The BAPI integration with Ariba procurement solutions does not provide support for the following features:

• Exporting tax code information

• Split accounting for service-line items

• Ariba procurement solutions export field mapping mechanism. If you need to add Ariba procurementsolutions extrinsic fields to RFC objects, you add these fields to the RFC structures. Next, you add thisfield in the AML mapping, re-import the schema into XI and make appropriate changes in the mapping.

If a purchase order or a change purchase order is exported using a RFC, the carriage returns in the line itemtext are exported and displayed as the hash character ('#') in the line item text in the SAP purchase order.

PaymentTerms Integration

The payment terms information is now exported as part of the purchase order (PO) and change purchaseorder (CPO) transactions and sent to the SAP ERP system. To export payment terms, a new field is added tothe purchase order and change purchase order WSDL files.

When a user creates a requisition in Ariba procurement solutions, the payment terms information associatedwith the specified supplier is selected. When the purchase order or change purchase order is exported, thisvalue is populated to the new field in the WSDL file.

Page 91: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 91

Chapter 8 Integrating Data Using the Web Services Channel Integrating Changed and Canceled Purchase Orders

Integrating Changed and Canceled Purchase Orders

Ariba procurement solutions can export changed and canceled purchase orders (CPO) to SAP. Forinformation on this feature and how to enable it, see the chapter on changing existing orders in the AribaProcurement Data Import and Administration Guide.

When Ariba procurement solutions exports a changed or canceled purchase order, it uses the RFCZ_ARIBA_BAPI_PO_CHANGE or Z_ARIBA_BAPI_PO_CANCEL to fill the RFC tables, and, in turn, calls BAPI_PO_CHANGEto export the purchase order to SAP.

The following are important notes on exporting changed and canceled purchase orders to SAP:

• If you enable the change/cancel purchase order feature, users must always change and cancel ordersthrough Ariba procurement solutions and not change or cancel them through SAP. Therefore, apply theappropriate authorization concept in SAP to prevent users from changing purchase orders directly in SAP.

• To enable the change/cancel purchase order feature, you install the change/cancel order transport. Thetransport number is listed in the transport readme.txt file. See Appendix C, “About SAP Transports,” formore information.

• A limitation in the standard SAP BAPI creates the following situation: If the Account Assignmentcategory is modified in Ariba procurement solution, the Account Assignment category is changed in SAP.Furthermore, the GLAccount is changed to a default GLAccount after it has been pushed to SAP. Toresolve this issue, modify the GLAccount in SAP using the Account Assignment tab in the Item Detailsection.

• On SAP service orders, you cannot change the line items, but you can delete them or cancel the entireorder.

• Plant data is not editable if the Purchase Order Line Item is partially or fully received or partially or fullyinvoiced in Ariba procurement solutions or SAP.

Adjusting Net Price

When exporting amounts, the Ariba procurement solutions RFC adjusts the net price to the number ofdecimals specified for that currency in the SAP TCURX table.

• If the currency is listed and specifies a number greater than zero in the Decimals column, the RFC adjuststhe net price to the number of decimals and price unit accordingly.

• If the currency is not listed in the table, the RFC adjusts the net price to two decimal places, which is thedefault specified in the RFC.

• If the currency is listed in the table, but specifies zero in the Decimals column, the lengths of the net priceand price unit are adjusted accordingly.

• Price units are adjusted to a maximum of 10,000 units, at which point, an error message is sent.

For example, if the number of decimals allowed in SAP is two for USD, and if Ariba procurement solutionssends a net price (price unit) of 100.023, the wrapper RFC adjusts the net price to 1000.23 and the price unitto 10. If the price unit exceeds 10000, an error message is sent to Ariba procurement solutions if PO Pushusing RFC is in use.

Page 92: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 92

Chapter 8 Integrating Data Using the Web Services Channel Importing Requisitions Using Web Services

Importing Header Status of Purchase Orders

When changed orders are in a Received, Receiving, Invoiced, or Invoicing state, Ariba procurementsolutions cannot cancel them. Similarly, when purchase orders have been received or invoiced in SAP, thecancel export to SAP fails.

If an order reaches SAP successfully, its status can still change in SAP. For example, if you receive againstan order in SAP, a subsequent cancel order from Ariba procurement solutions is certain to be rejected. Toreduce the occurrence of such situations, the scheduled task, ProcessERPHeaderStatusPull, imports headerstatus information from SAP. This task sets a field in Ariba procurement solutions, ERPAllowCancel, whichspecifies whether the order can be canceled.

Note: Use ProcessERPHeaderStatusPull only if you have enabled change and cancel order exports to SAP,and you are doing a lot of receiving in SAP.

The scheduled task ProcessERPHeaderStatusPull does not eliminate all the cancel export failure errors. SAPuses many factors to determine if it is possible to cancel an order. However, the status import is based oninvoicing and receiving status.

ProcessERPHeaderStatusPull imports the status for all orders in the Ordered state for the time period (daysbefore the current date) you specify in the QueryPeriod parameter.

You can also specify the schedule for the ProcessERPHeaderStatusPull task in ScheduledTask.table.

The RFC Z_ARIBA_PO_HEADER_STATUS is used to import the status information from SAP.

Importing Requisitions Using Web Services

Ariba procurement solutions can import requisitions from third-party backend systems through WebServices. This allows real time integration of requisitions between Ariba procurement solutions andthird-party systems.

Enabling Import of Requisitions Using Web Services

The import of requisitions using Web Services is disabled by default. To enable this integration, you mustenable the corresponding Web Services event from the Ariba Administrator.

Requirements

When a user creates a requisition in a third-party system, the EAI tool must publish a SOAP message thatcan be consumed by Ariba procurement solutions. A sample SOAP message is as follows:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><m:RequisitionImportPullRequest xmlns:m="urn:Ariba:Buyer:vrealm_3" partition="" variant=""><m:Requisition_RequisitionImportPull_Item><m:item><m:CompanyCode>

Page 93: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 93

Chapter 8 Integrating Data Using the Web Services Channel Importing Requisitions Using Web Services

<m:UniqueName></m:UniqueName></m:CompanyCode><m:DefaultLineItem><m:DeliverTo>cnoll</m:DeliverTo><m:NeedBy>2009-12-23T09:30:47Z</m:NeedBy>

</m:DefaultLineItem><m:LineItems><m:item><m:BillingAddress><m:UniqueName>3000</m:UniqueName>

</m:BillingAddress><m:CommodityCode><m:UniqueName>00801</m:UniqueName>

</m:CommodityCode><m:Description><m:CommonCommodityCode><m:Domain>unspsc</m:Domain><m:UniqueName>14</m:UniqueName>

</m:CommonCommodityCode><m:Description>man1partnumber</m:Description><m:ManPartNumber>1000</m:ManPartNumber><m:Price><m:Amount>10.0</m:Amount><m:Currency><m:UniqueName>USD</m:UniqueName>

</m:Currency></m:Price><m:SupplierPartNumber>100</m:SupplierPartNumber><m:UnitOfMeasure><m:UniqueName>EA</m:UniqueName>

</m:UnitOfMeasure></m:Description><m:ImportedAccountCategoryStaging><m:UniqueName>P</m:UniqueName>

</m:ImportedAccountCategoryStaging><m:ImportedAccountingsStaging><m:SplitAccountings><m:item><m:CostCenter><m:CompanyCode><m:UniqueName>3000</m:UniqueName>

</m:CompanyCode><m:UniqueName>0000002100</m:UniqueName>

</m:CostCenter><m:GeneralLedger><m:CompanyCode><m:UniqueName>3000</m:UniqueName>

</m:CompanyCode><m:UniqueName>0000404000</m:UniqueName>

</m:GeneralLedger><m:NumberInCollection>1</m:NumberInCollection><m:Percentage>50.0</m:Percentage><m:Quantity>10.0</m:Quantity><m:WBSElement><m:UniqueName>3-2200/21</m:UniqueName>

</m:WBSElement></m:item><m:item><m:CostCenter><m:CompanyCode><m:UniqueName>3000</m:UniqueName>

</m:CompanyCode><m:UniqueName>0000002100</m:UniqueName>

</m:CostCenter>

Page 94: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 94

Chapter 8 Integrating Data Using the Web Services Channel Importing Requisitions Using Web Services

<m:GeneralLedger><m:CompanyCode><m:UniqueName>3000</m:UniqueName>

</m:CompanyCode><m:UniqueName>0000404000</m:UniqueName>

</m:GeneralLedger><m:NumberInCollection>2</m:NumberInCollection><m:Percentage>50.0</m:Percentage><m:Quantity>10.0</m:Quantity><m:WBSElement><m:UniqueName>3-2200/21</m:UniqueName>

</m:WBSElement></m:item>

</m:SplitAccountings><m:Type><m:UniqueName>_Percentage</m:UniqueName>

</m:Type></m:ImportedAccountingsStaging><m:ImportedDeliverToStaging>String</m:ImportedDeliverToStaging><m:ImportedNeedByStaging>2009-12-30T09:30:47Z</m:ImportedNeedByStaging><m:ItemCategory><m:UniqueName>M</m:UniqueName>

</m:ItemCategory><m:NumberInCollection>1</m:NumberInCollection><m:PurchaseGroup><m:UniqueName>100</m:UniqueName>

</m:PurchaseGroup><m:PurchaseOrg><m:UniqueName>3000</m:UniqueName>

</m:PurchaseOrg><m:Quantity>10.0</m:Quantity><m:ShipTo><m:UniqueName>3000</m:UniqueName>

</m:ShipTo><m:Supplier><m:UniqueName>0000001000</m:UniqueName>

</m:Supplier><m:SupplierLocation><m:ContactID>0000001000</m:ContactID><m:UniqueName>0000001000</m:UniqueName>

</m:SupplierLocation></m:item>

</m:LineItems><m:Name>SAP</m:Name><m:OriginatingSystem>SAP</m:OriginatingSystem><m:OriginatingSystemReferenceID>20</m:OriginatingSystemReferenceID><m:Preparer><m:PasswordAdapter>PasswordAdapter1</m:PasswordAdapter><m:UniqueName>cnoll</m:UniqueName>

</m:Preparer><m:Requester><m:PasswordAdapter>PasswordAdapter1</m:PasswordAdapter><m:UniqueName>cnoll</m:UniqueName>

</m:Requester><m:UniqueName/>

</m:item></m:Requisition_RequisitionImportPull_Item>

</m:RequisitionImportPullRequest></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Page 95: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 95

Chapter 8 Integrating Data Using the Web Services Channel Importing Requisitions Using Web Services

Limitations• Requisitions with attachments cannot be imported into Ariba procurement solutions.

• A requisition can have only two comments, one each at the header level and line item level.

• Requisitions with delay purchase until date are not supported.

Using Import of RequisitionsThrough Web Services

The integration of requisitions between Ariba procurement solutions and third-party backend systems suchas SAP ERP system is not end-to-end. The WSDL file provided by Ariba must be imported into yourEnterprise Application Integration (EAI) tool. When a user creates a requisition in the third-party system,the EAI tool must create a SOAP message that adheres to the WSDL and post the message to Aribaprocurement solutions.

The requisition is imported into the Ariba procurement solutions in the Submitted state if no errors arereported. If a user creates a requisition in the third-party system with comments both at header and line level,the comments are also imported into Ariba procurement solutions along with the requisition.

After the requisition is created in Ariba procurement solutions, a response message is sent to the third-partysystem that contains the:

• Requisition ID

• Originating system

• Reference ID of the originating system

• Status of the requisition

Managing Import of RequisitionsThrough Web Services

This section explains the activities that you need to perform for import of requisitions.

You must first switch the integration event Import Requisition in 3 CSV Files from File to Web Services andthen associate an end point to the event. An end point is the placeholder for the SOAP URL to which the EAItool will post messages. If no end points have been defined, then you must first create an end point. Asample value for an end point is as follows:

https://svcqass.ariba.com/Buyer/soap/ERPp2pTeSap/RequisitionImportPull

In addition, after you switch the event, you can access the WSDL file for information about the fields thatare mandatory. You can prevent errors by ensuring that values for the mandatory fields are provided in therequisition before it is imported into Ariba procurement solutions.

For more information on how to perform the above mentioned activities, see Ariba Procurement DataImport and Administration Guide.

Troubleshooting

In the response message from Ariba procurement solutions, if the status of a requisition is sent asComposing, then the procurement user must log in to the Ariba procurement solution and manually resolveany errors with that requisition. The user can then change this requisition as required and submit again. Therequisition then follows the configured approval flow, and a purchase order is generated once all appro versapprove the requisition.

Page 96: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 96

Chapter 8 Integrating Data Using the Web Services Channel Importing Requisitions Using Web Services

However, if a user edits such a requisition, the accounting information such as Cost Center, Asset, GLAccount, and so on gets defaulted from the user profile. To ensure that this information is not defaulted fromthe user profile, the administrator must run the SetUserSetBitforRequisitionImportPull scheduled taskbefore a user edits the requisition. This ensures that the accounting information is not defaulted from theuser profile. However, later if the user wants to use the default accounting information from the user profile,the administrator must run the ResetUserSetBitForRequisitionImportPull scheduled task.

Some of the errors that you may encounter as part of requisition import are as follows:

Error Message

<soapenv>: Body><soapenv : Fault><FaultCode> Internal Server Error </FaultCode><FaultString>The incoming message is invalid with the following errors : urn:Ariba:Buyer:vrealm_10:RequisitionImportPull</FaultString><Detail> Cannot find the declaration of element ‘m:Requisitionimportpull request</Detail></soapend : Fault></soapenv : Body>

Solution

This error occurs when the site name specified in the message is incorrect. You need to specify the correctsite name to resolve this error.

Error Message

Access to specified resource () is forbidden

Solution

This error occurs if requisition import has not been enabled for integration through Web Services. You mustenable integration of requisition import through Web Services.

Error Message

Internal Process Error

Solution

This error occurs when the EAI is trying to post the SOAP message to Ariba server and the Ariba server isdown. You need to post the message after the Ariba server starts again.

Error Message

<FaultCode> Internal Server Error </FaultCode><FaultString>The incoming message is invalid with the following errors : < Error String ></FaultString>

Solution

You can get validation errors if, for example, you have not specified values for mandatory fields. You mustenter values for all mandatory fields to resolve such errors. The WSDL contains information about the fieldsthat are mandatory.

Page 97: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 97

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

Integrating Receipts

A receipt is an acknowledgment of the goods that have arrived. The receiving process starts when an orderhas been sent to a supplier and the supplier ships goods in exchange. When the shipment arrives, the personwho receives those items, submits a receipt to acknowledge that the items have indeed arrived. The aribaprovided integration code integrates receipts as goods receipts with Movement Type as 101.

You may also need to create a negative receipt in Ariba procurement solutions if you want to reverse somereceived quantity as a result of incorrect shipment or manual errors. The ariba provided integration codeintegrates negative receipts as goods receipts with Movement Type as 102.

The following steps explain how a receipt export integration event works:

1 When an item is received in Ariba procurement solutions, a receipt object instance is approved.

2 When the scheduled receipt export scheduled task runs, Ariba procurement solutions sends the receiptobject to the NetWeaver XI/PI process.

Note: The scheduled task ProcessRendingReceipts posts receipts from Ariba procurement solutions toSAP. However, you cannot post a receipt successfully in SAP if the period has been closed in SAP.

The following are ways to address this problem:

• ProcessPendingReceipts scheduled task’s delay period must be set to ensure the receipt is approved inAriba procurement solutions and, in turn, is posted in SAP on the same day.

• Postpone the closing period in SAP for one or two days so that when you post the receipt in SAP, theperiod is still open.

For more information on scheduled tasks, see the Ariba Procurement Data Import and AdministrationGuide.

3 The NetWeaver XI mapping defines the transformation of the data into the format required by the RFC.Then NetWeaver XI sends the data to the Ariba procurement solutions receipt export RFCs through theRFC Adapter for R/3.

4 Ariba procurement solutions Z_ARIBA_GR_PUSH RFC processes the data and inserts it in receipt creationscreens in SAP.

5 The RFC returns a receipt line number and any error information to Ariba procurement solutions.

About Filtering and Customer Exit Functions

The goods receipt RFCs offer several customer exit functions that allow you to filter the data they export.You use these exit functions to manipulate data at different stages:

• From when the RFCs first import the data to the final batch data control (BDC) posting for GR export

• To the completion of the RFC

The customer exit functions work the same for exports as they do for imports—the only difference is thedirection in which the data is moving.

For example, the goods receipt export RFCs offer several customer exit functions, which execute in thefollowing order:

• Exits before any data processing begins:

Page 98: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 98

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

Z_ARIBA_GR_PUSH_EXT

• Exits before the batch data control push:Z_ARIBA_GR_PUSH_BDCDATA_EXT

• Exits at the end for testing error conditions:Z_ARIBA_GR_PUSH_ERRORS_EXT

Use these exit functions to manipulate goods receipt pushes in ways that field mappings do not offer.

Modifying Customer Packages

Ariba procurement solutions provides customer packages, such as ZARIBA_GR_PUSH and ZARIBA_CUST_GR_PUSH,to extend or customize the features of the Ariba packages ZARIBA_PKG_GR_PUSH and ZARIBA_PKG_GR_CUST.

Before making any modifications to these Ariba-delivered packages, make sure they are transportable. To betransportable, the packages must be associated with an appropriate transport layer. This association must beperformed by your SAP BASIS personnel.

Extension Structures for ExportTasks

Ariba procurement solutions export RFCs provide extension structures that work the same as the extensionstructures for imports. The extension structures allow you to add fields or columns to the data that Aribaprocurement solutions sends to SAP.

For example, goods receipt export RFC, Z_ARIBA_GR_PUSH, provides the following extension structures:

• ZXTGRITEMS—for line item receiving information

• ZXTGRERR—for error messages the RFC sends to Ariba procurement solutions (not part of the export)

Make sure that the corresponding worksheets set values for any fields you add to the extension structures.The error message structures, ZXTPOERR and ZXTGRERR, are for pulling error data into Ariba procurementsolutions.

Understanding Screen Field Mappings

This section discusses screen field mappings that are applicable for pushes using the CALL transactionmethod. If you add new fields to push extension structures, you also define and map these fields in the screenfield mappings.

Ariba procurement solutions exports orders into SAP by populating fields within the SAP purchase orderentry screens, and Ariba procurement solutions exports goods receipts to SAP by populating the fieldswithin SAP goods receipts entry screens. The Ariba procurement solutions RFC determines which fields toexport and what information the fields contain through special tables for field mappings.

This section describes:

• Field mappings

• Data export mapping tables

• Sources of data for export mapping tables

Page 99: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 99

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

Field Mappings

The Ariba procurement solutions packages allow you to modify the following kinds of SAP screen fieldinformation. You change the way to set or remove values for fields as screens by notifying the Aribaprocurement solutions RFCs about:

• Specific fields in a screen where it should insert or set values.

• Specific fields in a screen where it should not insert or set values. It is possible to change or remove thefields that Ariba procurement solutions RFCs set for purchase orders or goods receipts as part of yourdefault Ariba procurement solutions RFC configuration.

• Where to find the information to place within a given field, for example, from a purchase order or goodsreceipt internal table or elsewhere in your SAP system.

About Data Export MappingTables

Ariba procurement solutions provides custom tables that offer specific mappings from the data that Aribaprocurement solutions includes in purchase orders and good receipts to individual fields in SAP entryscreens. The following two kinds of tables from the ZARIBA_GR_PUSH and ZARIBA_CUST_GR_PUSH packages areprovided:

• ZARIBA_GR_PUSH tables—part of the Ariba procurement solutions RFCs you never modify

• ZARIBA_CUST_GR_PUSH extension table—available for you to edit and change

One of each kind of table is provided for purchase orders and goods receipts:

• ZARGRFMAP—Ariba procurement solutions RFC Goods Receipt Mapping

ZARGRFMAP describes the SAP goods receipts fields that Ariba procurement solutions RFCs have set as partof a default configuration, including a mapping between the Ariba procurement solutions RFC structuresand the goods receipt destination fields. Do not modify this table.

• ZARGRFMAPX—Goods Receipt Mapping Extension

ZARGRFMAPX is the extension table you use to instruct Ariba procurement solutions RFCs to add, remove, ormodify the goods receipt fields Ariba procurement solutions RFCs have set. The table maps from Aribaprocurement solutions goods receipt extension tables to SAP goods receipt screen fields.

Note: You customize only the extension tables ZARPOFMAPX and ZARGRFMAPX. Do not modify ZARPOFMAP orZARGRFMAP. The extension tables provide all the utilities you might need to modify or remove fields in yourdefault Ariba procurement solutions RFC configuration.

Mapping Fields for Receipts

This section explains how to map fields to the GR Creation transaction screens available within your SAPsystem. This section does not explain how to send new fields to Ariba procurement solutions RFCs. Itdescribes only how to map the fields to screens.

The process of mapping fields for goods receipt export consists of three steps:

1 Find the screen field to map (also called the destination field).

2 Find the source field.

3 Edit the corresponding extension table.

Page 100: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 100

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

These steps are related to each other and can become complex. You might find it easier to complete each ofthese steps in a separate SAP user interface session, and to keep all three SAP user interface sessions open,for cross reference, until you have finished your field mappings.

Finding the Screen Field to Map

The first step in mapping new fields is to determine the destination of the field you want to map in either thegoods receipt screens. Use the following steps to locate the table information you need.

To locate the table destinations:

1 View a goods receipt.

2 To find the field you need, either display an existing document or create a new one. To do so, use one ofthe following transaction codes:

• MB01—allows you to create new goods receipts

• MB03—displays existing goods receipts

If you choose to create a new document, be prepared to enter any necessary information, and remembernot to submit the document when you finish.

3 Find the field.

4 If you chose to create a new goods receipt, navigate through the SAP screens until you find the field youwant to map, entering information, as necessary.

5 If you chose to display an existing goods receipt, enter the material document number or use the selectionbox to locate a document on your system to display. Then, navigate through the SAP screens until youfind the field you want to map.

6 Find the field information.

7 Select the field you want to map, and press the F1 key. In the help screen, click Technical Info.

The screen that appears provides most of the information you need to enter in the extension table aboutthe destination field, including:

• Program name

• Screen number

• Table name

• Field name

8 Write down this information, or keep your SAP user interface open and use another session to find thesource field and edit the extension table.

Finding the Source Field

You need to know two things about the source of a field mapping:

• The table from which the data comes

• The field name

Editing the ExtensionTable

Perform the following steps to map fields that exist within your SAP system, including those within Aribaprocurement solutions RFC internal tables.

Page 101: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 101

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

Note: You make changes to the extension table by adding new rows, not by adding new columns.

To edit extension tables:

1 Run transaction SE11.

2 Access the initial screen of the ABAP Dictionary, and enter the following data export extension tablewithin the Database table field:

• ZARGRFMAPX—to map fields for Ariba procurement solutions goods receipts

3 Click Display.

4 In the Display Table window, choose Utilities > Table Contents > Create Entries.

5 Press F5, or click New Entries.

6 Enter the following information in the New Entries window:

• Ariba Variant—the name of the Ariba procurement solutions SAP variant where the purchase order orgoods receipt originates.

• Ariba Partition—the name of the Ariba procurement solutions SAP site where the purchase order orgoods receipt originates.

• Program name—the program name of the destination screen field.

• Screen number—the number of the destination screen.

• Table name—the destination table of the screen field.

• Field name—the destination field.

• Import parameter—the source import parameter or other table.

• Field name—the source field from the import parameter or other table.

• Short Description—a short description of the mapping for documentation purposes.

• Indicator: delete entry—the field for removing field mappings from your default Ariba procurementsolutions RFC configuration. Leave this field blank if you are creating a new field mapping.

7 Choose Table View > Change > Display, and then choose Table > Activate to activate your changes.

Changing and Removing Fields

The purchase order and goods receipt extension mapping tables allow you to change or delete the defaultfield mappings that Ariba procurement solutions RFCs use.

To change a mapping of a field that Ariba procurement solutions RFCs map, enter a mapping for the fieldyou need to change within the extension table, together with the relevant source information.

To remove a mapping of a field that Ariba procurement solutions RFCs already maps, enter a mapping forthe field you want to change within the extension table, but place an “X” in the Deletion Flag field.

AdditionalTables

You only add extrinsic fields to the header and line item tables for purchase orders or goods receipts. Theextension table mechanism does not allow you to create new tables and add fields to them. If you need theAriba procurement solutions export RFCs to use additional tables, write the code to do so within thecustomer exit functions.

Page 102: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 102

Chapter 8 Integrating Data Using the Web Services Channel Integrating Receipts

Additional Screens

The Ariba procurement solutions export RFCs and mapping files navigate through SAP goods receiptscreens in a predefined order, based on the configuration of SAP screens in an IDES (International DemoEducation System) SAP instance. If you changed the order or content of the goods receipts screens on yourSAP system, you might be able to use the customer exit functions to implement the changes you need toAriba procurement solutions RFCs. You cannot use the mapping mechanism to map to fields in screens notincluded in the RFCs navigation sequence.

For example, you can use the customer exits that execute before the BDC export to insert rows asappropriate within the BDC table. See the Ariba procurement solutions export RFC ABAP code for moreinformation.

Time-out Settings for Receipt Exports

The RFC Connection Time Interval is maintained in the ZARIBTVARV table as an entry in seconds. This timeinterval must be the SAP RFC connection time interval.

The column values for the ZARIBTVARV table are;

• Varible Name = Z_ARIBA_GR_PUSH

• Selection Category = P

• INCL/EXCL = I

• Selection Value = <RFC Time Interval >

Exporting Amount-Based Receipts

The Ariba procurement solutions allows you to receive based on quantity or amount. For more information,see, Ariba Procurement User Guide.

For amount-based receipts, the Ariba integration code maps the amount to the quantity in SAP, and sets theprice to 1. For example, if the amount of the receipt in the Ariba procurement solutions is $95, it is exportedto SAP as an receipt with a quantity of 95 and with a price of $1.

Limitations

In a receipt, if you have both accepted quantity and rejected quantity, only accepted quantity is integratedwith the SAP system. All rejected quantities are ignored.

Page 103: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 103

Chapter 8 Integrating Data Using the Web Services Channel Integrating Payments

Integrating Payments

About Payment Requests

After an invoice has been approved, the final step is to send a payment to the supplier. When it creates aninvoice reconciliation document, Ariba procurement solutions also creates a new approvable document,called a payment request, to track the payment process.

Most payment requests represent amounts due to a supplier, such as for an unpaid invoice. Aribaprocurement solutions also provides support for payment requests associated with credit memos. A creditmemo is an invoice that represents a refund owed to your company by the supplier. For example, if yourcompany purchased equipment that was later returned, the supplier might first issue an invoice and then(after the return) a credit memo, which represents the amount due to be refunded to you. Ariba procurementsolutions creates credit payment requests to represent credit memos.

Ariba procurement solutions exports payment requests that use the External System payment model only.Ariba procurement solutions does not export partial payments, even if you import a partial remittance fromyour SAP system.

When exporting payments, discounts are supported both at header level and line level.

Note:

• PO based and non-PO based invoices are integrated to MM module of SAP. Ariba provided ABAPprograms ensure that all MM invoices create an FI document (accounting document) internally.

• There is no OOTB contract integration with SAP. Therefore, contract reference information is not sent toSAP along with non-PO invoice integration. To do this, customers need to perform customizationsaccordingly.

Prerequisites

Ensure the following prerequisites are met before proceeding with the payment export:

1 Tax Data is populated (includes Tax Code Pull, TaxCodelookup, TaxRatelookupbuTaxCode)

2 Remittance Location Information is loaded

3 Payment Term and Method are loaded

Integration Events for Exporting Payment Requests

The following table describes the integration event that exports payment requests.

You can run this integration event by using either Ariba Administrator or the Ariba Data Transfer Tool. Forinformation on using the Ariba Data Transfer Tool, see the Ariba On-Demand Integration Toolkit Guide.

Integration Event Integration Channel Integration Event

PaymentExport Ariba Web Services Channel Exports payment request data to SAP. The display namefor this integration event in Ariba Administrator is“Export Payment Requests.”

Page 104: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 104

Chapter 8 Integrating Data Using the Web Services Channel Integrating Remittance

Importing PaymentTerms

Importing payment terms for single installments is available through the Ariba File Channel. Payment termsindicate the negotiated discount between a buying organization and supplier for a specified number of daysbefore payment is due. For information on ERP considerations for importing payment terms and addingpayment terms using a CSV file, see the Ariba Invoicing and Payment Data Import and AdministrationGuide.

Limitations

Payments integration in this release has the following limitations:

• Invoices are sent to the SAP ERP after reconciliation in Ariba procurement solutions. Hence, these arereconciled Invoices sent to ERP.

• Ariba procurement solutions send Tax Code to SAP ERP. During invoice reconciliation, if you accept anytax variances, it can fail in the SAP system based on the ERP system set up.

• Taxes shipping and handling.

Integrating Remittance

Importing Remittance Advice

Remittance advice is an electronic or paper document that identifies and provides details about the openinvoices that are in the process of being paid. Remittance details include the payment methods, bankinformation, and a list of paid invoices with discount and paid amounts.

Remittance import is available through the Ariba Settlement module. You can import remittance advice forpayments created for the following, within a specified time period:

• Invoices

• Credit and debit memos

Remittance import is also available for:

• Future-dated payments

• Voided payments, including void checks and reverse payments

Limitations

SAP does not support remittance imports in the following scenarios:

• Payment document contains withholding tax.

• Residual payments are involved.

• Payment document has been reset.

• Payment document is an intercompany payment.

• Payment document is a down payment.

Page 105: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 105

Chapter 8 Integrating Data Using the Web Services Channel Integrating Remittance

Process Flow1 Run or schedule the IncrementalRemittanceImport schedule task from Ariba procurement solutions.

This incremental task uses the defaultStartDate specified in the Scheduledtask.table as input for thefirst time. The date and time sent by SAP is used as input for all subsequent imports.

Note: With the date and time sent from Ariba procurement solutions, SAP returns all payments completedin the SAP system (including Full and partial payments).

2 Each payment document in SAP is mapped to create a payment transaction in Ariba procurementsolutions, or, in the case of a void document, is mapped to update a payment transaction in Aribaprocurement solutions.

In SAP, it is possible to cancel a payment document for a specified payment, or to re-issue a check for apayment document without cancelling the payment document.

• If a payment document is cancelled in SAP, the corresponding payment transaction imported into Aribaprocurement solutions is voided.

• If a check is re-issued in SAP without cancelling the payment document, the entire payment transaction inAriba procurement solutions is voided, and a new payment transaction with a new check number iscreated.

Remittance Advice Import Considerations

SAP does not support remittance import in the following scenarios:

• The payment document contains withholding tax.

• The payment document has been reset.

• The payment document is an intercompany payment.

• The payment is for an invoice created for an expense report.

• The payment document is a down payment or a residual payment.

The following considerations pertain to remittance advice import:

• When you use the Check Payment method, remittance advice is imported only after the checks have beenprinted.

• If you make a payment to a special general ledger (G/L) account, remittance advice is not imported intoAriba procurement solutions. Common special GL accounts might include:

• Down payments

• Bills of exchange

• Guarantees

• Security deposits

• Individual value adjustments

• Amortization

• Interest payable

• The payment documents generated in SAP from manual payment might not include the payment methodby default as this is not a required field in SAP. However, in Ariba procurement solutions, the paymentmethod is a required field and if it is empty in <RemittanceEventName>.response, the load fails.

Page 106: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 106

Chapter 8 Integrating Data Using the Web Services Channel Integrating Amount-Based Purchase Orders

• The payment documents generated in SAP from cancel payment might not include the payment methodby default as this is not a required field in SAP. However, in Ariba procurement solutions, the paymentmethod is a required field and if it is empty in <RemittanceEventName>.response, the load fails. To avoid aload failure, when mapping the values in Ariba procurement solutions, map the payment method as “C”(Check) for cancel Payments, when there is no value set in SAP.

• For manual payment, if you print the check after ZARIBA_REMITTANCE_PULL runs, thenZARIBA_SSP_REMITTANCE_PULL imports the check number into Ariba procurement solutions during the nextremittance advice run and updates the Payment Number in the Payment Transaction object. However, it isnot exported to the supplier on the Ariba Network.

• ZARIBA_SSP_REMITTANCE_PULL imports down payments as credit-line items after subsequentpayments are made. Down payments are not imported at the time of creation.

For additional information on ERP considerations when importing remittance advice, see the AribaSettlement Guide.

Integrating Amount-Based Purchase Orders

Ariba procurement solutions allows you to export amount-based purchase orders to SAP. For amount-basedpurchase orders, Ariba procurement solutions map the amount to the quantity in SAP, and sets the unit priceto 1. For example, if the amount of the purchase order in Ariba procurement solutions is $95, it is exported toSAP as a receipt with a quantity of 95 and with a price of $1.

Customizing Existing Integration Events

You can customize the existing integration events to suit your requirements.

Before proceeding with the customization, ensure the following prerequisites are met:

• The required fields have been added using the Customization Manager or any other customizing tool.

• The SAP R/3 code (Custom RFC among others) has been modified to handle the newly introduced fields.

To customize an integration event:

1 Generate the required WSDL. For instructions on how to generate the WSDL, see “Formatting Dates” onpage 86.

2 Reload the WSDL file in the External Definition, which can be found at the following location in the SAPXI Integration Repository.

SWC > NameSpace > Interface Objects > External Definitions

3 Save the file and activate it.

4 Import the RFC into Imported Objects on NetWeaver XI/PI. Save and activate it.

5 Now, re-import the modified RFC from the SAP R/3 system. Save and active it.

6 Open the appropriate Messaging Mapping object in edit mode and load the new WSDL schema.

Finally, complete the mapping between the new elements in the source and target structures. Save andactivate.

Page 107: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 107

Chapter 9 Error Handling

The SAP integration provides reliable data exchange between Ariba procurement solutions and SAP. Ifanything goes wrong during the process, the integration event must detect the error and take some action.

When an error occurs, the integration event can do two things:

• Recover automatically

• Report the error and wait for an administrator to take action

SAP integration is designed to recover automatically whenever possible, with minimal intervention. In somecases, however, the integration event cannot recover automatically and must report the error to theappropriate administrator.

In general, the integration event can recover automatically from any error that occurs before the data hasbeen committed to SAP. After the data has been committed on the SAP system, the integration event doesnot try to recover from errors. The integration event reports the error and waits for an administrator tointervene.

This chapter includes the following sections:

• “Failures Exporting to SAP” on page 107

• “Failures When Importing from SAP” on page 109

• “Troubleshooting” on page 109

Failures Exporting to SAP

This section describes two types of errors:

• Application-level errors

• System errors

Application-Level Errors

This section describes the failures occurring during transaction exports.

The administrator should work with the original requester to fix the problems that caused the order errors,and then resubmit the corresponding objects.

Page 108: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 108

Chapter 9 Error Handling

Errors During Purchase Order Exports

Ariba procurement solutions always initiates a purchase order export, with an integration event that exportsthe order out to the Web Services integration channel.

If an error occurs while the integration event for the real-time purchase order export using Web Services andNetWeaver XI/PI is initiated, Ariba procurement solution logs an error, and the purchase requisitionassociated with that order returns to the “Composing” state.

When a requisition is stuck in the “Composing” state, your Ariba procurement solutions administratorshould perform the following tasks:

1 Check the error in the requisition that has gone to the “Composing” state.

2 Diagnose the problem.

3 Correct the error.

4 Submit/approve the requisition.

The second stage of an export occurs when the integration event routes data through Web Services,NetWeaver XI/PI, and R/3 into SAP.

The most common error at this stage is when the SAP system rejects the incoming order because it containsdata that is not valid for the SAP system. This situation can happen if the master data objects are out of synchin Ariba procurement solutions and SAP. For example, if a supplier is invalidated in the SAP system after theorder has been created in the Ariba procurement solutions, the incoming order is rejected because it has asupplier that is now invalid. You can avoid this problem by using real-time single-object loading. For details,see “Real-Time Integrations” on page 95.

For purchase orders, the export event return error messages and details about exports immediately. WhenSAP rejects an order, it sends that order back, with an error message indicating why the order has beenrejected.

Errors During Receipt Exports

If an application-level error occurs during receipt export (that is, the posting period is not open in SAP), SAPrejects the receipt. The processing state of the receipt object in Ariba procurement solutions changes fromProcessing to Awaiting Processing. Ariba procurement solutions attempt to export the receipts again whenthe ProcessReceipts scheduled task is run.

System-Level Errors

If there is a network issue or the NetWeaver XI/PI is down, SAP cannot receive a purchase order from Aribaprocurement solutions. Such a situation could result in system-level errors where purchase orders orrequisitions are stuck in the “Ordering” state.

Once a system-level error has been found, you do not need to do anything to restart the export task. Thescheduled task FailedOrders checks for unfinished orders and re-executes the order transmission. Either waituntil the next scheduled run of this task, or execute it manually from Ariba Administrator.

Page 109: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 109

Chapter 9 Error Handling

The ProcessStuckERPOrders scheduled task, typically not run on a regular schedule, is run manually by anadministrator correcting an error. This task changes the state of purchase orders, change orders, and cancelorders destined for SAP to Ordering/Failed so that the FailedOrders scheduled task can attempt to processthem again. For example, an order might get stuck in Ordering if a network problem or channel errorprevented SAP from receiving the order or prevented Ariba procurement solutions from receiving the status.

If a system level error occurs during receipts export, receipts remain in the Processing state.ProcessPendingReceipts schedule task must be run. This changes the status from Processing to Awaiting

Processing, and these receipts are picked up by the ProcessReceipts task.

For more information on scheduled tasks, see the Ariba Procurement Data Import and AdministrationGuide.

Failures When Importing from SAP

Errors occur in two situations when data is imported from SAP:

• Standard data imports

• Network failure during remittance import

When failures occur during standard data imports from SAP:

1 Correct the error.

2 Rerun the import task.

In the case of a network failure during remittance pull:

1 Correct the network problem.

2 Run the Incremental Remittance Import task manually using the OverrideStartDate.

The fields are all updated if the status of the payment transaction has not been changed from paid tocanceled. Otherwise, an error occurs.

Troubleshooting

This section provides tips for solving problems associated with integrating Ariba procurement solutions withSAP.

Note: The “Internal Error” stack traces that you may encounter do not cause error conditions and can besafely ignored. Furthermore, your SAP events run successfully while or after these traces appear.

Enabling Debugging

When you call an RFC, you can turn on a debugging switch. This action enables you to access the SAP userinterface, where you can set breakpoints.

Note: To debug a File channel integration program, you can use the standard SAP ABAP debuggingfunctionality.

Page 110: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 110

Chapter 9 Error Handling

To debug through the SAP user interface:

1 Go the transaction SE38 and open the program that you want to debug, in the display mode.

2 Put the break point at the required code statement.

3 Execute the program. ABAP debugger stops at the break point that you have set.

Debugging Parameters

Ariba procurement solutions RFCs offer the Z_ARIBA_GR_PUSH_DISPLAY_MODE parameter.

To view export tasks, change these parameters from ‘N’ to ‘E’ or ‘A’. Changing these parameters also enablesyou to view goods receipt screens in debug mode.

Page 111: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 111

Part IV IntegratingTransactional Data UsingFile Channel

Part IV of this book provides information pertaining to the configuration of the file channel and the variousintegration events that are performed using the File channel.

Important: This part of the book is specific only to the configuration tasks and subsequent integration eventsthat you carry out using the File channel. For information on using the Web Services channel, go to Part 3,“Integrating Transactional Data Using Web Services” on page 78 of this Book.

Part 4 includes the following chapters:

• Chapter 10, “Integrating Transactional Data Using File Channel”

• Chapter 11, “Error Handling.”

Page 112: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 112

Chapter 10 IntegratingTransactional Data Using FileChannel

• “Transactional Data Integration Event Process Flow” on page 112

• “Exporting Purchase Orders” on page 118

• “Exporting Change Purchase Orders” on page 120

• “Exporting Cancel Purchase Orders” on page 123

• “Exporting Receipts” on page 125

• “Exporting Payments” on page 127

• “Exporting Expense Reports” on page 136

• “Importing Remittance Advice” on page 141

• “Importing Purchase Order Header Status” on page 124

Transaction data includes information like remittance advice, invoice, purchase orders, and receipts. Youimport/export data using scheduled integration events, or run integrations events manually from AribaAdministrator.

Transactional Data Integration Event Process Flow

An executable program is defined for each File channel integration event. This program can be scheduled torun in the background listening to input CSV data files from Ariba procurement solutions and export it toSAP database.

Page 113: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 113

Chapter 10 IntegratingTransactional Data Using File Channel Transactional Data Integration Event Process Flow

The following illustration shows a typical data integration process flow using the File channel:

Transactional data is downloaded into CSV file formats by executing the appropriate transaction integrationevents. The Data Transfer Tool then picks up these CSV files and moves them into the SAP database.

The custom RFC programs are provided to read the data from CSV files on the SAP database. Invoke theSAP RFC/BAPI to create the data in SAP, and send the response back to Ariba procurement solutions.

ConfigurationTasks

Importing SAPTransports

Integrating transactional data using the File channel involves importing of SAP Transports as a prerequisite.

These SAP Transports contain SAP Programs, RFCs, and supporting structures. The SAP executableprograms are used to move the exported data into SAP. Each program internally calls the BAPI function. TheBAPI function facilitates the moving of data into SAP.

For more information on how to import SAP transports, see “Installing the SAP Transports” on page 22.

Page 114: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 114

Chapter 10 IntegratingTransactional Data Using File Channel Transactional Data Integration Event Process Flow

File Channel Integration - Program Structure

The following diagram illustrates how the SAP programs are wrapped around the BAPI function modules.

Each stage (layer) in this illustration is acted upon by an executable program and is explained briefly below.

Selection Screen

This program comprises five parameters. These parameters are briefly described in the following table:

Parameter Description

Logical File Name Defines the logical path and the physical location of the CSVfiles.

Directory Separator Physical separator for directories in SAP.

Encoding in responsefiles

Encoding technique that is used. This is UTF-8 by default.

Variant Variant Name.

Partition Partition Name.

Page 115: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 115

Chapter 10 IntegratingTransactional Data Using File Channel Transactional Data Integration Event Process Flow

Read CSV Files

At this stage, the executable program reads the CSV files that are specified in the logical path directory andinserts them into the internal tables.

Populate Data from Internal Tables to RFC Structures

Here, program picks up the data from internal tables and moves it to the appropriate RFC Function Module.

Call RFC Function Module

This program exports the data into the SAP database.

RFC Returns Response Messages

In this final stage, the messages are written into CSV files. If the export is successful, the messages arewritten to the NumberImport CSV files. If there are errors in the export event, messages are written to theErrorImport CSV files and placed under the Response directory.

Move CSV Files to Processed Folder

The corresponding program finally moves the incoming CSV files into a processed folder. The output isdisplayed with corresponding Order Numbers.

Working with Logical File Names

A logical file name defines the logical path and the physical location of the CSV files in SAP. Everytransaction has a default Logical File Name.

You can choose to modify the logical path to the file directory, or create a new logical file name to overwritethe default logical file name. To do this, execute the corresponding program (for transactional dataintegration) and specify the new logical file name that you are creating, and save it as a variant.

Important: The physical path to the logical file name should not exceed more than 50 characters.

Ensure the CSV file is placed under the incoming\ERPOrder directory, which is preceded by the logical filepath. For example, if the logical file path is

C:\usr\sap\<SYSID>\DVEBMGS00\work\POPush\<CSV FileName>

you must create an “incoming” directory in the server and place the CSV file in this directory, as shownbelow:

C:\usr\sap\<SYSID>\DVEBMGS00\work\POPush\incoming\ERPOrder\<FileName>

Here:

• \incoming: is common to all transactions

• ERPOrder: is specific to each transaction.

Note: Do not change the ERPOrder directory name. You can choose to extend this directory name, forexample, ERPOrder_FOO.

Page 116: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 116

Chapter 10 IntegratingTransactional Data Using File Channel Transactional Data Integration Event Process Flow

Important: The number of characters comprising the full path (for example,C:\usr\sap\<SYSID>\DVEBMGS00\work\POPush) must not exceed 50 characters.

During run time, the following two directories are created under the Root directory:

• processed

• response

For example:

C:\usr\sap\<SYSID>\DVEBMGS00\work\POPush\processed

C:\usr\sap\<SYSID>\DVEBMGS00\work\POPush\response

The processed directory contains the executed CSV files (that are moved from the incoming directorylocation to here), and the response directory contains the response CSV files for Ariba procurementsolutions.

Configuring the Options File

When running any export integration event, the corresponding SAP program picks up the CSV files from apre-determined location. This directory path must be configured in the Options file of the Data TransferTool.

Configure the Options file as follows:

• Include \incoming at the end of the downloadDir option.

• Specify the downloadDir and filePrefix options.

Scheduling DataTransferTool

In a scenario where there are very frequent transactions occurring, you can schedule the Data Transfer Toolto run at regular time intervals to automatically download the transaction CSV files and export them to theSAP database.

You can use any third-party scheduler, such as the one that is provided with your operating system.You mustalso schedule the corresponding SAP program to automatically pick up the CSV files every time the files aredownloaded by the Data Transfer Tool.

Transaction Data Integration Event Components

The following table lists the various components that constitute every transactional data integration event.

Page 117: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 117

Chapter 10 IntegratingTransactional Data Using File Channel Transactional Data Integration Event Process Flow

Advanced Pricing Details

While creating a requisition in Ariba procurement solutions, the user can specify advanced pricing detailsfor a line item or multiple line items. Advanced pricing details includes:

• Quantity Based Pricing

• Unit Conversion Pricing

Quantity based pricing allows the unit price of an item to be based on a different price unit quantity than 1.Unit Conversion Pricing allows unit of measure conversion in the pricing calculation, when the unit ofmeasure on the order differs from the pricing unit of measure.

TransactionalData

Event Name SAP Program RFC Used

Purchase Order PurchaseOrderExport

Z_ARIBA_CR_BAPI_PO_CREATE

Z_ARIBA_BAPI_PO_CREATE

ChangedPurchase Order

PurchaseOrderChangeExport

Z_ARIBA_CR_BAPI_PO_CHANGE

Z_ARIBA_BAPI_PO_CHANGE

CanceledPurchase Order

PurchaseOrderCancelExport

Z_ARIBA_CR_BAPI_PO_CANCEL

Z_ARIBA_BAPI_PO_CANCEL

Purchase OrderHeader Status

PurchaseOrdHeaderStatusImport

Z_ARIBA_CR_PO_HEADER_STATUS

Z_ARIBA_PO_HEADER_STATUS

Receipts ReceiptExport Z_ARIBA_CR_GR_PUSH Z_ARIBA_GR_PUSH

Invoice PaymentExport ZARIBA_SSP_INVOICELOAD

Z_ARIBA_BAPI_INVOICE_CREATE

Invoice Status Import InvoiceStatus

ZARIBA_SSP_INVOICELOAD

Z_ARIBA_BAPI_INVOICE_CREATE

Remittance RemittanceImport ZARIBA_SSP_REMITTANCE_PULL

Page 118: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 118

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Purchase Orders

Exporting Purchase Orders

Purchase Orders that are in the Ordering state are exported to SAP. Ariba procurement solutions writes theexported purchase order details into five CSV files:

• PurchOrdAcctDetails.csv

• PurchOrdHeaderDetails.csv

• PurchOrdLineDetails.csv

• PurchOrdScheduleDetails.csv

• PurchOrdLineAddDetails.csv

While creating a requisition in Ariba procurement solutions, if the user has specified advanced pricingdetails for a line item, then in the exported PurchOrdLineDetails.csv file, the following fields are added:

• PriceBasisQuantity

• PriceBasisQuantityUOM

• ConversionFactor

• PriceBasisQuantityDesc

Advanced pricing details are also applicable for change purchase order and payment requests. Therefore,when a change PO and payment request are exported, the above mentioned fields are available in theChangePurchOrdLineDet.csv and PaymentLineItemDet.csv files respectively.

A sample CSV file with the above mentioned fields appears as follows:

“UTF-8”

PurchOrdLineDetails.csv

ERPOrderID,RequisitionRequester,Due_Time,BillTo,ServiceLineItemDetails,ShortName,SupplierPartAuxiliaryID,ShipTo,ERPCommodityCode,ConversionFactor,UnitPrice,Line_Amount,Quantity,PriceBasisQuantityUOM,Description,SupplierLocation,ReceivingType,ReqID,Currency_cd,SupplierPartNumber,PriceBasisQuantityDesc,UOM,SupplierLocationName,PriceBasisQuantity,SupplierName,CommodityCode,DeliverToOrigSysRefID,OrigSysLineNumber,Line_Amount_InBaseCurrency,POLineNum

“ERP1”,”ADeep”,”4:00:00 PM”

"2445","PO1292464699548","1","1","AdHocItem","PR313","adeep","AdHocItem",,"RANDOM123","EA","43211503","150.0000","USD","150.0000","100","15000.0000","USD","15000.0000","US002","US017","ArnoldDeep",,,,,"1",,,,

To ensure that the above mentioned fields related to advanced pricing details are processed in your SAP ERPsystem, download the relevant SAP transport requests from connect.ariba.com and import them into yourSAP ERP system.

To perform a purchase order export event, you run the Ariba Data Transfer Tool from the SAP server. TheData Transfer Tool downloads these CSV files from Ariba procurement solutions and places them in alocation that is accessed by the Z_ARIBA_CR_BAPI_PO_CREATE SAP program. This SAP program picks up theseCSV files and transfers them into the SAP database.

Page 119: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 119

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Purchase Orders

Running the Purchase Order Export Event

Complete the following steps to perform a purchase order export event:

1 Create a purchase order (PO) with multiple line items in Ariba procurement solutions.

Note: When creating the PO, the NeedByDate field is not mandatory. However, when you push the PO toSAP, this field is required else the PO push fails.

2 In the SAP system, use the SAP Transaction code SE38 to start the SAP user interface and run theZ_ARIBA_CR_BAPI_PO_CREATE program.

3 Specify the parent directory path and folder to which the Data Transfer Tool downloads the CSV filesfrom Ariba procurement solutions. The Z_ARIBA_CR_BAPI_PO_CREATE program also requires a logical filepath as an input parameter. This logical file path must be the same as the one specified in the DataTransfer Tool and is the location where the CSV files are located.

Note: You can create a new logical file name (use ZARIBA_POPUSH_LOG_FNAME, which is the default value)using the FILE transaction. When running this transaction, you must specify a logical path and a physicalfile name. For more information, see “Working with Logical File Names” on page 115.

The parent directory that you specify must contain a sub-directory called incoming. The Data TransferTool loads the CSV files into the incoming directory.

Important: This directory name and path must match the %downloadDir%\%filePrefix% directory that youspecified in the Data Transfer Tool Options file.

4 Specify the path directory separator value (\ or /).

5 To schedule the Z_ARIBA_CR_BAPI_PO_CREATE program to run at regular (or pre-defined) time intervals,save the program input as a variant, which you can later specify to be run as a job.

You can schedule this program using the SAP SM36 transaction.

6 When this program is executed, it returns the response records in CSV file format and places these files inthe /response directory.

If the export event is successful, the program returns a NumberImportxxxxxx.csv file (where xxxxxx is thetimestamp).

If the export event failed due to errors, the program returns an ErrorImportxxxxxx.csv file (where xxxxxx

is the timestamp).

When exporting purchase orders, the Need by Date field value contained only the date and not the time ortime zone information. Because of time zone differences, the Need by Date specified while creating arequisition was not getting stored correctly in the Ariba server. As a result, when you executed the ExportPurchase Order to ERP integration task, incorrect date was getting exported. This behavior was seen in bothfile-based and Web Services-based integrations.

To ensure that the correct date is stored in Ariba Server, you can adjust the Need by Date based on the timezone of the requester. To achieve this, new fields called DLV_DT and SAPNeedByDate have been added toFile-based and Web Services-based integrations respectively.

Note: You need to apply this fix only if you want the Need By Date value adjusted to the time zone of therequester.

To adjust the Need By Date based on the time zone of the requester, you must:

Page 120: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 120

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Change Purchase Orders

1 Import the relevant SAP Transports.

2 Import the SAP NetWeaver design package for purchase Orders into your SAP NetWeaver system.

You can download the changed SAP transports and the design package for purchase orders fromconnect.ariba.com.

Limitations

The purchase order integration with Ariba procurement solutions does not provide support for the followingfeatures:

• Exporting tax code information

• Split accounting for service-line items

• Ariba procurement solutions export field mapping mechanism. If you need to add Ariba procurementsolutions extrinsic fields to RFC objects, you add these fields to the RFC structures. Next, you add thisfield in the AML mapping, re-import the schema and make appropriate changes in the mapping.

If a purchase order or a change purchase order is exported using a RFC, the carriage returns in the line itemtext are exported and displayed as the hash character ('#') in the line item text in the SAP purchase order.

Exporting amount-based purchase orders with line items that have zero price is not supported.

Exporting Change Purchase Orders

Purchase Orders that are in the Ordering state are exported from Ariba procurement solutions to SAP. Afterthe export, the exported change purchase order details are available in the following seven CSV files:

• ChangePurchOrdAcctDet.csv

• ChangePurchOrdDelAcct.csv

• ChangePurchOrdDelItems.csv

• ChangePurchOrdHeaderDet.csv

• ChangePurchOrdLineDet.csv

• ChangePurchOrdLineText.csv

• ChangePurchOrdSchdlDet.csv

To perform a change/cancel purchase order export event, you run the Ariba Data Transfer Tool from the SAPserver. The Data Transfer Tool downloads these CSV files from Ariba procurement solutions and placesthem in a location that is acessed by the Z_ARIBA_CR_BAPI_PO_CHANGE SAP program. This SAP program picksup these CSV files and transfers them into the SAP database.

The following are important notes on exporting changed and canceled purchase orders to SAP:

• If you enable the change/cancel purchase order feature, users must always change and cancel ordersthrough Ariba procurement solutions and not change or cancel them through SAP. Therefore, apply theappropriate authorization concept in SAP to prevent users from changing purchase orders directly in SAP.

Page 121: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 121

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Change Purchase Orders

• To enable the change/cancel purchase order feature, you install the change/cancel order transport. Thetransport number is listed in the transport readme.txt file. See Appendix C, “About SAP Transports,” formore information.

• A limitation in the standard SAP BAPI creates the following situation: If the Account Assignmentcategory is modified in Ariba procurement solutions, the Account Assignment category is changed inSAP. Furthermore, the GLAccount is changed to a default GLAccount after it has been pushed to SAP. Toresolve this issue, modify the GLAccount in SAP using the Account Assignment tab in the Item Detailsection.

• On SAP service orders, you cannot change the line items, but you can delete them or cancel the entireorder.

• To debug the change/cancel purchase order feature, set the parameter Z_ARIBA_DEBUG_CPO to X and setZ_ARIBA_CPO_FNAME to the name of a log file where the change/cancel order information is logged. You setboth of these parameters in the ZARIBTVARV table.

• Plant data is not editable if the Purchase Order Line Item is partially or fully received or partially or fullyinvoiced in Ariba procurement solutions or SAP.

• Changing the net price of a zero amount line item in a purchase order to a non-zero value is not supported.

• Changing the net price of a non-zero amount line item in a purchase order to zero is not supported.

Page 122: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 122

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Change Purchase Orders

Running the Change Purchase Order Export Event

Complete the following steps to perform a change purchase order export event:

1 In the SAP system, use the SAP Transaction code SE38 to start the SAP user interface and run theZ_ARIBA_CR_BAPI_PO_CHANGE program.

2 Specify the parent directory path and folder to which the Data Transfer Tool downloads the CSV filesfrom Ariba procurement solutions. The Z_ARIBA_CR_BAPI_PO_CHANGE program also requires a logical filepath as an input parameter. This logical file path must be the same as the one specified in the DataTransfer Tool and is the location where the CSV files are located.

Note: You can create a new logical file name (use ZARIBA_CHANGEPO_LOG_FNAME, which is the default value)using the FILE transaction. When running this transaction, you must specify a logical path and a physicalfile name. For more information, see “Working with Logical File Names” on page 115.

The parent directory that you specify must contain a sub-directory called incoming. The Data TransferTool loads the CSV files into the incoming directory.

Important: This directory name and path must match the %downloadDir%\%filePrefix% directory that youspecified in the Data Transfer Tool Options file.

3 Specify the path directory separator value (\ or /).

4 To schedule the Z_ARIBA_CR_BAPI_PO_CHANGE program to run at regular (or pre-defined) time intervals,save the program input as a variant, which you can later specify to be run as a job.

You can schedule this program using the SAP SM36 transaction.

5 When this program is executed, it returns the response records in CSV file format and places these files inthe /response directory.

If the export event is successful, the program returns a NumberImportxxxxxx.csv file (where xxxxxx is thetimestamp).

If the export event failed due to errors, the program returns an ErrorImportxxxxxx.csv file (where xxxxxx

is the timestamp).

PaymentTerms Integration

The payment terms information is now exported as part of the purchase order (PO) and change purchaseorder (CPO) transactions and sent to the SAP ERP system. To export payment terms, a new field calledPaymentTerms is added to the PurchOrdHeaderDetails.csv and ChangePurchOrdHeaderDet.csv files.

When a user creates a requisition in Ariba procurement solutions, the payment terms information associatedwith the specified supplier is selected. When the purchase order or change purchase order is exported, thisvalue is populated to the new field PaymentTerms in the respective CSV file.

Page 123: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 123

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Cancel Purchase Orders

Exporting Cancel Purchase Orders

Purchase Orders that are in the Ordering state are exported from Ariba procurement solutions to SAP. Afterthe export, the exported cancel purchase order details are available in the CancelPurchOrdHeader.csv file.

To perform a cancel purchase order export event, you run the Ariba Data Transfer Tool from the SAP server.The Data Transfer Tool downloads these CSV files from Ariba procurement solutions and places them in alocation that is acessed by the Z_ARIBA_CR_BAPI_PO_CANCEL SAP program. This SAP program picks up theseCSV files and transfers them into the SAP database.

Running the Cancel Purchase Order Export Event

Complete the following steps to perform a cancel purchase order export event:

1 In the SAP system, use the SAP Transaction code SE38 to start the SAP user interface and run theZ_ARIBA_CR_BAPI_PO_CANCEL program.

2 Specify the parent directory path and folder to which the Data Transfer Tool downloads the CSV filesfrom Ariba procurement solutions. The Z_ARIBA_CR_BAPI_PO_CANCEL program also requires a logical filepath as an input parameter. This logical file path must be the same as the one specified in the DataTransfer Tool and is the location where the CSV files are located.

Note: You can create a new logical file name (use ZARIBA_CANCELPO_LOG_FNAME, which is the default value)using the FILE transaction. When running this transaction, you must specify a logical path and a physicalfile name. For more information, see “Working with Logical File Names” on page 115.

The parent directory that you specify must contain a sub-directory called incoming. The Data TransferTool loads the CSV files into the incoming directory.

Important: This directory name and path must match the %downloadDir%\%filePrefix% directory that youspecified in the Data Transfer Tool Options file.

3 Specify the path directory separator value (\ or /).

4 To schedule the Z_ARIBA_CR_BAPI_PO_CANCEL program to run at regular (or pre-defined) time intervals,save the program input as a variant, which you can later specify to be run as a job.

You can schedule this program using the SAP SM36 transaction.

5 When this program is executed, it returns the response records in CSV file format and places these files inthe /response directory.

If the export event is successful, the program returns a NumberImportxxxxxx.csv file (where xxxxxx is thetimestamp).

If the export event failed due to errors, the program returns an CancelPOErrorpullXXXXXX.csv file (wherexxxxxx is the timestamp).

Page 124: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 124

Chapter 10 IntegratingTransactional Data Using File Channel Importing Purchase Order Header Status

Importing Purchase Order Header Status

When changed orders are in Received, Receiving, Invoiced, or Invoicing state, Ariba procurement solutionscannot cancel the orders. Similarly, when purchase orders have been received or invoiced in SAP, the cancelexport event to SAP fails.

If an order reaches SAP successfully, its status can still change in SAP. For example, if you receive againstan order in SAP, a subsequent cancel order from Ariba procurement solutions is certain to be rejected. Toreduce the occurrence of such situations, the ProcessERPHeaderStatusPull scheduled task, imports headerstatus information from SAP. This task sets the ERPAllowCancel field, which specifies whether or not theorder can be canceled.

Note: Use ProcessERPHeaderStatusPull only if you have enabled change and cancel order exports to SAP,and you are doing a lot of receiving in SAP.

Note: The ProcessERPHeaderStatusPull scheduled task does not eliminate all the cancel export failure errors.SAP uses many factors to determine if it is possible to cancel an order. However, the status import is basedon the invoicing and receiving status. This is applicable for the Web services channel. For file channel, this isa batch data import and pulled as part of status import.

ProcessERPHeaderStatusPull imports the status for all orders that are in the Ordered state for the time period(days before the current date) you specify in the QueryPeriod parameter.

Running the Purchase Order Header Status Import

The Z_ARIBA_CR_PO_HEADER_STATUS RFC program is used to import the status information from SAP. Itdownloads the PurchaseOrderERPHeaderStatusFileImport.csv file. The file path would be based on thelogical file name defined on the selection screen. This file will be picked up when theProcessERPHeaderStatusPull schedule task is run in Ariba procurement solutions.

You can also specify the schedule for the ProcessERPHeaderStatusPull task in the ScheduledTask.table.

Page 125: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 125

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Receipts

Exporting Receipts

The files received in Ariba procurement solutions are:

• ReceiptHeaderDetails.csv

• ReceiptLineDetails.csv

To perform a receipt export event, you run the Ariba Data Transfer Tool from the SAP server. The DataTransfer Tool downloads these CSV files from Ariba procurement solutions and places them in a locationthat is acessed by the Z_ARIBA_CR_GR_PUSH SAP program. This SAP program picks up these CSV files andtransfers them into the SAP database.

Running the Receipts Export Event

Complete the following steps to perform a receipt export event:

1 In the SAP system, use the SAP Transaction code SE38 to start the SAP user interface and run theZ_ARIBA_CR_GR_PUSH program.

2 Specify the parent directory path and folder to which the Data Transfer Tool downloads the CSV filesfrom Ariba procurement solutions. The Z_ARIBA_CR_GR_PUSH program also requires a logical file path asan input parameter. This logical file path must be the same as the one specified in the Data Transfer Tooland is the location where the CSV files are located.

Note: You can create a new logical file name (use ZARIBA_GRPUSH_LOG_FNAME, which is the default value)using the FILE transaction. When running this transaction, you must specify a logical path and a physicalfile name. For more information, see “Working with Logical File Names” on page 115.

The parent directory that you specify must contain a sub-directory called incoming. The Data TransferTool loads the CSV files into the incoming directory.

Important: This directory name and path must match the %downloadDir%\%filePrefix% directory that youspecified in the Data Transfer Tool Options file.

3 Specify the path directory separator value (\ or /).

4 To schedule the Z_ARIBA_CR_GR_PUSH program to run at regular (or pre-defined) time intervals, save theprogram input as a variant, which you can later specify to be run as a job.

You can schedule this program using the SAP SM36 transaction.

5 When this program is executed, it returns the response records in CSV file format and places these files inthe /response directory.

If the export event is successful, the program returns a NumberImportxxxxxx.csv file (where xxxxxx is thetimestamp).

If the export event failed due to errors, the program returns an ErrorImportxxxxxx.csv file (where xxxxxx

is the timestamp).

Page 126: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 126

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Receipts

Filtering and Customer Exit Functions

Customized fields must be extended in the zxtgrheadr and zxtgritems custom structures that are provided inthe program.

Custom Error Process Routines

The customer_exit_gr_error routine is available in the Z_ARIBA_CR_GR_PUSH program. If you want to performany other error data processing on the internal tables, you must do so before writing them on to the CSV file.

Extending Customer Added Fields

You must also extend the customer screen fields that are present in the ZARGRFMAPX table. For moreinformation, see the following sections of the guide:

• “About Filtering and Customer Exit Functions” on page 97

• “Understanding Screen Field Mappings” on page 98

• “Mapping Fields for Receipts” on page 99

• “Changing and Removing Fields” on page 101

Limitations

In a receipt, if you have both accepted quantity and rejected quantity, only accepted quantity is integratedwith the SAP system. All rejected quantities are ignored.

Page 127: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 127

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Payments

Exporting Payments

The SAP Integration function module ZARIBA_SSP_INVOICELOAD loads OK-to-Pay invoices into SAP fromCSV files generated by Ariba procurement solutions. You can run this function module manually or byscheduling it in SAP. The following topics explain how this process works:

• “Understanding Payments Export” on page 127

• “Running the Payments Export Event” on page 132

• “Program Structure” on page 129

• “Accommodating Custom Fields” on page 133

• “Calling the SAP RFC” on page 134

• “Scheduling” on page 135

• “Program Limitation” on page 131

Note:

• The OK-to-Pay Invoice Push feature applies only to Ariba Procure-to-Pay.

• PO based and non-PO based invoices are integrated to MM module of SAP. Ariba provided ABAPprograms ensure that all MM invoices create an FI document (accounting document) internally.

• There is no OOTB contract integration with SAP. Therefore, contract reference information is not sent toSAP along with non-PO invoice integration. To do this, customers need to perform customizationsaccordingly.

Understanding Payments Export

In general, the process works as follows:

• The Ariba on-demand application writes the reconciled OK-to-pay invoices to CSV files:

• PaymentHeaderExport.csv.• PaymentDetailExport.csv• PaymentTaxExport.csv• PaymentLineItemDet.csv• PaymentAccountDet.csv

In the previous release, only the first three files mentioned above were downloaded because there was noorder integration. As a result, all PO based invoices were sent as non-PO based invoices to SAP. In thisrelease Order integration is available that allows you to send PO-based invoices as PO based invoices. Toenable this, the BAPI to create PO based invoice in SAP requires two additional structures, ITEMDATAand ACCTDATA to be populated. As a result, two additional files are downloaded:

• PaymentLineItemDet.csv - Contains accounting details of PO line items

• PaymentAccountDet.csv - Contains information about PO line items

Now, all the above mentioned five files are downloaded irrespective of whether you create a PO-basedinvoice or Non PO-based invoice. However, when they are sent to SAP, it is handled accordingly.

There is no impact for existing customers if they continue to use the old SAP transports.

Note: When you create a Non-PO based invoice, Ariba does not support Asset as an account assignmentcategory.

Page 128: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 128

Chapter 10 IntegratingTransactional Data Using File Channel Running the Payment Export

For information about these files, see “Understanding SAP Payment Data” in the Ariba ProcurementData Import and Administration Guide. You configure the directory path to these files in the Ariba DataTransfer Tool.

• On the SAP server, run the Ariba Data Transfer Tool, which requests that the Ariba on-demand systemdownload the CSV files.

• Run the SAP function module ZARIBA_SSP_INVOICELOAD, which transfers the Ariba OK-to-pay invoice datafrom the CSV files into the SAP database. If there are any errors, the files are moved to the error folder.

Running the Payment Export

The input for ZARIBA_SSP_INVOICELOAD includes the directory where the CSV files should be written and thepath separator character. The file location is specified in the Ariba Data Transfer Tool options file for thisdownload. Set the options file as follows:

• Use the Ariba Data Transfer Tool Event “Export Payment Requests.”

• The downloadDir option must include \incoming at the end.

• The downloadDir + filePrefix options.

To run the Payment export:

1 In SAP, run the program ZARIBA_SSP_INVOICELOAD using SAP transaction code SE38 to start the SAP userinterface for this program.

2 Specify the parent directory path and folder to which the Ariba Data Transfer Tool writes the OK-to-Payinvoice CSV files. ZARIBA_SSP_INVOICELOAD expects as input, a logical file path, which indicates where theAriba Data Transfer Tool has downloaded the files. To input to this field, you must create a logical filename (you can use ZARIBA_INV_SSP_LOG_FNAME as it is defaulted) using the transaction FILE. In thistransaction, you must specify a logical path and assign a physical file name. This physical file path shouldbe less than 50 characters in length. ZARIBA_SSP_INVOICELOAD expects this input directory to containsubdirectories called Incoming, Processed, and Error. The Ariba Data Transfer Tool loads the data into theIncoming directory.

This directory should match the %downloadDir%\%filePrefix% directory you specified in the Ariba DataTransfer Tool options file.

3 Specify the path directory separator character (\ or /).

4 To schedule ZARIBA_SSP_INVOICELOAD to run at regular intervals, save the program input as a variant thatyou can specify to be run as a job. Schedule this program using SAP transaction SM36. For moreinformation about this transaction or scheduling SAP programs, see your SAP documentation.

The ZARIBA_SSP_INVOICELOAD program has the following includes:

• zariba_ssp_readinvoicef01• zariba_ssp_inverrorhandlingf02• zxtariba_ssp_inverrorhandling• zxtariba_ssp_invprebapidata

Page 129: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 129

Chapter 10 IntegratingTransactional Data Using File Channel Program Structure

Program Structure

To understand how to configure invoice data pushes, examine the way a typical RFC functions, as shown inthe following diagram:

OK-to-Pay Invoice function module Customization Options

Data and table declarations

Z_ARIBA_SSP_READ_INVOICE_FILESReads CSV data to internal tables of

structures zaribaext_invoice_csv_headerzaribaext_invoice_csv_linezaribaext_invoice_csv_tax

Map Invoice data from internal tables toBAPI table structure Use custom form

custom_process_invoice_table toformat any data before calling BAPI

Use custom formcustom_error_processing to do any

custom error handling

To read the custom fields in theCSV files, include these fields in

the corresponding tableszaribaext_invoice_csv_header

zaribaext_invoice_csv_linezaribaext_invoice_csv_tax

If there are errors move error recordsto internal tables of structureszaribaext_invoice_csv_header

zaribaext_invoice_csv_linezaribaext_invoice_csv_tax

Call BAPI_INCOMING_INVOICE_CREATE tocreate invoice

Move processed and error invoices toappropriate directories

Page 130: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 130

Chapter 10 IntegratingTransactional Data Using File Channel Accommodating Custom Fields

Accommodating Custom Fields

The main function module is Z_ARIBA_SSP_READ_INVOICE_FILES, which reads all the folders in the CSV filedirectory internal tables in the function module Z_ARIBA_SSP_READ_INVOICE_FILES. The main function moduleuses these additional function modules:

• RZL_READ_DIR – This is a standard SAP function module that reads all the directories and files in orbelow the specified input directory.

• Z_ARIBA_SSP_KCD_CSV_FILE_CONV – This function module is copied from the standard SAPfunction module KCD_CSV_FILE_TO_INTERN_CONVERT. The difference is that the Ariba version calls thefunction module FILE_OPEN and the input parameter UPL = ‘ ‘, to read data from the application server.Input to this function module is the file name and the file separator.

Z_ARIBA_SSP_KCD_CSV_FILE_CONV is called three times to read the three CSV files. It opens the CSV filesand reads the data to populate the data internal table. The main table reads the internal table and populatesthe internal tables HEADERDATA, GLACCOUNTDATA, ACCOUNTDATA, LINEITEMDATA, and TAXDATA which are in theAriba structures ZARIBAEXT_INVOICE_CSV_HEADER, ZARIBAEXT_INVOICE_CSV_LINE,ZARIBAEXT_INVOICE_CSV_ACCT, ZARIBAEXT_INVOICE_CSV_ITEMDTA and ZARIBAEXT_INVOICE_CSV_TAX.

If you have made any changes to the downloaded CSV files and want to get additional information intointernal tables, add the additional fields to the structures ZARIBAEXT_INVOICE_CSV_HEADER,ZARIBAEXT_INVOICE_CSV_LINE,ZARIBAEXT_INVOICE_CSV_ACCT, ZARIBAEXT_INVOICE_CSV_ITEMDTA andZARIBAEXT_INVOICE_CSV_TAX

If you would like to ask Ariba to consider adding a new field to a CSV file, call Ariba Customer Support tofind out if the addition is feasible.

Calling the SAP BAPI

The Ariba on-demand applications use Z_ARIBA_BAPI_INVOICE_CREATE to create invoice data in SAP. Beforecalling this BAPI, the function module code does some messaging or computations, as described in thefollowing sections.

Checking for Duplicate Invoices

Duplicate invoices are detected when there is an existing invoice with the same Ref_Doc_No (supplier invoicenumber), vendor, and fiscal year of the posting date. You can allow duplicate invoices by setting theZ_ARIBA_INVOICE_ALLOW_DUPS parameter in the ZARIBTVARV table. This table is the custom table for specifyingparameter values for the integration function module. For information about this parameter, refer to“Parameters” on page 65.

Posting Special Charges

Header level shipping, special handling and special charges are posted as unplanned delivery costs in SAP, ifthe SAP configuration is set to “Distribute among invoice line items” for unplanned delivery costs. If thisvalue is set to “Different GL Line,” the header level charges are posted to GL accounts sent from the Aribaon-demand product.

Page 131: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 131

Chapter 10 IntegratingTransactional Data Using File Channel Scheduling

Jurisdiction Codes

Jurisdiction code comes from the plant master and is placed in the GL account data table structure of BAPI.This is because Ariba on-demand products do not maintain a jurisdiction code and it is not included in theCSV files. However, jurisdiction codes are required for tax calculations and tax postings in SAP.

DocumentType Determination

The document type that SAP uses to create invoices is determined by the Z_ARIBA_INV_DOC_TYPE parameter,which is set in the ZARIBTVARV table. If there is no value specified, the document type is set to RE.

Custom Process Invoice Routine

The ZXTARIBA_SSP_INVPREBAPIDATA routine is provided in case you need to do any other processing on theinternal tables before calling the BAPI. This routine is included in the include program.

Scheduling

You should schedule the Ariba Data Transfer Tool frequently enough to keep up with new transactions. Usea third-party scheduler such as the one provided by your operating system. The frequency you set will varydepending on the nature of your business. You should schedule ZARIBA_SSP_INVOICELOAD to pick up new CSVfiles whenever they arrive.

Program Limitation

A mixed invoice in Ariba on-demand applications is one that has both positive and negative amounts. Forexample, if there is a cash discount line, that is represented as a negative amount in Ariba. Ariba does notinclude mixed invoices in CSV files for SAP.

Page 132: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 132

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Invoice

Exporting Invoice

After an invoice has been approved, the final step is to send a payment to the supplier. When it creates aninvoice reconciliation document, Ariba procurement solutions also creates a new approvable document,called a payment request, to track the payment process.

Ariba procurement solutions exports payment requests that use the External System payment model only.Ariba procurement solutions does not export partial payments, even if you import a partial remittance fromyour SAP system.

Prerequisites

Ensure the following prerequisites are met before proceeding with the payment export:

1 Tax Data is populated (includes Tax Code Pull, TaxCodelookup, TaxRatelookupbuTaxCode)

2 Remittance Location Information is loaded

3 Payment Term and Method are loaded

In general, the process works as follows:

• Ariba procurement solutions write the reconciled invoices to the following CSV files:

• PaymentAccountDet.csv

• PaymentGLAccDet.csv

• PaymentHeaderExport.csv

• PaymentLineItemDet.csv

• PaymentTaxExport.csv

For information about these files, see “Understanding SAP Payment Data” in the Ariba ProcurementData Import and Administration Guide. You configure the directory path to these files in the Ariba DataTransfer Tool.

• On the SAP server, run the Ariba Data Transfer Tool, which requests Ariba procurement solutions todownload the CSV files.

• Run the ZARIBA_SSP_INVOICELOAD SAP program, which transfers the invoice data from the CSV files intothe SAP database. The response files are stored in the Response directory.

Running the Payments Export Event

The input for ZARIBA_SSP_INVOICELOAD includes the directory where the CSV files should be written and thepath separator character. The file location is specified in the Ariba Data Transfer Tool options file for thisdownload. Set the options file as follows:

• Use the Ariba Data Transfer Tool Event ExportPaymentFile.

• The downloadDir option must include \incoming at the end.

• The downloadDir + filePrefix options.

Page 133: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 133

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Invoice

To run the invoice export:

1 In SAP, run the program ZARIBA_SSP_INVOICELOAD using SAP transaction code SE38 to start the SAP userinterface for this program.

2 Specify the parent directory path and folder to which the Ariba Data Transfer Tool writes the invoice CSVfiles. ZARIBA_INVOICE_LOG_FNAME expects as input, a logical file path, which indicates where the Ariba DataTransfer Tool has downloaded the files. To input to this field you must create a logical file name (you canuse ZARIBA_INVOCIE_LOG_FNAME as it is defaulted) using the transaction FILE. In this transaction, you mustspecify a logical path and assign a physical file name. This physical file path should be less than 50characters in length. ZARIBA_SSP_INVOICELOAD expects this input directory to contain subdirectories calledIncoming, Processed, and Response. The Ariba Data Transfer Tool loads the data into the Incoming

directory.

This directory should match the %downloadDir%\%filePrefix% directory you specified in the Ariba DataTransfer Tool options file.

3 Specify the path directory separator character (\ or /).

4 To schedule ZARIBA_SSP_INVOICELOAD to run at regular intervals, save the program input as a variant thatyou can specify to be run as a job. Schedule this program using SAP transaction SM36. For moreinformation about this transaction or scheduling SAP programs, see your SAP documentation.

When exporting invoices to SAP, if shipping and special handling were included as Charges, the export wasfailing in SAP. This was happening for both file-based integration and Web services-based integration. Toensure that the export is successful if shipping and special handling are included as Charges, a new fieldCHARGE_FLAG is introduced in Ariba procurement solutions. To ensure that invoices with shipping andspecial handling included as Charges are exported successfully, you must perform the following steps:

1 Publish the new field CHARGE_FLAG in Ariba procurement solution.

2 Import the latest ARIBA_ONDEMAND_INVOICE_11s2_of_ariba.com.tpz file into your SAP NetWeaver system.You can download this file from connect.ariba.com. this step is applicable only for Web services-basedintegration.

3 Import the relevant SAP transport request into your SAP R/3 system. You can download the transportrequest from connect.ariba.com.

Accommodating Custom Fields

The ZARIBA_SSP_INVOICELOAD program reads the CSV files through CSV structures and internally calls theZ_ARIBA_BAPI_INVOICE_CREATERFC. If you want to add any custom/ additional fields, you must add the fieldsin the CSV structures. The following are extendable structures in RFC:

• Header data: ZXTARIBA_INV_CSV_HEADER

• GL Account data: ZXTARIBA_INV_CSV_GLACC

• Account data: ZXTARIBA_INV_CSV_ACCOUNTDATA

• Item data: ZXTARIBA_INV_CSV_ITEMDATA

• Tax data: ZXTARIBA_INV_CSV_TAXDATA

The following are extendable structures in RFC:

• Header data: ZARIBA_INV_CREATE_HEADER

• GL Account data: ZARIBA_INV_CREATE_GLACCOUNT

Page 134: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 134

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Invoice

• Account data: ZARIBA_BAPI_INV_CREATE_ACCOUNT

• Item data: ZARIBA_INV_CREATE_ITEM

• Tax data: BAPI_INCINV_CREATE_TAX

Calling the SAP RFC

The ZARIBA_SSP_INVOICELOAD program internally calls the Z_ARIBA_BAPI_INVOICE_CREATE RFC, process thedata, and exports the invoice to SAP through the BAPI.

Checking for Duplicate Invoices

Duplicate invoices are detected when there is an existing invoice with the same Ref_Doc_No (supplier invoicenumber), vendor, and fiscal year of the posting date. You can allow duplicate invoices by setting theZ_ARIBA_INVOICE_ALLOW_DUPS parameter in the ZARIBTVARV table. This table is the custom table for specifyingparameter values for the integration function module.

Posting Special Charges

Header level shipping and special handling charges are posted as unplanned delivery costs in SAP, if theSAP configuration is set to “Distribute among invoice line items” for unplanned delivery costs. If this valueis set to “Different GL Line,” the header level charges are posted to GL accounts sent from the Aribaon-demand product.

Jurisdiction Codes

Jurisdiction code comes from the plant master and is placed in the GL account data table structure of theRFC. This is because Ariba procurement solutions do not maintain a jurisdiction code and it is not includedin the CSV files. However, jurisdiction codes are required for tax calculations and tax postings in SAP.

DocumentType Determination

The document type that SAP uses to create invoices is determined by the Z_ARIBA_INV_DOC_TYPE parameter,which is set in the ZARIBTVARV table. If there is no value specified, the document type is set to RE.

Custom Process Invoice Routine

The customer_exit_invoice routine is provided in case you need to do any other processing on the internaltables before calling the RFC. This routine is included in the include program.

You can choose to add your own code. The customer_error_handler routine process the Error messagesbefore they are written to the CSV files.

Page 135: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 135

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Invoice

Time-Out Settings for Invoice Exports

Users can configure time-out settings for the Invoice export task to prevent invoices from being locked in theSAP system. The RFC Connection time interval setting is maintained in seconds in the ZARIBTVARV table.

You can specify the following column values in the ZARIBTVARV table:

• Variable Name = Z_ARIBA_INVOICE_PUSH

• Selection Category = P

• INCL/EXCL = I

• Selection Value = <Specify the SAP RFC Time Interval>

Scheduling

You should schedule the Ariba Data Transfer Tool frequently enough to keep up with new transactions. Usea third-party scheduler such as the one provided by your operating system. The frequency you set will varydepending on the nature of your business. You should schedule ZARIBA_SSP_INVOICELOAD to pick up new CSVfiles whenever they arrive.

Limitations

Payments integration in this release has the following limitations:

• Ariba does not include mixed invoices in CSV files for SAP. A mixed invoice is one that has both positiveand negative amounts. For example, if there is a cash discount line, that is represented as a negativeamount in Ariba.

• Invoices are sent to the SAP ERP after reconciliation in Ariba procurement solutions. Hence, these arereconciled Invoices sent to ERP.

• Ariba procurement solutions send Tax Code to SAP ERP. During invoice reconciliation, if you accept anytax variances, it can fail in the SAP system based on the ERP system set up.

• Taxes shipping and handling.

• Discounts are not supported.

• When you create an invoice for a PO which has a line item split into two line items, you must retain thesame accounting information combination for each line item as was specified while creating the PO.

• An invoice cannot have only zero amount line items.

• If an invoice contains a mix of both zero and non-zero amount line items, invoices are created only for thenon-zero amount line items.

Page 136: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 136

Chapter 10 IntegratingTransactional Data Using File Channel Exporting Expense Reports

Exporting Expense Reports

The SAP integration function module ZARIBA_SSP_ER_INVOICE_CREATE loads expense report CSV files intoyour SAP instance client as invoices. You can run ZARIBA_SSP_ER_INVOICE_CREATE manually or by schedulingit in SAP. The following topics explain ZARIBA_SSP_ER_INVOICE_CREATE:

• “Understanding the Expense Report Export” on page 136

• “Running the Expense Report Export” on page 137

• “Program Structure” on page 138

• “Accommodating Custom Fields” on page 139

• “Calling the SAP BAPI” on page 139

• “Scheduling” on page 141

Note: Expense reports are created as invoices in SAP. For this reason you should create employees assuppliers. Load the supplier information for the employee into Ariba on-demand applications using theUser.csv file (the SAPEmployeeSupplierID field). For more information on this CSV file, see the Ariba Traveland Expense Data Import Guide for SAP.

Understanding the Expense Report Export

In general, the process works as follows:

• The Ariba procurement solutions applications create the invoice data objects in the following CSV files:

• SAPExpenseReportHeaderExport.csv.• SAPExpenseReportDistributionExport.csv• SAPExpenseReportTaxationExport.csv

For information on these files see the Ariba Travel and Expense Administration Guide.

• Run the Ariba Data Transfer Tool on the SAP server to make sure all the latest data is present in the CSVfiles.

• Run the SAP function module ZARIBA_SSP_ER_INVOICE_CREATE. This pushes the Ariba expense report datain the CSV files into the SAP database.

Page 137: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 137

Chapter 10 IntegratingTransactional Data Using File Channel Running the Expense Report Export

Running the Expense Report Export

The input for this function module includes the directory where the CSV files should be written and the pathseparator character. Setting that up requires the following settings in the Ariba Data Transfer Tool optionsfile for this download:

• Use the Ariba Data Transfer Tool Event “Export Expense Reports.”

• The downloadDir option must include \incoming at the end.

• The downloadDir + filePrefix options cannot exceed 75 characters.

To run the invoice data push:

1 In SAP, run the program ZARIBA_SSP_ER_INVOICE_CREATE using SAP transaction code SE38. This starts theSAP user interface for this program.

2 ZARIBA_SSP_ER_INVOICE_CREATE expects as input, a logical file path, which indicates where the Ariba DataTransfer Tool has downloaded the files. To input to this field, you must create a logical file name (you canuse ZARIBA_INV_SSP_LOG_FNAME as it is defaulted) using the transaction FILE. In this transaction, you mustspecify a logical path and assign a physical file name. This physical file path should be less than 50characters in length. ZARIBA_SSP_ER_INVOICE_CREATE expects this input directory to contain subdirectoriescalled Incoming, Processed, and Error. The Ariba Data Transfer Tool loads the data into the Incoming

directory.

The specified parent directory must match the %downloadDir%\%filePrefix% directory you specified in theAriba Data Transfer Tool options file that you are using to push expense report data to SAP.

3 Specify the path directory separator character (\ or /).

4 To schedule ZARIBA_SSP_ER_INVOICE_CREATE to run at regular intervals, save the program input as a variantthat you can specify to run as a job. Schedule this program using SAP transaction SM36. For moreinformation about this transaction or scheduling SAP programs, see your SAP documentation.

The ZARIBA_SSP_ER_INVOICE_CREATE program has the following includes:

• zxtariba_ssp_readerf01• zxtariba_ssp_inverrorhandlingf02• zxtariba_ssp_inverrorhandling• zxtariba_ssp_invprebapidata

Page 138: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 138

Chapter 10 IntegratingTransactional Data Using File Channel Program Structure

Program Structure

To understand how to configure expense report data pushes, examine the way a typical RFC functions, asshown in the following diagram:

Expense Report function module Customization Options

Data and table declarations

Z_ARIBA_SSP_READ_ER_FILES ReadsCSV data to internal tables of structures

zaribaext_er_csv_headerzaribaext_er_csv_linezaribaext_er_csv_tax

Map Invoice data from internal tablesto BAPI table structure Use custom form

custom_process_ER_table to formatany data before calling BAPI

Use custom formcustom_error_processing to do any

custom error handling

To read the custom fields in theCSV files, include these fields in

the corresponding tableszaribaext_er_csv_header

zaribaext_er_csv_linezaribaext_er_csv_tax

If there are errors move error recordsto internal tables of structures

zaribaext_er_csv_headerzaribaext_er_csv_linezaribaext_er_csv_tax

Call BAPI_INCOMING_INVOICE_CREATEto create invoice

Move processed and error invoices toappropriate directories

Page 139: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 139

Chapter 10 IntegratingTransactional Data Using File Channel Accommodating Custom Fields

Accommodating Custom Fields

The main function module is Z_ARIBA_SSP_READ_ER_FILES, which reads all the folders in the parent directory.There are three custom exits so that you can use to extend the CSV file read and populate any additionalfields.

The main function module uses these additional function modules:

RZL_READ_DIR – This is a standard SAP function module that reads all the files.

Z_ARIBA_SSP_KCD_CSV_FILE_CONV – This function module is copied from the standard SAPfunction module KCD_CSV_FILE_TO_INTERN_CONVERT. The difference is that Z_ARIBA_SSP_KCD_CSV_FILE_CONVcalls the function module FILE_OPEN and the input parameter UPL = ‘ ‘, to read data from the applicationserver. Input to Z_ARIBA_SSP_KCD_CSV_FILE_CONV is the file name and the file separator.

Z_ARIBA_SSP_KCD_CSV_FILE_CONV is called three times to read the three CSV files. It opens the CSV files anduses the data to populate the data internal table. The main table reads the internal table and populates theinternal tables HEADERDATA, GLACCOUNTDATA, and TAXDATA which are in the Ariba structuresZARIBAEXT_ER_CSV_HEADER, ZARIBAEXT_ER_CSV_LINE, and ZARIBAEXT_ER_CSV_TAX.

If you have made any changes to the downloaded CSV files and want to get additional information intointernal tables, add the additional fields to the structures ZARIBAEXT_ER_CSV_HEADER, ZARIBAEXT_ER_CSV_LINE,and ZARIBAEXT_ER_CSV_TAX.

If you would like to ask Ariba to consider adding a new field to a CSV file, call Ariba Customer Support tofind out if this addition is feasible.

Calling the SAP BAPI

The Ariba on-demand applications use Z_ARIBA_BAPI_INVOICE_CREATE to create the invoice data in SAP.Before calling this BAPI, the function module code does some messaging or computations, as described inthe following sections.

Checking for Duplicate Invoices

Duplicate invoices are detected when there is an existing invoice with the same Ref_Doc_No (ER number),vendor, and fiscal year for the posting date. You can allow duplicate invoices by setting theZ_ARIBA_INVOICE_ALLOW_DUPS parameter in the ZARIBTVARV table. This table is the custom table for specifyingparameter values for the integration function module.

Determining DocumentType

The document type that SAP uses to create invoices for expense report integration is determined by theZ_ARIBA_ER_DOC_TYPE parameter, which is set in the ZARIBTVARV table. If there is no value there, the documenttype is set to ER.

Page 140: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 140

Chapter 10 IntegratingTransactional Data Using File Channel Calling the SAP BAPI

Offset Entry for Company Paid expense

The expense report could contain expenses that are paid by the company and are paid by the employee. Inthe distribution file, if the column EMP_PAID is NO and DB_CR_IND is S, then it is a company-paid expense andthe employee will not get reimbursed. Therefore, you must add an additional line item with the posting forthe offset/clearing account.

To determine the offset/clearing account there is a custom table ZARIBA_SSP_ER_GL. This table has thefollowing fields:

• MANDT – client

• BUKRS – company code

• SAKNR – G/L account

There is a table maintenance generated for this table and you can populate the values in this table using theSAP transaction SM30.

Calculating the Gross Amount

The Ariba/SAP integration does not consider the cash advance for two reasons:

• Cash advances are paid to employees before travel. There would be some accounting documents createdbefore the payment is made to the employee.

• The cash advance on the T&E expense report is a single field that can just capture the amount but noaccounting information related to it. Therefore, you cannot include this as-is amount line in the invoice.

For this reason, you must compute the gross amount in the invoice header. To compute this, Ariba adds theITEM_AMOUNT on all the lines of the expense report, and adds the TAX_AMOUNT on each line to the ITEM_AMOUNT toarrive at the GROSS_AMOUNT.

Changing INVOICE_IND

The INVOICE_IND set in the CSV file is based on the GROSS_AMOUNT, which considers the CASH_ADVANCE.Therefore, in some cases it may indicate the credit memo, but with the CASH_ADVANCE taken into account, itmay have to be created as an INVOICE. This is determined by the GROSS_AMOUNT computation mentioned above.If the GROSS_AMOUNT computed is positive, then Ariba creates INVOICE. If it is negative, Ariba creates aCREDIT_MEMO.

Custom Process ER Routine

The ZXTARIBA_SSP_INVPREBAPIDATA routine is provided in case you need to do any other processing on theinternal tables before calling the BAPI. This routine is included in the include program.

Page 141: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 141

Chapter 10 IntegratingTransactional Data Using File Channel Scheduling

Scheduling

You should schedule the Ariba Data Transfer Tool frequently enough to keep up with new transactions. Thefrequency you set will vary depending on the nature of your business. You should scheduleZARIBA_SSP_ER_INVOICE_CREATE to pick up new CSV files whenever they arrive.

Importing Remittance Advice

Ariba procurement solutions load remittance data from CSV files that the SAP integration programZARIBA_SSP_REMITTANCE_PULL creates on your SAP instance client. This function module can importremittance advice for payments created for the following:

• Invoices

• Credit and debit memos

• Future-dated payments

• Voided payments, including voided checks and reverse payments

The following topics explain the remittance import process:

• “Understanding the Remittance Data Pull” on page 141

• “Running the Remittance Data Import Event” on page 141

• “Checking Output CSV Files” on page 142

• “Additional Considerations” on page 143

• “Accommodating Custom Fields” on page 143

Understanding the Remittance Data Pull

The following high-level steps describe the remittance data import process:

1 Run the ZARIBA_SSP_REMITTANCE_PULL SAP program. This function program reads from thezssp_rem_datetime table to get the last date time when this program was run, picks up all the paymentsdone after the last run, and transfers the SAP remittance data into the CSV files on the SAP server.

2 Set up the Ariba Data Transfer Tool on the SAP server to run when the remittance data download iscomplete.

3 The Ariba Data Transfer Tool picks up the remittance data CSV files and sends them to the Aribaprocurement solutions.

Running the Remittance Data Import Event

The input for ZARIBA_SSP_REMITTANCE_PULL includes the directory where the CSV files should be written, thepath separator character, and the character encoding to use.

Page 142: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 142

Chapter 10 IntegratingTransactional Data Using File Channel Importing Remittance Advice

To run the remittance import event:

1 In SAP, run the function module ZARIBA_SSP_REMITTANCE_PULL using SAP transaction code SE38. Thisstarts the SAP user interface for this function module.

2 Specify the directory path on the SAP application server in which to create the CSV files. This directoryshould already exist. For example c:\remittance\InDir. Be sure to use the same directory you specify inthe Ariba Data Transfer Tool options file that you use when you import remittance data from SAP. Thedirectory should match %topDir%\%inDir%.

3 Specify the directory separator character (/ or \).

4 Specify the character encoding to use in the generated CSV files. Use the encoding that corresponds to thedata you are supplying from SAP. Ariba supports any of the encodings listed for the Java.io API at

http://java.sun.com/j2se/1.4.2/docs/guide/intl/encoding.doc.html

5 To schedule ZARIBA_SSP_REMITTANCE_PULL to run at regular intervals, save the function module input as avariant that you can specify to be run as a job. Schedule the job using SAP transaction SM36. For moreinformation about this transaction or scheduling SAP function modules, see your SAP documentation.

Note: To import remittance advice from a specified date for the initial run, use transaction SM30. Specifythe table ZSSP_REM_DATETIM and click Maintain. Enter the start date/time as YYYYMMDDHHMMSS. WhenZARIBA_SSP_REMITTANCE_PULL runs, it stores the run date/time in this table and uses it for the next run.

6 When writing the remittance data CSV files is complete:

• Schedule the Ariba Data Transfer Tool to run event “Import Remittance Data” to load the CSV fileseach time ZARIBA_SSP_REMITTANCE_PULL has written them.

• Make sure the Ariba Data Transfer Tool input directory specification matches the directory where youcreated the CSV files, as noted in step 2.

Checking Output CSV Files

When ZARIBA_SSP_REMITTANCE_PULL has finished, you can check that the CSV files are generated as expectedand they are located where the Ariba Data Transfer Tool can find them.

ZARIBA_SSP_REMITTANCE_PULL creates a temporary directory called processingyyyymmddhhmmss, whereyyyymmddhhmmss is the time stamp indicating when the directory was created. It writes the Remittance.csv andRemittanceDetails.csv files into this directory. The Processing directory is placed inside the folder youspecified as input in step 2, above.

Note: In the Ariba Data Transfer Tool options file, leave the default value of “processing” as the filterPrefixvalue so that the Ariba Data Transfer Tool ignores this directory.

When ZARIBA_SSP_REMITTANCE_PULL is finished writing the files, it renames the temporary directory toprocessedyyyymmddhhmmss. This directory is where the Ariba Data Transfer Tool looks for the CSV files. Thenext time the Ariba Data Transfer Tool runs, it finds this directory and transfers the data.

The ZARIBA_SSP_REMITTANCE_PULL program creates two files, Remittance.csv, and RemittanceDetails.csv.

Page 143: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 143

Chapter 10 IntegratingTransactional Data Using File Channel Importing Remittance Advice

Additional Considerations

SAP does not support remittance import in the following scenarios:

• The payment document contains withholding tax.

• The payment document has been reset.

• The payment document is an intercompany payment.

• The payment is for an invoice created for an expense report.

• The payment document is a down payment or a residual payment.

The following considerations pertain to remittance advice import:

• When you use the Check Payment method, remittance advice is imported only after the checks have beenprinted.

• If you make a payment to a special general ledger (G/L) account, remittance advice is not imported intoyour Ariba on-demand application. Common special G/L accounts might include:

• Down payments

• Bills of exchange

• Guarantees

• Security deposits

• Individual value adjustments

• Amortization

• Interest payable

• The payment documents generated in SAP from manual payment might not include the payment methodby default as this is not a required field in SAP. However, in Ariba procurement solutions, the paymentmethod is a required field and if it is empty in Remittance.csv, the load fails. To avoid a load failure, makesure you enter the payment method in the payment documents generated from a manual payment.

• The payment documents generated in SAP from cancel payment might not include the payment methodby default as this is not a required field in SAP. However, in Ariba procurement solutions, the paymentmethod is a required field and if it is empty in Remittance.csv, the load fails. To avoid a load failure, whenmapping the values in Ariba procurement solutions, ensure Ariba procurement solutions map the paymentmethod as “C” (Check) for cancel Payments, when there is no value set in SAP.

• For manual payment, if you print the check after ZARIBA_SSP_REMITTANCE_PULL runs, thenZARIBA_SSP_REMITTANCE_PULL pulls the check number into Ariba on-demand application during the nextremittance advice run and updates the Payment Number in the Payment Transaction object. However, thepayment number is not pushed to the Ariba Network supplier.

• ZARIBA_SSP_REMITTANCE_PULL imports down payments as credit-line items after subsequent payments aremade, not at the time they are created.

Accommodating Custom Fields

The custom user exit ZARIBA_SSP_REMITTANCE_PULL is provided so that you can add or change fields in thetransferred data. Restricting your customizations to custom user exits will help you integrate new versions ofthe Ariba SAP integration function modules.

Page 144: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 144

Chapter 11 Error Handling

The SAP integration provides reliable data exchange between Ariba procurement solutions and SAP. Ifanything goes wrong during the process, the integration event must detect the error and take some action.

When an error occurs, the integration event can do two things:

• Recover automatically

• Report the error and wait for an administrator to take action

SAP integration is designed to recover automatically whenever possible, with minimal intervention. In somecases, however, the integration event cannot recover automatically and must report the error to theappropriate administrator.

In general, the integration event can recover automatically from any error that occurs before the data hasbeen committed to SAP. After the data has been committed on the SAP system, the integration event doesnot try to recover from errors. The integration event reports the error and waits for an administrator tointervene.

Errors in SAP are logged as .csv files (for example, PurchaseOrderErrorpullXXXX. csv). These files aretransferred to Ariba procurement solutions via an import integration event. Error Objects are created inAriba procurement solutions and the Order status changes accordingly.

This chapter includes the following sections:

• “Failures When Exporting to SAP” on page 144

• “Troubleshooting” on page 146

• “Troubleshooting” on page 146

Failures When Exporting to SAP

This section describes two types of errors:

• Application-level errors

• System errors

Page 145: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 145

Chapter 11 Error Handling

Application-Level Errors

This section describes the failures occurring during transaction exports.

The administrator should work with the original requester to fix the problems that caused the order errors,and then resubmit the corresponding objects.

Errors During Purchase Order Exports

The SAP side program that reads and populates the exported data in SAP can fail due to data error. In suchevents, this program generates an error file. This error file upon uploading to Ariba procurement solutionscreates an Error object (PurchaseOrderError), and requisition status changes to Composing.

When a requisition is stuck in the “Composing” state, your Ariba procurement solutions administratorshould perform the following tasks:

1 Check the error in the requisition that has gone to the “Composing” state.

2 Diagnose the problem.

3 Correct the error.

4 Submit/approve the requisition.

Errors During Receipt Exports

After the items are received in Ariba procurement solution, ProcessReceipts schedule task must be run. Thisscheduled task picks up all receipts in the Awaiting Processing state and adds the entries in PushDataEntry.

Receipts File Export event can be run manually or scheduled through the Data Transfer Tool. This eventexports the data into CSV files.

If an application-level error occurs during receipt export (that is, the posting period is not open in SAP), SAPrejects the receipt. SAP also generates an error file. When this error file is uploaded to Ariba procurementsolution, the Receipts status changes from Processing to Awaiting processing, and the subsequentProcessReceipts task processes these receipts.

SAP also generates an error file. When this error file is uploaded to Ariba procurement solution, the Receiptsstatus changes from Processing to Awaiting processing, and the subsequent ProcessReceipts taskprocesses these receipts.

Errors During Payment Exports

When invoices are reconciled, payment objects are generated and entries are added to the PushDataEntry.

You can run the PaymentExport task and download the data into CSV files.

If an application-level error occurs during Payment export (for example, invalid supplier, or a PurchaseOrder being processed by another user or process), an error file is created. When you upload this error file toAriba procurement solutions, it creates PayablePushError objects and status is changed to Paying Failed.You can correct the data and re-submit. This data is re-processed when the next export event is run.

Page 146: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 146

Chapter 11 Error Handling

System-Level Errors

In case of a configuration error, or errors in the Ariba Integration Toolkit, SAP never receives anytransactional data from Ariba procurement solutions. In such situations, all transactional objects remain inthe same state and will not change.

When there is a system level error you can try to re-export the data from Ariba procurement solutions usingthe time stamp from which you need data. If the CSV files that you exported to SAP are not picked up by theSAP program, these files will remain available on the SAP Server, and would be picked up the next time theSAP program is run.

For additional information, see the Ariba Procurement Data Import and Administration Guide.

Troubleshooting

This section provides tips for solving problems associated with integrating Ariba procurement solutions withSAP.

Enabling Debugging

When you call an RFC, you can turn on a debugging switch. This action enables you to access the SAP userinterface, where you can set breakpoints.

Note: To debug File channel integration programs, you can use the standard SAP ABAP debuggingfunctionality.

To debug through the SAP user interface:

1 Keep an SAP user interface session open.

2 From the Ariba procurement solutions working directory, turn on SAP’s debugging mode by typing thiscommand at the command line:

set RFC_DEBUG=1

You can also set this as an environment variable.

3 Restart the Ariba procurement solutions server.

4 Trigger the event by submitting a requisition or a receipt, or by running an import through the AribaAdministrator.

5 When the SAP user interface opens, open another session, go to transaction se37, and set a breakpoint ona line of code in the RFC.

6 As you call an RFC, the breakpoint you set causes the debugging tool to stop at the first line of the RFCcode.

7 When you finish debugging, turn debugging mode back off again by typing this command at thecommand line of the Ariba procurement solutions working directory:

set RFC_DEBUG=0

Page 147: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 147

Part V Reference Information

Part V includes the following appendixes:

• Appendix A, “Integration Events Reference”

• Appendix B, “Ariba SAP Objects”

• Appendix C, “About SAP Transports”

Page 148: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 148

Appendix A Integration Events Reference

This appendix lists the integration events provided with Ariba procurement solutions that work with SAPconfigurations on the Web Services and FIle channels. For complete information on these integration events,see the Ariba Procurement Data Import and Administration Guide.

Common Integration Events

The following table provides a comprehensive list of all integration event names. This list includesintegration events for both File as well as Web Services channel.

Note: All master data integration events are performed using the File Channel, while transactional dataintegration can be performed using either File or Web Services, with Web Services being the defaultchannel.

In the “SAP Integration Events” table, all transactional data integration events specific to File Channel areindicated explicitly. For example, PaymentFileExport (File Channel).

Integration Events

SAP Integration Events

Event Name Description

AccCategoryFieldStatusComboPull Imports combinations of Account Category andField Status codes, used in Ariba procurementsolutions to simulate accounting combinationsused in SAP.

AccountCategoryLanguagePull Defines translations for the names of AccountCategories.

AccountCategoryPull Defines the accounting entity AccCategory,used in the default configurations.

AccountTypeLanguagePull Defines translations for the names of AccountTypes from manually maintained CSV files.

AssetPull Defines the accounting entity Asset, used in thedefault configurations.

BuyerPaymentBankLocationPull Reads payment bank information for the buyingcompany from a CSV file. For moreinformation, see the Ariba Invoicing andPayment Data Import and AdministrationGuide.

CombinedDataPull Performs a batch data load for all master dataevents. Language pulls can also be run in batchand also part of the CombinedDataPull.

Page 149: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 149

Appendix A Integration Events Reference Common Integration Events

CommodityExportMapPull Defines a mapping from commodity codes toSAP-specific ones. Data is loaded frommanually maintained CSV files.

CompanyCodeIOComboPull Defines combinations of company codes andinternal orders, used in default configurations.

CompanyCodePull Defines the SAP accounting entityCompanyCode.

CompanyCodeWBSComboPull Defines combinations of company codes andWBS elements, used in default configurations.

CostCenterLanguagePull Defines translations for the names of CostCenters.

CostCenterPull Defines the accounting entity CostCenter.

CurrencyConversionRatePull Loads the currency conversion rates.

CostCenterIdocImport Performs real-time cost-center integrations.

FieldStatusToAccountingFieldNameMapPull Maps SAP field status strings to accountingfield names.

GeneralLedgerLanguagePull Defines translations for General Ledger Pulls.Data is loaded from manually maintained CSVfile.

GeneralLedgerPull Defines the SAP accounting entity GL (GeneralLedger).

GlobalCompanyCodeMapPull Uses a mapped type to map between local andglobal company code data within the partition.

InternalOrderPull Defines the SAP accounting entity IO(InternalOrder).

ItemCategoryPull Defines the kinds of orders that Aribaprocurement solutions can generate and pushinto your SAP system. Data is loaded frommanually maintained CSV file.

MinorityVendorPull Imports information from SAP to indicatewhich vendors are defined with“minority-owned” status.

PaymentRealTimeExport Exports payment information using the WebServices channel.

PaymentExport (File Channel) Exports payment information using the Filechannel.

PartitionedCommodityCodePull Loads ERP commodity codes from SAP.

PartitionedCommodityCodeLanguagePull Defines translations for ERP commodity codenames.

PaymentTermsPull Defines payment terms.

SAP Integration Events

Event Name Description

Page 150: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 150

Appendix A Integration Events Reference Common Integration Events

PlantPull Defines a set of “plants,” which is a conceptsimilar to addresses. Data is loaded frommanually maintained CSV file.

PlantPurchaseOrgComboPull Imports combinations of plants and purchasingorganizations, used in Ariba procurementsolutions to simulate SAP accountingcombinations.

PurchaseGroupPull Defines a set of PurchaseGroups, by readingfrom SAP.

PurchaseOrderCancelErrorImport(FileChannel)

Imports canceled purchase order error data fromSAP.

PurchaseOrderCancelExport (File Channel) Exports the canceled purchase order data fromto SAP.

PurchaseOrderCancelNumberImport (FileChannel)

Imports the successfully canceled purchaseorder data from SAP.

PurchaseOrderErrorImport (File Channel) Imports the puchase order error informationfrom SAP.

PurchaseOrderExport (File Channel) Exports the purchase order data from to SAP.

PurchaseOrderNumberImport (File Channel) Imports the purchase order status from SAP.

PurchaseOrderChangeErrorImport (FileChannel)

Imports changed puchase order errorinformation from SAP.

PurchaseOrderChangeExport (File Channel) Exports the changed purchase order data fromto SAP.

PurchaseOrderChangeNumberImport (FileChannel)

Imports the successfully changed purchaseorder data from SAP.

PurchaseOrderCancelRealTimeExport Exports canceled purchase orders to SAP.

PurchaseOrderChangeRealTimeExport Exports changed purchase orders to SAP.

PurchaseOrderERPHeaderStatusImport Imports the SAP header status for a set of Aribaprocurement solutions purchase orders that arein an Ordered state and that are created during aspecified time period.

PurchaseOrderRealTimeExport Exports purchase orders to SAP.

PurchaseOrgPull Imports a set of purchasing organizations, byreading from SAP.

PurchaseOrgSupplierComboPull Imports combinations of purchasingorganizations and supplier, which are used inAriba procurement solutions to simulate theaccounting combinations used in SAP.

ReceiptErrorImport (File Channel) Imports the receipt error information from SAP.

ReceiptExport (File Channel) Exports the receipt data from to SAP.

SAP Integration Events

Event Name Description

Page 151: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 151

Appendix A Integration Events Reference Common Integration Events

ReceiptNumberImport (File Channel) Imports the receipt data from SAP.

ReceiptRealTimeExport Exports receipts to SAP.

ReleaseAuthorityPull Imports release authorization information fromSAP.

RemittanceImport (File Channel) Imports remittance data from SAP to Aribaprocurement solutions using the File Channel.

RemittanceImport Imports remittance data from SAP to Aribaprocurement solutions.

SupplierLocationRemittanceInformationPull Reads remittance information associated with asupplier location. Data is loaded from manuallymaintained CSV file.

For more information, see the Ariba Invoicingand Payment Data Import and AdministrationGuide.

SupplierPaymentBankLocationPull Reads payment bank information from a CSVfile. For more information, see the AribaInvoicing and Payment Data Import andAdministration Guide.

SupplierIdocImport(Web Services) Imports the set of valid suppliers using the WebServices channel.

SupplierPull Imports the set of suppliers that is valid.

RemittanceLocationPull Imports a list of valid remittance send addressesfrom CSV files. This event is used for fraudprotection, to ensure that remittance addressesdefined in a supplier’s profile on Ariba SN arevalid. For more information, see the AribaInvoicing and Payment Data Import andAdministration Guide.

TaxCodeLanguagePull Defines translations for the names of tax codes.

TaxCodePull Defines tax codes required in SAP partitionsand used only in SAP partitions.

UserPull Defines a list of Ariba procurement solutionsusers and profile information, reading fromCSV. Also loads PCardMap.

WBSElementPull Defines the SAP accounting entityWBSElement. The ProjectNumber field was notavailable in this event. As a result,WBSElements were not getting linked to therelevant ProjectNumbers in Ariba procurementsolutions. To ensure that the ProjectNumberfield is included in this event, you mustdownload SAP transport, U47K900070 fromconnect.ariba.com and import it into your SAPsystem.

SAP Integration Events

Event Name Description

Page 152: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 152

Appendix B Ariba SAP Objects

This section describes the SAP development objects provided by Ariba as part of the SAP integration andthe naming conventions for those objects. The audience for this appendix includes:

• BASIS administrators who import Ariba’s SAP transports and need to see the list of objects they’reimporting.

• ABAP developers who are responsible for customizing the Ariba SAP objects.

The following topics describe these objects:

• “Ariba SAP Objects” on page 152

• “Summary of Ariba SAP Packages” on page 153

• “ZAR6 Package” on page 154

• “ZARC Package” on page 159

• “ZARIBA_SSP_INVOICE Package” on page 161

• “ZARIBA_SSP_CUSTINVOICE Package” on page 163

• “ZARIBA_SSP_REMITTANCE Package” on page 164

• “ZARIBA_SSP_CUST_REMITTANCE Package” on page 165

• “ZARIBTVARV RFC Reference” on page 166

• “ZARIBA_PO_PUSH Package” on page 170

• “ZARIBA_CUST_PO_PUSH Package” on page 171

• “ZARIBA_CHANGEORDER Package” on page 172

• “ZARIBA_CUST_CHANGEORDER Package” on page 173

• “ZARIBA_GR_PUSH Package” on page 174

• “ZARIBA_ER_PUSH Package” on page 176

• “ZARIBA_ER_CUST_PUSH Package” on page 177

• “ZARIBA_INVOICE Package” on page 178

• “ZARIBA_CUST_INVOICE Package” on page 179

• “ZARIBA_FILE_CHANNEL Package” on page 180

• “ZARIBA_CUST_FILE_CHANNEL Package” on page 182

Page 153: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 153

Appendix B Ariba SAP Objects Naming Conventions for Ariba SAP Objects

Naming Conventions for Ariba SAP Objects

The general naming conventions for Ariba SAP objects are as follows:

• Package names begin with the prefix ZA.

• Function group names begin with the following prefixes: ZAF, ZAG, ZAT, or ZTF.

• Function module names begin with the prefix Z_ARIBA. Some of the modules end with the suffix _EXT—for example—Z_ARIBA_COMPANY_EXT. These modules are customizable. The Z_ARIBA modules without the_EXT suffix are core Ariba function modules that you shouldn’t modify.

• Table names begin with the prefix ZAR or ZSSP. Do not modify any of these Ariba core tables.

• Structure names begin with the prefix ZAR or ZXT. The ZAR structures are core Ariba structures that youshouldn’t modify, whereas the ZXT structures are extension structures that are customizable.

• Data element names begin with the prefix ZAR.

• Message class: Ariba’s message class is named ZA.

Summary of Ariba SAP Packages

This section lists the packages and the Ariba SAP objects in those classes. The following table describes thepackages:

Package Contents

ZAR6 Ariba development objects

ZARC Custom exit functions, append structures, andso on

ZARIBA_SSP_INVOICE Ariba on-demand invoice objects

ZARIBA_SSP_CUSTINVOICE Ariba on-demand invoice customer exitprograms

ZARIBA_SSP_REMITTANCE Ariba on-demand remittance pull objects

ZARIBA_SSP_CUSTREMITTANCE Customer package for Ariba on-demandremittance

ZARIBA_CUST_PO_PUSH Ariba customer exit for purchase order

ZARIBA_PO_PUSH Ariba purchase order push object

ZARIBA_CUST_CHANGEORDER Ariba customer exit for change purchase order

ZARIBA_CHANGEORDER Ariba change purchase order PO push object

ZARIBA_CUST_GR_PUSH Ariba customer exit for receipt push object

ZARIBA_GR_PUSH Ariba receipt push object

ZARIBA_CUST_FILE_CHANNEL Ariba customer exit for file channel

ZARIBA_FILE_CHANNEL Ariba file channel objects

ZARIBA_CUST_INVOICE Ariba customer exit for Invoice

zARIBA_INVOICE Ariba Invoice object

Page 154: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 154

Appendix B Ariba SAP Objects ZAR6 Package

Each package topic describes its objects, including any of the following:

• Function groups and function modules

• Tables

• Structures

• Data elements

• Includes

• Message classes

ZAR6 Package

The ZAR6 package contains Ariba development objects for master data.

Function Groups and Modules

The following are the function groups in the ZAR6 package:

ZARIBA_ER_CUST_PUSH Ariba customer exit for expense reports

ZARIBA_ER_PUSH Ariba expense report object

Package Contents

ZAR6 Function Groups

Function Group Description

ZAF1 Ariba Materials Management RFCs

ZAF2 Ariba FICO RFCs

ZAF3 Ariba Core RFCs

ZAF4 Ariba IMG RFCs

ZAF8 ZARIBTVARV maintenance dialog-generated

ZARIBA_SSP_CSV_READ Reads the CSV contents

Z_ARIBA_MASTER_LANG_PULL Ariba master data language pulls

ZARIBA_SSP_DOWNLOADFILE Ariba on-demand download CSV files

Page 155: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 155

Appendix B Ariba SAP Objects ZAR6 Package

In the ZAR6 package, the function group ZAF8 contains only function modules automatically generated by theSAP maintenance dialog. The function modules in these function groups are not customizable and are notdescribed in this document. The function modules for the rest of the function groups are described in thefollowing tables.

ZAF1 Function Group

Function Module Description

Z_ARIBA_ACCOUNT_CATEGORY Pulls Account Assignment Categories and theirproperties

Z_ARIBA_ACC_FIELD_STATUS Pull for AccountCategory/Field Status combo

Z_ARIBA_COMPANY Details of Company

Z_ARIBA_MATERIAL_GROUP Ariba Adapter Material Group Function Module

Z_ARIBA_PLANT Ariba Adapter Plant (Ship-To) Pull Function Module

Z_ARIBA_PLANT_PORG Ariba Adapter Plant/Purchase Org CombinationsFunction Module

Z_ARIBA_PURCHASE_GROUP Ariba Adapter Purchase Group Function Module

Z_ARIBA_PURCHASE_ORG Ariba Adapter Purchase Organization Pull FunctionModule

Z_ARIBA_STRINGSPLIT_AT_POSITON Splits the String at a particular position

Z_ARIBA_VENDOR Pulls vendor and vendor/porg information

Z_ARIBA_VENDOR_ONLY Ariba Adapter Vendor Information Pull FunctionModule

ZAF2 Function Group

Function Module Description

Z_ARIBA_ASSET Pulls list of assets

Z_ARIBA_COST_CENTER Ariba Adapter Cost Center Pull Function Module

Z_ARIBA_GENERAL_LEDGER Ariba Adapter General Ledger Pull Function Module

Z_ARIBA_INTERNAL_ORDER Pulls internal orders

Z_ARIBA_MINORITY_VENDOR Gets Vendor/Minority Indicator combo

Z_ARIBA_WBS Holds WBS element information for Ariba

ZAF3 Function Group

Function Module Description

Z_ARIBA_LAST_CHANGE_DATE Gets last change date for an object given its objectclass

Z_ARIBA_PARAMETER Gets the value of a parameter

Z_ARIBA_PREFILTER Retrieves prefiltering restrictions

Page 156: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 156

Appendix B Ariba SAP Objects ZAR6 Package

ZARIBA_SSP_READ_CSV Function group

Z_ARIBA_MASTER_LANG_PULL Function group

Z_ARIBA_SELECT_LIST Returns fields of structure

Z_ARIBA_UTIL_INCREMENTAL Pulls vendor information

ZAF4 Function Group

Function Module Description

Z_ARIBA_CURRENCY_CONVERSION Ariba Adapter Currency Conversion Pull FunctionModule

Z_ARIBA_TAX_CODE Tax Code Pull for Use in Ariba

ZARIBA_SSP_DOWNLOADFILE Function Group

Function Module Description

ZARIBA_CONVERT_TO_CSV_FORMAT Converts SAP data into CSV format

ZARIBA_CONVERT_TO_TEX_FORMAT Converts the data into text format

ZARIBA_DATA_CONVERT_WRITE_FILE Converts the SAP data and downloads the data

ZARIBA_SSP_READ_CSV Reads data from the csv files

ZAF8

Function Module Description

Z_ARIBA_SSP_KCD_CSV_FILE_CONV Parse the data in CSV format

Function Module Description

Z_ARIBA_ACCOUNT_CAT_NAMES Pulls Account Assignment Category Multi-LingualNames

Z_ARIBA_COST_CENTER_NAMES Pulls Cost Center Multi-Lingual Names

Z_ARIBA_GENERAL_LEDGER_NAMES Pull General Ledgers Multi-Lingual Names

Z_ARIBA_MATERIAL_GROUP_NAMES Pulls Material Group Multi-Lingual Names

Z_ARIBA_TAX_CODE_NAMES Pulls Tax Code Multi-Lingual Names

ZAF3 Function Group

Function Module Description

Page 157: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 157

Appendix B Ariba SAP Objects ZAR6 Package

Tables

The following are the tables for the ZAR6 package:

Structures

The following are the structures for the ZAR6 package:

ZAR6 Tables

Table Description

ZARIBTVARV TVARV generalized for fields

ZAR6 Structures

Structure Description

ZARACCST Account Category/Field Status Group combination

ZARASSET To store MainAsset information for use in Ariba

ZARCOMPANY Company Code, Name, and other details

ZARCOSTC To output all Cost Structure Info for use in Ariba

ZARCURCO Currency Conversion Type Info for use in Ariba

ZARGENLE General ledger information

ZARIACCASS Account Assignment Category and its properties

ZARIBAWTAB Table Structure for “WHERE (itab)” Statement

ZARMGRP To output all Material Group Info for use in Ariba

ZARMINVEND Ariba vendor/minority indicator combination

ZARORD Holds order numbers for Ariba

ZARPGRP To output all Purchasing Groups for use in Ariba

ZARPLANT To output all Plant Info for use in Ariba

ZARPLPO Plant/Purchase Orgs Combinations for use in Ariba

ZARPOORG To output Purchase Organizations for use in Ariba

ZARTAXCODE Tax Code Information for use in Ariba

ZARVEND To output Vendor Information for use in Ariba

ZARVENPO To output Vendor/Purchase Org Information for use in Ariba

ZARWBS Holds WBS element information

ZARMGRPNAM Material group names

ZARTAXNAME Tax code names for use in Ariba

ZARACCNAME Names for account categories

ZARGLLANG Names of general ledgers

Page 158: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 158

Appendix B Ariba SAP Objects ZAR6 Package

Data Elements

The following are the data elements for the ZAR6 package:

Message Class

The following is the message class for the ZAR6 package:

ZARCUR_TIME_ZONE Structure for currency conversion type information for AribaZFURR F.

ZARIBA_CELLS Ariba cells in flat structure for flexible excel upload.

XZARCOSTNAM Cost center names

ZARVENDMIN Ariba vendor/minority indicator combination.

ZAR6 Structures

Structure Description

Data Element Description

ZARWERKS Plant

ZARIBADATETIME Represents the date and time stamp

ZARIBAEILE Line number

ZARIBAEKKN Serial number of account assignment.

ZARPARTIT Ariba data partition

ZARVARIANT Ariba variant name

Message Class Description

ZARIBA_MCLASS Error messages for Ariba SAP ABAP code

Page 159: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 159

Appendix B Ariba SAP Objects ZARC Package

ZARC Package

The ZARC package contains customer exit functions, append structures, and so on.

Function Groups and Modules

The following are the function groups in the ZARC package:

The following tables describe the function modules for these function groups:

Function Group Description

ZAFC Ariba Customer exits from 6.1PX

Z_ARIBA_MASTER_LANG_CUST Customer master data language pull

ZAFC Function Groups

Function Module Description

Z_ARIBA_ACCOUNT_CAT_NAMES_EXT Pulls Account Assignment Categories and theirproperties

Z_ARIBA_COST_CENTER_NAMES_EXT Ariba Adapter Cost Center Pull Function Module

Z_ARIBA_GL_NAMES_EXT Extension function module for pull of names ofGeneral Ledgers

Z_ARIBA_MATERIAL_GRP_NAMES_EXT Ariba Adapter Material Group Function Module

Z_ARIBA_WBS_EXT Structure defined to hold WBS element informationfor Ariba

Z_ARIBA_VENDOR_ONLY_EXT Ariba Adapter Vendor Information Pull FunctionModule

Z_ARIBA_VENDOR_EXT Pulls vendor and vendor/porg information

Z_ARIBA_TAX_CODE_EXT Ariba Adapter Currency Pull Function Module

Z_ARIBA_PURCHASE_ORG_EXT Ariba Adapter Purchase Organization Pull FunctionModule

Z_ARIBA_PURCHASE_GROUP_EXT Ariba Adapter Purchase Group Function Module

Z_ARIBA_PREFILTER_EXT Retrieves prefiltering restrictions

Z_ARIBA_PLANT_PORG_EXT Ariba Adapter Plant/Purchase Org CombinationsFunction Module

Z_ARIBA_PLANT_EXT Ariba Adapter Plant (Ship-To) Pull Function Module

Z_ARIBA_MINORITY_VENDOR_EXT Gets Vendor/Minority Indicator combination

Z_ARIBA_INTERNAL_ORDER_EXT Function to pull internal orders

Z_ARIBA_GENERAL_LEDGER_EXT Ariba Adapter General Ledger Pull Function Module

Page 160: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 160

Appendix B Ariba SAP Objects ZARC Package

Structures

The following are the structures in the ZARC package:

Z_ARIBA_CURRENCY_CONV_EXT Ariba Adapter Currency Conversion Pull FunctionModule

Z_ARIBA_COMPANY_EXT Details of Company

Z_ARIBA_ASSET_EXT Pulls list of assets

Z_ARIBA_ACC_FIELD_STATUS_EXT Pull for AccountCategory/Field Status combination

Z_ARIBA_TAX_CODE_NAMES_EXT Tax Code Pull for Use in Ariba

ZAFC Function Groups

Function Module Description

ZARC Structures

Structure Description

ZXTACCST Ariba Extension for ZARACCST

ZXTASSET Ariba Extension for Assets

ZXTCOMPANY Ariba Extension for Company Codes

ZXTCOSTC Ariba Extension for Cost Centers

ZXTCURCO Ariba Extension for Currency Conversions

ZXTGENLE Ariba Extension for General Ledgers

ZXTIACCASS Ariba Extension for Account Assignment Categories

ZXTMGRP Ariba Extension for Material Groups

ZXTORD Ariba Extension for Internal Orders

ZXTPGRP Ariba Extension for Purchasing Groups

ZXTPLANT Ariba Extension for Plants

ZXTPLPO Ariba Extension for Plant/Purchase OrganizationCombinations

ZXTPOORG Ariba Extension for Purchase Organizations

ZXTTAXCODE Ariba Extension for ZARTAXCODE

ZXTVEND Ariba Extension for Vendors

ZXTVENDMIN Ariba Extension for vendor/minority indicator combination

ZXTVENPO Ariba Extension for Vendor Purchase Organizationcombinations

ZXTACCNAME Extension structure for ZARACCNAME

ZXTCOSTNAM Extension structure for ZARCOSTNAM

ZXTGLLANG Extension structure for ZARGLLANG

Page 161: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 161

Appendix B Ariba SAP Objects ZARIBA_SSP_INVOICE Package

ZARIBA_SSP_INVOICE Package

This class contains Ariba invoice objects.

Function Groups and Modules

The following are the function groups in the ZARIBA_SSP_INVOICE package:

Tables

The only ZARIBA_SSP_INVOICE table is ZARIBA_SSP_ER_GLThis table contains offset general ledger informationfor expense report integration.

ZXTMGRPNAM Extension structure for ZARMGRPNAM

ZXTTAXNAME Extesion structure for ZARTAXNAME

ZXTWBS Ariba Extension for WBS Elements

ZARC Structures

Structure Description

ZARIBA_SSP_INVOICE Function Groups

Function Group Description

ZARIBA_SSP_READ_FILE Reads incoming payment and expense CSV file

ZARIBA_SSP_READ_FILE Function Groups

Function Group Description

Z_ARIBA_SSP_READ_INVOICE_FILES Reads the invoice CSV files

Z_ARIBA_SSP_READ_ER_FILES Reads the expense report CSV files

ZARIBA_SSP_INVOICE -- Structures

Structure Description

ZARIBA_ER_CSV_LINE Ariba structure for CSV ER line items

ZARIBA_ER_CSV_TAX Ariba structure for CSV ER tax

ZARIBA_INV_CSV_HDR Ariba structure for CSV Invoice header

ZARIBA_INV_CSV_LINE Ariba structure for CSV Invoice line items

ZARIBA_INV_CSV_TAX Ariba structure for CSV Invoice tax

ZARIBA_INV_CREATE_ACCDATA Ariba invoice account data structure

ZARIBA_INV_CREATE_ITEMDATA Ariba invoice item structure

ZARIBA_INV_CREATE_TAX Ariba tax structure for invoice

Page 162: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 162

Appendix B Ariba SAP Objects ZARIBA_SSP_INVOICE Package

The Ariba on-demand type group is ZKCDE.

Programs

There are two programs in the ZARIBA_SSP_INVOICE package:

Includes

There are three include files in the ZARIBA_SSP_INVOICE package.

ZARIBA_INV_CSV_ITEMDATA Ariba Item CSV structure for Invoice (File Channel)

ZARIBA_INV_CSV_ACCOUNTDATA Ariba structure CSV for invoice accounting data

ZARIBA_SSP_INVOICE -- Structures

Structure Description

Program Description

ZARIBA_SSP_ER_INVOICE_CREATE Reads the expense report files and creates an invoice

ZARIBA_SSP_INVOICELOAD Loads Ariba invoices into SAP

Include Description

ZARIBA_SSP_INVERRORHANDLINGF02 Includes ZARIBA_SSP_INVOICEF01

ZARIBA_SSP_READERF01 Includes Z_SSP_READ_ERF01

ZARIBA_SSP_READINVOICEF01 Includes ZARIBA_SSP_READINVOICEF01

ZARIBA_SSP_INVOICELOAD_PREPF01 Include ZARIBA_SSP_INVOICELOAD_PREPF01

Page 163: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 163

Appendix B Ariba SAP Objects ZARIBA_SSP_CUSTINVOICE Package

ZARIBA_SSP_CUSTINVOICE Package

This class contains Ariba invoice customer exit programs.

Dictionary Objects

The following table lists the dictionary objects in the ZARIBA_SSP_CUSTINVOICE package:

Includes

There are two include files in the ZARIBA_SSP_CUSTINVOICE package.

Structure Description

ZARIBAEXT_INVOICE_CSV_ACCT Ariba csv structure for accounting data invoice file channel

ZARIBAEXT_INVOICE_CSV_HEADER Ariba customer CSV Header Structure for Invoice

ZARIBAEXT_INVOICE_CSV_ITEMDTA Ariba Item CSV Structure for Invoice file channel

ZARIBAEXT_INVOICE_CSV_LINE Ariba customer CSV structure for Invoice Line

ZARIBAEXT_INVOICE_CSV_TAX Ariba customer CSV Tax Structure for Invoice

ZARIBA_INVOICE_CSV_ACCT Ariba csv structure for accounting data invoice file channel

ZARIBA_INV_CSV_GLACC Ariba GL account data for CSV file channel

ZXTARIBA_INV_CSV_ACCOUNTDATA Ariba customer exit for Invoice account data

ZXTARIBA_INV_CSV_GLACC Ariba Customer Exit for GL account details

ZXTARIBA_INV_CSV_HEADER Ariba Customer Exit for Invoice Header

ZXTARIBA_INV_CSV_ITEMDATA Ariba customer exit for Invoice Item Data

ZXTARIBA_INV_CSV_TAXDATA Ariba customer exit for Invoice tax data

Include Description

ZXTARIBA_SSP_INVERRORHANDLING Includes ZXTARIBA_SSP_INVERRORHANDLING

ZXTARIBA_SSP_INVPREBAPIDATA Includes ZXTARIBA_SSP_INVPREBAPIDATA

Page 164: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 164

Appendix B Ariba SAP Objects ZARIBA_SSP_REMITTANCE Package

ZARIBA_SSP_REMITTANCE Package

This class contains Ariba remittance pull programs.

Dictionary Objects

The following table lists the dictionary objects in the ZARIBA_SSP_REMITTANCE package:

Function Groups

There are two function groups in the ZARIBA_SSP_REMITTANCE package:

Programs

There is one program in the ZARIBA_SSP_REMITTANCE package:

Includes

There are two includes in the ZARIBA_SSP_REMITTANCE package:

Dictionary Table Description

ZSSP_REM_DATEIM Ariba on-demand – Remittance date time storage

Structures Description

zarrembsak Ariba structure for BSAK for remittance pull

zarrembsik Ariba structure for BSIK for remittance pull

zarremdetail Ariba payment pull line items

zarremheader Ariba pull header items

Function Group Description

ZARIBA_SSP_REMIT Ariba remittance date-time table maintenance

Program Description

ZARIBA_SSP_REMITTANCE PULL Pulls remittance information to Ariba on-demandapplications

Include Description

ZARIBA_SSP_REMITTANCE_F01 Includes Z_SSP_REMITTANCE_F01

ZARIBA_SSP_REMITTANCE_TOP Includes Z_SSP_REMITTANCE_TOP

Page 165: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 165

Appendix B Ariba SAP Objects ZARIBA_SSP_CUST_REMITTANCE Package

ZARIBA_SSP_CUST_REMITTANCE Package

This class contains Ariba on-demand remittance customer exit programs.

Dictionary Objects

The following table lists the dictionary objects in the ZARIBA_SSP_CUST_REMITTANCE package:

Function Groups

The following are the function groups in the ZARIBA_SSP_CUST_REMITTANCE package:

Includes

There are three includes in the ZARIBA_SSP_CUST_REMITTANCE package:

Structure Description

ZXTREMBSAK Customer extension structure for BSAK table forremittance

ZXTREMBSIK Customer extension structure for BSIK table forremittance

ZXTREMDETAIL Customer extension structure for remittance line items

ZXTREMHEADER Customer extension structure for remittance header items

ZARIBA_SSP_CUST_REMITTANCE Function Group

Function Group Description

ZARIBA_CUST_REMITTANCE Customer function group for remittance

ZARIBA_SSP_CUST_REMITTANCE Function Modules

Function Module Description

Z_ARIBA_REMITTANCE_PULL_EXT Ariba customer exit for pulling remittanceinformation to the Ariba on-demand system

Include Description

LZARIBA_CUST_REMITTANCETOP

LZARIBA_CUST_REMITTANCEU01

LZARIBA_CUST_REMITTANCEUXX

Page 166: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 166

Appendix B Ariba SAP Objects ZARIBTVARV RFC Reference

ZARIBTVARV RFC Reference

The ZARIBTVARV table contains parameters used by master data import RFCs. The following table lists eachof these RFCs and its associated table used to filter data. For a list of the parameters in ZARIBTVARV, seeChapter 6, “Configuring Parameters.”

ZARIBTVARV RFCs

RFC Description Table

Z_ARIBA_ACCOUNT_CATEGORY Pulls Account Assignment Categories and theirproperties

T162k

Z_ARIBA_ACCOUNT_CAT_NAMES Pulls Account Assignment Category Multi-LingualNames

T163I

Z_ARIBA_ACC_FIELD_STATUS Pull for AccountCategory/Field Status combination T162K

Z_ARIBA_COMPANY Details of Company T001

Z_ARIBA_MATERIAL_GROUP Ariba Adapter Material Group Function Module T023

Z_ARIBA_MATERIAL_GROUP_NAMES Pulls Material Group Multi-Lingual Names T023T

Z_ARIBA_PLANT Ariba Adapter Plant (Ship-To) Pull FunctionModule

T001W

Z_ARIBA_PLANT_PORG Ariba Adapter Plant/Purchase Org CombinationsFunction Module

T024W

Z_ARIBA_PURCHASE_GROUP Ariba Adapter Purchase Group Function Module T024

Z_ARIBA_PURCHASE_ORG Ariba Adapter Purchase Organization PullFunction Module

T024E

Z_ARIBA_VENDOR Pulls vendor and vendor/porg information LFM1

Z_ARIBA_VENDOR_ONLY Ariba Adapter Vendor Information Pull FunctionModule

LFA1

Z_ARIBA_VENDOR_PORG Ariba Adapter Vendor/Purchase Organization PullFunction Module

LFM1

Z_ARIBA_ASSET Pulls list of assets ANLA

Z_ARIBA_COST_CENTER Ariba Adapter Cost Center Pull Function Module CSKS

Z_ARIBA_COST_CENTER_NAMES Pulls Cost Center Multi-Lingual Names CSKT

Z_ARIBA_GENERAL_LEDGER Ariba Adapter General Ledger Pull FunctionModule

SKB1

Z_ARIBA_GENERAL_LEDGER_NAMES Pulls General Ledgers Multi-Lingual Names SKAT

Z_ARIBA_INTERNAL_ORDER Function to pull internal orders AUFK

Z_ARIBA_MINORITY_VENDOR Gets Vendor/Minority Indicator combo LFB1

Z_ARIBA_WBS Structure defined to hold WBS elementinformation for Ariba

PRPS

Ariba IMG RFCs Pulls currencies TCURT

Page 167: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 167

Appendix B Ariba SAP Objects ZARIBTVARV RFC Reference

ZARIBA_MASTER_DATATable

ZARIBA_MASTER_DATA package includes the following table:

ZARIBA_MASTER_DATA Structures

The following are the structures for the ZAR6 package:

Z_ARIBA_CURRENCY_CONVERSION Ariba Adapter Currency Conversion Pull FunctionModule

TCURR

Z_ARIBA_TAX_CODE Tax Code Pull for Use in Ariba T007A

Z_ARIBA_TAX_CODE_NAMES Pulls Tax Code Multi-Lingual Names T007S

Z_ARIBA_BAPI_PO_CREATE Creates purchase orders in the SAP ERP system.

Z_ARIBA_BAPI_PO_CANCEL Integrates Ariba cancel orders with SAP none

Z_ARIBA_BAPI_PO_CHANGE Integrates Ariba change orders with SAP none

ZARIBTVARV RFCs

RFC Description Table

ZAR6 Tables

Table Description

ZARIBTVARV TVARV generalized for fields

ZARIBA_MASTER_DATA Structures

Structure Description

ZARACCNAME Names for account categories

ZARACCST Account Category/Field Status Group combo

ZARASSET Structure to store MainAsset information for Ariba

ZARCOMPANY Company Code, Name, and other details

ZARCOSTC Structure for Output of All Cost Structure Info for Ariba

ZARCOSTNAM Cost Center Names

ZARCURCO Structure for Currency Conversion Type Info for Ariba

ZARCURR Structure for Currencies

ZARGENLE General ledger info

ZARGLLANG Names of General Ledgers

ZARIACCASS Account Assignment Category and its properties

ZARIBAWTAB Table Structure for “WHERE (itab)” Statement

ZARIFSTAG Field status group definitions

Page 168: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 168

Appendix B Ariba SAP Objects ZARIBTVARV RFC Reference

ZARMGRP Structure for Output of all Material Group Info for Ariba

ZARMGRPNAM Material Group Names

ZARMINORIT Ariba structure for Minority Indicators

ZARMINVEND Ariba vendor/minority indicator combination

ZARORD Structure to hold order numbers for Ariba

ZARPGRP Structure for Output of all Purchasing Groups for Ariba

ZARPLANT Structure for Output of all Plant Info for Ariba

ZARPLCC Plant Cost Center Structure used in Z_ARIBA_PLANT_CC_PULL

ZARPLGL Structure for Plant/ G/L Output for Ariba

ZARPLPO Structure for Plant/Purchase Orgs Combinations for Ariba

ZARPLPOT Structure for Plant/Purchase Orgs Combinations for Ariba

ZARPOACCNT Purchase order accounting info for Ariba POs (do notmodify)

ZARPODELIV Ariba Purchase Order delivery date

ZARPODET Structure for pulling PO details

ZARPOGL Structure for Output of Purchase Org/GL Info for Ariba

ZARPOH Object created to delete for transport of migration

ZARPOI Table created for deletion

ZARPOORG Structure for Output of Purchase Organizations for Ariba

ZARPORQDET Structure for pulling PO details

ZARPOUTLNE Structure for Outline data for PO Push for Ariba

ZARRELAUTH Example mapping release codes to monetary authorizationlevels

ZARSTRING Structure for text data for PO Push for Ariba

ZARTAXCODE Tax Code Information for use in Ariba

ZARTAXNAME Tax Code Names for use in Ariba

ZARTEST Structure for test case of calling an RFC with staticparameters

ZARUOM Structure for Output of All Unit of Measure Info for Ariba

ZARUSERREL Maps Users to Release Codes of Maximum ReleaseAuthority

ZARVEN1 Structure for Output of Vendor Name and ID Info for Ariba

ZXTUOM Extension structure for ZARUOM

ZARIBA_MASTER_DATA Structures

Structure Description

Page 169: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 169

Appendix B Ariba SAP Objects ZARIBTVARV RFC Reference

ZARIBA_MASTER_DATA Data Elements

ZARIBA_MASTER_DATA package includes the following data elements:

ZARIBA_MASTER_DATA Message Class

The following is the message class for the ZARIBA_MASTER_DATA package includes the following messageclass:

ZARVEND Structure for Output Vendor Information for Ariba

ZARVENDMIN Ariba vendor/minority indicator combination

ZARVENPO Structure for Output of Vendor/Purchase Org Informationfor Ariba

ZARWBS Structure to hold WBS element information

ZEXUSER Sample to return user information for example user pull

ZARIBA_MASTER_DATA Structures

Structure Description

Data Element Description

ZARIBAEILE Line number

ZARIBAEKKN Serial number of account assignment

ZARPARTIT Ariba data partition

ZARVARIANT Ariba procurement solutions Variant Name (do notconfuse with an SAP Variant)

ZARWERKS Plant

Message Class Description

ZARIBA_MCLASS Error messages for Ariba SAP ABAP code

Page 170: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 170

Appendix B Ariba SAP Objects ZARIBA_PO_PUSH Package

ZARIBA_PO_PUSH Package

This package contains Ariba purchase order export objects.

ZARIBA_PO_PUSH Function Group

The following is the function group in the ZARIBA_PO_PUSH package:

ZARIBA_PO_PUSH Function Modules

The following are the function modules for the ZAFA function group:

ZARIBA_PO_PUSH Structures

The following are the structures in the ZARIBA_PO_PUSH package:

ZAR7 Function Groups

Function Group Description

ZARIBA_PO_PUSH Purchase Order Push function modules

ZARIBA_PO_PUSH Function Modules

Function Module Description

Z_ARIBA_BAPI_PO_CREATE Creates purchase order

Z_ARIBA_BAPI_PO_CREATE_POST Creates purchase order post

Z_ARIBA_BAPI_PO_CREATE_PRE Creates purchase order pre

ZARIBA_PO_PUSH Structures

Structure Description

ZARBAPIEKKOC Ariba structure for BAPI_PO_CREATE Header info

ZARIBABAPIEKKN Ariba structure for BAPIEKKN

ZARIBABAPIEKPOC Transfer Structure: Create PO item

ZARPOERR Purchase order error structure

Page 171: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 171

Appendix B Ariba SAP Objects ZARIBA_CUST_PO_PUSH Package

ZARIBA_CUST_PO_PUSH Package

This package contains Ariba purchase order export objects.

ZARIBA_CUST_PO_PUSH Function Group

The following is the function group in the ZARIBA_CUST_PO_PUSH package:

ZARIBA_CUST_PO_PUSH Function Modules

The following are the function modules for the ZAFA function group:

ZARIBA_CUST_PO_PUSH Structures

The following are the structures in the ZARIBA_CUST_PO_PUSH package:

Includes:

LZARIBA_CUST_PO_PUSHTOP

LZARIBA_CUST_PO_PUSHUXX

ZAR7 Function Groups

Function Group Description

ZARIBA_CUST_PO_PUSH Ariba customer exit for Purchase Order

ZARIBA_CUST_PO_PUSH Function Modules

Function Module Description

Z_ARIBA_BAPI_PO_CREATE_EXT Ariba customer exit for Purchase Order Push

ZARIBA_CUST_PO_PUSH Structures

Structure Description

ZXTARBAPIEKKOC Ariba customer exit for PO Push header structure

ZXTARIBABAPIEKPOC Ariba customer exit for PO Push Item data structure

ZXTPODELIV Ariba Extension for ZARPODELIV

ZXTPODET Ariba Extension for PO Details

Page 172: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 172

Appendix B Ariba SAP Objects ZARIBA_CHANGEORDER Package

ZARIBA_CHANGEORDER Package

The ZARIBA_CHANGEORDER package contains Ariba development objects for change order integration with SAP4.6C.

ZARIBA_CHANGEORDER Function Group

ZARIBA_CHANGEORDER package has the following function group:

ZARIBA_CHANGEORDER Modules

ZARIBA_CHANGEORDER function group has the following function modules:

ZARIBA_CHANGEORDER Structures

The following are the structures in the ZARIBA_CHANGEORDER package:

ZARIBA_CHANGEORDER Function Group

Function Group Description

ZARIBA_CHANGEORDER Function group for change order integration

ZARIBA_CHANGEORDER Function Modules

Function Module Description

Z_ARIBA_BAPI_PO_CHANGE Changes the purchase order

Z_ARIBA_BAPI_PO_CANCEL Cancels the purchase order

Z_ARIBA_PO_HEADER_STATUS Purchase Order Header Status import

ZARIBA_CHANGEORDER Structures

Structure Description

ZARCPOACCNT Accounting information for change orders

ZARCPODELACCNT Deleted accounts for change orders

ZARCPODELITEMS Deleted items for change orders

ZARCPOHEADERSTATUS Purchase order header status structure

ZARSTRING Structure for text data during purchase order export

Page 173: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 173

Appendix B Ariba SAP Objects ZARIBA_CUST_CHANGEORDER Package

ZARIBA_CUST_CHANGEORDER Package

The ZARIBA_CUST_CHANGEORDER package contains custom development objects for change order integrationwith SAP.

ZARIBA_CUST_CHANGEORDER Function Group

The following is the function group in the ZARIBA_CUST_INVOICE package:

ZARIBA_CUST_CHANGEORDER Function Modules

ZARIBA_CHANGEORDER function group has the following function modules:

ZARIBA_CUST_CHANGEORDER Structures

The following are the structures in the ZARIBA_CUST_CHANGEORDER package:

ZARIBA_CUST_CHANGEORDER Function Group

Function Group Description

Z_ARIBA_CUST_CHANGEORDER Custom function group for change orderintegration

ZARIBA_CUST_CHANGEORDER1 Custom function group for change orders andassociated function module

ZARIBA_CUST_CHANGEORDER Function Module

Function Module Description

Z_ARIBA_BAPI_PO_CHANGEPRE_EXT Changes the purchase order

Z_ARIBA_PO_HEADER_STATUS_EXT Extension function module for header status pull

ZARIBA_CUST_CHANGEORDER Structures

Structure Description

ZXTCPOACCNT Ariba extension for accounts

ZXTCPODELACCNT Ariba extension for deleted accounts

ZXTCPODELITEMS Ariba extension for deleted items

ZXTCPOHEADR Ariba extension for change order header

ZXTCPOITEMS Ariba extension for change order items

ZXTCPOHEADERSTATUS Ariba extension for order header status structure

ZXTPOERR Extension structure for ZARPOERR

Page 174: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 174

Appendix B Ariba SAP Objects ZARIBA_GR_PUSH Package

ZARIBA_GR_PUSH Package

The ZARIBA_GR_PUSH package comprises the function groups listed in the following section.

ZARIBA_GR_PUSH Function Groups

The ZARIBA_GR_PUSH package contains the following function groups:

ZARIBA_GR_PUSHTables

The ZARIBA_GR_PUSH package contains the following tables:

ZARIBA_GR_PUSH Structures

The ZARIBA_GR_PUSH package contains the following structures:

Function Group Description

ZARIBA_FG_GR_PUSH Receipts function group

ZARIBA_GR_TABL Table maintenance function group

Tables Description

ZARGRFMAP Maps interface tables to screen fields

ZARIBAGRS GRs exported to SAP from Ariba ORMS

ZARIBA_GR_PUSH Structures

Structure Description

ZARBDCDATA Ariba BDC structure

ZARGRERR Error Message Structure for z_ariba_gr_push

ZARGRHEADR Material Doc. header info for Ariba GR Push

ZARERRCORE Error Message structure for z_ariba_po_push

ZARGRITEMS Material Document item info for Ariba GRs

Page 175: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 175

Appendix B Ariba SAP Objects ZARIBA_GR_PUSH Package

ZARIBA_CUST_GR_PUSH Package

The ZARIBA_CUST_GR_PUSH package comprises the ZARIBA_CUST_GR_PUSH function group.

ZARIBA_CUST_GR_PUSH Function Group

The ZARIBA_CUST_GR_PUSH package comprises the ZARIBA_CUST_GR_PUSH function group.

ZARIBA_CUST_GR_PUSH Function Modules

The following function modules are available for the ZARIBA_CUST_GR_PUSH package.

ZARIBA_CUST_GR_PUSHTables

The ZARIBA_CUST_GR_PUSH package contains the following table:

ZARIBA_GR_PUSH Structures

The ZARIBA_CUST_GR_PUSH package contains the following structures:

Function Group Description

ZARIBA_CUST_GR_PUSH Ariba Goods receipts customer functions

Function Module Description

Z_ARIBA_GR_PUSH_BDCDATA_EXT Ariba Customer Extension to Z_ARIBA_GR_PUSH

Z_ARIBA_GR_PUSH_ERRORS_EXT Ariba customer exit for error process

Z_ARIBA_GR_PUSH_EXT Ariba Customer exit for Good receipt

Tables Description

ZARGRFMAPX Maps interface tables to screen fields

ZARIBA_CUST_GR_PUSH Structures

Structure Description

ZXTGRERR Extension structure for ZARGRERR

ZXTGRHEADR Ariba Extension for material document header

Page 176: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 176

Appendix B Ariba SAP Objects ZARIBA_ER_PUSH Package

ZARIBA_ER_PUSH Package

The ZARIBA_ER_PUSH package comprises the function groups listed in the following section.

ZARIBA_ER_PUSH Function Groups

The ZARIBA_ER_PUSH package contains the following function groups:

ZARIBA_ER_PUSH function modules

The ZARIBA_ER_PUSH package contains the following function modules:

ZARIBA_ER_PUSH Structures

The ZARIBA_ER_PUSH package contains the following structures:

Function Group Description

ZARIBA_ER_PUSH Ariba ER Invoice create

Z_ARIBA_ER_TAB Table maintenance for ER GL table

Function Module Description

Z_ARIBA_SSP_ER_INVOICE_CREATE Ariba ER Invoice create

TABLEFRAME_ZARIBA_ER_TAB Upper-Level extended table maintenance

TABLEPROC_ZARIBA_ER_TAB Lower-level extended table maintenance

ZARIBA_GR_PUSH Structures

Structure Description

ZARIBA_ER_CSV_HDR Ariba structure for CSV ER Header

ZARIBA_ER_CSV_LINE Ariba structure for CSV ER Line

ZARIBA_ER_CSV_TAX Ariba structure for CSV ER Tax

Page 177: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 177

Appendix B Ariba SAP Objects ZARIBA_ER_CUST_PUSH Package

ZARIBA_ER_CUST_PUSH Package

The ZARIBA_ER_CUST_PUSH package comprises the function groups listed in the following section.

ZARIBA_ER_CUST_PUSH Function Groups

The ZARIBA_ER_CUST_PUSH package contains the following function groups:

ZARIBA_ER_CUST_PUSH Function Modules

The ZARIBA_ER_CUST_PUSH package contains the following function modules:

ZARIBA_ER_CUST_PUSH Structures

The ZARIBA_ER_CUST_PUSH package contains the following structures:

Includes:

LZARIBA_ER_CUST_PUSHTOP

LZARIBA_ER_CUST_PUSHUXX

Function Group Description

ZARIBA_ER_CUST_PUSH Customer exit function group

Tables Description

Z_ARIBA_SSP_ER_INVOICE_CREATE Invoice verification: Post Invoice

ZARIBA_ER_CUST_PUSH Structures

Structure Description

ZARIBEXT_ER_CSV_HDR Ariba structure for CSV ER Header

ZARIBAEXT_ER_CSV_LINE Ariba structure for CSV ER Line

ZARIBAEXT_ER_CSV_TAX Ariba structure for CSV ER Tax

Page 178: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 178

Appendix B Ariba SAP Objects ZARIBA_INVOICE Package

ZARIBA_INVOICE Package

The ZARIBA_INVOICE package comprises the function groups listed in the following section.

ZARIBA_INVOICE Function Groups

The ZARIBA_INVOICE package contains the following function groups:

ZARIBA_INVOICE Function Modules

The ZARIBA_INVOICE package contains the following function modules:

ZARIBA_INVOICE Structures

The ZARIBA_INVOICE package contains the following structures:

Function Group Description

ZARIBA_INVOICE Ariba function group for invoice integration

Tables Description

Z_ARIBA_BAPI_INVOICE_CREATE Invoice verification: Post Invoice

ZARIBA_INVOICE Structures

Structure Description

ZARIBA_BAPIRET2 Ariba return structure for invoice

ZARIBA_BAPI_INV_CREATE_ACCOUNT Ariba invoice account data structure

ZARIBA_INV_CREATE_GLACCOUNT Ariba GL Account structure for invoice

ZARIBA_INV_CREATE_HEADER Ariba Header structure for Invoice

ZARIBA_INV_CREATE_ITEM Ariba Item structure for invoice

Page 179: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 179

Appendix B Ariba SAP Objects ZARIBA_CUST_INVOICE Package

Includes:

LZARIBA_INVOIVEF01

LZARIBA_INVOICETOP

LZARIBA_INVOICEUXX

ZARIBA_CUST_INVOICE Package

The ZARIBA_CUST_INVOICE package comprises the function groups listed in the following section.

ZARIBA_CUST_INVOICE Function Groups

The ZARIBA_CUST_INVOICE package contains the following function groups:

ZARIBA_CUST_INVOICE Function Modules

The ZARIBA_CUST_INVOICE package contains the following function modules:

ZARIBA_CUST_INVOICE Structures

The ZARIBA_CUST_INVOICE package contains the following structures:

Includes:

LZARIBA_CUST_INVOICETOP

Function Group Description

ZARIBA_CUST_INVOICE Ariba customer exit for Invoice

Tables Description

Z_ARIBA_BAPI_INV_CREATE_exit Ariba customer exit for Invoice

ZARIBA_CUST_INVOICE Structures

Structure Description

ZXTARIBA_BAPIRET2 Ariba customer exit for invoice BAPI returnstructure

ZXTARIBA_BAPI_INV_ACCOUNT Ariba customer exit for invoice account datastructure

ZXTARIBA_INV_CREATE_GLACCOUNT Ariba customer exit for invoice GL account data

ZXTARIBA_INV_CREATE_ITEM Ariba customer exit for BAPI invoice item

Page 180: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 180

Appendix B Ariba SAP Objects ZARIBA_FILE_CHANNEL Package

LZARIBA_CUST_INVOICEUXX

ZARIBA_FILE_CHANNEL Package

The ZARIBA_FILE_CHANNEL package comprises the function groups listed in the following section.

ZARIBA_FILE_CHANNEL Function Groups

The ZARIBA_FILE_CHANNEL package contains the following function groups:

ZARIBA_FILE_CHANNEL Function Modules

The ZARIBA_FILE_CHANNEL package contains the following function modules:

ZARIBA_FILE_CHANNEL Structures

The ZARIBA_FILE_CHANNEL package contains the following structures:

Function Group Description

ZARIBA_FILE_TABL Table maintenance

Tables Description

TABLEFRAME_ZARIBA_FILE_TABL Upper-level extended table maintenance

TABLEPROC_ZARIBA_FILE_TABL Lower-level extended table maintenance

ZARIBA_FILE_CHANNEL Structures

Structure Description

ZARBAPIEKKOC Ariba structure for BAPI_PO_CREATE Header info

ZARIBABAPIEKPOC Transfer Structure: Create PO Item

ZARIBA_CANCELPO_CSV_NUMBERPULL Ariba structure for Cancel PO response message

ZARIBA_CPOPUSH_CSV_ACCTDATA Ariba structure for Change PO accounting data csv

ZARIBA_CPOPUSH_CSV_DELACCNTS Ariba CPO Deleted Accounts for file channel

ZARIBA_CPOPUSH_CSV_DEL_LINES Ariba CPO deleted line items csv for file channel

ZARIBA_CPOPUSH_CSV_LINEITEMS Ariba Structure for Change PO push line items csv

ZARIBA_CPOPUSH_CSV_PO_TEXT Ariba CPO text data csv for file channel

ZARIBA_GRPUSH_CSV_LINEITEMS Ariba customer CSV GR Lineitems Structure

ZARIBA_GRPUSH_CSV_NUMBERPULL Ariba GR Push Structure for PO Number Pull response

Page 181: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 181

Appendix B Ariba SAP Objects ZARIBA_FILE_CHANNEL Package

Includes:

ZARIBA_CI_BAPI_PO_COMMON

ZARIBA_POPUSH_CSV_ACCDATA Ariba custom CSV structure for PO Account Assignment

ZARIBA_POPUSH_CSV_HEADER Ariba customer CSV PO Header Structure for PO

ZARIBA_POPUSH_CSV_LADDETAIL Ariba customer CSV PO Lineitemsadd details Structurefor PO

ZARIBA_POPUSH_CSV_LINEITEMS Ariba customer CSV PO line items structure for PO

ZARIBA_POPUSH_CSV_LINETEXT Ariba customer CSV PO LINE Structure for PO

ZARIBA_POPUSH_CSV_NUMBERPULL Ariba PO Push Structure for PO Number Pull response

ZARIBA_POPUSH_CSV_SCHEDULES Ariba customer CSV Structure for PO Schedule lines

ZARPODELIV Ariba Purchase Order delivery date

ZARPODET Structure for pulling po details

ZARPOERR Error Message Structure for z_ariba_po_push

ZARIBA_FILE_CHANNEL Structures

Structure Description

Page 182: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 182

Appendix B Ariba SAP Objects ZARIBA_CUST_FILE_CHANNEL Package

ZARIBA_CUST_FILE_CHANNEL Package

The ZARIBA_CUST_FILE_CHANNEL package comprises the function groups listed in the following section.

ZARIBA_CUST_FILE_CHANNEL Structures

The ZARIBA_CUST_FILE_CHANNEL package contains the following structures:

Includes:

Z_ARIBA_CI_FC_CUSTOMER_EXIT

ZARIBA_CUST_FILE_CHANNEL Structures

Structure Description

ZXTARIBA_CPOPUSH_CSV_PO_TEXT Ariba customer exit Change P0 PO line item text

ZXTARIBA_GRPUSH_CSV_NUMBERPULL Ariba customer Exit for GR Number Import

ZXTARIBA_POPUSH_CSV_ACCDATA Ariba customer exit for Purchase Order Push Account data

ZXTARIBA_POPUSH_CSV_LADDETAIL Ariba customer exit for PO Push line add detail structure

ZXTARIBA_POPUSH_CSV_NUMBERPULL Ariba customer exit for Purchase Order push Numberimport

ZXTARIBA_POPUSH_CSV_SCHEDULES Ariba customer exit for PO schedule lines

Page 183: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 183

Appendix C About SAPTransports

If you are integrating with SAP, it is required that you install SAP transports as part of your Aribaprocurement solutions installation. This appendix provides background information about theAriba-delivered SAP transports and detailed instructions for installing them.

Note: Ariba recommends that you ask your SAP BASIS personnel to install the Ariba-delivered transports.

The appendix includes the following sections:

• “Overview of SAP Transports” on page 183

• “Transport Installation Instructions” on page 184

• “Transport Description Reference” on page 185

Overview of SAPTransports

This section presents an overview of the Ariba-delivered SAP transports. Read this section before beginningthe SAP transport installation process.

DeliveredTransportTypes

Ariba delivers three types of SAP transports to enable integration with Ariba procurement solutions. Thesetypes include the following:

• Base functionality transport, containing Ariba SAP objects common to all SAP R/3 releases. Thistransport contains both workbench objects and client-dependent and independent configuration.

• Real-time integration transport with Web Services, required if you are exchanging cost center, generalledger, and vendor data in an incremental, real-time manner.

• SAP R/3 version-specific transport, required for particular SAP R/3 releases.

Location ofTransport Files

The Ariba-delivered SAP transports are available for download from connect.ariba.com.

Page 184: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 184

Appendix C About SAPTransports Transport Installation Instructions

Transport Installation Instructions

The process for installing transports is the same for both first-time installations and upgrades. Ariba deliversa set of transports for each SAP version for both installation and upgrade. For complete information oninstalling transports, see the configureOptions/sap/ariba/variant/trans/readme.txt file. You navigate tothis directory under mainerp on the Ariba procurement solutions CD or under the Ariba procurementsolutions installation root.

To install the transports:

1 Select the appropriate table for your scenario: either new installation or upgrading from 8.2.2.

2 Select the column from the table that matches your SAP version.

3 Add the transports listed in the table column to your import queue in the specified order: base, real-time(if required) and then version-specific.

4 Import the transports.

Warning: The transports contain both client-dependent and independent configuration. Therefore, specify atarget client when adding these transports to your import queue. If you are using TMS, enable the targetclient to be specified in the queue by using extended transport control.

Import Considerations

In general, you do not use any umodes when installing these transports. Use umodes in the followingcircumstances:

• You have a previous version of the Ariba objects in your SAP system, and some core objects have beenmodified. In this situation, override the repair flag on import by using a umode. Reinstate any overwrittenmodifications to Ariba core objects using the appropriate SAP tools.

• You need to re-import one of the delivered transports. In this situation, make sure the transport is fullyre-imported by using umode 1.

If you do not require real-time integration, you do not have to import the real-time integration transport.However, if you do install this transport, configure your SAP system to use real-time integration with Aribaprocurement solutions after the import is complete, as described in the next section.

Page 185: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 185

Appendix C About SAPTransports Transport Description Reference

Transport Description Reference

This section describes the contents of the transports provided with this release of Ariba procurementsolutions.

Base FunctionalityTransport

The following table describes the content of the base functionality transport for this release:

Content Description Client Dependent?

Data dictionary objects for Ariba core and customer layers No

Structures and function modules No

ZAR6 and ZARC packages No

Table maintenance editor for ZARIBTVARV No

Transport and Table maintenance editor for ZARGRFMAP andZARGRFMAPX. Tracks the fields in which Ariba procurementsolutions pushes goods receipts.

No

Default goods receipt field mappings for the ZARGRFMAP table No

Page 186: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 186

AABAP filtering

about 56sample 57

ABAP/4 configuration classesconfiguration 45

ABAP/4 language 45AccCategoryFieldStatusComboPull integration event

148account assignment categories

about 71configuring 72pulling 72

account category RFC 76AccountCategoryLanguagePull integration event 148AccountCategoryPull integration event 148accounting entities 72accounting fields 73accounting objects 75accounting types 72AccountTypeLanguagePull integration event 148action tag, reference 153Advanced BusinessApplication Programming language.

See ABAP/4 configuration classes, ABAP/4development classes, ABAP/4 language, ABAPfiltering, ABAP debugging

amounts, truncating 91application-level errors 107, 145Ariba Buyer

setup 17Ariba development classes 21Ariba File Channel 46, 104Ariba users. See CPIC usersAssetPull integration event 148assignment categories 76authorizations

CPO 91, 120

BBALANCE_SHEET_ACCOUNTS parameter 65bank selling rate 25BAPI integrations

limitations 91, 121BAPI purchase order RFCs

about 91account assignment categories and 76

base functionality transports 183

batch data control (BDC) extension 98blank descriptions 25blocked vendors 26BuyerPaymentBankLocationPull integration event 148

Ccanceled purchase orders 91, 121catalog items 26changed purchase orders

enabling push 91, 121pulling header status of 92push limitations 91, 121pushing 91

channelsAriba File 46, 104

ClusterRoot objects 75CommodityCodeLanguagePull integration event 149CommodityExportMapPull integration event 149CompanyCodeIOComboPull integration event 149CompanyCodePull integration event 149CompanyCodeWBSComboPull integration event 149comparison filter conditions 55cost center RFCs

account assignment categories 76parameter configuration 65

COST_CENTER_DAYS_PAST parameter 65CostCenterLanguagePull integration event 149CostCenterPull integration event

about 149CPIC users

setting up 21CPO. See changed purchase orders, canceled purchase

orderscreate directory 23currency conversion parameters

about 67bank rate 65days past 67Euro rate 65

currency conversion pull 25currency conversion rates 67currency conversion RFCs 65currency, decimal places for 91CurrencyConversionRatePull integration event 149customer exit functions

about 58filtering 97

Index

Page 187: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 187

Index

Ddata push mapping tables

about 99sources of 51

date formatscreating CPIC users 21push configuration 86

DAYS_PAST parameters 67debug CPO parameter 121debugging

about 109, 146CPO 121enabling 109, 146parameters 110RFCs 109, 146SAP interface and 109, 146user accounts and 21

decimal separators 21Deletion Flag field 101development classes

summary of 153development objects 152dialog users 22directory

create 23rename 24

DO_GET_LAST_CHANGE_DATE parameter 65down payments, remittance pull and 106

Eediting

extension tables 101parameters 64

encodings, specifying 18equality filter conditions 53ERP orders 20ERPAllowCancel field 92error message information extension

receipts 98errors

purchase order push 108, 146receipt push 145recovery 107, 144system-level 109, 146

ERS agreements 26Euro rate parameter 65evaluated receipt settlements. See ERS agreementsexclusion filter conditions 55exit functions

about 58customer 97filtering 97

exit RFCsabout 56configuring for pulls 58

exporting

large purchase orders 24purchase order data 90receipt tolerances 18

extension mapping tablesgoods receipts 101purchase orders 101

extension structuresabout 48adding fields to 50example 50names 50push configuration and 98

extension tablesediting 100

extrinsics 48

Ffailures, pulling from SAP 109, 146field mappings

changing 101push 90, 120SAP purchase order screens 98

field status group stringsabout 74viewing 76

fieldsadding to extension structures 50importing 48removing 101

FieldStatusToAccountingFieldNameMap.csv file 75FieldStatusToAccountingFieldNameMapPull

integration event 149files, move 24filtering

ABAP 56about 51exit functions 97post-hook 58post-hook suggestions 58static 51

filtering exit function 97filters

creating static 54

Ggeneral ledger balance sheet accounts 68GENERAL_LEDGER_DAYS_PAST parameter 65GeneralLedgerLanguagePull integration event 149GeneralLedgerPull integration event 149GlobalCompanyCodeMapPull integration event 149goods receipt push functions 98goods receipt push RFCs

account assignment categories 76goods receipts

changing fields 99

Page 188: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 188

Index

creating new 100displaying existing 100extension mapping tables 101extensions 99mapping 99mapping fields for Ariba Buyer 101pushing 98

Hheader status pull 92

IIDES (International Demo Education System) 102importing

assets 49integration data 46remittance advice 104

inclusion filter conditions 53inner join statements 56integration data 46integration events

for Oracle 148internal order parameter 65internal order RFCs 65internal orders 68InternalOrderPull integration event 149ItemCategoryPull integration event 149

Jjava.text.DateFormat class 86JDK (Java Development Kit) 86joins 56

Llanguage for texts parameter 68last change date RFCs 65LFA1 table 26line item receiving information extension 98locales, specifying 18Location 183

Mmapping Ariba Buyer to RFC import tables 100master data

filtering 51pulling 45RFCs 166

metadata XMLmodifying 49visibility condition calls and 76

minority vendor RFCs 67MINORITY_VENDOR_USE_HEADOFFICE

parameter 65, 67MinorityVendorPull integration event 149MKDIR command 23monetary characteristics

parameters 68move files 24

Nnaming conventions, Ariba SAP objects 153

Oobjects, SAP development 152ordering addresses, multiple 26over receiving parameters 18

Ppackages

setup 21parameter use, defined 51parameters. See individual parameter namesPartitionedCommodityCodeLanguagePull integration

event 149PartitionedCommodityCodePull integration event 149partner functions 26passwords

CPIC user 21pattern filter conditions 55payment documents 105payment method 143payment terms information, pulling 46PaymentTermsPull integration event 149plant information 90PlantPull integration event 150PlantPurchaseOrgComboPull integration event 150post-hook filtering 58pre-filter interfaces 57privileges 21process flow, remittance pull 105ProcessERPHeaderStatusPull scheduled task 92ProcessReceipts scheduled task 97profiles

CPIC user 21information list 151

pullingadditional fields 48assignment categories 76failures from SAP 109, 146master data 45ordering addresses 26payment terms 46, 104selected data 56tables not defined in Ariba Buyer 50transaction data 45

purchase order exports

Page 189: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 189

Index

titles 90purchase order push errors 108, 146purchase order push integration events

PurchaseOrderPush 150purchase order pushes

about 90field mapping 90, 120truncating amounts 91

purchase ordersextension mapping tables and 101

PurchaseGroupPull integration event 150PurchaseOrderCancelPush integration event 150PurchaseOrderChangePush integration event 150PurchaseOrderERPHeaderStatusPull integration event

150purchasing organization integration events

PurchaseOrgPull 150PurchaseOrgSupplierComboPull 150

purchasing organizations 26pushing

amounts 91CPO 91ERP orders 20

QQueryPeriod parameter 92

Rrange filter conditions 55rdisp/max_wprun_time parameter 24real-time integration

configuring SAP for 185transports 183

receipt pusheserrors during 145

ReceiptPush integration event 151receiving tolerances 18ReleaseAuthorityPull integration event 151remittance advice

defined 104remittance parameter 65remittance pull

about 104down payments and 106limitations 104, 143process flow 105

RemittanceLocationPull integration event 151RemittancePull integration event 151remote function calls. See RFCsrename directory 24RFCs

account category 76Ariba Buyer 16cost center 65currency conversion 65

example 129, 138internal tables 100vendor only 65

RZ10 transaction 24

SS_TABU_DIS authorization 51SAP

development objects 152SAP R/3 version-specific transports

delivered transport types 183SAP transports

about 183installing 22

SAP_ALL privilege 21SAP_NEW privilege 21ScheduledTask.table file 92screen field information, modifying 99screen fields 100SE11 transaction 101selection options 53service line items 91, 121showField method 76SM30 transaction 51SM69 transaction 23source fields, finding 100SPERQ field 26SPERRFKT field 26split accounting 90, 120spro transaction 25static filtering

about 51ZARIBATVARV table and 64

SupplierLocationRemittanceInformationPull integrationevent 151

SupplierPaymentBankLocationPull integration event151

SupplierPull integration event 151system parameters, receiving 18system-level errors 109, 146

TT162K table 74tables

exported from SAP 49tax information 26, 90, 120TaxCodeLanguagePull integration event 151TaxCodePull integration event 151TCURX table 91time-out intervals 24TQ04A table 26transaction data

pulling 79transports

base functionality 185

Page 190: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 190

Index

for change/cancel orders 91, 121import considerations 184installing 23, 184reference 185types delivered 183

troubleshooting 109, 146TVARV structure, SAP 53TYPE field 64

Uumodes 23, 184under receiving parameters 18user accounts 21user exits 58UserPull integration event 151

Vvalidation on catalog items 26vendor ERS tax status 26vendor master payment terms pull 46vendor pull filtering 68vendor-only parameter 65vendor-only RFC 65vendors

restrictions on 26tuning performance of pulls 68

WWBSElementPull integration event 151

ZZ_ARIBA_ LANGUAGE parameter 65, 68Z_ARIBA_ACCOUNT_CATEGORY RFC 65, 76Z_ARIBA_BAPI_PO_CANCEL RFC 91Z_ARIBA_BAPI_PO_CHANGE RFC 91Z_ARIBA_COST_CENTER RFC 65Z_ARIBA_CPO_FNAME parameter 121Z_ARIBA_CURR_CONV_BANK_RATE parameter

65, 67Z_ARIBA_CURR_CONV_DAYS_PAST parameter 67Z_ARIBA_CURR_CONV_EURO_RATE parameter 65Z_ARIBA_CURRENCY RFC 65Z_ARIBA_DEBUG_CPO parameter 121Z_ARIBA_GENERAL_LEDGER RFC 65Z_ARIBA_GR_PUSH RFC 97Z_ARIBA_GR_PUSH_BDCDATA_EXT function 98Z_ARIBA_GR_PUSH_DISPLAY_MODE parameter

error handling 110Z_ARIBA_GR_PUSH_ERRORS_EXT function 98Z_ARIBA_INTERNAL _ORDER RFC 65Z_ARIBA_INTERNAL_ORDER_AUART parameter

65Z_ARIBA_LAST_CHANGE_DATE RFC 65

Z_ARIBA_MATERIAL_GROUP RFC 65Z_ARIBA_MINORITY_VENDOR RFC 65Z_ARIBA_PARAMETER RFC 51Z_ARIBA_PO_DETAILS RFC 65Z_ARIBA_PO_HEADER_STATUS RFC 92Z_ARIBA_PREFILTER_EXT RFC 56Z_ARIBA_REMITTANCE_BKPF parameter 65Z_ARIBA_TAX_CODE RFC 65Z_ARIBA_UOM RFC 65Z_ARIBA_VENDOR_ONLY RFC 65Z_ARIBA_VENDOR_ONLY_COUNTPORGS

parameter 65, 68ZAR prefix 50ZAR6 development class

SAP objects and 154ZAR8 function group and module 171ZARASSET extension structure 49ZARC development class

pulls and 56SAP objects and 159

ZARGRFMAP table 99ZARGRFMAPX table 99ZARIBA_CHANGEORDER function group and

modules 172ZARIBA_CHANGEORDER package 172ZARIBA_CHANGEORDER structures 172ZARIBA_CUST_GR_PUSH extension table 99ZARIBA_CUSTCHANGEORDER development class

173ZARIBA_CUSTCHANGEORDER function group and

module 173ZARIBA_CUSTCHANGEORDER structures 173ZARIBA_GR_PUSH tables

pushes and 99ZARIBA_MASTER_DATApackage

imports and 50ZARIBA_PKG_GR_CUST package

exports and 98ZARIBA_PKG_GR_PUSH package

exports and 98ZARIBA_PO_PUSH function group and modules 170,

171ZARIBA_PO_PUSH structures 170, 171ZARIBTVARV default parameters 65ZARIBTVARV parameter descriptions 67ZARIBTVARV structure

parameters and 64ZARIBTVARV table

about 64configuring RFC settings 51editing parameters 64field reference 52pulls and 51RFC reference 166selection condition options 53

ZSSPDIRCREATE command 23ZSSPMOVE command 24ZSSPREN command 24

Page 191: Ariba Buyer Procurement User Guide pdf

Ariba Procurement Solutions Integration Guide for SAP 191

Index

ZXT extension prefix 50ZXTASSET extension structure 49ZXTGRERR structure 98ZXTGRITEMS structure 98