ARIBA-SAP Integration
ARIBA-SAP Integration
ARIBA-SAP Integration
CONTAINS IBM Runtime Environment for AIX (R), Java (TM) 2 Technology Edition Runtime Modules
(c) Copyright IBM Corporation 1999, 2000
All Rights Reserved
Some versions of this product include software licensed from International Business Machines Corp. Such software is protected by copyright as
provided in the proprietary notices included with the software.
Some versions of this product include software licensed from BEA Systems, Inc. Such software is protected by copyright as provided in the
proprietary notices included with the software.
All other brand or product names may be trademarks or registered trademarks of their respective companies or organizations.
ALL LICENSES OF ARIBA SOFTWARE PROGRAMS AND RELATED DOCUMENTATION (“PROGRAMS”) ARE SUBJECT TO ANY
EXPORT LAWS, REGULATIONS ORDERS OR OTHER RESTRICTIONS IMPOSED BY THE UNITED STATES OF AMERICA OR BY
ANY OTHER GOVERNMENT ENTITY ON THE PROGRAMS OR INFORMATION RELATING THERETO. A LICENSEE OF ANY
PROGRAM WILL NOT IMPORT, EXPORT, OR ALLOW THE EXPORT OR REEXPORT, DIRECTLY OR INDIRECTLY, OF THE
PROGRAM (OR TECHNICAL DATA OR OTHER INFORMATION RELATED THERETO) OR ANY DIRECT PRODUCT THEREOF, TO
ANY COUNTRY TO WHICH SUCH IMPORT, EXPORT, OR REEXPORT IS RESTRICTED OR PROHIBITED, OR AS TO WHICH SUCH
GOVERNMENT OR ANY AGENCY THEREOF REQUIRES ANY EXPORT LICENSE OR OTHER GOVERNMENTAL APPROVAL AT THE
TIME OF IMPORT, EXPORT OR REEXPORT, WITHOUT FIRST OBTAINING SUCH APPROVAL.
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Audience and Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Which Chapters to Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Ariba Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Chapter 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Supported SAP Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Pulling Master and Transaction Data . . . . . . . . . . . . . . . . . . . . . . . . . 17
About Integration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Scheduled Pulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Pulling Payment Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Pulling Remittance Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Pushing and Pulling Purchase Orders . . . . . . . . . . . . . . . . . . . . . . . . . 21
Adjusting Net Price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Pushing Purchase Orders Using BAPI . . . . . . . . . . . . . . . . . . . . . . . . 23
Understanding BAPI Push Limitations . . . . . . . . . . . . . . . . . . . . 23
Pushing Changed and Canceled Purchase Orders . . . . . . . . . . . . . . . 24
Pulling Header Status of Purchase Orders. . . . . . . . . . . . . . . . . . 25
Pushing Receipts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapter 2
Ariba Buyer Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Installing and Configuring Ariba Buyer . . . . . . . . . . . . . . . . . . . . . . . 27
Verifying Connection Information. . . . . . . . . . . . . . . . . . . . . . . . 27
Specifying the Locale for the TIB/Adapter for R3 . . . . . . . . . . . 29
Initializing the Channel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Chapter 3
SAP Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Setting Up Ariba Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Creating a CPIC User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Understanding Dialog Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Installing Ariba Buyer SAP Transports . . . . . . . . . . . . . . . . . . . . . . . 40
Delivered Transport Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Location of Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Transport Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . 41
Transport Description Reference . . . . . . . . . . . . . . . . . . . . . . . . . 42
Working With the Time-out Interval. . . . . . . . . . . . . . . . . . . . . . . . . . 44
Checking Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Bank Selling Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Blank Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Vendor Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Vendor ERS Tax Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Validation on Catalog Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
About Real-Time Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Receiving Tolerances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Receiving System Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
ERP Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Testing Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Chapter 4
Configuring Pulls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Pulling Additional Fields Into Ariba Buyer . . . . . . . . . . . . . . . . . . . . 52
About Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Adding Fields to Extension Structures . . . . . . . . . . . . . . . . . . . . 54
Extension Structure Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapter 5
Configuring Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Push Extension Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Understanding Screen Field Mappings. . . . . . . . . . . . . . . . . . . . . . . . 78
What Field Mappings Do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
About Data Push Mapping Tables . . . . . . . . . . . . . . . . . . . . . . . . 79
Sources of Data for Push Mapping Tables . . . . . . . . . . . . . . . . . 80
Mapping Fields for Orders or Receipts. . . . . . . . . . . . . . . . . . . . . . . . 80
Finding the Screen Field to Map . . . . . . . . . . . . . . . . . . . . . . . . . 81
Finding the Source Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Editing the Extension Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Changing and Removing Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Filtering and Customer Exit Functions. . . . . . . . . . . . . . . . . . . . . . . . 84
Modifying Customer Development Classes . . . . . . . . . . . . . . . . . . . . 85
Formatting Dates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Unsupported Push Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
BAPIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Additional Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Additional Screens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Chapter 6
Parameter Configuration . . . . . . . . . . . . . . . . . . . . . . . 87
About ZARIBTVARV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Default Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Days Past Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Minority Vendor Head Offices . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Currency Conversion Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Monetary Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Debugging Pushes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Internal Order Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Purchase Order Document Types . . . . . . . . . . . . . . . . . . . . . . . . 93
Vendor Pull Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Using General Ledger Balance Sheet Accounts . . . . . . . . . . . . . 94
Real-Time ALE/IDOC Partition Loading . . . . . . . . . . . . . . . . . . 95
Duplicate PO Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Duplicate GR Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Change PO Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Language for Texts Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Chapter 7
Account Assignment Categories . . . . . . . . . . . . . . . . . 97
About Account Assignment Categories . . . . . . . . . . . . . . . . . . . . . . . 97
Ariba Buyer Account Assignment Category Pulls . . . . . . . . . . . 98
Displaying Fields and Requiring User Input . . . . . . . . . . . . . . . . . . . 99
Configuring SAP Accounting Fields . . . . . . . . . . . . . . . . . . . . . . 99
Ariba Buyer Accounting Types . . . . . . . . . . . . . . . . . . . . . . . . . 100
Field Status Group Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Pulling New Accounting Objects From SAP . . . . . . . . . . . . . . 104
Chapter 8
Release Authorizations Pulls . . . . . . . . . . . . . . . . . . . 107
Release Authorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Conditions, Strategies, Indicators, and Codes . . . . . . . . . . . . . . 108
Profiles and Authorizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
ZAF7 Ariba Buyer Release Assumptions. . . . . . . . . . . . . . . . . . . . . 109
Release Authorization in Ariba Buyer . . . . . . . . . . . . . . . . . . . . . . . 110
Approval Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Approval Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Release Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Release RFCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Chapter 9
Real-Time Integrations . . . . . . . . . . . . . . . . . . . . . . . . 115
Ariba Buyer ALE/IDOC Configuration . . . . . . . . . . . . . . . . . . . . . . 116
Configuring a Base Logical System . . . . . . . . . . . . . . . . . . . . . 116
Defining Logical Systems for Partitions . . . . . . . . . . . . . . . . . . 117
Defining a Distribution Model. . . . . . . . . . . . . . . . . . . . . . . . . . 118
Defining a Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Creating an RFC Destination for ALE/IDOC . . . . . . . . . . . . . . 121
Defining a Partner Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Setting Up Global Company Codes. . . . . . . . . . . . . . . . . . . . . . 123
Installing ALE/IDOC Transports. . . . . . . . . . . . . . . . . . . . . . . . 125
Repository and Worksheet Configuration. . . . . . . . . . . . . . . . . . . . . 125
Configuring Partition Names in Worksheets . . . . . . . . . . . . . . . 125
Opening Worksheets and Executing ALE/IDOCs. . . . . . . . . . . 126
Ariba Buyer Parameter Real-Time Configuration . . . . . . . . . . . . . . 127
ABAP/4 Development Classes . . . . . . . . . . . . . . . . . . . . . . . . . 128
Handling Deletion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Chapter 10
Error Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Failures Pushing to SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Application-Level Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
System-Level Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Failures Pulling from SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Enabling Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Debugging Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Appendix A
Ariba SAP Objects. . . . . . . . . . . . . . . . . . . . . . . . 137
Naming Conventions for Ariba SAP Objects . . . . . . . . . . . . . . . . . . 137
Summary of Ariba SAP Development Classes. . . . . . . . . . . . . . . . . 138
ZAR6 Development Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
ZAR6 Function Groups and Modules . . . . . . . . . . . . . . . . . . . . 139
ZAR6 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ZAR6 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ZAR6 Data Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
ZAR6 Message Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Appendix B
About SAP Transports . . . . . . . . . . . . . . . . . . . . 163
Overview of SAP Transports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Delivered Transport Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Location of Transport Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Transport Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Import Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Configuring Your SAP System for Real-Time Integration . . . . 165
Appendix C
Integration Events Reference . . . . . . . . . . . . . . . 169
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
This document does not describe all aspects of working with Ariba Buyer. For a
complete list of Ariba Buyer documentation available in this release, see the Ariba
Buyer Documentation Roadmap (doc_roadmap.htm). You can find the roadmap on
Connect (http://connect.ariba.com) along with the other documentation for each
release.
2 On the left-hand panel, navigate to the Documentation page for the current release
(where N.n is the current release) by clicking the following links:
Product Info > Ariba Procurement Solution > Buyer N.n > Documentation
3 Under Product Documentation, click the link for the view-only documentation set.
4 Click the link for the language you want, such as Ariba Buyer Documentation: English.
5 In the section About the Release, click Ariba Buyer Documentation Roadmap.
On the same page, the Multi-Document Search link describes how to use Adobe's
Multi-Document search feature to search all the Ariba Buyer guides simultaneously
for specific words or phrases.
Typographic Conventions
The following table describes the typographic conventions used in this document:
http://connect.ariba.com/TechSupport_Contacting.htm
This chapter provides an introduction to the way Ariba Buyer integrates with SAP
systems through an integration channel. Although many integration channels might
be implemented with Ariba Buyer, the majority of the examples in this book relate
specifically to the TIBCO integration channel. Therefore, before using this document,
become familiar with the information presented in the Ariba Buyer TIBCO
Configuration Guide.
Overview
Ariba Buyer interacts with SAP in three distinct ways:
• Pulling master and transaction data from SAP systems. Master data includes
SAP information from accounts, currency conversion rates, suppliers and payment
terms. Transaction data includes remittance advice. To pull data, Ariba Buyer runs
an integration event, which uses the integration channel’s instructions to pull the
data. For example, if TIBCO is your integration channel, the integration event uses
the instructions in its associated TIB/MessageBroker worksheet to perform the data
pull.
• Synchronizing the flow of transaction data. This process includes pushing Ariba
Buyer purchase orders and receipts to SAP and pulling purchase order numbers
back into Ariba Buyer from SAP as part of the ERP CC (carbon copy) purchase
order process. Pushing data to SAP works similarly to pulling data. Notable
exceptions include the use of distinct RFCs (remote function calls), and the ability
to use BAPIs to push purchase orders.
• Integrating master data in real time through IDOCs (Intermediate
Documents). For RFC data pulls from SAP to Ariba Buyer, TIB/MessageBroker
sends the instructions outlined in the MessageBroker worksheets to the
TIB/Adapter for R/3. The TIB/Adapter communicates with SAP through particular
RFCs to pull data into Ariba Buyer. Each type of data pull requires a different
RFC. For real-time integrations using IDOCs, SAP sends the data to the
TIB/Adapter whenever the data changes in SAP for cost center, general ledger
(GL) account, and vendor data. The MessageBroker worksheets pick up the data
from the TIB/Adapter and then publish the data to Ariba Buyer.
Note: With Version 8.2, global instance support is available for Ariba Buyer
integrations with SAP. All new Ariba Buyer instances support Simplified Chinese,
Japanese, and European users. If your existing Ariba Buyer instances use
non-Unicode databases, you must convert the databases to Unicode to a support
global instance. Ariba Buyer provides tools to help you convert your Latin-1 database
to Unicode. See the Ariba Buyer Data Load Guide for more information on global
support and details on specifying the correct character encodings for your database.
For comprehensive instructions on converting your Latin-1 database to Unicode, see
the information on Unicode conversion on Connect (http://connect.ariba.com).
The following diagram illustrates the data flow of integration between Ariba Buyer
and SAP using a typical TIBCO integration channel. Note that if you use a different
channel, such as IBM WebSphere Business Integration Adapter, the information in
this diagram differs slightly.
.
Ariba Ariba Buyer system
Buyer including
Domain integration events
MessageBroker
worksheet TIB/MessageBroker TIBCO
Domain
SAP system ,
including
SAP
task-specific RFCs,
Domain
BAPIs, or IDOCs, and the
ZARIBTVARV table
The Ariba Buyer, TIBCO, and SAP domains contain the following elements:
• Ariba Buyer System, including integration events—Integration events describe a
data exchange. They are defined by partition in message configuration files and by
variant in message definition files. Integration events tell 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 run pushes or pulls for a
partition manually through Ariba Buyer Administrator, automatically as a
scheduled task, or as a part of the initialization process when you first create the
Ariba Buyer database.
For general information on integration events, see the Ariba Buyer Data Load
Guide. For a description of all integration events, see the Ariba Buyer
Configuration Reference Guide. For information on the integration events that
work with SAP configurations, see Appendix C, “Integration Events Reference.”
• MessageBroker—Ariba Buyer uses TIB/MessageBroker to route and manipulate
data between Ariba Buyer and external data contained in the SAP ERP system. For
integration to SAP or other data sources, the most prominent part of
MessageBroker is the worksheet.
• MessageBroker worksheets—The worksheets (also called transforms) define the
mappings and data transformations between Ariba Buyer and SAP.
MessageBroker uses worksheets to organize the work it does with messages and
their data. Each worksheet is a set of transformation instructions bundled with
publish and subscribe subjects. Worksheets are stored in the TIB/Repository and
are executed when TIB/MessageBroker receives a subject to which the worksheet
subscribes.
• TIB/Adapter for R/3—Your default Ariba Buyer configuration for SAP uses the
TIB/Adapter for R/3 to share data between TIBCO applications and your SAP
system. The TIB/Adapter for R/3 communicates directly with Ariba Buyer RFCs
and the RPC clients in worksheets. If you have enabled real-time integration of cost
center, GL account, and vendor information from SAP, the TIB/Adapter maps the
IDOC to Ariba Buyer objects. For more information about the TIB/Adapter for
R/3, see the documentation on the TIBCO product CD.
• ZARIBTVARV— ZARIBTVARV is a custom table used to configure parameters by Ariba
Buyer RFCs. For more information on this table, see Chapter 6, “Parameter
Configuration.”
• Ariba Buyer RFCs—You load Ariba Buyer RFCs by installing Ariba Buyer into
your SAP system. Ariba Buyer custom RFCs pull data and post transaction data
into SAP.
In addition to pulling data from SAP, an Ariba Buyer SAP partition typically pulls
Ariba-specific data from CSV files, such as adjustment types and commodity code
mapping information.
with:
sy-saprl eq ‘610’
Optionally, you can pull the following data from SAP with some configuration on
your part:
• Users
• Release authorizations
• User release authority
Note: Vendor master payment terms pull is available in Ariba Buyer 8.2.
The Ariba Buyer Data Load Guide discusses how to configure this optional data. For
more information about pulls and integration events related to SAP, see the Ariba
Buyer Configuration Reference Guide.
Scheduled Pulls
Each data pull integration event runs on a separate schedule, so you set up different
schedules for pulling different sorts of information. For example, you might want to
pull vendors more frequently than currency conversions if you know the vendor
information changes more often in SAP.
The following events occur when Ariba Buyer pulls data from SAP:
1 Each time an integration event runs, it communicates with the TIB/MessageBroker.
6 The RFCs query and process the information from the SAP database.
7 The RFC returns the mapped information to the Ariba Buyer database for use in
valid Ariba Buyer objects.
For SAP 4.6C only, remittance pull is available through the Ariba Settlement module.
You can pull remittance advice for payments created for the following within a
specified time period:
• Invoices
• Credit and debit memos
Limitations
SAP does not support remittance pull in the following scenarios:
• The payment document contains withholding tax.
• Partial or residual payments are involved.
• The payment document has been reset.
• The payment document is an intercompany payment.
• The payment document is a down payment.
Process Flow
1 Schedule the RemittancePull integration event, or run the RemittancePull
integration event.
2 The RemittancePull integration event calls the RemittancePullEventSAP
MessageBroker sheet.
3 The MessageBroker sheet reads the date TimeStamp file from the Ariba Buyer
installation directory.
4 If the time stamp is found, it passes the date timestamp as an input parameter to the
RFC, that is, Z_ARIBA_REMITTANCE_PULL is called in the MessageBroker sheet.
5 Each payment document in SAP is mapped to create a payment transaction in
Ariba Buyer, or, in the case of a void document, is mapped to update a payment
transaction in Ariba Buyer.
Note: If you want to pull remittance advice only from a specified date for the initial
run, create a date time stamp field.
When you are entering Ariba invoices in SAP, provide the SupplierInvoice number
in the Reference Number field. If you are using the Reference Number field to enter
the Ariba IR number, change the mapping in the MessageBroker sheet as follows:
map the SAP reference number (RemItems-RefDoc) to PayableReferenceNumber
(LineItems-PayableReferenceNumber) instead of SupplierPayableReferenceNumber in
Mapper3.
Additional Considerations
The following are considerations pertaining to remittance advice pull:
• When the Check Payment method is used, remittance advice is pulled only after
the checks have been printed.
• If a payment is made to a special GL account, such as a Bill of Exchange,
remittance advice is not pulled to Ariba Buyer.
• For manual payments, associated payment methods are not set in the payment
documents. Consequently, an empty payment is pulled regardless of the payment
method set in the invoice document. In the default configuration, the empty
payment method is mapped to the Ariba Buyer payment method “Other.”
• For manual payments, if the check is printed out after the remittance advice is
pulled, the check number is pulled to Ariba Buyer during the next remittance
advice run and updates the “Payment Number” in the Payment Transaction object.
However, it is not pushed to the AN supplier.
• Down payments are pulled as credit-line items after payments are made on the
down payments and their associated invoices, not at the time they are created.
The following steps explain how a purchase order push integration event works:
1 If the order is destined for SAP, Ariba Buyer sends the order to
TIB/MessageBroker.
2 TIB/MessageBroker executes the purchase order push worksheet to obtain the
correct worksheets.
3 TIB/MessageBroker transforms the data into the format required by the
Z_ARIBA_PO_PUSH RFC and then sends the data to Ariba Buyer push RFCs through
the TIB/Adapter for R/3.
4 The Z_ARIBA_PO_PUSH RFC creates purchase orders through purchase order creation
transactions within SAP.
5 The Z_ARIBA_PO_PUSH RFC returns purchase order details, including the purchase
order number, and any errors that occur.
The following features are not provided in the push purchase order integration with
Ariba Buyer:
• Pushing the title of purchase orders to SAP.
• Support for the “deliver to” or “ship to” address in an Ariba Buyer purchase order.
In many circumstances, the plant field provides the information for SAP to deliver
to the address field in purchase orders.
For example, if the number of decimals allowed in SAP is two for USD and if Ariba
Buyer sends a net price (that is, unit price) of 100.023, the wrapper RFC adjusts the
net price to 1000.23 and the unit price to 10. If the price unit exceeds 10000, an error
message is sent to Ariba Buyer if PO Push using RFC is in use.
If you are using BAPI to push purchase orders, you use the PurchaseOrderPushBAPI
integration event instead of PurchaseOrderPush. To make sure the correct event is
used, do the following:
• Set the Disable parameter to false for PurchaseOrderPushBAPI.
• Add Disable = true to PurchaseOrderPush in the MessageConfiguration.table file
in each partition where you are using BAPI to push purchase orders.
BAPI truncates the price if it has more than two decimal places, regardless of the
number of decimal places allowed for that currency.
BAPI truncates the net price if it has more decimal places than those defined in the net
price currency.
If a purchase order or a change purchase order is pushed using a BAPI, the carriage
returns in the line item text are pushed and displayed as the hash character '#' in the
line item text in the SAP purchase order.
When Ariba Buyer pushes a changed or canceled purchase order, it uses the RFC
Z_ARIBA_BAPI_PO_CHANGE or Z_ARIBA_BAPI_PO_CANCEL to fill the BAPI tables, and, in
turn, calls BAPI_PO_CHANGE to push the purchase order to SAP.
The following are important notes about pushing changed and canceled purchase
orders to SAP:
• If you enable the change/cancel purchase order feature, users must always change
and cancel orders through Ariba Buyer and not change or cancel them through
SAP. Therefore, apply the appropriate authorization concept in SAP to prevent
users from changing purchase orders directly in SAP.
• To enable the change/cancel purchase order feature, you install the change/cancel
order transport. The transport number is listed in the transport readme.txt file. See
Appendix B, “About SAP Transports,” for more information.
• The change/cancel purchase order feature has been tested with specific SAP
support packages. If you installed different support packages, the BAPI interface
might be different. In this case, either install the tested support packages or modify
Z_ARIBA_BAPI_PO_CHANGE and/or Z_ARIBA_BAPI_PO_CANCEL. For a complete list of the
tested support packages, see the Ariba Buyer Release Guide.
• A limitation in the standard SAP BAPI creates the following situation: If the
Account Assignment category is modified in Ariba Buyer, the Account
Assignment category is changed in SAP. Furthermore, the GLAccount is changed
to a default GLAccount after it has been pushed to SAP. To resolve this issue,
modify the GLAccount in SAP using the Account Assignment tab in the Item Detail
section.
• Support packages SAPKH46C30 and SAPKH46C42 are required for text updates.
• On SAP service orders, you cannot change the line items, but you can delete them
or cancel the entire order.
If an order reaches SAP successfully, its status can still change in SAP. For example,
if you receive against an order in SAP, a subsequent cancel order from Ariba Buyer is
certain to be rejected. To reduce the occurrence of such situations, Ariba Buyer
provides a scheduled task, ProcessERPHeaderStatusPull, which pulls header status
information from SAP. This task sets a field in Ariba Buyer, ERPAllowCancel, which
specifies whether the order can be canceled.
Note: Use ProcessERPHeaderStatusPull only if you have enabled change and cancel
order push to SAP and you are doing a lot of receiving in SAP.
The scheduled task ProcessERPHeaderStatusPull does not eliminate all the cancel
push failure errors. SAP uses many factors to determine if it is possible to cancel an
order. However, the status pull is based on invoicing and receiving status.
ProcessERPHeaderStatusPull pulls the status for all orders in the Ordered state for the
time period (days before the current date) you specify in the QueryPeriod parameter.
You can also specify the schedule for the ProcessERPHeaderStatusPull task in
ScheduledTask.table.
The RFC Z_ARIBA_PO_HEADER_STATUS is used to pull the status information from SAP.
Pushing Receipts
You schedule receipt push integration events or run them manually from Ariba Buyer
Administrator.
The following steps explain how a receipt push integration event works:
1 When an item is received in Ariba Buyer, a receipt object instance is approved.
Note: Receipts are not pushed to SAP if the total accepted quantity is zero. This
situation occurs when a user rejects the items and does not accept any items.
2 When the scheduled receipt push scheduled task runs, or is run manually, Ariba
Buyer sends the receipt object to the TIB/MessageBroker receipt push worksheet.
Note: The scheduled task ProcessReceipts posts receipts from Ariba Buyer to SAP.
However, you cannot post a receipt successfully in SAP if the period has been
closed in SAP.
This chapter presents the tasks you complete to configure Ariba Buyer mechanisms
for integration with SAP. It includes the following sections:
• “Installing and Configuring Ariba Buyer” on page 27
• “Initializing the Channel” on page 30
• “Setting Up the TIB/Adapter Using TIB/Designer” on page 31
• “Starting the TIB/Adapter for Each Partition” on page 35
You create a set of SAPConnections parameters for each SAP instance with which
Ariba Buyer communicates. This document refers to the unique instance name of
your destination SAP system as SAPInstanceName. If you have multiple SAP systems,
each instance name must be unique. For additional information on these parameters,
see the Ariba Buyer Installation Guide for your operating system.
Parameter Description
System.SAPConnections.SAPInstanceName. Defines the client identification
ClientID number for the SAP instance.
System.SAPConnections.SAPInstanceName. Defines the destination SAP
Destination instance name.
System.SAPConnections.SAPInstanceName. Represents the gateway for the
SAPGateway instance.
System.SAPConnections.SAPInstanceName. Represents the gateway service for
SAPGatewayService the instance.
System.SAPConnections.SAPInstanceName. Represents your SAP host name
SAPHost for the instance.
System.SAPConnections.SAPInstanceName. Sets the default language for the
SAPLanguage instance according to SAP’s
abbreviations.
System.SAPConnections.SAPInstanceName. Sets the password for connecting
SAPPassword to the instance.
System.SAPConnections.SAPInstanceName. Represents the system number of
SAPSystemNumber the SAP system for the instance.
System.SAPConnections.SAPInstanceName. Defines the user that Ariba Buyer
SAPUser uses to connect to the instance.
System.SAPConnections.SAPInstanceName. Determines whether the
SetTrace connection uses tracing. Set the
parameter to 0 to turn it off, and to
1 to turn it on. The default is 0.
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;
}
Using a command-line argument, Ariba Buyer passes the value you specify to the
TIB/Adapter for R/3 as the setlocale parameter. The SAPAdapterLocale parameter
determines the logon locale you use to run the TIB/Adapter for R/3. The logon locale,
in turn, determines the character encoding used to transfer the data. The value
determines the character encoding in which data is transferred.
To set up this parameter, add an entry for each operating system where you run the
TIB/Adapter. For each operating system, list the value in the format locale/encoding,
where the locale and encoding are valid on the operating system you specify. Valid
operating system codes are HPUX, Solaris, AIX, and NT.
For example:
Application = {
Messaging = {
Channels = {
Tibco = {
GlobalProcesses = {
SAPAdapterLocale = {
AIX = ibm-943;
HPUX = ibm-943;
NT = ibm-943;
Solaris = ibm-943;
;
};
};
};
};
};
In the previous example, the configuration runs one adapter on AIX, one adapter on
HP-UX, one adapter on NT, and one adapter on Solaris. For each of those adapters,
the locale/encoding is appropriate for a Japanese language configuration.
For more information on the available options to setlocale, see the documentation for
R/3 on the TIBCO product CD.
initdb -initchannel
This command creates all the necessary channel-related items to prepare for loading
data into Ariba Buyer. For instructions on running the initdb command, see the Ariba
Buyer Installation Guide.
After initializing the channel repository database, you set up the TIB/Adapter.
This rest of this section describes these steps for TIBCO. If you are using another
integration channel, such as IBM WebSphere BI Adapter, see the documentation from
the channel’s vendor.
2 After you start the SAP Design-Time Adapter, run TIB/Designer by typing:
runtibco -startdesigner
7 From the Project List, select the SAP project you want, and click OK.
The project you selected opens.
You use TIB/Designer for configuration tasks described in the following sections:
• “Verifying Client Connection Information” on page 32
• “Verifying Client Information” on page 32
• “Verifying Parameters for Connection Retries” on page 33
• “Verifying Server Connection Information” on page 34
• “Exporting SAP Configuration Changes to Synchronize Data” on page 34
2 In the Configuration panel, click the Inbound Connection tab, and verify the contents
of the Application Number and System Number fields.
3 Make any necessary changes.
• R/3 Logon Language—the default SAP language code for the Ariba Buyer CPIC
user.
2 In the Configuration panel, click the Configuration tab, and verify the contents of the
Client Number, User Name, Password, and R/3 Logon Language fields.
3 Make changes, if necessary.
4 If you have made changes, click Apply. To change the contents of the fields back to
their initial settings, click Reset.
2 In the Configuration panel, click the Advanced tab, and verify the contents of the
Retry Attempts, Time Between Retries, Retry Increment, and Max Connections
fields.
3 Make changes, if necessary.
4 If you have made changes, click Apply. If you want to change the contents of the
fields back to their initial settings, click Reset.
2 In the Configuration panel, click the Configuration tab, and verify the contents of the
Program ID, Gateway Service, and Gateway Host fields.
3 Make changes, if necessary.
4 If you have made changes, click Apply. If you want to change the contents of the
fields back to their initial settings, click Reset.
When you run the runtibco -loadsap command, configuration data is:
• Read from Parameters.table and SAPConnectionInfo.table.
• Written into these template files.
• Imported into the TIBCO Repository database.
The runtibco -loadSAP command replaces the existing SAP schema and
configuration data in the TIBCO Repository with the configuration present on the
disk. This command usually runs during the initdb -initchannel command sequence
when the SAP Repository instance is created for the first time.
Ariba recommends that you use runtibco -loadSAP only to update and load into the
TIBCO Repository any connection information defined in SAPConnectionInfo.table.
Make all schema-related changes directly in the TIBCO Repository through the SAP
Design-Time Adapter, as described in “Setting Up the TIB/Adapter Using
TIB/Designer” on page 31.
After you make changes to the SAP schema or configuration using the SAP
Design-Time Adapter, use the runtibco -exportSAPConfig command to export the
changes to the following files:
• config/variants/variantName/tibco/sapconfig.xml
• config/variants/variantName/tibco/saprealtimeconfig.xml
Exporting the changes to these files ensures that the information on the disk is current
and avoids inadvertently replacing the information in the TIBCO Repository with
what is on the disk.
This command starts a single TIB/Adapter program file, adr3, for integration with an
SAP system for a single partition.
You install and configure one TIB/Adapter for each SAP partition in Ariba Buyer.
Before using Ariba Buyer with SAP, you configure your SAP system and install the
Ariba development classes. This chapter provides the information you need to
configure and install Ariba Buyer items for your SAP system. Ariba recommends that
you have an SAP BASIS administrator assist you.
Note: Before you complete the tasks in this chapter, you must perform the tasks in
Chapter 2, “Ariba Buyer Setup.”
Note: It is safe to grant the Ariba Buyer CPIC user full privileges because CPIC users
have no dialog access to your SAP instance.
When connecting to SAP, you choose an account for Ariba Buyer to use. Ariba
recommends you create a new account, but use an existing account if you prefer.
The default user name for this account is ariba. Whichever user you choose, check
the user defaults and make sure they are set as follows:
• For date format: MM/DD/YYYY
• For decimal notation: . (period)
2 Enter the user ID you have chosen for Ariba Buyer integration, and click the Create
icon.
3 Click the Logon data tab.
4 Enter the password for the Ariba user in the Initial password field, and click the
CPIC radio button for User Type.
The other fields in the screen are optional. Fill them in as you want. Choose the
Enter check when you finish.
6 In the Defaults tab, enter the following values for the following fields:
• Date format—MM/DD/YYYY
• Decimal point format —Period
7 Complete the other fields of this screen, or leave them blank as you want, and
choose the enter check. In the Parameters tab in the next screen, complete the fields,
or leave them blank, as you want.
Ariba recommends you have or create one dialog user ID for each developer or
administrator working on your Ariba Buyer integration. This practice is necessary
because these people must perform the following tasks on your SAP instance:
• Install the Ariba Buyer RFC transports.
• Configure the order determination for purchase orders from Ariba Buyer.
• Customize or extend Ariba Buyer RFCs and RFC structures.
• Configure Application Link Enabling (ALE) for real-time configuration.
To view Ariba Buyer integrations within the SAP user interface, you allow Ariba
Buyer and the TIB/Adapter for R/3 to access SAP through a dialog user ID. For
convenience, you might use the default user name ariba for this account. As with the
CPIC ID, check the user defaults and make sure they are set as follows:
• For date format: MM/DD/YYYY
• For decimal notation: . (period)
If you are integrating with SAP, it is required that you install SAP transports as part of
your Ariba Buyer installation. This section provides background information about
the Ariba-delivered SAP transports and detailed instructions for installing them.
Note: Ariba recommends that you ask your SAP BASIS personnel to install the
Ariba-delivered transports.
BuyerServerRoot/configureOptions/sap/ariba/variant/trans
Within this directory are subdirectories containing data files and cofiles for the
Ariba-delivered transports. Each transport has one data file and one cofile. The data
file names begin with the letter R, and cofile names begin with the letter K. For
example, a transport named ABCK900123 might have the following data file and cofile:
trans/data/R900123.ABC
trans/cofiles/K900123.ABC
Copy the Ariba transports from the location on your Ariba Buyer system to the
relevant subdirectories on your SAP system.
Import Considerations
In general, you do not use any umodes when installing these transports. Use umodes
in the following circumstances:
• You have a previous version of the Ariba objects in your SAP system, and some
core objects have been modified. In this situation, override the repair flag on import
by using a umode. Reinstate any overwritten modifications to Ariba core objects
using the appropriate SAP tools.
• You need to reimport one of the delivered transports. In this situation, make sure
the transport is fully reimported by using umode 1.
If you do not require real-time integration, you do not have to import the real-time
integration transport. However, if you do install this transport, configure your SAP
system to use real-time integration with Ariba Buyer after the import is complete. See
“Real-Time Integration Transport” on page 43.
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 might encounter this time-out limit. In this
case, the SAP system could cancel the job. To avoid this problem, you change your
SAP configuration to lengthen the time-out interval. Change the interval on your
central instance as well as any application servers that communicate with Ariba. For
the change to take effect, restart each SAP server.
Note: Make sure to enlist the help of your BASIS administrator to make these
changes.
4 Enter the most current version (you create a new version based on the most current
one).
5 In the Edit profile panel, click the Extended maintenance radio button.
6 Click Change.
If the value does not appear in your profile, create it by choosing Create from the
Parameter menu.
10 Click Copy.
This step makes a copy of the new profile. The status line displays the message
“Changes were made.”
11 Navigate back to the initial Edit Profiles screen, and save the changes.
13 Restart your SAP server for the profile changes to take effect.
14 Repeat the steps in this procedure for each application server that exchanges data
with Ariba Buyer.
Checking Data
In some cases, Ariba Buyer does not pull data from the SAP system unless that data
has been set up in a particular manner in the SAP system. This section describes a few
places to check the data on your SAP system, to make sure it has been set up to match
the expectations of Ariba Buyer.
If an integration entry fails, check this section again to look for problems.
2 Choose General Settings > Currencies > Check Exchange rate types. Set the symbol, if
necessary.
Blank Descriptions
For most data in the SAP system, such as Purchasing Groups, the SAP integration
pulls—and uses—both ID and description fields from the SAP system. If either value
is blank, the pull ignores that item, and it does not appear in the Ariba Buyer system.
Check your SAP system to make sure all material groups and purchasing groups have
valid—that is, 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 has partner functions specifying
multiple ordering addresses. The SAP integration pulls one ordering address only, so
users cannot choose from among multiple ordering addresses.
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.
Purchase orders from Ariba Buyer for SAP contain a field to determine whether 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 you to 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.
• To correct this problem, configure SAP to set a default tax code.
• If you cannot configure a default tax code, change the message type from error to
information or warning in SAP.
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 has been corrected.
To use the real-time loading features with your Ariba development classes, you
perform further configuration. For instructions, see “Real-Time Integrations” on
page 115.
Receiving Tolerances
Ariba Buyer allows users to enter receiving information about the items they order. To
support this feature, 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 have
ordered.
To learn how to set these values, see the Ariba Buyer Procurement Guide.
Make sure you know the following facts about Ariba Buyer receiving integration:
• Ariba Buyer does not push receipt tolerances when pushing a purchase order.
• Ariba Buyer does not pull tolerances from SAP, but instead uses only those
tolerances in the system parameters table.
• For receiving integration to work, make sure the receiving tolerances in Ariba
Buyer match the receiving tolerances in SAP.
ERP Orders
ERP orders are purchase orders that Ariba Buyer pushes to an ERP (such as SAP)
instead of sending them to the vendor. Ariba Buyer expects SAP to handle the ERP
orders and transmit them to vendors.
Be careful about receiving integration with ERP orders because SAP users and
processes can change an ERP order after the ERP order is in SAP. Such changes can
cause errors, especially if 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 have been fulfilled.
See your Ariba Solutions Delivery representative to obtain more information and to
decide if ERP orders are appropriate for your implementation.
Testing Connections
Three ways are available for you to test your connection to SAP from Ariba Buyer
after you have completed the tasks in this chapter, performed TIBCO-related initdb
commands, and completed the tasks in Chapter 2, “Ariba Buyer Setup.” You can use
the following:
• runtibco command (-startsapadapter option)
• SAP user interface
• TIB/Designer
4 Open the file in a text editor. If you see entries such as the following, you have
connected successfully 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"
5 If you find RFC-related error messages in the file, verify the SAP configuration
using TIB/Designer, as described in “Setting Up the TIB/Adapter Using
TIB/Designer” on page 31.
3 Find an entry for the Ariba Buyer host if you started the TIB/Adapter for R/3.
4 Connect from the Ariba Buyer system through the SAP user interface to make sure
no other factors not related to Ariba Buyer or TIBCO products are affecting your
connection.
2 Open TIB/Designer.
4 Click the Configuration tab in either the Inbound Connection or Design-Time Connection
tab, as appropriate.
5 Specify the proper connection information for the SAP system you want to connect
to.
6 Click Test Connection.
The Connection Success message box appears if your information has been
correct.
Ariba Buyer provides the worksheets and integration events for standard Ariba Buyer
data pulls from SAP. Because your SAP implementation might contain additional
data to be included with Ariba Buyer purchase orders or receipts, you modify these
data pulls to include such data.
The information presented in this chapter is intended for SAP administrators and
developers. Performing the tasks detailed in this chapter requires familiarity with the
ABAP/4 (Advanced Business Application Programming) language and proficiency in
basic SQL tasks.
This chapter describes how to create and edit objects in your SAP instance. When you
make changes to Ariba Buyer objects in SAP, you might encounter the following
warning: “Only urgent repairs in the consolidation system.” This warning appears
when you change objects on both consolidation and development systems and
indicates that you’re making changes to objects that originated in another system. In
this particular case, the objects originated from Ariba. The SAP client expects you to
develop your own objects on a development system rather than to change objects from
third-party vendors. Therefore, in the context of this chapter, it is safe to disregard this
warning message.
To customize Ariba Buyer RFCs, you identify the data to be pulled, the RFCs to be
used, and the structures where this data appears.
Customer development classes like ZARC provide special structures, called extension
structures. You use extension structures 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. See “Summary of Ariba SAP
Development Classes” on page 138 for a comprehensive list of customer development
classes.
Ariba Buyer RFCs use these extension structures to determine which fields to create
in the tables they export to Ariba Buyer. Essentially, extension structures function as a
template to define the structure of the Ariba Buyer RFC tables. A diagram of this
concept follows:
Ariba Buyer TIB/MessageBroker worksheets retrieve the tables through RPC clients.
The integration channel incorporates the table data into Ariba Buyer objects
according to the field and object descriptions in SAP schema.
Extension structures have all the fields in the core Ariba development structures such
as ZAF6 in addition to any fields you add. The contents of an extension structure are
shown in the following diagram:
For example, the ZXTASSET extension structure for asset pulls contains a substructure
called ZARASSET. The ZARASSET substructure holds all the base fields that Ariba Buyer
RFCs need to run. To add new asset fields to Ariba Buyer RFC data pulls, you add
them to the ZXTASSET structure.
Note: If you change the original structures of Ariba-supplied RFCs, your SAP
integration might not function properly. Similarly, you include the original structures
as well as the .include statements within the extensions.
This chapter explains only how to define extrinsic data within an extension structure.
If you make changes to extension structures, you modify your channel’s data mapping
(TIB/MessageBroker worksheets, for example) to map and transform these fields
appropriately. You also modify the Ariba Buyer metadata XML to include your
changes. For information on these tasks, see the following guides:
• Ariba Buyer TIBCO Configuration Guide
• Ariba Buyer Customization Guide
Note: Use TIB/Designer to add or change SAP schema from RFCs in the
TIB/Repository. For more information, see “Changing SAP Schema” on page 59.
For example, internal orders have the root ORD. The extension structure has the name
ZXTORD, andthe Ariba Buyer structure is named ZARORD.
2 Determine which Ariba Buyer RFC selects data from that particular table.
3 Add the field to the RFC extension structure for the table.
You use the exact field name and data element descriptions for the column from
which you pull data. When the Ariba Buyer RFC runs, it uses the information you
provided to find the column in the table.
Note: Whenever you make changes to a structure, make sure to click Activate.
To pull data into worksheets, you need to specify the corresponding schema as an
export parameter for your RFC. You might also need to configure your worksheets to
send appropriate variant and partition information as import parameters to the custom
RFC. For more information on this process, see “Defining Adapter Services for New
Custom RFCs” on page 57.
To pull data into Ariba Buyer, you customize your channel’s data mapping, such as
customizing a TIB/MessageBroker worksheet. Often, you import your SAP variant
and partition and define the structure your schema uses.
2 Write your custom RFC, importing and exporting any necessary structures.
3 Create the worksheets for the channel you use to change the data into Ariba Buyer
objects.
4 Write your custom Java code, as required.
The rest of this section contains material about filtering and example RFC code useful
for the first step of writing your RFC and importing appropriate structures.
For more information on writing custom RFCs and creating worksheets, see the
following documents:
• Ariba Buyer TIBCO Configuration Guide
• Ariba Buyer Customization Guide
• Ariba Buyer API Guide
The channel adapter uses metadata in the XML classes files, called SAP schema, that
describes these parameters. The structure of these XML files resembles the local
interfaces of RFCs. The SAP schema files reside in:
config/variants/variant/partitions/partition/tibco/adapter/sap/classes/sap
Your interfaces should be similar to the interfaces 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
5 Confirm that the Daemon, Network, and Service fields display the correct entries.
If they do not, enter the appropriate corrections.
6 Click the Load Project List button.
8 Click OK.
2 View the TIB/Repository using the steps outlined in the previous section.
11 Click the Configuration tab, and specify the correct IDoc filter or RFC filter.
Note: You can also add a resource through using TIB/Designer menus. From the
Resource menu, for example, choose Add Resource > R3 Adapter > Request-Response
Service.
14 Select the RFC/BAPI panel, and make sure the desired RFC is included.
15 From the R3 Adapter palette, select the appropriate service, for example, the
Request-Response Service.
18 Select the desired RFC, for example, Z_ARIBA_WBSERVER, and click OK.
21 Click Apply.
6 Drag and drop an appropriate generic scalar type from the palette window into the
upper-right panel that displays the list of fields.
Note: You can also change SAP schema using a TIB/Designer menu. From the
Resources menu, choose Add Resource > Adapter Schemas, and select the type you
want.
8 Click Apply.
For example, if you added a field of type char.4, choose char.4 from the list of
scalar fields.
11 Click Apply.
Note: If you enabled the Settlement module after the initchannel process, you can
import a specified MessageBroker sheet to the TIB/Repository by running:
For more information on installing the Ariba Settlement module, see the Ariba
Settlement Guide.
Before the initial run of the RemittancePull scheduled task, you create the date
timestamp file in the installation directory with the starting date and time of the
payments that need to be pulled from SAP.
The RemittancePull scheduled task assigns a filename derived from the eventsource
parameter, which is defined in the MessageConfiguration.table.
partitionRemittancePullEvent_SAP
The date and timestamp filename is a concatenation of the three parameters in the
eventsource. For example, if your partition name is SAP46c, the name of the file that
exists in your installation area would be:
SAP46cRemittanceSAP
If the date timestamp file is not found, RemittancePull pulls payments created on the
current date. Subsequently, RemittancePull updates the date timestamp with the
current date after every run.
The following SAP to Ariba Buyer payment method mapping information is available
in the default configuration in the MessageBroker sheet:
If you have a payment method that is not mapped in the default configuration, you
must change the mapping in the MessageBroker sheet.
Increasing Performance
Remittance pull works best for SAP with fewer than 500 payments or fewer than 3000
invoice line items per run. To tune the performance of this feature:
• Increase the Java memory size of the MessageBroker engine from 128 MB to 1024
MB.
• Increase the Java memory heap size of the MessageBroker to avoid out-of-memory
errors.
Filtering
Your SAP development classes for Ariba Buyer offer three ways to filter, or restrict
the data included in a data pull. These filtering methods are described in the following
sections:
• “About Static Filtering” on page 63
• “About ABAP Filtering” on page 70
• “Understanding Post-Hook Filtering” on page 72
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 search for any entries that
match their names. If they find a match, they restrict the query according to the
instructions in the ZARIBTVARV entry. The RFCs used to pull master data from SAP into
Ariba Buyer can use the table ZARIBTVARV to filter the data before it is pulled into
Ariba Buyer. Each RFC has a specific table whose fields can be used in ZARIBTVARV.
For more information, see “ZARIBTVARV RFC Reference” on page 158.
Static filtering is quick and simple, but it does not handle inner join queries against
more than one table. If you need to restrict data pulls that pull from more than one
table, use the filtering techniques explained in “About ABAP Filtering” on page 70.
Editing ZARIBTVARV
To restrict statically the data that an Ariba Buyer RFC pulls, make a corresponding
entry in ZARIBTVARV. Enter a new row in the ZARIBTVARV table with the RFC name, the
field you want to use, and information about what you’re trying to find.
Note: Ariba suggests you run transaction SM30 to examine ZARIBTVARV. Your SAP user
ID must have authorization S_TABU_DIS to run transaction SM30. ZARIBTVARV resides as
a table within the dictionary objects for the ZAR6 class.
You also use the ZARIBTVARV table to configure variable settings in certain RFCs. In
particular, you 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. To learn more about parameter use, see Chapter
6, “Parameter Configuration.” For instructions on editing the ZARIBTVARV parameters,
see “About ZARIBTVARV” on page 87.
Field Name Refers to the column name you use to filter data. Necessary for filtering only
Leave this field blank to use ZARIBTVARV for (selection type S).
parameters and selection type P.
Selection Determines whether to use ZARIBTVARV to filter Necessary for both filtering
Category data or to configure a parameter for an RFC. and parameter use
Enter a value of S to perform filtering and P to (selection types S and P).
configure parameters.
The following example takes you through the steps of creating an equality and
inclusion filter condition.
Scenario: You need to create a static filter that pulls only company information for
companies in specific countries.
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 might look similar to the entries in the following table (the VARIANT and
PARTITION fields are not included):
The fields in the VARIABLE NAME column indicate this filter is for the data pulled by the
RFC Z_ARIBA_COMPANY.
The fields in the FIELD NAME column indicate you’re pulling data from the LAND1
column.
The fields in the SELECTION CATEGORY column specify to the calling function that the
row is for filtering, or selecting, data. In this case, the S specifies filtering.
The fields in the NUMBER column include more than one row of the same filtering table
in the condition. It starts at zero, or 0000. The order is not significant.
The fields in the INCL/EXCL column indicate whether to exclude the condition from the
statement or 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. For an example of exclusion, see “Ranges and Exclusion” on
page 68.
The fields in the OPTION column determine that you’re selecting for a condition of
equality (EQ). It is also possible to specify:
• Ranges of values (BT)—The “BeTween” option specifies a selection within the
range of values in the LOW and HIGH fields, such as the names between “Daly” and
“Thompson.”
• Pattern matches (CP)—The “Contains Pattern” option allows you to return data
with a given pattern, for example, names that begin with “Lu.” For more
information, see “Patterns and Comparisons” on page 69.
• 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.”
The ZARIBTVARV entries could resemble the rows in the following table.
The selection first includes the range between AU and GB and then excludes CA.
Suppose you want to pull only vendors that certain users have 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 LAFI. LAFI
contains the column ERNAM for the user name. The logic of the selection could
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. Using AND ERNAM < “ND” is more concise.
Each RFC passes its name to Z_ARIBA_PREFILTER_EXT. You use conditional tests to
determine how and if Z_ARIBA_PREFILTER_EXT restricts the data set of the table based
on the calling RFC name. This process is called ABAP filtering because you write
ABAP/4 code to get the results you want.
Prefilter Interface
The local interface for Z_ARIBA_PREFITLER_EXT is as follows:
*”*”Local interface:
*” IMPORTING
*” VALUE(VARIANT) LIKE ZARIBTVARV-VARIANT
*” VALUE(PARTITION) LIKE ZARIBTVARV-PARTIT
*” VALUE(NAME) LIKE ZARIBTVARV-NAME
*” TABLES
*” WHERE STRUCTURE WHERETAB
*” EXCEPTIONS
*” INVALID_SELECTION_SIGN
*” INVALID_SELECTION_OPTION
The RFCs pass your unique Ariba Buyer variant, partition, and RFC name.
Following 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
Only SAP can use the SAP infrastructure of user exits, 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 compose most of the customer
development classes such as ZARC that allow you to make modifications.
An 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
In most circumstances, this 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 restrict it further. ABAP and static filters don’t work because they only
provide you access to the first table, not the second. You need to restrict the data after
the Ariba Buyer RFCs have finished with it. Post-hook filters let you restrict the data.
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, examine the way a typical RFC functions,
as shown in the following diagram:
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.
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
use this information to edit Z_ARIBA_PREFILTER to change data or perform other
processes before the RFC runs:
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, for you to make changes to the data:
This chapter explains how SAP administrators and developers and Ariba Buyer
implementation personnel configure Ariba Buyer development classes to change the
data Ariba Buyer pushes in purchase orders and good receipts. It includes the
following sections:
• “Push Extension Structures” on page 77
• “Understanding Screen Field Mappings” on page 78
• “Mapping Fields for Orders or Receipts” on page 80
• “Changing and Removing Fields” on page 84
• “Filtering and Customer Exit Functions” on page 84
• “Modifying Customer Development Classes” on page 85
• “Formatting Dates” on page 85
• “Unsupported Push Features” on page 86
The terms and explanations in this chapter assume a working knowledge of the
material in Chapter 4, “Configuring Pulls.”
For example, the purchase order push RFC, Z_ARIBA_PO_PUSH, provides the following
extension structures:
• ZXTPOHEADR—for header information
• ZXTPOITEMS—for line-item information
• ZXTPOACCNT—for accounting information
• ZXTPOERR—for error messages the RFC sends to Ariba Buyer (not part of the push)
For example, goods receipt push RFC, Z_ARIBA_GR_PUSH, provides the following
extension structures:
• ZXTGRITEMS—for line item receiving information
• ZXTGRERR—for error messages the RFC sends to Ariba Buyer (not part of the push)
Make sure that the corresponding worksheets set values for any fields you add to the
extension structures. The error message structures, ZXTPOERR and ZXTGRERR, are for
pulling error data into Ariba Buyer. For general information on extension structures
and how they work, see “Pulling Additional Fields Into Ariba Buyer” on page 52.
Ariba Buyer pushes orders into SAP by populating fields within the SAP purchase
order entry screens, and Ariba Buyer pushes goods receipts to SAP by populating the
fields within SAP goods receipts entry screens. The Ariba Buyer RFC determines
which fields to push and what information the fields contain through special tables for
field mappings.
• 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.
One of each kind of table is provided for purchase orders and goods receipts:
• ZARPOFMAP—Ariba Buyer RFC Purchase Order Mapping
ZARPOFMAP describes the SAP purchase order fields that Ariba Buyer RFCs have set
as part of a default configuration, including a mapping between the Ariba Buyer
RFC structures and the purchase order destination fields. Do not modify this
table.
• ZARPOFMAPX—Purchase Order Mapping Extension
ZARPOFMAPX is the extension table you use to instruct Ariba Buyer RFCs to add,
remove, or modify the purchase order fields that the Ariba Buyer RFCs have set.
The table maps from Ariba Buyer RFC purchase order extension tables to SAP
purchase order screen fields.
• ZARGRFMAP—Ariba Buyer RFC Goods Receipt Mapping
ZARGRFMAP describes the SAP goods receipts fields that Ariba Buyer RFCs have set
as part of a default configuration, including a mapping between the Ariba Buyer
RFC structures and the goods receipt destination fields. Do not modify this table.
• ZARGRFMAPX—Goods Receipt Mapping Extension
ZARGRFMAPX is the extension table you use to instruct Ariba Buyer RFCs to add,
remove, or modify the goods receipt fields Ariba Buyer RFCs have set. The table
maps from Ariba Buyer goods receipt extension tables to SAP goods receipt 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 understand
how to use the extension table for good receipts. The text in this chapter combines the
explanation of these tables.
Note: You customize only the extension tables ZARPOFMAPX 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.
The following documents explain how to push new fields to your Ariba Buyer RFCs:
• Ariba Buyer TIBCO Configuration Guide
• Ariba Buyer Customization Guide
The process of mapping fields for purchase order or goods receipt pushes consists of
three steps:
1 Find the screen field to map (also called the destination field).
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 user interface session, and to
keep all three SAP user interface sessions open, for cross reference, until you have
finished your field mappings.
2 To find the field you need, either display an existing document or create a new one.
To do so, use one of the following transaction codes:
• ME21—createsnew purchase orders
• ME23—displays existing purchase orders
• MB01—allows you to create new goods receipts
• MB03—displays existing goods receipts
4 If you chose to create a new purchase order or goods receipt, navigate through the
SAP screens until you find the field you want to map, entering information, as
necessary.
5 If you chose to display an existing purchase order or goods receipt, enter the
purchase order or material document number or use the selection box to locate a
document on your system to display. Then, navigate through the SAP screens until
you find the field you want to map.
6 Find the field information.
7 Select the field you want to map, and press the F1 key. In the help screen, click
Technical Info.
The screen that appears provides most of the information you need to enter in the
extension table about the destination field, including:
• Program name
• Screen number
• Table name
• Field name
8 Write down this information, or keep your SAP user interface open and use another
session to find the source field and edit the extension table.
Note: You make changes to the extension table by adding new rows, not by adding
new columns.
2 Access the initial screen of the ABAP Dictionary, and enter one of the following
data push extension tables within the Database table field:
• ZARPOFMAPX—to map fields for Ariba Buyer purchase orders
• ZARGRFMAPX—to map fields for Ariba Buyer goods receipts
3 Click Display.
4 In the Display Table window, choose Utilities > Table Contents > Create Entries.
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.
To remove a mapping of a field that Ariba Buyer RFCs already maps, enter a mapping
for the field you want to change within the extension table, but place an “X” in the
Deletion Flag field.
The customer exit functions work the same for pushes as they do for pulls—the only
difference is the direction in which the data is moving.
For example, the purchase order push and goods receipt push RFCs offer several
customer exit functions, which execute in the following order:
• Exits before any data processing begins:
Z_ARIBA_PO_PUSH_EXT
Z_ARIBA_GR_PUSH_EXT
Use these exit functions to manipulate purchase order and goods receipt pushes in
ways that field mappings do not offer.
Formatting Dates
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 Ariba Buyer pushes to your ERP system or
other data destination are also accurate.
Ariba Buyer imports, or pulls, all dates from external ERP systems and data sources
as strings. Ariba Buyer depends upon the java.text.DateFormat class within the Sun
JDK (Java Development Kit) to format these strings into Java date objects. See Sun’s
API Java 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.
The custom TIBCO function stringtodate is used in the worksheets to convert dates
from string format to Java date format.
The following sections explain these limitations and offer 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, do so within the appropriate
TIB/MessageBroker worksheets, not within the mapping tables.
Additional Tables
You 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, 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 an IDES (International Demo Education System) SAP instance. If you
changed the order or content of the purchase order or goods receipts screens on your
SAP system, you might be able to 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 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 change the way Ariba Buyer RFCs function by modifying parameters in the
RFCs. This chapter explains how to change Ariba Buyer RFC parameters and
describes the available parameters. The material in this chapter is appropriate for SAP
developers or administrators.
About ZARIBTVARV
You configure all Ariba Buyer RFC parameters through the ZARIBTVARV table. By
editing the parameter configurations in ZARIBTVARV, you:
• Perform static filtering on data pulls through TVARV-like selection options.
• Configure parameters that affect how Ariba Buyer RFCs function.
This chapter explains how to use ZARIBTVARV to configure Ariba Buyer RFCs. For a
list of the RFCs affected by parameters in ZARIBTVARV, see “ZARIBTVARV RFC
Reference” on page 158.
ZARIBTVARV contains a special field, called TYPE, which determines whether an entry is
for static filtering or parameter configuration. To change parameters, you enter a “P”
in the TYPE field. (If you set the field to S, you use ZARIBTVARV for static filtering; see
“About Static Filtering” on page 63.)
In your default configuration, ZARIBTVARV does not contain any parameters. Ariba
Buyer RFCs that call ZARIBTVARV already contain certain default values that they use.
Enter a value in ZARIBTVARV only if you want to change the default values.
2 Open the Maintain Table Views initial screen, enter ZARIBTVARV in the Table/View
field, and click Maintain.
3 Choose Edit > New Entries, or click the New Entries button.
4 Enter appropriate information in the screen that appears. For details, see the table
“ZARIBTVARV Parameters” on page 88.
5 To save your changes, choose Table View > Save or (press F11).
6 If a transport window appears prompting you to enter the change request, click
Create Request to create a new request, or choose an existing request number in the
Request field, and then click the check mark to create the transport request.
Default Parameters
The following table lists possible ZARIBTVARV parameters, default values, and the
RFCs that reference them. The remaining sections in this chapter explain what these
parameters do and provide other possible values.
ZARIBTVARV Parameters
COST_CENTER_DAYS_PAST 7 Z_ARIBA_COST_CENTER
PO_PUSH_DIRECTCC_DOC_TYPE AR Z_ARIBA_PO_PUSH
PO_PUSH_ERP_DOC_TYPE NB Z_ARIBA_PO_PUSH
PO_PUSH_ERPCC_DOC_TYPE AR Z_ARIBA_PO_PUSH
PO_PUSH_PCARDCC_DOCTYPE AR Z_ARIBA_PO_PUSH
Z_ARIBA_CURR_CONV_BANK_RATE B Z_ARIBA_CURRENCY_CONVERSION
Z_ARIBA_CURR_CONV_DAYS_PAST 60 Z_ARIBA_CURRENCY_CONVERSION
Z_ARIBA_GR_PUSH_DISPLAY_MODE N Z_ARIBA_GR_PUSH
Z_ARIBA_PO_PUSH_DISPLAY_MODE N Z_ARIBA_PO_PUSH
Z_ARIBA_REMITTANCE_BKPF ‘ ‘ Z_ARIBA_REMITTANCEPULL
Z_ARIBA_VENDOR_ONLY_COUNTPORGS 1 Z_ARIBA_VENDOR_ONLY
Parameter Descriptions
This section groups the following categories of parameters together and explains how
to use them:
• Days past
• Minority indicators
• Minority vendor head offices
• Currency conversion rates
• Monetary characteristics
• Debugging pushes
• Internal order types
• Purchase order document types
• Vendor pull performance tuning
• General ledger balance sheet accounts
• Real-time ALE/IDOC partition loading
• Duplicate PO handling
• Language for texts
Make sure 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
Note: You can determine how far back 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 use these parameters to watch what happens 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
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 = A
Z_ARIBA_GR_PUSH_DISPLAY_MODE = A
You can also configure the TIB/Adapter for R/3 to call the RFC within the SAP user
interface from TIB/Message Broker worksheets that use RPC client plugins.
3 Select the client node for which you want to enable ABAP debugging.
8 Make sure to use the dialog user login for the adapter so you can launch the SAP
user interface in dialog mode.
If you do not specify a value for AUART, your Ariba Buyer RFCs can create purchase
orders from any internal order in which the AUART field of the order master data (AUFK):
• Is not equal to a space.
• Is not marked for deletion (LOEKZ).
• Is not already ordered or released.
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 might want to configure a different
document type for Ariba Buyer orders or use a different type for SAP orders. To do
so, set the following ZARIBTVARV parameters:
• PO_PUSH_ERPCC_DOC_TYPE
• PO_PUSH_DIRECTCC_DOC_TYPE
• PO_PUSH_ERP_DOC_TYPE
If you are using BAPI to push purchase orders, you set the parameter
BAPI_PO_CREATE_DOC_TYPE instead of PO_PUSH_ERPCC_DOC_TYPE or
PO_PUSH_DIRECTCC_DOC_TYPE, and you set BAPI_PO_CREATE_ERP_DOC_TYPE instead of
PO_PUSH_ERP_DOC_TYPE.
To learn more about order types, see the Ariba Buyer Procurement Guide.
The default setting of 1 pulls a smaller set of data by executing two select statements
within the RFC code. The 0 setting pulls more data, which the RFC refines further
through a single selection query.
To enable Z_ARIBA_GENERAL_LEDGER to pull and use balance sheet accounts, you enter
the value allow in the BALANCE_SHEET_ACCOUNTS parameter. To instruct the RFC not to
use balance sheet accounts, even if balance sheet accounts are permitted on your
system, you enter the value disallow instead.
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 if it has already created a PO for the given requisition and the line
number. If so, Ariba Buyer does not create a new PO number but returns the existing
PO number.
If the Z_ARIBA_PO_PUSH_ALLOW_DUPS parameter is set, the RFC does not check for
duplicates. If the Z_ARIBA_BAPI_PO_CRT_ALLOW_DUPS parameter is set for BAPI PO push,
the BAPI code does not check for duplicates.
Note: Do not change this parameter setting unless you are testing with different Ariba
Buyer instances on the same SAP computer.
Duplicate GR Handling
By default, Ariba Buyer does not create duplicate goods receipts (GRs). In the RFC,
Ariba Buyer keeps track of the Ariba Buyer receipt IDs. When a GR is pushed, Ariba
Buyer checks to see whether it has already created a GR for the given receipt. If so,
Ariba Buyer does not create a new GR but returns the existing GR number.
If the Z_ARIBA_GR_PUSH_ALLOW_DUPS parameter is set, the RFC does not check for
duplicates.
Change PO Parameter
You debug the change/cancel purchase order feature by setting the parameter
Z_ARIBA_DEBUG_CPO to X and setting Z_ARIBA_CPO_FNAME to the name of a log file where
the change/cancel order information is logged.
This chapter explains how Ariba Buyer uses SAP account assignment categories. It
includes the following sections:
• “About Account Assignment Categories” on page 97
• “Displaying Fields and Requiring User Input” on page 99
The material in this chapter is appropriate for SAP administrators and developers and
Ariba Buyer implementation personnel.
For example, if you were to purchase an elevator for your company’s building through
Ariba Buyer, you could apply the cost of the elevator through an asset account
category. You might do so because buildings are usually considered assets. Quite
often, special tax and accounting considerations exist for expenses related to the
improvement or maintenance of assets.
Such considerations might make it necessary for your SAP system to handle expenses
for assets in 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, SAP doesn’t
require the entry of any information related to cost centers. When possible, SAP
includes default values for required information based upon current data.
The default Ariba Buyer SAP configuration pulls the categories listed in the following
table.
The table also identifies the required entries for each assignment category. For more
information about required entries, see “Configuring SAP Accounting Fields” on
page 99.
Note: In the default configuration, the CostCenter field is not displayed on the line-item
details screen when the user chooses account assignment category “F” (Order).
For example, the default asset account assignment category settings within an
International Demonstration and Education System (IDES) are as follows:
• Display and require the user to enter an asset name or ID.
• Display but do not require the user to enter the following:
• Asset sub-number
• Business area
• Deletion indicator
• Details account assignment block
• Quantity/Percent for material account assignment
• Goods recipient/Ship-to party
• Unloading point
• Special region
• Display the following for informational purposes, but do not allow the user to
change:
• General ledger account
• Project
• CO/PP order
• Do not display the remaining fields.
In a typical configuration, each partition defines its own set of accounting entities.
The accounting fields are not extrinsic—they are just specific instances of the generic
accounting entity.
The default Ariba Buyer configuration for SAP defines the following accounting
entities:
• asset—Asset
• cost center—Cost Center
• general ledger—G/L Account
• internal order—RK/PPC order
• WBS element—Project
Ariba Buyer pulls appropriate data from your SAP system and uses that data to
populate the choosers and accounting information in Ariba Buyer. Ariba Buyer pulls
and uses SAP account assignment category information to determine what users need
to enter for a line item.
When setting up your Ariba Buyer configuration, you define the accounting entities
you plan to use. You also set up your configuration to default accounting information
for catalog items from commodity codes. For information on how to configure
accounting information in Ariba Buyer, see the Ariba Buyer Data Load Guide.
One field status group string exists 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 some settings differently from
SAP within the user interface.
The position of each character within the string determines the accounting field to
which it applies. 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 pulls all the characters in the
string, but the default configuration uses only those that apply to the five account
types. The character positions relevant to a default configuration for an SAP partition
are as follows:
For example, the positions for an asset category from an IDES system resemble those
in the following diagram:
Ariba Buyer interprets this field status group string in the following way:
• The Cost Center character is a minus sign, which means it is not relevant to asset
line items and does not appear in the Ariba Buyer user interface.
• The Internal Order, WBS Element (project), and General Ledger characters are
asterisks. Ariba Buyer does not display them because it does not require the user to
enter a value.
• The Asset character is a plus sign. 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 want 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 in the status string, position 41.
Your SAP partitions create objects with unique names. The file
ariba/variants/variant/partitions/partition/data/FieldStatusToAccountingField
NameMap.csv contains mappings of field positions to the account type. Make sure to
check this file for the new account type you added.
If you implement your own SAP accounting objects to pull other accounting
categories, 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.
/**
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 (Account Assignment Categories. The field status group
is a string of dots,
slashes, plusses, and stars. Each of these means a different thing.
@aribaapi external
*/
public static boolean showField (String fieldName, ValueSource aac)
{
if (null == aac) {
return false;
}
String Unique_Name = (String)aac.getFieldValue("UniqueName");
String fstag = (String)aac.getFieldValue("FieldSelectionString1");
char code = fstag.charAt(positionForField(fieldName));
if ('.' == code) {
if (Unique_Name.equals("F") ) {
if ( fieldName.equals("CostCenter") ) {
return false;
}
}
// Optional
return true;
}
else if ('-' == code) {
// Suppressed
return false;
}
else if ('+' == code) {
// Required
return true;
}
else if ('*' == code) {
// Display-only
return false;
}
else {
// error handling
return false;
}
}
Ariba Buyer provides limited support for certain types of SAP release authorizations
for documents. The RFCs in the ZAF7 development class provide 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, including the
following:
• 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 supports only 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 with a given range of monetary values per release code,
and 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 109.
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 might 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 the
expenditure is over $2,000, your boss needs the approval of his or her supervisor, and
so forth.
Release authorities might closely resemble the approval flow rules in your version of
Ariba Buyer. The ZAF7 RFCs use your existing SAP release authorization setup to
approve requisitions in Ariba Buyer. For information on how Ariba Buyer handles
approval rules, see the Ariba Buyer Approval Rules Guide.
The number of release codes for each release strategy increases as the monetary value
of the strategy increases. For example, you might have release strategies such as those
presented in the following table:
Release Strategies
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 and 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 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 types of approval rules are as follows:
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:
• Those without classification
• Those with classification
Classification refers to the entire collection of criteria upon which you might 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.
Users can define release procedures only 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 ZAF7 group RFCs.
For step-based instructions on how to display and set monetary amount characteristic
values, see the procedure on page 113.
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 RFC code from Ariba using the Function Builder in the Developer
Workbench.
3 Choose Select Materials Management > Purchasing > Purchase Order > Release
Procedure for Purchase Order > Define Release Procedure for Purchase Orders.
9 Access the Display Class: Initial Screen, and paste or enter the class object name
you remembered in step 7. Alternatively, if you have forgotten the class object
name, follow these steps:
a Click the drill-down arrow for the class.
Ariba Buyer supports the use of IDOCs for pulling cost center, GL account, and
vendor information from SAP into Ariba Buyer in real time. This chapter explains
how to configure real-time integration using ALE/IDOC technology.
• ALE stands for Application Link Enabling, an SAP feature that defines a way of
communicating data between an SAP system and another process.
• IDOC stands for Intermediate Document, an SAP format that defines a way of
describing data.
Note: If you use the ZATCOS IDOC to pull cost center data into Ariba Buyer, the
deleted cost centers from SAP are not pulled back due to a limitation in the SAP
Standard Cost Center IDOC (COSMAS).
Every client that uses ALE must have a unique base logical system that represents the
client in data communications. If you have not already configured a base logical
system for the client with which Ariba Buyer integrates, you are required to do so.
2 Define a logical system by choosing Sending and Receiving Systems > Logical
Systems > Define Logical System.
3 Click the green check for any information about client independence.
5 In the Log.System field of the New Entries: Overview of Added Entries screen,
enter a name for the logical system.
For the base logical system, you might want to adopt a naming standard, such as
fooCLNTbar, where foo is the instance name and bar the client.
6 In the Name field, enter a descriptive name for the base logical system.
7 Click Save.
2 Choose Sending and Receiving Systems > Logical Systems > Define Logical System.
3 Click the green check button for any information about client independence.
4 Repeat the following steps until you define logical systems for every Ariba Buyer
partition in every SAP variant on all clients.
5 Click New Entries.
6 In the Log.System field, enter the exact Ariba Buyer partition name for the logical
system.
7 In the Name field, enter a descriptive name for the outbound logical system.
8 Click Save.
SAP uses the term message to describe data sent between logical systems. You 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 the message types
within SAP for pulling cost center, general ledger, and vendor information.
Note: To pull the correct General Ledger descriptions for the new General Ledger
Accounts created in SAP 4.6C (Support Pack Number SAPKH46C09), you must
implement OSS note 398301. If you do not perform the code correction described in
the OSS note, the General Ledger descriptions for the new GLAccounts pulled from
SAP using IDOCs will be incorrect. This limitation is not required for RFC pulls.
IDOCs use 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, activates their corresponding
change pointers, and links them to the appropriate IDOCs.
In order to exchange data between Ariba Buyer and SAP, you create and use a
distribution model named Ariba. The Ariba distribution model defines the message
types that a base logical system uses to communicate with each Ariba Buyer partition
logical system through ALE/IDOC.
If you have other SAP systems from which you want to send data to Ariba Buyer (and
they use the same distribution model), it is possible to distribute the model to the other
systems.
When you create a distribution, you can generate a partner profile automatically.
2 Choose ALE > Modelling and Implementing Business Practices > Maintain Distribution
Model and Distribute Views > Create Model View.
3 In Outbound Parameters panel, make sure the following default parameters are set:
Version: 3
4 In Output Mode panel, make sure that Transfer IDoc immed. is selected.
5 Click Execute.
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
• Transactional remote function calls (tRFCs)
• R/2 systems
tRFC ports define an IDOC data communication channel from an RFC. SAP sends
real-time, single-object load information to the TIB/Adapter for R/3 through a tRFC
port from an RFC. You define this port.
Note: Remember the unique port number that SAP generates, for example,
A000000011. You need it for the tasks on page 122.
RFC destinations for RFCs can use a program ID to identify uniquely a process or
daemon shared between an SAP system and the output of an RFC.
RFC destinations contain port descriptions for logical systems. You configure an RFC
destination called YCIDOCPROC for Ariba Buyer integrations to work.
W To create the TIB/Adapter for the R/3 RFC destination (for SAP 4.7):
1 Run transaction SM59.
7 In the Program ID field, enter the program ID you have specified in the
configuration file for the specific partition.
8 Save your changes.
Partner profiles combine the ALE and IDOC components necessary for Ariba Buyer
and SAP to exchange real-time data. Partner profiles work at a very high level of
organization within SAP, and, in many ways, are the central component you configure
to allow real-time integration with Ariba Buyer.
SAP offers four types of partner profiles, most of which are involved in EDI
(Electronic Data Interchange) configuration. Real-time integration with Ariba Buyer
requires that you create partner profiles of type LS, for communication related to
logical systems.
4 Click Create.
8 In the Outbound parameters table, enter or select the message type and
corresponding basic type for each of these pairs:
• ZATCOS and COSMAS01
• ZATCRE andCREMAS01
• ZATGLM and GLMAST01
9 In the Partner Profiles Outbound Parameter window, enter or select the following
information:
• 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
the procedure on page 120.
• Pack.size: 50 (You can adjust this later.)
• Transfer IDoc immed.
• Do not start subsystem
• Basic type: Enter the basic type that corresponds to the message type (COSMAS01,
CREMAS01, GLMAST01).
Note: If you do not use IDOCs, global company codes are unnecessary for non-ALE
SAP integrations.
This section explains how to configure global company codes for real-time
integration. 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 perform this task by using the SAP IMG
(Implementation Guide).
2 Set up global company codes. For versions 4.6C or 4.7: choose Application Link
Enabling (ALE) > Modelling and Implementing Business Processes > Cross-Application
Settings > Global Organizational Units > Cross-System Company Codes.
4 Click New entries to create the cross-system list of global company codes you use.
You might want 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 your changes.
6 Use the green arrow to navigate back, and choose Assign Cross-System Company Code to
Chart of Accounts.
7 Enter chart of accounts entries for each global company code, and save.
8 Use the green arrow to navigate back, and choose Assign Company Code to
Cross-System Company Code.
Note: If you are using IDOC pull for the creation of general ledgers through the
ZATGLM WorkSheet, you cannot exclude General Ledgers with associated cost
elements. For this behavior, use the corresponding RFC Pull.
2 Enter your user name, choose your SAP variant repository instance name, and then
click Connect.
3 Repeat the following steps for each of these worksheets:
• ZATCOS300
• ZATCRE300
• ZATGLM300
a Open the worksheet.
to:
partition.EDI_DC.RCVPRN
If your partition name is in mixed case or too long for your version of SAP,
create a user-defined function that converts the SAP logical system name to the
properly formatted Ariba Buyer partition name. See your ASD representative
for assistance.
d Save the worksheet.
W To execute ALE/IDOCs:
1 To open each of the ZATCOS300, ZATCRE300, and ZATGLM300 worksheets, use the
TIB/MessageBroker interface or the following command:
runtibco -startmb
3 In SAP, run Transaction BD21 to send the IDOCs not previously sent in SAP, or
schedule the transaction to be run in SAP.
The data flow indicator should change from red to green.
To review how ZARIBTVARV provides filtering and parameter storage, see the following
sections:
• “About ZARIBTVARV” on page 87
• “Filtering” on page 63
4 Repeat the following task for each Ariba Buyer message type:
• ZATCOS
• ZATCRE
• ZATGLM
a Click New Entries.
b Enter the following information:
• Ariba Variant: your Ariba Buyer variant name
• Ariba Partition: your Ariba Buyer partition name
• Variable name: IDOC_DEST_message_type
(Where message_type is one of the Ariba Buyer message types.)
• Selection cat.: P
• Number: 0
• Selection value (LOW): your Ariba Buyer partition name
c Save and create any necessary change requests.
These classes resemble the ZAR6 and ZARC development classes. You examine the
contents of ZATI to learn how the RFCs process data, and then you make changes to
those RFCs safely through the customer exit functions in ZATC. To review how this
process works, see “Understanding Post-Hook Filtering” on page 72.
Neither class offers the ability to define fields through extension structures.
Handling Deletion
Due to a limitation in the IDOC design, you occasionally schedule Ariba Buyer
integration events that pull data for cost centers, general ledger accounts, and
suppliers (which are IDOC-related) through batch methods. SAP can’t inform Ariba
Buyer that a record is inactive through IDOCs without some configuration. As a
result, you might find inactive data in Ariba Buyer that needs deletion.
To remedy this problem, occasionally schedule the non-IDOC integration events and
RFCs to pull IDOC-related data. Such pulls remove any data that requires deletion.
GeneralLedgerPull GeneralLedgerEventSAP
PurchaseOrgSupplierComboPull PurchaseOrgSupplierComboSAP
SupplierPull VendorEventSAP
The SAP integration provides 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.
In general, the integration event can recover automatically from any error that occurs
before the data has been committed to SAP. After 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.
Application-Level Errors
This section describes the following:
• Failures occurring during purchase order push
• Failures occurring during receipt push
Note: Because 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 push
successfully 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 pushed
successfully. 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 Professional
Buyer permission.
If an error occurs while the integration event for the real-time purchase order push
using TIBCO is initiated, Ariba Buyer logs an error, and the purchase requisition
associated with that order returns to the “Composing” state.
When a requisition is stuck in the “Composing” state, your Ariba Buyer administrator
should perform the following tasks:
1 Check the error in the requisition that has gone to the “Composing” state
The second stage of a push occurs when the integration event routes data through
TIB/MessageBroker and the TIB/Adapter for R/3 into SAP.
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 situation can
happen if the master data objects are out of synch in Ariba Buyer and SAP. For
example, if a supplier is invalidated in the SAP system after the order has been created
in the Ariba Buyer system, the incoming order is rejected because it has a supplier
that is now invalid. You can avoid this problem by using real-time single-object
loading. For details, see Chapter 9, “Real-Time Integrations.”
For purchase orders, the push worksheets return error messages and details about
pushes immediately. When SAP rejects an order, it sends that order back, with an
error message saying why the order has been rejected. The worksheet returns this
error message to Ariba Buyer to indicate that there has been an error.
System-Level Errors
If the TIB/Adapter for R/3 is down due to network problems, SAP never receives a
purchase order from Ariba Buyer. Such a situation could result in system-level errors
where purchase orders or requisitions are stuck in the “Ordering” state.
Once a system-level error has been found, you don’t need to do anything special to
restart the push. The Ariba Buyer scheduled task FailedOrders checks for unfinished
orders and re-executes the order transmission. Either wait until the next scheduled run
of this task, or execute it manually from Ariba Buyer Administrator.
4 Change the date timestamp in the file accordingly to pull only the payments not
pulled in the first run.
The fields are all updated if the status of the payment transaction has not been
changed from paid to canceled. Otherwise, an error occurs.
Troubleshooting
This section provides tips for solving problems associated with integrating Ariba
Buyer with SAP.
Note: The TIB/Adapter for R/3 sends “Internal Error” stack traces that you can safely
ignore. These stack traces do not cause error conditions. Furthermore, your SAP
events run successfully while or after these traces appear.
Enabling Debugging
When you call an RFC, you can turn on a debugging switch. This action enables you
to access the SAP user interface, where you can set breakpoints.
2 From the Ariba Buyer working directory, turn on SAP’s debugging mode by typing
this command at the command line:
set RFC_DEBUG=1
Debugging Parameters
Ariba Buyer RFCs offer two parameters:
• Z_ARIBA_PO_PUSH_DISPLAY_MODE
• Z_ARIBA_GR_PUSH_DISPLAY_MODE
To watch push operations, change these parameters from ‘N’ to ‘E’ or ‘A’. Changing
these parameters also enables you to view purchase order or goods receipt screens in
debug mode.
This appendix lists the Ariba SAP development objects and describes the naming
conventions for those objects. The audience for this appendix includes:
• BASIS administrators who import Ariba’s SAP transports and need to see the list
of objects they’re importing
• ABAP developers who are responsible for customizing the Ariba SAP objects
• Function module names begin with the prefix Z_ARIBA. Some of the modules end
with the suffix _EXT—for example—Z_ARIBA_GR_PUSH_EXT. These modules are
customizable. The Z_ARIBA modules without the _EXT suffix are core Ariba function
modules that you shouldn’t modify.
• Table names begin with the prefix ZAR. Some of the tables end with an X—for
example, ZARGRFMAPX. These tables are for custom entries. The ZAR tables that don’t
end with an X are core Ariba tables that you shouldn’t modify.
• Structure names begin with the prefix ZAR or ZXT. The ZAR structures are core Ariba
structures that you shouldn’t modify, whereas the ZXT structures are extension
structures that are customizable.
• Data element names begin with the prefix ZAR. The one exception is the data
element ZFIELDNAME in the ZAR6 development class.
• Message class: Ariba’s message classes are named ZA and ZT.
The descriptions of each development class describe the objects in each class,
including any of the following:
• Function groups and function modules
• Tables
• Structures
• Data elements
• Includes
• Message classes
In the ZAR6 development class, the function groups ZAF8, ZAF9, ZAG1, ZAT2, ZAT3, ZAT4,
and ZAT5 contain only function modules automatically generated by the SAP
maintenance dialog. The function modules in these function groups are not
customizable and are not described in this document. The function modules for the
rest of the function groups are described in the following tables.
ZAR6 Tables
The following are the tables for the ZAR6 development class:
ZAR6 Tables
Table Description
ZARGRFMAP Maps interface tables to screen fields (do not change)
ZARGRFMAPX Maps interface tables to screen fields (customer maintains)
ZARIBAGRS GRs pushed to SAP from Ariba Buyer
ZARIBAPOS SAP POs that have been pushed to SAP by Ariba
ZARIBTVARV TVARV generalized for fields
ZARPOERRRQ Error Requisition Structure for Z_ARIBA_PO_PUSH
ZARPOFMAP Maps interface tables to screen fields (do not change)
ZARPOFMAPX Maps interface tables to screen fields (customer maintains)
ZAR6 Structures
The following are the structures for the ZAR6 development class:
ZAR6 Structures
Structure Description
ZARACCNAME Names for account categories
ZARACCST Account Category/Field Status Group combo
ZARASSET Structure to store MainAsset information for Ariba
ZARCOMPANY Company Code, Name, and other details
ZARCOSTC Structure for Output of All Cost Structure Info for Ariba
ZARCOSTNAM Cost Center Names
ZARCURCO Structure for Currency Conversion Type Info for Ariba
ZARCURR Structure for Currencies
ZARCURTY Structure for Output of All Unit of Measure Info for Ariba
Structure Description
ZARERRCORE Error Message Structure for Z_ARIBA_PO_PUSH
ZARGENLE General ledger info
ZARGLCC Structure for Output G/L / Cost Center Info for Ariba
ZARGLLANG Names of General Ledgers
ZARGRERR Error Message Structure for Z_ARIBA_GR_PUSH
ZARGRHEADR Material Document header info for Ariba GR Push (do not
modify)
ZARGRITEMS Material Document item info for Ariba GRs (do not
modify)
ZARIACCASS Account Assignment Category and its properties
ZARIBAWTAB Table Structure for “WHERE (itab)” Statement
ZARIFSTAG Field status group definitions
ZARMGRP Structure for Output of all Material Group Info for Ariba
ZARMGRPNAM Material Group Names
ZARMGRPT Structure for Output of all Material Group Info for Ariba
ZARMINORIT Ariba structure for Minority Indicators
ZARMINVEND Ariba vendor/minority indicator combination
ZARORD Structure to hold order numbers for Ariba
ZARPGRP Structure for Output of all Purchasing Groups for Ariba
ZARPLANT Structure for Output of all Plant Info for Ariba
ZARPLCC Plant Cost Center Structure used in Z_ARIBA_PLANT_CC_PULL
ZARPLGL Structure for Plant/ G/L Output for Ariba
ZARPLPO Structure for Plant/Purchase Orgs Combinations for Ariba
ZARPLPOT Structure for Plant/Purchase Orgs Combinations for Ariba
ZARPOACCNT Purchase order accounting info for Ariba POs (do not
modify)
Structure Description
ZARPODELIV Ariba Purchase Order delivery date
ZARPODET Structure for pulling PO details
ZARPOERR Error Message Structure for Z_ARIBA_PO_PUSH
ZARPOGL Structure for Output of Purchase Org/GL Info for Ariba
ZARPOH Object created to delete for transport of migration
ZARPOHEADR Purchase order header info for Ariba POs (do not modify)
ZARPOI Table created for deletion
ZARPOITEMS Purchase order item info for Ariba POs (do not modify)
ZARPOORG Structure for Output of Purchase Organizations for Ariba
ZARPORQDET Structure for pulling PO details
ZARPOUTLNE Structure for Outline data for PO Push for Ariba
ZARRELAUTH Example mapping release codes to monetary authorization
levels
ZARSTRING Structure for text data for PO Push for Ariba
ZARTAXCODE Tax Code Information for use in Ariba
ZARTAXNAME Tax Code Names for use in Ariba
ZARTEST Structure for test case of calling an RFC with static
parameters
ZARUOM Structure for Output of All Unit of Measure Info for Ariba
ZARUSERREL Maps Users to Release Codes of Maximum Release
Authority
ZARVEN1 Structure for Output of Vendor Name and ID Info for Ariba
ZARVEND Structure for Output Vendor Information for Ariba
ZARVENDMIN Ariba vendor/minority indicator combination
ZARVENPO Structure for Output of Vendor/Purchase Org Information
for Ariba
Structure Description
ZARWBS Structure to hold WBS element information
ZEXUSER Sample to return user information for example user pull
The following tables describe the function modules for these function groups:
ZARC Structures
The following are the structures in the ZARC development class:
ZARC Structures
Structure Description
ZXTACCNAME Extension structure for ZARACCNAME
ZXTACCST Ariba Extension for ZARACCST
ZXTASSET Ariba Extension for Assets
ZXTCOMPANY Ariba Extension for Company Codes
ZXTCOSTC Ariba Extension for Cost Centers
ZXTCOSTNAM Extension structure for ZARCOSTNAM
ZXTCURCO Ariba Extension for Currency Conversions
Structure Description
ZXTCURR Extension structure for ZARCURR
ZXTGENLE Ariba Extension for General Ledgers
ZXTGLLANG Extension structure for ZARGLLANG
ZXTGRERR Extension structure for ZARGRERR
ZXTGRHEADR Ariba Extension for material document header
ZXTGRITEMS Ariba Extension for material document items
ZXTIACCASS Ariba Extension for Account Assignment Categories
ZXTMGRP Ariba Extension for Material Groups
ZXTMGRPNAM Extension structure for ZARMGRPNAM
ZXTMINORIT Ariba Extension for Minority Indicators
ZXTORD Ariba Extension for Internal Orders
ZXTPGRP Ariba Extensions for Purchasing Groups
ZXTPLANT Ariba Extension for Plants
ZXTPLPO Ariba Extension for Plant/Purchase Org Combos
ZXTPOACCNT Ariba Extension for purchase order accounting info
ZXTPODELIV Ariba Extension for ZARPODELIV
ZXTPODET Ariba Extension for PO Details
ZXTPOERR Extension structure for ZARPOERR
ZXTPOHEADR Ariba Extension for purchase order header
ZXTPOITEMS Ariba Extension for purchase order items
ZXTPOORG Ariba Extension for Purchase Organizations
ZXTPORQDET Ariba Extension for PO Details
ZXTRELAUTH Ariba Extension for Release Authorities
ZXTTAXCODE Ariba Extension for ZARTAXCODE
Structure Description
ZXTTAXNAME Extension structure for ZARTAXNAME
ZXTUOM Extension structure for ZARUOM
ZXTUSERREL Ariba Extension for ZARUSERREL
ZXTVEND Ariba Extension for Vendors
ZXTVENDMIN Ariba Extension for vendor/minority indicator combo
ZXTVENPO Ariba Extension for Vendor Purchase Org combos
ZXTWBS Ariba Extension for WBS Elements
The following are the function modules for each of these function groups:
ZATI Includes
The following is the include for the ZATI development class:
Include Description
ZTIBCONT Constants
The following are the function modules for the ZATC function group:
The following are the function modules for the ZAFA function group:
ZAR7 Structures
The following are the structures in the ZAR7 development class:
ZAR7 Structures
Structure Description
ZARBAPIEKKOC Ariba structure for BAPI_PO_CREATE Header info
ZARIBABAPIEKKN Ariba structure for BAPIEKKN
ZARIBABAPIEKPOC Transfer Structure: Create PO Item
ZARIBABAPIESKLC Adds the Quantity Field
The following is the function module for the ZAFB function group:
The following is the function module for the ZARIBA_CHANGEORDER function group:
ZARIBA_CHANGEORDER Structures
The following are the structures in the ZARIBA_CHANGEORDER development class:
ZARIBA_CHANGEORDER Structures
Structure Description
ZARCPOACCNT Accounting information for change orders
ZARCPODELACCNT Deleted accounts for change orders
ZARCPODELITEMS Deleted items for change orders
ZARCPOHEADR Header information for change orders
ZARCPOITEMS Items for change orders
ZARIBA_CUSTCHANGEORDER
The ZARIBA_CUSTCHANGEORDER development class contains custom development objects
for change order integration with SAP 4.6C.
The following is the function module for the ZARIBA_CHANGEORDER function group:
ZARIBA_CUSTCHANGEORDER Structures
The following are the structures in the ZARIBA_CUSTCHANGEORDER development class:
ZARIBA_CUSTCHANGEORDER Structures
Structure Description
ZXTCPOACCNT Ariba extension for accounts
ZXTCPODELACCNT Ariba extension for deleted accounts
ZXTCPODELITEMS Ariba extension for deleted items
Structure Description
ZXTCPOHEADR Ariba extension for change order header
ZXTCPOITEMS Ariba extension for change order items
ZARIBTVARV RFCs
Structure Description
ZARREMBSAK Ariba Structure for BSAK for Remittance Pull
ZARREMDETAIL Ariba Remittance Pull Detail
ZARREMHEADER Ariba Remittance Pull Header
Structure Description
ZXTREMBSAK Customer extension structure for BSAK table for
Remittance Pull
ZXTREMDETAIL Customer extension structure for Remittance Detail
ZXTREMHEADER Customer extension structure for Remittance Header
Structure Description
ZARIBA_CUST_REMITTANCE Customer function group for remittance pull
If you are integrating with SAP, it is required that you install SAP transports as part of
your Ariba Buyer installation. This appendix provides background information about
the Ariba-delivered SAP transports and detailed instructions for installing them.
Note: Ariba recommends that you ask your SAP BASIS personnel to install the
Ariba-delivered transports.
BuyerServerRoot/configureOptions/sap/ariba/variant/trans/
Within this directory are subdirectories containing data files and cofiles for the
Ariba-delivered transports. Each transport has one data file and one cofile. The data
file names begin with the letter R, and cofile names begin with the letter K. For
example, a transport named ABCK900123 might have the following data file and cofile:
trans/data/R900123.ABC
trans/cofiles/K900123.ABC
Copy the Ariba transports from the location on your Ariba Buyer system to the
relevant subdirectories on your SAP system.
Import Considerations
In general, you do not use any umodes when installing these transports. Use umodes
in the following circumstances:
• You have a previous version of the Ariba objects in your SAP system, and some
core objects have been modified. In this situation, override the repair flag on import
by using a umode. Reinstate any overwritten modifications to Ariba core objects
using the appropriate SAP tools.
• You need to re-import one of the delivered transports. In this situation, make sure
the transport is fully re-imported by using umode 1.
If you do not require real-time integration, you do not have to import the real-time
integration transport. However, if you do install this transport, configure your SAP
system to use real-time integration with Ariba Buyer after the import is complete, as
described in the next section.
This appendix lists the integration events provided with Ariba Buyer that work with
SAP configurations. For complete information on these integration events, see the
Ariba Buyer Configuration Reference Guide.