Ariba Buyer SAP Integration Guide
Ariba Buyer SAP Integration Guide
Ariba Buyer SAP Integration Guide
Integration Guide
VERSION 7.0.5
MAY 2001
Copyright © 1996-2001 Ariba, Inc.
Ariba and the Ariba logo are registered trademarks of Ariba, Inc. Ariba B2B Commerce Platform,
Ariba Buyer, Ariba Live, Ariba Marketplace, Ariba Network, Ariba Network Connect Program ,
MarketMaker.Ariba, Ariba Network Connectors , Ariba Reach , Ariba Dynamic Trade, Ariba
Commerce Services Network, buyer.ariba, RFQBuilder, Ariba Sourcing, SmartMatch,
supplier.ariba, Ariba SupplierLive, ECTranslator, ECTransport, Walkup UI, Supplier Advisor and
Making the Net Work for B2B are trademarks or servicemarks of Ariba, Inc. Ariba Proprietary and
Confidential. All rights reserved. Patents pending.
All other brand or product names may be trademarks or registered trademarks of their respective
companies or organizations.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Document Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Related Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Shared Documentation Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Ariba Buyer Documentation Set . . . . . . . . . . . . . . . . . . . . . . . . . 10
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Ariba Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 1
SAP Integration Architecture . . . . . . . . . . . . . . . . . . . . . . 15
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Integration Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Data Pulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Scheduled Pulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Purchase Order Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Receipt Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Integration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Pushing BAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
BAPI Push Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Supported SAP Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Customer Development Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Date Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Chapter 2
Ariba Buyer Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Before Running TIBCO initdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Install and Configure Ariba Buyer . . . . . . . . . . . . . . . . . . . . . . . 24
Edit SAPAdapter_AllRFCs_RFCInboundConfig.xml . . . . . . . . 27
Edit SAPAdapteridocIdocPublisherConfig.xml . . . . . . . . . . . . . 29
Chapter 3
SAP Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Setting Up Ariba Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
CPIC User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Dialog Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Transport Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Time-out Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Checking Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Bank Selling Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Blank Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Vendor Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Vendor ERS Tax Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Validation on Catalog Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Incremental Real Time Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Global Company Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Receiving Tolerances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Receiving System Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ERP Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Testing Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Chapter 4
Configuring Pulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Pulling Additional Fields Into Ariba Buyer . . . . . . . . . . . . . . . . . . . . 46
Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Adding Fields to Extension Structures . . . . . . . . . . . . . . . . . . . . 49
Extension Structure Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Pulling New Tables Into Ariba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Declaring Local Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Adding Custom RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Static Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
ABAP Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Post Hook Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Example RFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Chapter 5
Configuring Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Push Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Screen Field Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
What Field Mappings Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Data Push Mapping Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Sources of Data for Push Tables . . . . . . . . . . . . . . . . . . . . . . . . . 70
Mapping Fields for Orders or Receipts. . . . . . . . . . . . . . . . . . . . . . . . 71
Finding the Screen Field to Map . . . . . . . . . . . . . . . . . . . . . . . . . 71
Finding the Source Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Editing the Extension Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Changing and Removing Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Filtering and Customer Exit Functions . . . . . . . . . . . . . . . . . . . . . . . . 74
Unsupported Push Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
BAPIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Additional Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Additional Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Chapter 6
Parameter Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 77
ZARIBTVARV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Default Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Incremental Loading Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 81
Minority Vendor Head Offices . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Currency Conversion Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Monetary Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Debugging Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Internal Order Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Purchase Order Document Types . . . . . . . . . . . . . . . . . . . . . . . . 84
Vendor Pull Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . 85
Using General Ledger Balance Sheet Accounts . . . . . . . . . . . . . 85
Real Time ALE/IDOC Partition Loading . . . . . . . . . . . . . . . . . . 86
Duplicate PO Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Chapter 7
Account Assignment Categories . . . . . . . . . . . . . . . . . . . 87
What Are Account Assignment Categories? . . . . . . . . . . . . . . . . . . . 87
Ariba Buyer Account Assignment Category Pulls . . . . . . . . . . . 88
Displaying Fields and Requiring User Input . . . . . . . . . . . . . . . . . . . 88
SAP Accounting Field Configuration . . . . . . . . . . . . . . . . . . . . . 89
Ariba Buyer Accounting Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Field Status Group Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Viewing Field Status Group Strings . . . . . . . . . . . . . . . . . . . . . . 94
Using Account Assignment Category Pulls . . . . . . . . . . . . . . . . . . . . 94
Chapter 8
Real Time Integrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Configuring ALE/IDOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Installing ALE/IDOC Transports. . . . . . . . . . . . . . . . . . . . . . . . 102
Installing Ariba Buyer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Ariba Buyer Repository and Worksheet Configuration . . . . . . . . . . 103
Configuring Partition Names in Worksheets . . . . . . . . . . . . . . . 104
Worksheets and Executing ALE/IDOCs . . . . . . . . . . . . . . . . . . 105
Ariba Buyer ALE/IDOC Configuration . . . . . . . . . . . . . . . . . . . . . . 105
Defining Logical Systems for Partitions . . . . . . . . . . . . . . . . . . 106
Defining a Distribution Model . . . . . . . . . . . . . . . . . . . . . . . . . 106
Defining a Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Creating an RFC Destination for ALE/IDOC . . . . . . . . . . . . . . 109
Defining a Partner Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Ariba Buyer Object Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 113
ABAP/4 Configuration Classes . . . . . . . . . . . . . . . . . . . . . . . . . 114
Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Chapter 9
Release Authorizations Pulls . . . . . . . . . . . . . . . . . . . . . 117
Release Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Conditions, Strategies, Indicators, and Codes . . . . . . . . . . . . . . 118
Profiles and Authorizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
ZAF7 Ariba Buyer Release Assumptions. . . . . . . . . . . . . . . . . . . . . 119
Release Authorization in Ariba Buyer . . . . . . . . . . . . . . . . . . . . . . . 120
Approval Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Approval Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Chapter 10
Error Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Failures Pushing to SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Failures pushing Purchase Orders to TIB/MessageBroker . . . . 125
Failures Pushing Purchase Orders or Receipts to SAP . . . . . . . 126
Pulling Failures from CSV files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Failure Pulling Multiple Entries From CommodityExportMap.CSV
127
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Debugging Pushes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Preface
The Ariba Buyer SAP Integration Guide provides the information for configuring
SAP and Ariba Buyer server to exchange information.
This document is for system administrators and personnel who install Ariba Buyer,
TIB/MessageBroker, and set up the integration with SAP. The information assumes
the presence of an experienced SAP BASIS (database administrator.)
Preface
Document Structure
This document includes the following chapters:
• Chapter 1, “SAP Integration Architecture” explains the items that make integration
between Ariba Buyer and SAP possible, including an overview of integration
events, building block data, BAPI and RFC integrations, customer development
classes, and initialization steps.
Preface
• Chapter 2, “Ariba Buyer Setup” describes the tasks and items you must complete
within Ariba Buyer before and after TIBCO database initialization.
• Chapter 3, “SAP Setup” describes the tasks you must complete on SAP to integrate
with Ariba Buyer.
• Chapter 4, “Configuring Pulls” describes the SAP system components that allow
you to pull new fields, pull new tables, filter data, and create your own Ariba Buyer
RFCs.
Preface
• Chapter 5, “Configuring Pushes” describes how to push extra fields to SAP through
extension structures, screen field mappings, filtering, and parameters.
configurations.
• Chapter 10, “Error Recovery” describes how to deal with integration error
conditions and troubleshooting.
Related Documentation
The Ariba Buyer documentation set includes a set of reference documentation (shared
with other Ariba products), and a set of documentation specific to Ariba Buyer. This
section describes the documents that are appropriate for customers of Ariba Buyer.
Preface
Ariba Buyer Database Configuration Guide
Describes how to configure a Microsoft SQL Server, Oracle, or
IBM DB2 UDB database installation for use with Ariba Buyer.
Preface
Introduction to Ariba Buyer
Provides a high-level overview of Ariba Buyer, including its major
components, architecture, and enterprise integration framework.
Preface
Ariba Buyer Configuration Guide
Describes how to load basic data such as users, passwords,
currencies, and countries, into Ariba Buyer. The data described in
this document is data used both by the Procurement module and the
Travel and Expenses module.
Preface
interface.
Preface
Ariba Buyer Catalog Management Guide
Describes how to set up your Ariba Buyer product catalog with
catalog items from suppliers.
Ariba Buyer PeopleSoft Integration Guide, Ariba Buyer SAP Integration Guide,
and Ariba Buyer Oracle Financials Integration Guide
Describe implementation details specific to particular underlying
ERP systems.
Preface
Ariba Buyer Troubleshooting Guide
Describes common problems and their solutions, the
troubleshooting process, and other information that is helpful in
solving problems with Ariba Buyer.
Typographic Conventions
Preface
The following table describes the typographic conventions used in this document:
Typeface or
Meaning Example
Symbol
<AaBbCc123> Text you need to change is http://<yourServer>:<HTTPServerPort>/inspector
italicized, and appears between
angle brackets.
AaBbCc123 The names of user interface Choose Edit from the File menu.
Preface
controls, menus, and menu
items.
AaBbCc123 Files and directory names, There is one line in ReportMeta.csv for each report
parameters, fields in CSV files, in the system.
command lines, and code
examples.
AaBbCc123 The names of books. For more information, see Ariba Buyer
Configuration Overview.
Preface
Ariba Technical Support
For assistance with Ariba Buyer, Ariba Technical Support is available by phone, e-
mail, or over the Web. For information on how to contact Ariba Buyer Technical
Support, see the Ariba Technical Support Website or send e-mail to
[email protected].
Preface
The Ariba Technical Support Website is:
http://connect.ariba.com
Preface
This chapter provides an introduction to the way Ariba Buyer integrates with SAP
systems through a TIBCO integration channel. Before you use this document, you
should be familiar with the TIBCO integration channel information contained in the
Ariba Buyer TIBCO Configuration Guide.
Overview
Ariba Buyer performs three integration tasks with SAP:
• Pulling data from SAP systems. Ariba Buyer pulls in basic SAP data, like accounts
and suppliers, and uses that data to populate the choosers in Ariba Buyer.
To pull data, Ariba Buyer runs an integration event. The integration event uses the
instructions in its associated TIB/MessageBroker worksheet to perform the data pull.
For most data pulls, TIB/MessageBroker sends the worksheet instructions to the
TIB/TIB/R3 Adapter for SAP. The adapter communicates with SAP through RFCs
and BAPIs to load the data into SAP. To pull incremental cost center, GL account, and
vendor information, the TIB/Message Broker uses the SAP/IDOC adapter to pull the
data.
To push purchase orders or receipts to SAP, Ariba Buyer runs an integration event.
The integration event uses instructions in its associated TIB/MessageBroker work-
sheet to send the purchase order or receipt information to the TIB/TIB/R3 Adapter for
SAP. The adapter communicates with SAP through RFCs and BAPIs to load the data
into SAP.
The following diagram illustrates the data flow in an Ariba Buyer/SAP integration
across the TIBCO integration channel.
• TIB/R3 Adapter—Your default configuration for SAP uses the TIB/R3 Adapter to
share data between TIBCO applications and your SAP system. The TIB/R3
Adapter communicates directly with Ariba Buyer RFCs and the RPC clients in
worksheets.
• Ariba Buyer RFCs—You must install and configure RFCs from Ariba development
classes on your SAP system. These RFCs query and refine the data Ariba Buyer
pulls and insert the data Ariba Buyer pushes.
• SAP IDoc Adapter—The SAP IDoc adapter is an optional component used for
pulling incremental cost center, GL account, and vendor information from SAP.
SAP R/3 creates an IDoc and passes it to the SAP IDoc Adapter. Using
TIB/MessageBroker worksheets, the SAP IDoc adapter maps the IDoc to Ariba
Buyer objects.
In addition to pulling data from SAP, an Ariba Buyer SAP partition also pulls data
from CSV files for information related to Ariba Buyer such as adjustment types and
commodity code mapping information. This information, together with the
information pulled from SAP is used to create SAP-valid purchase orders.
Integration Events
An integration table, integrationEvent.table, describes all the data exchanges for partition.
Each entry in the table, an integration event, tells Ariba Buyer how to push or pull a
unit of common information, such as how to pull addresses or vendors or how to push
purchase orders or goods receipts. You can run pushes or pulls for a partition
manually through the Enterprise Manager, automatically as a scheduled task, or as a
part of initialization process when you first create the Ariba Buyer database.
For more information on integration events, refer to the Ariba Buyer TIBCO
Configuration Guide. For a description of each SAP-related integration event, refer to
the Ariba Buyer Configuration Reference Guide.
Data Pulls
Data pull integration events can run on a schedule as set in the integration event table
entry, or can be run manually from the Enterprise Manager.
Scheduled Pulls
Each data pull integration event runs on a separate schedule, so you can set up
different schedules for pulling different sorts of information. For example, you might
want to pull suppliers more frequently than currency conversions, if you know the
supplier information changes more often on the SAP side. The following events occur
when Ariba Buyer pulls data from SAP:
1. Each of the SAP data pulls run on a regular schedule, according to the way
you define integration table entries. Each time a pull integration table entry
runs, it communicates with a TIB/MessageBroker worksheet.
3. The TIB/R3 Adapter communicates with the Ariba Buyer RFCs on your
SAP system to gather the requested information.
4. The RFCs query and process the information and send it through the TIB/R3
Adapter to the worksheet.
5. The worksheet transforms and maps the data into the Ariba Buyer object
model.
6. Ariba Buyer uses metadata XML mappings to process the data from the
worksheet and incorporate it into valid Ariba Buyer objects.
The following steps explain how a purchase order push integration event works:
1. When a requisition becomes fully approved in Ariba Buyer, the Ariba order
processor converts the requisition into one or more orders and then checks to
see if any or all of those orders are destined for the SAP system.
2. If the order is destined for SAP, Ariba Buyer sends the order to TIB/Message
Broker purchase order push worksheet.
3. The purchase order push worksheet transforms the data into the format
required by the RFC and then sends the data to Ariba Buyer push RFCs
through the TIB/R3 Adapter.
4. Ariba Buyer RFCs process the data and insert it in purchase order creation
screens in SAP.
5. The RFC returns purchase order details, including the purchase order
number. If an error occurs, the error information is returned.
Receipt Pushes
Receipt push integration events can run on a schedule as set in the integration event
table entry, or can be run manually from the Enterprise Manager.
The following steps explain how a receipt push integration event works:
2. When the scheduled receipt push integration event runs, Ariba Buyer sends
the receipt object to the TIB/Message Broker receipt push worksheet.
3. The worksheet transforms the data into the format required by the RFC and
then sends the data to Ariba Buyer receipt push RFCs through the TIB/R3
Adapter.
4. Ariba Buyer RFCs process the data and insert it in receipt creation screens in
SAP.
5. The RFC returns a receipt line number. If an error occurs, it returns the error
information.
Integration Data
Ariba Buyer pulls only the data it needs to create properly formed purchase orders,
and receiving information for SAP.
Optionally, you can also pull the following data from SAP with some configuration
on your part:
• Users
• Release authorizations
• User release authority
The Ariba Buyer Configuration Guide discusses how to configure this other data. For
more information about all pulls and integration events related to SAP, refer to the
Ariba Buyer Configuration Reference Guide.
Pushing BAPI
Your default configuration of Ariba Buyer uses RFCs to push data into SAP.
However, SAP does support another kind of interface called BAPI (Business
Application Programming Interface).
SAP offers a BAPI interface to push purchase order data, but not for receipts. Rather
than integrating through procedural RFC code, the BAPI integration uses an API and
an underlying mechanism which vaguely resembles the encapsulation of object
oriented languages.
Ariba Buyer supports BAPI data pushes for purchase orders only for customers using
the 4.0B version or higher of SAP. You default configuration uses RFC for data
pushes, because this method works with more versions of SAP.
• Support for the “deliver to” address in an Ariba Buyer purchase order. In many
circumstances, the plant information provides this information.
• Support for the Ariba Buyer push field mapping mechanism. If you need to add
Ariba Buyer extrinsic fields to BAPI objects, you must do so within the appropriate
TIB/MessageBroker worksheets instead of within the mapping structures.
In addition, the BAPI method requires that you create purchase orders from within
Ariba Buyer in the same language your vendors use. If you do not use Ariba Buyer to
create a purchase order in the same language as a vendor, the vendor cannot read it.
If you use versions 4.0B, 4.5B, or 4.6B with Ariba Buyer, you should be aware of the
following:
• The BAPI for purchase orders does not support service line items.
Date Formatting
Ariba Buyer formats dates to have four digit years. Ariba Buyer cannot know that the
dates you provide from an ERP system, flat file, database, or other external source are
accurate and properly formatted. If you provide accurate and properly formatted dates
to Ariba Buyer, the corresponding dates which Ariba Buyer pushes, or exports, into
your ERP system or other data destination will also be accurate.
Ariba Buyer imports, or pulls, all dates from external ERP systems and data sources
as strings, and depends upon the java.text.DateFormat class within the Sun JDK to
format these strings into Java date objects. See Sun’s API Java documentation and the
Sun Java source code for more information about how to format ERP and external
data source dates as strings for the java.text.DateFormat class.
This chapter presents the tasks you must complete to configure Ariba Buyer
mechanisms for integration with SAP.
The basic process for configuring Ariba Buyer for an SAP integration is:
1. Perform the tasks described in, “Before Running TIBCO initdb” on page 24.
3. Perform the tasks described in, “After Running TIBCO initdb” on page 30.
• Edit SAPAdapter_AllRFCs_RFCInboundConfig.xml.
• Edit SAPAdapteridocIdocPublisherConfig.xml.
If you have already run TIBCO initdb options, you can perform the tasks in this
section, and then run them again.
• Parameters.table
• ConnectionInfo.table
Note: If you make changes to these files, you should run the following
command for Ariba Buyer to implement your changes throughout your
configuration:
runtibco -updateconfigfiles
There are many settings in the parameters.table file that you should verify, but those
most relevant to SAP integrations describe connection information to your SAP
system. The SAPConnections parameters provide the information Ariba Buyer needs to
communicate through TIB/ActiveEnterprise products with your SAP systems.
You must create a set of SAPConnections parameters for each SAP instance with which
Ariba Buyer communicates. This document represents the unique instance name of
your destination SAP system as <SAPInstanceName>. For additional information on
these parameters, refer to the Ariba Buyer Installation Guide for your OS system.
Parameter Description
System.SAPConnections.<SAPInstanceName>.ClientID This parameter defines the client
identification number for the SAP
instance.
System.SAPConnections.<SAPInstanceName>.Destination This parameter defines the destination
SAP instance name.
System.SAPConnections.<SAPInstanceName>.SAPGateway This parameter represents the gateway
for the instance.
System.SAPConnections.<SAPInstanceName>.SAPGatewayService This parameter represents the gateway
service for the instance.
System.SAPConnections.<SAPInstanceName>.SAPHost This parameter represents your SAP
host name for the instance.
System.SAPConnections.<SAPInstanceName>.SAPLanguage This parameter sets the default
language for the instance according to
SAP’s abbreviations.
System.SAPConnections.<SAPInstanceName>.SAPPassword This parameter sets the password for
connecting to the instance.
System.SAPConnections.<SAPInstanceName>.SAPSystemNumber This parameter represents the system
number of the SAP system for the
instance.
System.SAPConnections.<SAPInstanceName>.SAPUser This parameter defines the user that
Ariba Buyer uses to connect to the
instance.
System.SAPConnections.<SAPInstanceName>.SetTrace This parameter determines whether or
not the connection uses tracing. Set the
parameter to 0 to turn it off, to 1 to turn it
on. The default is 0.
If you are using multiple SAP partions for the same SAP variant, you must uniquely
identify each partion in the SAPConnections parameter in the parameters.table file. For
example:
SAPConnections = {
ASH = {
ClientID = 800;
Destination = ASH;
SAPGateway = sapoak;
SAPGatewayService = sapgw01;
SAPHost = sapoak;
SAPLanguage = E;
SAPPassword = mssql;
SAPSystemNumber = 01;
SAPUser = ariba;
SetTrace = 0;
};
ELM = {
ClientID = 800;
Destination = ELM;
SAPGateway = sapelm;
SAPGatewayService = sapgw00;
SAPHost = sapelm;
SAPLanguage = E;
SAPPassword = mssql;
SAPSystemNumber = 00;
SAPUser = ariba;
SetTrace = 0;
ConnectionInfo.table
For additional information on the connectionInfo.table file, refer to the Ariba Buyer
TIBCO Configuration Guide.
If your SAP configuration uses a default language other than US English, you use
System.Integration.Channels.Tibco.SAPAdapterLocale to specify this language. Ariba Buyer
passes the value you specify for SAPAdapterLocale to the R/3 adapter, as the setlocale
parameter.
For example:
Application = {
Integration = {
Channels = {
Tibco = {
SAPAdapterLocale = {
NT=Japanese_Japan.932;
HPUX=ja_JP.SJIS;
};
};
};
};
};
For more information on the setlocale options, see SAP’s R/3 documentation.
Edit SAPAdapter_AllRFCs_RFCInboundConfig.xml
SAPAdapter_AllRFCs_RFCInboundConfig.xml is a file that defines connection information
for your TIB/R3 Adapter.
• Client tags
There are a group of settings within a <clientConnectionPool> tag that you must verify
and edit. Each <clientConnectionPool> describes an SAP gateway and application server.
Clients
Each <clientConnectionPool> contains one or more <client> tags that define other
connection information.
• language—the default SAP language code for the Ariba Buyer CPIC user
The following text presents a sample <clientConnectionPool> entry for connecting to one
SAP machine. The attributes that you must create, edit, or verify appear in bold:
<SAPAdapter instanceId="SAInboundRFC.psap">
<deployment name="SAPAdapterDeployment">
<connectionManager name="RFCConnectionManager">
<clientConnectionPool
name="RFCClientConnectionPool"
destination="TIB"
maxConnections="1"
systemNumber="00"
appServer="sap"
gatewayHost="sap"
gatewayService="sapgw00"
defaultClient="CLNT001"
>
<client
name="CLNT001"
number="800"
userName="ariba"
password="ariba">
language="EN"
</client>
</clientConnectionPool>
</connectionManager>
Should a SAP adapter disconnect from SAP R/3, specify three parameters in the
<clientConnectionPool> entry to enable connection retries.
Note: Before you restart the SAP R/3 adapter, reload and update the
connection parameters in the repository:
runtibco -loadSAP <variant> <partition> io <sap-release>
Edit SAPAdapteridocIdocPublisherConfig.xml
In order for your IDOC integration with Ariba Buyer to work, you must edit and
confirm some settings within a file called SAPAdapteridocIdocPublisherConfig.xml.
A different copy of this file exists for every SAP partition, and you must edit and
confirm settings for each copy. You can find the file in the following partition specific
locations within your Ariba Buyer installation directory:
./config/variants/<variant>/partitions/<partition>/tibco/adapter/sap/config/SAPAdapteridocIdocPublisherConfig.xml
You must verify attributes of the <serverConnectionPool> tag within the file:
• For gatewayService, ensure that you SAP system number creates the last two
characters. For example, if you SAP system number is 08, then the entry must read
sapgw08.
• Ensure that the gatewayHost is set to the SAP host name where you install and
configure ALE/IDOC mechanisms.
The following text presents a sample <serverConnectionPool> tag. The attributes that
you must create, edit, or verify appear in bold:
<serverConnectionPool
name="SAOutboundIdoc-idoc-RFCServerConnectionPool"
timerRef="RfcPollingTimer"
maxConnections="1"
programID="bangoYC"
gatewayService="sapgw00"
gatewayHost="sap"
destination="SAPSYS"
useSAPRFCIni="0"
maxAttempts="1"
retryInterval="10000"
retryIncrement="0" rfcTrace="0">
};
• Tweak your integration through the Meta Adapter and Adapter Configurator.
This option loads in partition specific inbound RFC parameters and schema for an
SAP system into an SAP variant Repository instance through the TIBCO program
file, r3MigrationTool.
• <mode> can be “i” to insert data for the TIB/R3 Adapter, or “io” to both insert and
overwrite data.
Note: If you use SAP version 4.0B, you must load the SAP 4.0B schema
with the following command:
runtibco [-instance <instance>] -loadSAP <variant> <partition> io 40B
Note: If you use SAP version 4.6B, you must load the SAP 4.6B schema
with the following command:
runtibco [-instance <instance>] -loadSAP <variant> <partition> io 46B
Each SAP partition runs on a separate TIB/R3 Adapter, and each SAP variant uses a
single Repository instance for all partitions. This means that a single variant must
maintain configuration information for each partition specific TIB/R3 Adapter. This
information consists of configuration settings for “inbound” RFC information from
TIB/MessageBroker.
This option records its progress in a log file, located in the following location:
~/logs/tibco/adapter/sap/log
If you run the option without arguments, it generates mappers for all worksheets in all
Repository instances. This works well for large migration tasks.
The -variant <variant> arguments, by themselves, update all mappers in all worksheets
within a variant Repository instance.
The -sheets arguments work with the -variant argument to update one or two worksheets
within a variant, by name.
This option starts a single TIB/R3 Adapter program file, r3Adapter, for integration with
an SAP system for a single partition.
You must install and configure one TIB/R3 Adapter for each SAP partition in Ariba
Buyer.
This option starts the TIB/R3 Adapter program file, r3Adapter, for IDOC real time
integration with SAP systems through generic listeners.
This option runs a special TIB/R3 Adapter only for real time incremental loading of
data from SAP systems. It finds the configuration data it needs within the following
Repository location:
~/tibco/private/adapter/SAPAdapter30/SAOutboundIdoc-idoc
• Method one:
• Method two:
Before using Ariba Buyer with SAP, you must configure your SAP system and install
the Ariba development classes. This section contains the information you need to
configure and install Ariba Buyer items for your SAP system. Ariba recommends that
you have an SAP Basis administrator help you.
The basic tasks required for setting up your SAP system to integrate with Ariba Buyer
are:
• Set up a user account on the SAP system for Ariba Buyer transactions only.
• Ensure the RFC transactions from Ariba Buyer do not time out on SAP.
Before you complete the tasks in this chapter, you must perform the tasks in Chapter
2, “Ariba Buyer Setup.”
• One CPIC user for Ariba Buyer and the TIB/R3 Adapter to use
• One or more dialog users for Ariba Buyer implementation personnel and debugging
CPIC User
In a complete Ariba Buyer implementation, a CPIC user affords Ariba Buyer and the
TIB/R3 Adapter access to Ariba Buyer RFCs. You should grant the CPIC user
unrestricted access to your SAP instance with SAP_ALL and SAP_NEW in the profile.
These privileges are necessary for Ariba Buyer and the Ariba Buyer RFCs to
communicate properly.
Note: It is safe to grant the Ariba Buyer CPIC user full privileges because
CPIC users have no dialog access to your SAP instance.
You must choose an account for Ariba Buyer to use when connecting to SAP. Ariba
recommends you create a new account, but you can use an existing account if you
prefer.
The default username for this account is ariba. Whichever user you choose, you
should check the user defaults and make sure they are set as follows:
2. Enter the user ID you chose for Ariba Buyer integration and click the create
icon.
4. Enter the password for the Ariba user and choose the CPIC radio button for
User Type.
The other fields in the screen are optional and you may fill them in as you
like. Choose the enter check when you finish. The Maintain Fixed Values
screen appears.
• Date format—MM/DD/YYYY
7. Complete the other fields of this screen or leave them blank as you like and
choose the enter check. Do the same for the user parameters in the following
screen.
Dialog Users
You should create dialog users for Ariba Buyer implementation for two purposes:
You may not need to create new dialog users if you already have user IDs available
for the people who implement and configure Ariba Buyer RFCs. Your SAP system
administrator can create any necessary user IDs based upon approved requests for
access.
Ariba recommends you have or create one dialog user ID for each developer or
administrator working on your Ariba Buyer integration because these people must
perform the following tasks on your SAP instance:
• Configure the order determination for purchase orders from Ariba Buyer
• Make any changes to the way Ariba Buyer RFC integrations function
As you implement your Ariba Buyer integration, you may find it necessary to step
through the processes of Ariba Buyer RFCs to better understand how they work. In
particular, you may wish to see how Ariba Buyer inserts purchase order and goods
receipt fields into SAP screens.
To view Ariba Buyer integrations within the SAP GUI, you must allow Ariba Buyer
and the TIB/R3 Adapter to access SAP through a dialog user ID. This ID is similar to
the CPIC ID that you use for your actual implementation. Like the CPIC ID, it
requires full privileges, SAP_ALL and SAP_NEW, to work properly. For convenience,
you may wish to use the default username ariba for this account. As with the CPIC ID,
you should check the user defaults and make sure they are set as follows:
Transport Installation
You must install Ariba Buyer objects on your SAP system by using transports. The
most recent version of the Ariba Buyer Release Guide provides the information you
need to install the transports.
Time-out Interval
The SAP system has a time-out limit on RFC transactions which is designed to ensure
that no resources inadvertently stay locked on the SAP side. The SAP time-out
interval is defined by the profile parameter rdisp/max_wprun_time. The default value is
300 seconds.
If you have a large purchase order to push (with a large number of line items) or a
large amount of data to pull back, you may encounter this time-out limit and the SAP
system will cancel the job. To avoid this problem you must change your SAP
configuration to lengthen the time-out interval. You must change the interval on your
central instance as well as any application servers that communicate with Ariba. You
must restart each SAP server for the change to take effect.
2. Transaction RZ10.
4. Enter the most current version (you will create a new version based on the
most current one).
6. Click Change.
11. Move back to the initial Edit Profiles screen, RZ10, and save the profile.
In the dialog that appears, activate the profile.
12. Restart your SAP server for the profile changes to take effect.
Repeat these steps for each application server that exchanges data with
Ariba.
Checking Data
In some cases, Ariba Buyer does not pull data from the SAP system unless that data is
set up in a particular manner on the SAP side. This section describes a few places
where you should check the data on your SAP system, to make sure that it is set up to
match the expectations of Ariba Buyer.
If an integration entry fails you can check this section again to look for problems.
To check whether this symbol is set, use transaction spro and go to Global Setting>
Currencies>Check Exchange rate type. Set the symbol if necessary.
Blank Descriptions
For most data in the SAP system, such as Purchasing Groups, the SAP integration
pulls (and uses) both ID and description fields from the SAP system. If either value is
blank, then the pull ignores that item and it doesn’t appear in the Ariba system.
Check your SAP system to ensure that all material groups and purchasing groups
have valid (non-blank) ID and description fields.
Vendor Restrictions
The Ariba Buyer/SAP integration has some restrictions on vendors. To pull all
available vendors, make sure none of the vendors have partner functions specifying
multiple ordering addresses. The SAP integration pulls in only one ordering address;
if there are multiple ordering addresses on the SAP side then there is no way for the
Ariba end user to choose among them.
Ariba Buyer does not pull vendors that are blocked. SAP uses special codes to
designate blocked vendors. The field SPERQ in table LFA1 specifies the code that SAP
uses for blocked vendors. The value you need to check for the SPERQ field is in table
TQ04A in field SPERRFKT. You can perform the following steps to find out the code for
blocked vendors.
5. Choose Execute.
6. You will see the block function values. Check the codes for purchase orders.
Purchase orders from Ariba Buyer for SAP contain a field to determine whether or
not a vendor has ERS tax information. Ariba Buyer always sets a value for the ERS
tax field. If Ariba Buyer has no tax ERS information about a vendor, it sets this field
to a blank, empty, or null value.
Some SAP systems require that you set a default value for empty tax code values.
Such systems return an error message during purchase order pushes if you have not
configured them to handle empty values. You can correct this problem by doing one
of the following:
• If you cannot configure a default tax code, change any error flags.
If a user picks a catalog item that originated in the SAP system, Ariba Buyer validates
the vendor of that item against the user’s purchasing organization.
If the vendor is not defined in the purchasing organization, Ariba Buyer flags the field
as invalid and does not allow the user to submit the purchase requisition until the field
is corrected.
To use the incremental loading features with your Ariba development classes, you
must perform further configuration. For instructions, refer to “Real Time
Integrations” on page 97.
• When you complete the optional real time incremental loading configuration as
described in “Real Time Integrations” on page 97.
• At any time, as described in “To set up global company codes:” on page 101.
Receiving Tolerances
Ariba Buyer allows end users to enter receiving information about the items they
order. To do this, Ariba Buyer and SAP both need to receive items in the same way.
For example, both must have similar receiving tolerances, or similar ways of allowing
users to account for times when they receive fewer or more items than they ordered.
• ERP orders
• Application.Procure.OverReceivingPercentage
• Application.Procure.OverReceivingQuantity
• Application.Procure.OverReceivingValue
• Application.Procure.UnderReceivingOperator
• Application.Procure.UnderReceivingQuantity
• Application.Procure.UnderReceivingValue
• Application.Procure.UnderReceiving
You can learn how to set these values in the Ariba Buyer Procurement Guide.
As an SAP administrator, you should know the following about Ariba Buyer
receiving integration:
• Ariba Buyer does not push receipt tolerances at the document level.
• Ariba Buyer does not pull tolerances from SAP, but instead uses only those in the
system parameter table.
ERP Orders
ERP orders are purchase orders that Ariba Buyer pushes to SAP. Ariba Buyer expects
SAP to handle ERP orders and transmit them to vendors. ERP orders don’t take
advantage of dynamic trade or the Ariba Commerce Services Network.
You should be careful about receiving integration with ERP orders because SAP users
and processes can change an ERP order once it is in SAP.
Such changes can cause errors, especially in the event that SAP applies release
strategies to purchase orders from Ariba Buyer. SAP does not allow you to receive
against a purchase order until all the release strategies are fulfilled.
See your Ariba Professional Services representative for more information and to
decide if ERP orders are right for your implementation.
Testing Connections
You can test your connection to SAP from Ariba Buyer after you complete the tasks
in this chapter, perform TIBCO-related initdb commands, and complete the tasks in
Chapter 2, “Ariba Buyer Setup.”
Open the file in a text editor. If you see entries such as the following, you
successfully connected to SAP:
SAPAdapter 2000 Aug 02 10:44:35:745 R3-CORE-LIB-6006 info Adding RFC function
"Z_ARIBA_ACC_FIELD_STATUS"
SAPAdapter 2000 Aug 02 10:44:35:755 R3-CORE-LIB-6006 info Adding RFC function
"Z_ARIBA_ACCOUNT_CAT_NAMES"
SAPAdapter 2000 Aug 02 10:44:35:775 R3-CORE-LIB-6006 info Adding RFC function
"Z_ARIBA_ACCOUNT_CATEGORY"
If you find RFC-related error messages in the file, you should verify that you
have correct connection information in the XML files, as described in
Chapter 2, “Ariba Buyer Setup.”
4. You can also check whether you connected correctly to SAP by logging into
SAP through the SAPGUI and viewing the Gateway monitor.
You should find an entry for the Ariba Buyer host if you have started the
TIB/R3 Adapter.
You probably want to connect from the Ariba Buyer machine through the SAPGUI
just to make sure there aren’t other factors not related to Ariba Buyer or TIBCO
products that are affecting your connection.
Ariba Buyer provides the worksheets and integration event table entries for standard
Ariba Buyer data pulls from SAP. Because your SAP implementation may contain
additional data that would need to include with the Ariba Buyer purchase orders or
receipts, you can modify these data pulls to include additional data.
• Filter data
The intended audience for this information is SAP administrators. Performing these
tasks requires familiarity with the ABAP/4 language and basic SQL tasks. To perform
similar tasks for data pushes, see Chapter 5, “Configuring Pushes.”
Note: The material in this chapter instructs you to edit and create objects on
your SAP instance. When you make changes to Ariba Buyer objects on SAP,
you may encounter the warning “Only urgent repairs in the consolidation
system”. This warning appears whether you’re changing objects on your
consolidation system or your development system.
This warning indicates that you’re making changes to objects that originated
from another system. In this case, the objects originated from Ariba Inc. The
SAP client doesn’t expect you to change objects from third party vendors
such as Ariba Inc. Rather, it expects you to develop your own objects on a
development system. You can disregard this message.
• Extension structures
As an SAP administrator, you must coordinate your efforts with any personnel who
are configuring Ariba Buyer. You both want to identify the data you’re pulling as well
as the RFC and structures in which this data will appear.
Extension Structures
The term extrinsic refers to any data field you pull into an Ariba Buyer object that is
not part of the object as supplied with Ariba Buyer. You can pull extrinsics into Ariba
Buyer from CSV files, databases, or ERP systems.
The ZARC development class provides special structures, called extension structures,
that you can use to define extrinsic data in the Ariba Buyer RFCs on your SAP
instance. Most Ariba Buyer RFCs offer one or more extension structures for you to
configure extrinsic pulls.
Ariba Buyer RFCs use the extension structures to determine what fields to create in
each of the tables they export to Ariba Buyer. Extension structures work as a template
to define the structure of the Ariba RFC tables.
Ariba Buyer TIB/MessageBroker worksheets retrieve the tables through RPC clients.
The Ariba Buyer TIBCO integration channel incorporates the table data into Ariba
Buyer objects according to the field and object descriptions in metadata XML.
Extension structures have all the fields in the ZAF6 development structures as well as
any fields you add to them:
For example, the ZXTASSET extension structure for asset pulls contains a substructure
called ZARASSET. ZARASSET holds all the base fields that Ariba Buyer RFCs need to
run:
If you want to add new asset fields to Ariba Buyer RFC data pulls, you add them to
the ZXTASSET structure:
Note: Never make changes to the original structures for Ariba RFCs. Your
SAP integration may not function properly if you do so. Likewise, you must
always include the original structures within the extensions. Never remove
the “.include” statements.
This chapter only explains how to define extrinsic data within an extension structure.
If you make changes to extension structures, you must modify your
TIB/MessageBroker worksheets to map and transform these fields appropriately and
you must also modify the Ariba Buyer metadata XML to include your changes. For
information on these tasks, refer to:
Note: Ariba Buyer does not support metadata created with the TIBCO SAP
metadata editing tool. You must modify Ariba Buyer metadata directly, by
editing the metadata XML files.
By convention, extension structure names begin with the letters ZXT and belong to the
Ariba Buyer configuration development class, ZARC. The corresponding Ariba Buyer
structure names begin with ZAR and belong to the ZAR6 development class, which you
should not alter. Both names share the same root.
For example, for internal orders there is a root of ORD. The extension structure has the
name ZXTORD and the Ariba Buyer structure is ZARORD.
1. Determine the table that contains the column you need to pull.
2. Find the Ariba RFC that selects data from that table.
3. Add the field to the RFC extension structure for the table.
You can search through the Ariba Buyer development classes to determine which
Ariba Buyer RFC pulls data from the SAP table ANLA. In this case, the Ariba Buyer
RFC that handles asset pulls from ANLA is Z_ARIBA_ASSET.
You need to add LAND1 to the Ariba Buyer extrinsic asset pull 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. When you finish, your SAP system
will include a new extrinsic, LAND1, in ZXTASSET, which it pulls from ANLA.
You must use the exact same field name and data element description as the column
you pull. When the Ariba Buyer RFC runs, it uses the information you provide to find
the column in the table.
You can also write new RFCs for data that comes from a different table, but that
shares a key with one of the Ariba Buyer RFCs.
In order to pull data into worksheets, you must export tables from your RFCs. You
may also need to configure your worksheets to send appropriate variant and partition
information.
To pull data into Ariba Buyer, you need to interact with a TIB/MessageBroker
worksheet. Quite often, you need to import your SAP variant and partition from the
worksheet and to define the structure your table or tables use.
3. Write your custom Java code and incorporate the new data in metadata
XML.
The following material about filtering and example RFC code contains useful
information for the first step of writing your RFC and importing structures. For
information on steps two and three, refer to the following guides:
The TIB/Adapter for R/3 uses metadata in the XML classes files that describes these
parameters. The structure of these XML files resembles the local interfaces of RFCs.
The XML classes files are found in:
config/variants/<variant>/partitions/<partition>/tibco/adapter/sap/classes/sap/
Your interfaces should be similar to those of Ariba Buyer RFCs. The following local
interface appears in the ABAP code for a plant pull:
3 *”*”Local interface:
4 *” IMPORTING
5 *” VALUE(VARIANT) LIKE ZARIBTVARV-VARIANT
6 *” VALUE(PARTITION) LIKE ZARIBTVARV-PARTIT
7 *” TABLES
8 *” SHIP_TO_INFO STRUCTURE ZXTPLANT
Add two entries for the new RFC to the file: one to define <server> and the other to
specify <invoke function = "add">. For example:
-<SAPAdapter InstanceID>
-<deployment name>
-<servers>
<rvCmRpcServer name="Z_ARIBA_PURCHASE_GROUP-RPCServer"
session="RFCClientCMSession-SAInboundRFC.parsap"
subject="SAP.Z_ARIBA_PURCHASE_GROUP.SAInboundRFC.
parsap.Z_ARIBA_PURCHASE_GROUP"
classRef="Z_ARIBA_PURCHASE_GROUP"/>
-<component>
-<interface>
-<init>
<invoke function="add">
<values name="Z_ARIBA_PURCHASE_GROUP"
rpcRef="Z_ARIBA_PURCHASE_GROUP-RPCServer"
classRef="Z_ARIBA_PURCHASE_GROUP"
deploymentRef="default" />
</invoke>
You can use these examples as a template for your own entries.
Note: Be very careful when you make these entries, if there is an error,
finding the error can be difficult.
After you have made these entries, you must define XML metadata for the classes
(RFC input/output/table parameters). The XML metadata files are in the following
directory:
~\variants\<variant>\partitions\<partition>\tibco\adapter\sap\classes\SAP
You must create a <rfc_name>.xml file and and a <rfc_name>_<param_name>.xml file for
each structure/table input/output/table parameter.
Below is a sample RFC metadata XML definition. You can use this as a guideline to
create your RFC metadata XML definition.
-<schema>
-<class name="Z_ARIBA_PURCHASE_GROUP">
-<operation name="Z_ARIBA_PURCHASE_GROUP" returns="string">
<parameter name="PARTITION" classRef="char.20" direction="in" />
<parameter name="PGROUP_INFO"
classRef="sequence[Z_ARIBA_PURCHASE_GROUP
_PGROUP_INFO]" direction="inout" />
<parameter name="VARIANT" classRef="char.20" direction="in" />
</operation>
</class>
</schema>
Once the RFC has been created and defined in Ariba Buyer, you must load the custom
files in the TIBCO repository using the following command:
runtibco -loadSAP XXX_SAP XXX_Part1 io 45B
Note: If you use i, the command only inserts new schemas but doesn’t
modify existing configurations. You must use io (insert and overwrite).
You might want to check the output of the above command. If it's using the correct
configuration file, it should print something similar to:
Inserting schema Z_BAPI_ACC_INVOICE_RECEIPT_PST_VALUEFIELD
Filtering
Your SAP development classes for Ariba Buyer offer you three ways to restrict the
data they offer. Restricting the data included in a data pull is called filtering. Ariba
Buyer RFCs offer three types of filtering:
• Static filtering
• ABAP filtering
Static Filtering
Static filtering allows you to construct conditional searches of your SAP tables
according to the values of given fields. The table ZARIBTVARV allows you to construct
queries to limit the data you pull from SAP into Ariba Buyer. Defining queries within
this table is referred to as static filtering. This type of filtering is static because it
exists in a structured form within ZARIBTVARV and does not select data based on
dynamically formed queries.
Every Ariba Buyer RFC that pulls data from your SAP system first makes a call to
ZARIBTVARV to see if it needs to restrict its search. The RFCs look to find any entries
that match their names. If they find a match, they restrict the query according to the
instructions in the ZARIBTVARV entry.
Static filtering is rather quick and easy to use, however, it does not handle inner join
queries against more than one table. If you need to restrict data pulls the pull from
more than one table, you must use the filtering techniques explained in “ABAP
Filtering” on page 61.
Editing ZARIBTVARV
To restrict the data that an Ariba Buyer RFC pulls, you just need to make a
corresponding entry in ZARIBTVARV. Enter a new row in ZARIBTVARV with the RFC
name, the field you want to use, and some information about what you’re trying to
find.
You can use the ZARIBTVARV table to configure variable settings in certain RFCs. In
particular, you can use it to store and retrieve parameters through calls to the
Z_ARIBA_PARAMETER RFC. This text refers to ZARIBTVARV’s configuration and
parameter capabilities as parameter use. You can learn about parameter use in
Chapter 6, “Parameter Configuration.” For instructions on editing the ZARIBTVARV
parameters, refer to “ZARIBTVARV” on page 77.
The following table presents the fields you can set in ZARIBTVARV.
The selection options in ZARIBTVARV reflect the internal table structure of select
options in SAP reports. The ZARIBTVARV structure itself resembles the SAP TVARV
structure, and the fields work in much the same way.
Equality and inclusion conditions allow you to set a selection criteria that equals or
includes a given value.
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 within a given country.
You now have the information you need to build your static filter:
3. Build your select statement. The statement depends on the data set you want
to capture. In this case you want to pull rows where 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 a selection requires its own row in
ZARIBTVARV. The two rows would look similar to the entries in Table 3.
Example OR Entry (the VARIANT and PARTITION fields are not included in the
example):
The NAME column indicates this filter is for the data that Z_ARIBA_COMPANY
pulls.
The FIELDNAME tells you that you’re pulling data from the LAND1 column.
You can infer the table from the column, T001.
The TYPE fields of S tells the calling function that the row is for filtering, or
selecting, data.
The NUMBER field includes more than one row of the table in the condition.
It starts at zero, or 0000. The order is not significant.
The SIGN field determines whether to exclude the condition from the
statement or include it, signified by I or E. An included condition is generally
specified with an OR statement. To specify an excluded condition, you
generally use an AND NOT statement. (See below for an example of
exclusion).
• Pattern matches (CP) The “Contains Pattern” option allows you to return
data with a given pattern, for example, names that begin with “Lu.” For
more information, see “Patterns and Comparisons” on page 60.
• Greater than or equal to conditions (GE) The “Greater than or Equal to”
option determines if the FIELDNAME is greater than or equal to a value, for
example names >= “Bruce.”
You can also create other kinds of selection options. Suppose you want to pull only
countries whose SAP codes alphabetically range between, and include, AU and GB
(for Australia and Great Britain). However, you need to exclude Canada (CA) from
this pull. Here’s a rough statement of the logic:
(“AU” >= LAND1 >= “GB”) AND NOT (LAND1 = “CA”)
The selection first includes the range between AU and GB and then excludes CA.
You can also select data according to its pattern and by comparing values.
Suppose you want to pull only vendors that certain users created, according to the
user’s name. You want to pull 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 Buyer RFC, Z_ARIBA_VENDOR_ONLY, pulls vendors from the table LAF1.
LAF1 contains the column ERNAM for the user name. The logic of the selection would
resemble the following statement:
(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. AND ERNAM < “ND” is more
concise.
• 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
The term ABAP filtering refers to a way of selecting data by editing a special exit
RFC called Z_ARIBA_PREFILTER_EXT. Every Ariba Buyer RFC that pulls data first
makes a call to Z_ARIBA_PREFILTER_EXT to refine the table data set.
Z_ARIBA_PREFILTER_EXT is part of the ZARC Ariba Customer Development class
where you can make modifications.
Each RFC passes its name to Z_ARIBA_PREFILTER_EXT. You can use conditional tests
to determine how and if Z_ARIBA_PREFILTER_EXT should restrict the data set of the
table based on the calling RFC name. This type of filtering is called “ABAP filtering”
because you need to write ABAP/4 code to get the results you want.
The main reason you might use ABAP filters is to reduce your data set through
references to more than one table. Because you’re writing the code yourself, you can
implement inner join statements.
Prefilter Interface
The RFCs pass your unique Ariba Buyer variant, partition, and RFC name.
You can create dynamic WHERE statements for selections in the WHERE structure. The
example code in Z_ARIBA_PREFILTER_EXT demonstrates the use of a dynamic WHERE
statements. The WHERE statements in the code can come from another table.
Below is an example of an inner join ABAP filter. This example joins a purchase
organization table to a company 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.
• Exit RFCs
Exit RFCs
Only SAP can use the SAP infrastructure of user exists, so Ariba Buyer provides post
hook filtering through exit RFCs instead. Ariba Buyer RFCs call exit RFCs just
before they exit.
Each Ariba Buyer RFC has its own exit RFC. Exit RFCs derive their names from the
Ariba Buyer module that calls them, with the suffix _EXT. For example,
Z_ARIBA_ASSET calls the exit RFC, Z_ARIBA_ASSET_EXT. Exit RFCs comprise most of
the ZARC class that allows you to make modifications.
Exit RFC usually imports only the Ariba Buyer variant, partition, and the extension
structure for a given internal table. The interface for Z_ARIBA_ASSET appears as
follows:
*” IMPORTING
*” VALUE(VARIANT) LIKE ZARIBTVARV-VARIANT
*” VALUE(PARTITION) LIKE ZARIBTVARV-PARTIT
*” TABLES
*” ASSET_INFO STRUCTURE ZXTASSET
Ariba Buyer RFCs expose filtering for only some of the tables from which they take
data in SAP. Ariba Buyer RFCs sometimes depend on filtering for one table to restrict
the data pulled from a second table. For example, you might filter one table for a data
type in the first table, and then use that filtered result to pull data from a second table.
In most circumstances this sort of arrangement works just fine. However, if the Ariba
Buyer RFCs retrieve data from the second table that you don’t want, you need some
mechanism to further restrict it. ABAP and static filters won’t work because they only
provide you access to the first table, not the second. You need to be able to restrict the
data after the Ariba Buyer RFCs finish with it. Post hook filters let you do this.
You need to write ABAP code to manipulate the data within the given internal table
for an Ariba Buyer RFC.
Example RFC
To understand how to configure data pulls you can examine the way a typical RFC
functions:
The content of the company code pull RFC, Z_ARIBA_COMPANY, provides an example
of the mechanisms and techniques this chapter presents:
FUNCTION Z_ARIBA_COMPANY.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(VARIANT) LIKE ZARIBTVARV-VARIANT
*" VALUE(PARTITION) LIKE ZARIBTVARV-PARTIT
*" TABLES
*" COMPANY_INFO STRUCTURE ZXTCOMPANY
*"----------------------------------------------------------------------
DATA: WA LIKE T001.
OTHERS = 1.
ENDFUNCTION.
Within the declaration of Ariba Buyer pull RFCs, you find the extension structures or
structures that define the fields returned:
*" TABLES
*" COMPANY_INFO STRUCTURE ZXTCOMPANY
The call to Z_ARIBA_SELECT_LIST uses the structure to select the fields in the structure
into the table that is returned.
Before the RFC begins processing, it makes a call to Z_ARIBA_PREFILTER. It passes the
variant, partition, and name of the calling RFC, together with a working table. You
can use this information to edit Z_ARIBA_PREFILTER to change data or perform other
processes before the RFC runs:
CALL FUNCTION ’Z_ARIBA_PREFILTER’
EXPORTING
VARIANT = VARIANT
PARTITION = PARTITION
NAME = ’Z_ARIBA_COMPANY’
TABLES
WHERE = WTAB
EXCEPTIONS
INVALID_SELECTION_SIGN = 1
INVALID_SELECTION_OPTION = 2
OTHERS = 3.
The RFC selects company code fields from T001. When it finishes, the RFC executes
the customer exit function, Z_ARIBA_COMPANY_EXT. It passes the variant, partition,
and the table it exports, COMPANY_INFO, so you can make changes to the data:
CALL FUNCTION ’Z_ARIBA_COMPANY_EXT’
EXPORTING
VARIANT = VARIANT
PARTITION = PARTITION
TABLES
COMPANY_INFO = COMPANY_INFO
EXCEPTIONS
OTHERS = 1.
This chapter explains how SAP administrators and Ariba Buyer personnel can
configure Ariba Buyer development classes to change the data Ariba Buyer pushes in
purchase orders and good receipts.
Ariba Buyer RFCs offers the following means of configuring pushes on your SAP
system:
• ZARIBTVARV parameters
This chapter explains the first two means of configuring pushes. You can learn about
how to configure Ariba Buyer RFC parameters in Chapter 6, “Parameter
Configuration.” This chapter also explains how to configure your TIB/R3 Adapter
and Ariba Buyer RFCs so you can watch and test data pushes from
TIB/MessageBroker worksheets.
The terms and explanations in this chapter assume a working knowledge of the
material in Chapter 4, “Configuring Pulls.”
The purchase order push RFC, Z_ARIBA_PO_PUSH, offers the following extension
structures:
• ZXTPOERR—for error messages the RFC sends to Ariba Buyer (not part of the push)
The goods receipt push RFC, Z_ARIBA_GR_PUSH, offers the following extension
structures:
• ZXTGRERR—for error messages the RFC sends to Ariba Buyer (not part of the
push)
You must ensure 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 Buyer. For general information on extension
structures and how they work, refer to “Pulling Additional Fields Into Ariba Buyer”
on page 46.
If you add new fields to push extension structures, you also need to define and map
these fields in the screen field mappings, as explained below.
• You can tell Ariba Buyer RFCs in which fields in a screen to insert or set values.
• You can tell Ariba Buyer RFCs in which fields in a screen not to insert or set
values. You can change or remove the fields that Ariba Buyer RFCs set for
purchase orders or goods receipts as part of your default Ariba Buyer RFC
configuration.
• You can tell Ariba Buyer RFCs where to find the information to place within a
given field, for example, from a purchase order or goods receipt internal table or
elsewhere in your SAP system.
• ZAR6 tables—tables that comprise part of the Ariba Buyer RFCs that you must
never modify
• ZARC extension table—tables that are available for you to edit and change
There is one of each kind of table for purchase orders and goods receipts:
ZARPOFMAPX is the extension table that you use to instruct Ariba Buyer RFCs to
add, remove, or modify the purchase order fields that Ariba Buyer RFC set. The
table maps from Ariba Buyer purchase order extension tables to SAP purchase
order screen fields.
The tables for purchase orders and goods receipts work in exactly the same way. If
you understand how to use the extension tables for purchase orders, you should in
turn also understand how to use the extension table for good receipts. The text in this
chapter combines the explanation of these tables.
Note: You may customize only the extension tables, ZARPOMAPX and
ZARGRFMAPX. Do not modify ZARPOFMAP or ZARGRFMAP. The
extension tables provide all the utilities you might need to modify or remove
fields in your default Ariba Buyer RFC configuration.
• From an SAP partition extrinsic or intrinsic field from the Ariba Buyer object
model or TIB/MessageBroker worksheet
• From an external data source you read into an Ariba Buyer purchase order or goods
receipt TIB/MessageBroker worksheet
This section explains how to use fields available within your SAP system. This
section does not explain how to send new fields to Ariba Buyer RFCs; it describes
only how to map them to screens.
The following documents explain how to push new fields to your Ariba Buyer RFCs:
These steps are related to each other and can become complex. You might find it
easier to complete each of these steps in a separate SAP GUI client, and to keep all
three SAP GUI clients open, for cross reference, until you finish your field mappings.
• Program name
• Screen number
• Table name
• Field name
Write down this information, or keep your SAP GUI open and use another
SAP GUI client to find the source field and edit the extension table.
You may decide to map from the tables that Ariba Buyer purchase order and good
receipt RFCs use on your SAP system. The Ariba Buyer RFC tables function as
import parameters from TIB/MessageBroker worksheets. To map from them, you can
pull from any of the import tables or extension table fields for the following RFCs:
• Z_ARIBA_PO_PUSH
• Z_ARIBA_GR_PUSH
Note: You make changes to the extension table by adding new rows, not by
adding new columns.
• Ariba Variant—the name of the Ariba Buyer SAP variant from which the
purchase order or goods receipt originates
• Ariba Partition—the name of the Ariba Buyer SAP partition from which
the purchase order or goods receipt originates
• Field name—the source field from the import parameter or other table
• Deletion Flag—this field is for removing field mappings from your default
Ariba Buyer RFC configuration. Leave it blank if you are creating a new
field mapping
To change a mapping of a field that Ariba Buyer RFCs map, enter a mapping for the
field you need to change within the extension table, together with the relevant source
information.
If you need to remove a mapping of a field that Ariba Buyer RFCs already maps,
enter a mapping for the field you need to change within the extension table, but place
an “X” in the Deletion Flag field.
The purchase order push and goods receipt push RFCs offer the following customer
exit functions, that execute in the following order:
You can use these exit functions to manipulate purchase order and goods receipt
pushes in ways that field mappings do not offer.
• BAPIs
• Additional tables
• Additional screens
The following text explains these limitations and offers suggestions about how to
work around them.
BAPIs
SAP’s BAPI mechanism for purchase orders and goods receipts does not support
configuration of screen fields through Ariba Buyer RFCs. If you need to add Ariba
Buyer extrinsic fields to BAPI objects, you must do so within the appropriate
TIB/MessageBroker worksheets, not within the mapping tables.
Additional Tables
You may only add extrinsic fields to the header and line item tables for purchase
orders or goods receipts. The extension table mechanism does not allow you to create
new tables and add fields to them. If you need the Ariba Buyer push RFCs to use
additional tables, you can write the code to do so within the customer exit functions.
Additional Screens
The Ariba Buyer push RFCs and mapping files navigate through SAP purchase order
screens and goods receipt screens in a predefined order, based on the configuration of
SAP screens in a basic SAP instance. If you have changed the order or content of the
purchase order or goods receipts screens on your SAP system, you may be able use
the customer exit functions to implement the changes you need to Ariba Buyer RFCs.
You cannot use the mapping mechanism to map to fields in screens that are not
included in the RFCs navigation sequence.
For example, you could use the customer exits that execute before the BDC push to
insert rows as appropriate within the BDC table. See the Ariba Buyer push RFC
ABAP code for more information.
You can change the way Ariba Buyer RFCs function by changing parameters in the
RFCs. This chapter explains how to change Ariba Buyer RFC parameters and
describes the parameters available. The material in this chapter is appropriate for SAP
administrators.
• Default parameters
• Parameter descriptions
ZARIBTVARV
You can configure all Ariba Buyer RFC parameters in one location, through the
ZARIBTVARV structure. By editing the parameter configurations in ZARIBTVARV, you
can:
This chapter explains how to use ZARIBTARV to configure Ariba Buyer RFCs.
ZARIBTVARV contains a special field, called TYPE, that determines whether an entry is
for static filtering or parameter configuration. For changing parameters, you must
enter a P in the TYPE field.
(If you set the field to S, you can use ZARIBTVARV for static filtering, see “Static
Filtering” on page 55.)
In your default configuration, ZARIBTVARV does not contain any parameters. The
Ariba Buyer RFCs that call ZARIBTVARV already contain certain default values that
they use. Enter a value in ZARIBTVARV if you want to change the default values.
3. Enter the information for your parameter in the screen that appears.
5. You might see a transport POP-UP window asking to enter change request.
If you do, click Create Request button to create a new request or enter a
request number already exists in the Request field.
Default Parameters
The following table lists each possible ZARIBTVARV parameter, its default value, and
the RFC that references it. The following sections in this chapter explain what these
parameters do and offer other possible values.
Parameter Descriptions
This section groups parameters together and explains how to use them:
• Monetary characteristics
• Debugging pushes
• Duplicate PO handling
Incremental loading is set by default. You must explicitly turn incremental loading
off. To turn off incremental loading set the following:
DO_GET_LAST_CHANGE_DATE = F
A value of F causes Ariba Buyer to load all data for every pull it makes.
The DAYS_PAST parameters allow you to configure how far back in days, the Ariba
Buyer RFCs look for certain data.
You must ensure that the days past parameters for Ariba Buyer RFCs are values less
than or equal to the scheduled events in the SAP integration table.
To find the indicator from the vendor itself set the following:
MINORITY_VENDOR_USE_HEADOFFICE = F
• Z_ARIBA_CURR_CONV_EURO_RATE
Note: You can determine how far back in the past the RFC looks to pull
historical currency conversion information to deal with expenses from the
past through the following parameter, Z_ARIBA_CURR_CONV_DAYS_PAST.
Monetary Characteristics
The Ariba Buyer RFCs offer a special limited way of pulling monetary characteristics
to use in Ariba Buyer approval flows.
Debugging Pushes
Ariba Buyer RFCs offer two parameters that allow you to watch push operations fill
purchase order or goods receipt screens:
• Z_ARIBA_PO_PUSH_DISPLAY_MODE
• Z_ARIBA_GR_PUSH_DISPLAY_MODE
You may use these parameters to see what’s going on during a purchase order or
goods receipt push from Ariba Buyer to your SAP system. When you run
Z_ARIBA_PO_PUSH or Z_ARIBA_GR_PUSH, the parameters instruct the RFCs to show
the screens they fill up with data.
To watch the RFCs fill the screens with data through a single test of transaction se37
set the following:
Z_ARIBA_PO_PUSH_DISPLAY_MODE = T
Z_ARIBA_GR_PUSH_DISPLAY_MODE = T
You can also configure the TIB/R3 Adapter to invoke the RFC within the SAP GUI
from TIB/Message Broker worksheets that use RPC client plugins. For more
information, refer to “For example, you could use the customer exits that execute
before the BDC push to insert rows as appropriate within the BDC table. See the
Ariba Buyer push RFC ABAP code for more information.” on page 76.
If you do not specify a value for AUART, your Ariba Buyer development classes
assume that they may create purchase orders from any internal order in which the
AUART field of the order master data (AUFK) has the following properties:
By default, the Ariba Buyer RFCs designate carbon copies of orders with a document
type of AR and orders that SAP must send with a document type of NB. These
document types correspond to the BSART field on the purchase orders Ariba Buyer
pushes to SAP.
You can change the document type of a purchase order as it appears in your SAP
system from Ariba Buyer. For example, you may wish to configure a different
document type for Ariba Buyer orders or use a different type for SAP orders. You can
do so by setting the following ZARIBTVARV parameters:
• PO_PUSH_ERPCC_DOC_TYPE
• PO_PUSH_DIRECTCC_DOC_TYPE
• PO_PUSH_ERP_DOC_TYPE
You can learn more about order types in the Ariba Buyer Procurement Guide.
The default setting of 1 pulls back a smaller set of data, but does so by executing two
select statements within the RFC code. The 0 setting pulls back more data that the
RFC refines further, but it does so through a single selection query. If you decide to
tweak the performance of vendor pulls, you must balance the trade off between the
smaller amount of data returned with option 1 and the time it takes to perform another
select statement on your own system. You might find it helpful to examine the actual
RFC code in Z_ARIBA_VENDOR_ONLY.
If you need to perform an incremental pull of vendor information, you can use an
ALE/IDOC pull. The ALE/IDOC only pulls new and changed vendors. For more
information on using ALE/IDOC, refer to “Ariba Buyer ALE/IDOC Configuration”
on page 105.
You can tell Z_ARIBA_GENERAL_LEDGER to pull and use balance sheet accounts if you
enter a value of allow_balance_sheets for the BALANCE_SHEET_ACCOUNTS parameter.
You can also instruct the RFC to not use balance sheets, even if it is permitted on your
system, if you enter a value of disallow_balance_sheets.
If you need to perform an incremental pull of general ledger balance sheet accounts,
you can use an ALE/IDOC pull. The ALE/IDOC only pulls new and changed general
ledger accounts. For more information on using ALE/IDOC, refer to “Ariba Buyer
ALE/IDOC Configuration” on page 105.
Duplicate PO Handling
By default, Ariba Buyer does not create duplicate purchase orders. In the RFC, Ariba
Buyer keeps track of the Ariba Buyer requisition IDs. When a PO is pushed, Ariba
Buyer checks to see whether it has already created a PO for the given requisition. If
so, it does not create a new PO but returns back the existing PO number.
If the Z_ARIBA_PO_PUSH_DUPS parameter is set, the RFC does not check for
duplicates.
Note: You should not change this parameter setting unless you are testing
with different Ariba Buyer instances on the same SAP machine.
This chapter explains how Ariba Buyer uses SAP account assignment categories. It
presents the following information:
• Configuration ideas
The material in this chapter is appropriate for SAP administrators and Ariba Buyer
implementation personnel.
For example, if you purchase an elevator for your company’s building through Ariba
Buyer, you can apply the cost of the elevator through an asset account category. You
might do so because buildings are usually considered assets. Quite often, there are
special tax and accounting considerations for expenses related to the improvement or
maintenance of assets.
These considerations can make it necessary for your SAP system to handle expenses
for assets in a different manner than expenses for other items such as manufacturing
raw materials or office supplies. These differences affect the kinds of information
SAP displays to users who enter asset line items, and what they must do with this
information. Account assignment categories let SAP know how to handle these
differences.
For example, if a user chooses an asset account assignment category, then SAP
doesn’t need the user to enter any information related to cost centers. When possible,
SAP includes default values for required information based upon current data.
You can configure all existing SAP account assignment categories to display and
require the accounting fields you want. If the default account assignment categories
do not suit your needs, you can create your own.
• To know whether to require the user to choose or provide certain types of account
information in the user interface
Although SAP supports several account assignment categories, your default Ariba
Buyer SAP partition only pulls the following categories:
• K—Cost center
• F—Internal order
• A—Asset
• Required Entry—the SAP GUI displays the accounting field and requires input from
the user.
• Optional Entry—the SAP GUI shows the accounting field, a user can change it, but
the SAP GUI does not require the user to make any changes.
• Display—the SAP GUI shows accounting field, but the user cannot change it.
You can maintain these properties for each account assignment category through the
the Change View “Account Assignment Categories”: Details screen, through Goto>Details in
transaction OME9.
For example, the default asset account assignment category settings within an IDES
system are as follows.
• Asset sub-number
• Business area
• Deletion indicator
• Ship-to party
• Unloading point
• Display the following for informational purposes, but do not allow the user to
change:
• Project
• RK/PPC order
Ariba Buyer represents SAP accounts as a special object called a ClusterRoot. Your
default configuration for Ariba Buyer for an SAP partition offers only five kinds of
account objects:
• asset—Asset
• WBS element—Project
Ariba Buyer instantiates these kinds of objects with the data it pulls from your SAP
system. That way, users can choose the correct data they need to make purchase
orders in Ariba Buyer that are valid in SAP.
Ariba Buyer uses SAP account assignment category information to determine what
users need to enter for a line item. Ariba Buyer and SAP use the information in a
similar fashion, to dynamically change the user interface for creating purchase orders.
Ariba Buyer pulls and uses SAP account assignment category information as a basis
for the behavior of the user interface. Depending upon how you configure SAP, Ariba
Buyer users may or may not need to select one of the five account types for a given
line item.
There is one field status group string for each account assignment category in your
SAP instance.The strings reside in table T162K, within field faus1. Ariba Buyer pulls
the strings and interprets them to 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 the four settings SAP allows for accounting fields for a
given account assignment category. Ariba Buyer treats these settings differently than
SAP within the user interface.
The position of each character within the string determines the accounting field to
which it applies. For example, in an IDES system the field status group strings for the
default Ariba Buyer account assignment categories are as follows:
The position of the characters within the string corresponds to the accounting fields
within the OME9 maintenance screen. Ariba Buyer does pull all the characters in the
string, but your default configuration only uses those that apply to the five account
types. The character positions relevant to a default configuration for an SAP partition
are as follows:
• Asset — position 24
For example, the positions for an asset category from an IDES system resemble the
following diagram:
Ariba Buyer interprets this field status group string in the following way:
• The cost center character has an empty space, which means it is not relevant to
asset line items and does not appear in the Ariba Buyer user interface.
• The internal order, WBS element (project), and general ledger characters are
asterisks, *. Ariba Buyer displays them, but does not require the user to enter a
value.
• The asset character is a plus, +. Ariba Buyer displays the asset field in the user
interface and requires the user to enter a value.
Ariba Buyer pulls the entire field status group, even though the default configuration
examines only five of the character positions. Ariba Buyer does so in case you wish to
customize Ariba Buyer to use and display other accounting type objects.
For example, if you wanted to use profit centers within Ariba Buyer, you could create
profit center objects and write code within Ariba Buyer that examines the character
position for profit centers, position 41.
Your SAP partitions create objects with unique names based upon the position of the
field status characters that you can use to manipulate corresponding accounting
objects, should you decide to implement them. (See
ariba/variants/<variant>/partitions/<partition>/data/FieldStatusToAccountingFieldNameMap.csv.)
If you implement your own SAP accounting objects for Ariba Buyer, the status
strings are available for you to use. You can modify the RFCs that pull account
categories with selection filters in ZARIBTVARV to include categories for custom
accounting objects.
The implementation of a new accounting object in Ariba Buyer is beyond the scope of
this document, but generally includes creating a new ClusterRoot object that resembles
the existing accounting types. For more information, see the Ariba Buyer API Guide
1. Run transaction SE37 to access the ABAP/4 Function Library: Initial Screen.
3. In the Value column, enter your Ariba Buyer variant name and partition.
For example, enter “vsap” and “sappart1”, and choose the execute green
check button.
4. Highlight the top value for the No. of lines Before Start column and choose the
choose magnifying glass button.
Within SAP, you could pull the field status string by selecting the new account
assignment category through an entry in ZARIBTARV for the account assignment
category RFC, Z_ARIBA_ACCOUNT_CATEGORY.
Ariba Buyer provides a sample class file, ariba.sap.common.AACUtil, that you can
examine to get ideas about how to validate custom account assignment categories
with their field status strings. You could use the following method, showField, within
an AML UI description. The comments provide good summary of this chapter:
/**
Given a field on Accounting for the SAP variant, and a given
account assignment category on that Accounting object,
determine if the accounting field should show up. This is
based on SAP’s account category property called FieldStatus
Group. We pull this field status group back from SAP when we
pull AACs. The field status group is a string of dots,
slashes, plusses, and stars. Each of these means a different this.
@aribaapi external
*/
public static boolean showField (String fieldName, ValueSource aac)
{
if (null == aac) {
return false;
}
String fstag = (String)aac.getFieldValue("FieldSelectionString1");
char code = fstag.charAt(positionForField(fieldName));
if (’.’ == code) {
// 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;
}
}
This chapter explains how to configure your SAP system to load data in an
incremental, real time fashion into Ariba Buyer. It also presents ALE/IDOC
configuration necessary for Ariba Buyer to properly pull company code information.
This chapter is for SAP administrators who configure Ariba Buyer integration. The
material assumes an understanding and expertise regarding SAP IDOC configuration
and administration. This chapter also contains material appropriate for Ariba Buyer
administrators, including those who manage TIB/ActiveEnterprise products from
TIBCO Inc.
The term incremental load refers to the process of pulling new or changed data into
existing objects and tables. In comparison, non-incremental loading, or full loading,
recreates and repopulates all data. Incremental loading provides a more efficient and
manageable way of dealing with huge amounts of data because it does not reload all
data from your SAP system.
SAP integration with Ariba Buyer through TIBCO Inc. products allows you to
perform incremental updates in a real time fashion. A real time update changes the
data within Ariba Buyer as it changes within SAP.
Organization
This chapter presents a lot of tasks for real time integration. Most of these tasks are
related to ALE/IDOC configuration on a SAP system. Some are not. The goal of these
tasks is to create partner profiles for Ariba Buyer partitions.
ALE stands for Application Linking and Embedding, a feature that allows data
communication with between an SAP system and another process or SAP system.
ALE provides for a variety of data communication methods, including synchronous
and asynchronous protocols.
IDOC stands for Intermediate DOCument, a feature that allows SAP to represent data
in coherent, self describing containers. IDOCs represent data and ALE transfers that
data.
Most of the ALE/IDOC components which you install or configure for real time
integration reside within a partner profile. Partner profiles contain the following
pieces:
• Change pointers
• Message types
• Logical systems
• Distribution models
• Ports
• RFC destinations
• Program IDs
This chapter explains how to configure these pieces to work with Ariba Buyer,
TIB/ActiveEnterprise products, and Ariba Buyer development classes on your SAP
system.
• Getting Started—presents the configuration and tasks you must complete before
moving on to the main tasks of this chapter. You may have already performed the
tasks in this section.
Getting Started
In order to perform most of the tasks in this chapter, you must first do the following:
This section explains how to perform these tasks or refers to you to appropriate
documentation. If you have already performed these tasks, you can move on to the
next section.
Configuring ALE/IDOC
Real time incremental integration with an SAP instance is possible through ALE and
IDOC mechanisms.
A logical system (LS) represents the source or destination of data exchanged with an
SAP instance. ALE treats all sources and destinations as logical systems, whether
they consist of R/3 systems or not.
Logical systems are client independent. (Clients represent the highest order of data
organization available with an R/3 system.) Every client that uses ALE must have a
unique base logical system that represents the client in data communications. You can
think of a base logical system as being analogous to the unique IP address in TCP/IP.
SAP uses the term inbound to describe data communication that arrive at a base
logical system, and SAP uses the term outbound to describe data communication that
a base logical system sends. For example, an Ariba Buyer push operation could create
an inbound data communication, and a pull operation could create an outbound data
communication.
If you have not already configured a base logical system for the client with which
Ariba Buyer integrates, you must do so.
3. Choose the green check for any warnings about client independence.
7. Save.
4. For the Logical System field, enter the base logical system you created above.
5. Save.
You can perform other tasks to configure logical systems. This text presents only
those most relevant to Ariba Buyer integration and assumes that you use default
settings.
This section explains how to configure global company codes for the following Ariba
Buyer features:
• Purchase order and receipt integration that works for all company codes on all your
SAP systems
• Real time incremental loading of system wide data into Ariba Buyer through
ALE/IDOC mechanisms
Global organizational units provide a central naming location for all company codes
and business areas. SAP uses the term local to describe organizational units for a
given SAP system. Each SAP system must assign its local organizational units to
corresponding global units. You can do so through the IMG.
4. Click New entries to create the cross system list of global company codes you
use.
You may wish to name the global company codes to reflect any
corresponding local company codes. For example, a local company code of
1000 might have a corresponding global company code of GL1000.
5. Save.
6. Green arrow back and choose Assign cross-system co. code -> chrt of accts.
8. Save.
9. Green arrow back and choose Assign company code -> Cross-system company
code.
10. For 3.1I and 4.0B: in the X-system CoCde column, select or enter global
company codes to represent any corresponding local company codes.
For 4.5B and 4.6B: in the Global CoCde column, select or enter global
company codes to represent any corresponding local company codes.
11. Save.
Ariba Buyer transports change a great deal from release to release. You can learn how
to fully install Ariba Buyer transports from the following documents:
• The Ariba Buyer Release Guide for your version of Ariba Buyer
• The README.txt file that resides in the following location where you installed Ariba
Buyer:
~\configureOptions\sap\config\variant\trans\README.txt
• ZATGLM
• ZATCOS
• Configure databases for Ariba Buyer and the TIB/Repository as described in the
following documents:
• Fully install Ariba Buyer, without initializing any databases, as described in the
Ariba Buyer Installation Guide.
If you prefer, you can initialize only those database items necessary to complete the
tasks in this chapter instead of creating your entire Ariba Buyer database and filling it
with SAP data. The following initdb options are all you need complete.
2. Run initdb -loadtibco to enter SAP integration data and worksheets into the
TIB/Repository.
1. From the Ariba Buyer installation directory, enter the following shell
command:
runtibco -startrepoadmin
2. Enter your user name, choose your SAP variant Repository instance name,
and choose Connect.
• ZATCRE300
• ZATGLM300
c. If your Ariba Buyer partition name is in all upper case, change the Edit
Formula from:
lower(partition.EDI_DC.RCVPRN)
to
partition.EDI_DC.RCVPRN
d. If your partition name is in mixed case or too long for your version of
SAP, you should create a user defined function that converts the SAP
logical system name to the properly formatted Ariba Buyer partition
name.
• ZATCOS300
• ZATCRE300
• ZATGLM300
You can open the worksheets through the TIB/MessageBroker interface or by using
the command:
runtibco -startengine <variant><worksheet>
• Define ports
3. Choose the green check for any warnings about client independence.
4. Repeat the following steps until you have defined logical systems for every
Ariba Buyer partition in every SAP variant on all clients.
b. Enter the exact Ariba Buyer partition name for the logical system.
d. Save.
• Logical systems
• Message types
SAP uses the term message to describe data sent between logical systems. You can
send a wide variety of data in messages. SAP uses message types to represent the
kinds of data available to a message. The data a message type represents is often
linked to an IDOC description.
For example, a message type called MATMAS represents an IDOC of Material Master
data. Ariba Buyer creates its own message types that resemble those within SAP for
pulling cost center, general ledger, and vendor information.
IDOCs use a mechanism called change pointers to keep track of data changes at the
field level. Change pointers trigger message types that define data communication
between logical systems. Ariba Buyer transports install message types, activate their
corresponding change pointers, and link them to the appropriate IDOCs for you.
In order to exchange data between Ariba Buyer and SAP, you must create and use a
distribution model named Ariba. The Ariba distribution model defines the message
types a base logical system uses communicates with each Ariba Buyer partition
logical system through ALE/IDOC mechanisms.
• ZATGLM
• ZATVEN
<SAP logical system> is the SAP logical system that sends ALE/IDOC
information, usually your base logical system.
<Ariba Buyer partition name> is the name of the Ariba Buyer partition.
3. Select Distribution.
Defining a Port
SAP allows an IDOC to travel to a variety of destinations through a port. SAP
provides four kinds of ports:
• Files
• TCP/IP destinations
• R/2 systems
SAP sends incremental real time load information to the TIB/R3 Adapter through a
tRFC port from an RFC. You need to define this port.
6. For 3.1I: enter a description for the port in the Description column and
YCIDOCPROC in the Logical Destination column.
7. Save.
Note: Remember the unique port number that SAP generates, for example,
A000000011. You need it for other tasks in this chapter:
• “To configure partner profiles for 4.0B, 4.5B, or 4.6B:” on page 112
RFC destinations for RFCs can use a program ID, to uniquely identify a process or
daemon shared between an SAP system and the output of an RFC.
RFC destinations contain port descriptions for logical systems. You need to configure
an RFC destination called YCIDOCPROC for Ariba Buyer integrations to work.
Connection type: T
5. Enter.
After you create the TIB/R3 Adapter RFC destination, you should test the connection.
Be sure Ariba Buyer and the TIB/Repository are started.
Partner profiles combine the ALE and IDOC components necessary for Ariba Buyer
and SAP to exchange real time incremental data. Partner profiles work at a very high
level of organization within SAP, and in many ways are the central component you
must configure to allow real time incremental integration with Ariba Buyer.
SAP offers four types of partner profiles, most of which are involved in EDI
configuration. Real time incremental integration with Ariba Buyer requires that you
create partner profiles of type LS, for communication related to logical systems.
6. Choose New Entries and perform the following tasks for each Ariba Buyer
message type and its corresponding basic type:
Message type: enter one of the Ariba Buyer message types listed above
Receiver port: enter the port number generated for the tRFC port you
defined in “To define a tRFC port” on page 108
Transfer IDoc immed.
Doc type: enter the basic type that corresponds to the message type
(COSMAS01, CREMAS01, GLMAST01)
b. Enter.
d. Save.
Ignore warnings that there are no entries for message control. Outbound
only partner profiles do not use message control.
Partn.type: LS
Partn.status: A
6. With the partition parnter number still selected, in the navigation area,
choose -->Outbound parameters.
7. Choose New Entries and perform the following tasks for each Ariba Buyer
message type and its corresponding basic type:
• ZATCRE andCREMAS01
Message type: enter one of the Ariba Buyer message types listed above
Receiver port: enter the port number generated for the tRFC port you
defined in “To define a tRFC port” on page 108
Basic type: enter the basic type that corresponds to the message type
(COSMAS01, CREMAS01, GLMAST01)
b. Save.
Ignore warnings that there are no entries for message control. Outbound
only partner profiles do not use message control.
You can review how ZARIBTARV provides filtering and parameter storage in:
• “Filtering” on page 54
1. Perform the steps in this task for every partition in every SAP variant.
• ZATCOS
• ZATCRE
• ZATGLM
Number: 0
These classes resemble the ZAR6 and ZARC development classes. You can examine the
contents of ZATI to learn how the RFCs process data, and then you can safely make
changes to those RFCs through the customer exit functions in ZATC. You can review
how this works in “Post Hook Filtering” on page 63.
Neither class offers the ability to define fields through extension structures.
Maintenance
You must occasionally schedule Ariba Buyer integration events that pull IDOC
related data through batch methods due to a limitation in the IDOC design. SAP can’t
inform Ariba Buyer that a record is inactive through IDOCs, at least not without some
configuration. As a result, you may find inactive data in Ariba Buyer that needs
deletion.
To remedy this problem, you should occasionally schedule the non-IDOC integration
events and RFCs to pull IDOC related data. Such pulls clean away any data that
requires deletion.
Event: Accounting_GLSAP
Worksheet: GeneralLedgerEventSAP
Event: PurchaseOrgSupplierCombo_SAP
Worksheet: PurchaseOrgSupplierComboSAP
Event: Supplier_SAP
Worksheet: VendorEventSAP
Event: PurchaseOrgSupplierCombo_SAP
Worksheet: PurchaseOrgSupplierComboSAP
Ariba Buyer provides limited support for certain types of SAP release authorizations
for documents. The RFCs in the ZAF7 development class are an example of how you
can pull your SAP release procedures into Ariba Buyer and use them to approve
requisitions. Ariba Buyer supports the features of the ZAF7 RFCs and can represent
their data within the Ariba Buyer approval flow.
Ariba Buyer RFCs make assumptions about your SAP configuration. These
assumptions include:
• The SAP user IDs map directly to Ariba Buyer user IDs (without regard to case).
• All your release strategies for requisitions are global to your entire SAP system; for
example, you do not have multiple release groups for each classification type.
• Ariba Buyer only supports release procedures for requisitions that work in
conjunction with the Materials Management classification. Support-related
processes that work without SAP’s classification system are not supported.
• You set up your releases in terms of a given range of monetary values per release
code, and that each code releases a document in sequence of an increasing
allowance for expenditures. For more information about value ranges and
sequence, see “ZAF7 Ariba Buyer Release Assumptions” on page 119.
• Release authorities
• Release classification
• Release RFCs
Release Authorities
In the context of approving an SAP document such as a requisition or a purchase
order, SAP uses the term release to signify the act of approving, clearing, or giving
the “go ahead” to procure materials or services. (Do not confuse this reference with
the more common meaning of release in regard to issuing orders against long term
purchase agreements.)
Release authorities are privileges certain SAP users have to release or approve an
SAP document. For example, you may not have the authority to approve expenditures
at all, while your immediate boss has the authority to approve requisitions within a
certain range of cost, say anything under $2,000. If it is over $2,000, then your boss
needs the approval of his or her supervisor, and so forth.
Release authorities may closely resemble the approval flow rules in your Ariba
Buyer. The purpose of the ZAF7 RFCs is to use your existing SAP release
authorization setup to approve requisitions in Ariba Buyer. For information on how
Ariba Buyer handles approval rules, refer to the Ariba Buyer Configuration Guide.
• Release code—identifies the point in the release strategy when someone can release
a document.
• A strategy contains the release code of all other strategies that have a lower
monetary value range. (If you have authority to spend $100,000, you also have
authority to spend $5.)
• As the price increases, more and more release codes (individuals or departments)
are in each strategy.
The number of release codes for each release strategy increases as the monetary value
of the strategy increases. For example, you might have eight release strategies like the
following.
Release Release Condition Release Codes
Strategy
RS1 $0 to $5,000 R1
RS2 $5,000 to $10,000 R1, R2
RS3 $10,000 to $25,000 R1, R2, R3
RS4 $25,000 to $30,000 R1, R2, R3, R4
RS5 $30,000 to $50,000 R1, R2, R3, R4, R5
RS6 $50,000 to $100,000 R1, R2, R3, R4, R5, R6
RS7 $100,000 to $500,000 R1, R2, R3, R4, R5, R6, R7
RS8 N > $500,000 R1, R2, R3, R4, R5, R6, R7, R8
Note: Ariba Buyer does not alter SAP’s workflow as it relates to release
authorities.
This section explains how Ariba Buyer turns release data from SAP into:
• Approval requests
• Approval rules
Approval Requests
In Ariba Buyer, approval rules determine how a requisition works through approval
flows from one person or role to the next. The most important concept in Ariba
Buyer’s approval rules is that of an approval request. Approval requests correspond
to users or permissions and are represented as points in the chain of approval.
Approval Rules
Ariba Buyer defines the organization of approval requests by applying approval
rules. The default type of approval rules are:
Rule Types How to use them
Base Rules Base rules add approval requests if a given condition is
satisfied.
Filter Rules Filters remove approval requests based on conditions. Filters
are not used to translate release authorizations into Ariba
Buyer.
Chain Rules Chain rules add several approval requests at one time, and
often travel up a management chain of command. Chain rules
do not organize approval requests in sequence.
Constraint Constraint rules organize approval requests in sequence. For
Rules example, your boss has to approve something before his or her
boss needs to approve.
Ariba Buyer translates its special case of SAP release authorizations into Ariba Buyer
approval rules. Ariba Buyer creates approval requests for each release code and
organizes them with approval rules. The result for the special case should be a
sequential list of management hierarchies and release codes for an approval request
based on monetary value.
Release Classification
SAP supports two types of release procedures:
Classification refers to the entire collection of criteria upon which you may define
release strategies, as well as the conditions themselves.
This section describes how Ariba Buyer and SAP use release classification and
characteristics for release authority integration.
Release procedures that do not offer classification allow you to only work with the
following conditions:
• Monetary value
• Material group
• Account assignment
• Plant
Procedures with classification work with any criterion available to the Materials
Management module. They enable the previous four conditions as well as purchasing
group, purchasing organization, and many others.
Characteristics
The individual values from which you create conditions for classification are
characteristics. It is important to know the individual value for your monetary
characteristic to use the ZAF group RFCs.
For step-based instructions on how to display and set monetary amount characteristic
values, see “To display and set your monetary amount characteristic value:” on
page 122.
Release RFCs
Ariba Buyer provides two RFCs to pull your release authorizations and release codes:
• Z_ARIBA_RELEASE_AUTHORITY
• Z_ARIBA_USER_RELEASE_CODE
Ariba Buyer also provides customer exit functions for these RFCs.
To learn more about how the Ariba Buyer RFCs pull release authorizations, see the
sample RFCs from Ariba in the Developer Workbench.
2. Click the Release strategy button and double click on the first row in the
Release Strategies overview table.
4. Remember (or copy into your buffer) the value for Class.
The job of the SAP integration is to provide reliable data exchange between Ariba
Buyer and SAP. If anything goes wrong during the process, the integration event must
detect the error and take some action.
When an error occurs, there are two things the integration event can do:
• Recover automatically
In general, the integration event can recover automatically from any error that occurs
before the data is committed to SAP. Once the data has been committed on the SAP
system, the integration event does not try to recover from errors. The integration
event reports the error and waits for an administrator to intervene.
If the order processor encounters an error while writing an order to the interface table,
it logs an error in the Ariba Buyer error log and the purchase requisition associated
with that order remains in the “Ordering” state.
1. Check the Ariba Buyer log files, find the error message, and diagnose the
problem.
Once the error has been found and corrected, you don’t have to do anything special to
restart the push. There is an Ariba Buyer scheduled task (FailedOrders) that checks
for unfinished orders and re-executes the order transmission. You can either wait until
the next scheduled run of this task or you can execute it manually from the Ariba
Buyer Enterprise Manager.
For more information on scheduled tasks, see the Ariba Buyer Configuration Guide.
The most common error at this stage is when the SAP system rejects the incoming
order because it contains data that is not valid for the SAP system. This can happen if
the adapters are slightly out of synch: for example, if a supplier is invalidated on the
SAP side after the order was cut on the Ariba Buyer, then the incoming order is
rejected because it has a supplier that’s now invalid. (You can avoid this problem by
using real time incremental loading; refer to Chapter 8, “Real Time Integrations.”)
For purchase orders, the push worksheets return error messages and details about
pushes immediately. When SAP rejects a order, it sends that order back, with an error
message saying why the order was rejected. The worksheets returns this error
message to Ariba Buyer to indicate that there was an error.
Note: Since an Ariba Buyer requisition can contain line items that go to
more than one SAP purchase order, it is possible for some line items from a
requisition to successfully push to SAP while other line items do not. All
line items for a particular SAP purchase order must be accepted by SAP for
that purchase order to be successfully pushed. If any line items for a
particular SAP purchase order are rejected, the push for that entire purchase
order fails.
The administrator should work with the original requester to fix the problems that
caused the order errors, and then resubmit the requisition.
By default, the notification message is sent to all users who have the Purchasing
Agent permission.
For example, in a requisition, you populate the commodity code or material group
when you select the last company code (from the multiple entries in
CommodityExportMap.CSV). But, to choose a company code, which proceeds the last
entry, produces a null material group or commodity code.
Evidently, a load appears successful when, actually, only the final entry loads.
<inClassVariant name="vsap">
<lookupKey fields="CompanyCode"/>
</inClassVariant>
</inClass>
3. Reload CommodityExportMap.CSV.
Troubleshooting
Here are some suggestions you can use when things are not working properly.
When you call an RFC, you can turn on a debugging switch. This allows you the
opportunity to access the SAP user interface, where you can set breakpoints.
1. From the Ariba Buyer working directory, turn on SAP’s debugging mode by
typing this command at the command line:
set RFC_DEBUG=1
3. When the SAP user interface opens, open another session, go to transaction
se37, and set a breakpoint on a line of code in the RFC.
4. When you’re finished debugging, you should turn debugging mode back off
again:
set RFC_DEBUG=0
Debugging Pushes
Ariba Buyer RFCs offer two parameters that allow you to watch push operations
actually fill purchase order or goods receipt screens:
• Z_ARIBA_PO_PUSH_DISPLAY_MODE
• Z_ARIBA_GR_PUSH_DISPLAY_MODE
O R
OMGQ 122 r3Adapter 32, 33
OMGS 122 rdisp/max_wprun_time 38
order processor real time
convert requisition 18 incremental integration 99
purchase order push 125 incremental loading 97
ordering addresses 40 release
outbound 99 code 117, 118, 120
outbound logical systems 106 conditions 118
groups 117
indicator 118
P procedure 118, 121
parameters 77 strategies 117
Parameters.table 25 strategy 118
partition names 104 release authorities
partition selection values 113 SAP privileges 118
partner functions 40 ZAF7 RFC 118
partner profile RFC destination 109
3.1H 110 RFC Import Tables 73
4.0B and 4.5B 112 RFC, custom
create 97 adding 52
description 110 define metadata xml 53
PO_PUSH_DIRECTCC_DOC_TYPE 80 load in TIB/Repository 54
PO_PUSH_ERP_DOC_TYPE 80 RFC_DEBUG 128
PO_PUSH_ERPCC_DOC_TYPE 80 roles 120
PO_PUSH_PCARDCC_DOCTYPE 80
port 108