You are on page 1of 72

Fi ve Ways t o Enhanc e

SAP BI Bac k end


Func t i onal i t y Usi ng
ABAP
Marc F. Bernard
SAP
SAP AG 2005, 2
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 3
What Thi s Sessi on Wi l l Cover
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual
InfoCubes, Key
Figures, and
Characteristics
5) Process Chains
Focus is on
SAP BI Backend
SAP AG 2005, 4
ABAP Basi c s What You Shoul d Know
ABAP Performance
ABAP Performance ABAP Performance
ABAP Enhancements
ABAP Enhancements ABAP Enhancements
SAP AG 2005, 5
ABAP Per f or manc e
Internal Tables
Know the difference between standard, sorted, and hashed tables
Understand when to use which table type for best performance
Field Symbols
Avoid field symbols if data can be accessed directly
Use field symbols to accelerate table operations (read, update)
Subroutines
Define the correct parameter types for subroutines and function modules
(using, changing, importing, exporting)
Use global variables only when necessary
Data Retrieval
Reduce database accesses as much as possible
Set table buffering correctly (none, single record, generic)
Check if secondary indexes will speed up database selections
SAP AG 2005, 6
ABAP Basi c s What You Shoul d Know
ABAP Performance
ABAP Performance ABAP Performance
ABAP Enhancements
ABAP Enhancements ABAP Enhancements
SAP AG 2005, 7
ABAP Enhanc ement s: How They Wor k
*** SAP program ***
*********************************
PROGRAM <name of SAP program>.
*** SAP program ***
*********************************
PROGRAM <name of SAP program>.
<Call enhancement>
<Object in customer namespace>
Customer exit
Exit function module
Business add-in
Method
SAP AG 2005, 8
Func t i on Modul e Ex i t : Pr oc ess Fl ow
X Function Group
Application Program
Exit function module
EXIT_<prog_name>_001
Include in
Customer Namespace
CALL CUSTOMER-FUNCTION
SAP AG 2005, 9
Cal l i ng and Cr eat i ng Func t i on Modul es
PROGRAM <program_name>.
START-OF-SELECTION.
...
PROGRAM <program_name>.
START-OF-SELECTION.
...
CALL CUSTOMER CALL CUSTOMER- -FUNCTION '001' FUNCTION '001'
EXPORTING EXPORTING
.... ....
IMPORTING IMPORTING
.... . .... .
FUNCTION-POOL XAAA.
...
FUNCTION exit_<program_name>_001.
...
ENDFUNCTION.
FUNCTION-POOL XAAA.
...
FUNCTION exit_<program_name>_001.
...
ENDFUNCTION.
INCLUDE zxaaau01. INCLUDE zxaaau01.
SAP AG 2005, 10
I mpl ement i ng Busi ness Add-I ns: I ni t i al Sc r een
Business Add-Ins: Implementation Maint. Initial Screen
<impl>
Implementation name
Name of the
Implementation
Name of the
Implementation
Business Add-Ins: Definition Sel.
Display
<badi>
Definition name
Create
Change
Create
Create
SAP AG 2005, 11
FCodes Interface Attrs.
Class Builder: Edit Method IF_<interface>~<m...>
I mpl ement i ng Busi ness Add-I ns: Met hods
Methode
Add-in method
Description
Interface name
Name of implementing class
<method>
METHOD if_<badi-interface>~<method>.
*...
ENDMETHOD.
<badi-interface>
<impl-class>
SAP AG 2005, 12
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 13
Creating generic DataSources using function modules for
Data Extraction
Enhancing DataSources for transaction data, master data
attributes, and texts
Using the Service API function enhancement to
enrich data
Overview of the options available for enhancing data in
the source system
Contents:
Dat a Ex t r ac t i on
SAP AG 2005, 14
Usi ng t he Tool s f or Gener i c Dat a Ex t r ac t i on
When should you use the generic data extraction tools
to create a DataSource?
Business Content does not include a DataSource for your application
You want to implement a delta method on your generic DataSource
that cannot be implemented by using the generic delta functionality
(timestamp, date ...)
The application does not allow you to create additional application-
specific generic extractors (CO-PA, FI-SL, LIS)
You use your own programs in the SAP system to populate
your own tables
You have to extract data from several DB tables when:
Using a view is not possible because of insufficient JOIN
Only some fields are relevant to these tables
Data has to be enriched with information not available in the BWsystem
SAP AG 2005, 15
Tool s f or Gener i c Dat a Ex t r ac t i on: RSO2
DataSources for
Transaction data
Master data attributes
Texts
SAP AG 2005, 16
Cr eat i ng Dat aSour c es f or Gener i c Dat a Ex t r ac t i on
SAP AG 2005, 17
Gener i c Dat a Ex t r ac t i on w i t h Func t i on Modul es:
Func t i on Modul e I nt er f ac e
SAP AG 2005, 18
Pr oc ess of Ex t r ac t i on
The function module is called up several times during an
extraction process:
1. Initialization call:
Only the request parameters are transferred from the module
here. It cannot transfer data at this point.
2. First read call:
The extractor delivers the data typed with the extraction structure
to an interface table.The number of rows expected is specified in a
request parameter (I_MAXSIZE).
3. Further read calls:
The extractor delivers the data connected to the last package,
again in a package with I_MAXSIZE rows.
4. Last call:
The function module is now called until the exception
NO_MORE_DATA is produced. No more data can be transferred
in the call in which the exception is produced.
SAP AG 2005, 19
Reasons:
You want to add extra attributes to the characteristics (master data)
shipped with the system
You want to populate additional fields that you appended to the
extract structure with data at the time of extraction
You want to change/enhance texts or hierachies
Prerequisites:
The additional data is available at the time the extraction takes place
All information that is needed to determine the additional data clearly
is available
Enhanc i ng Busi ness Cont ent Dat aSour c es
SAP AG 2005, 20
Cr eat i ng and Mai nt ai ni ng Cust omer Appends
In BW-IMG
(TA SBIW)
Dictionary: Change Append Structure
Append structure ZABIW_MARA_S
Short description Append for BIW_MARA_S
Coponent Component type
ZZDISMM DISMM
. . .
1
2
3
SAP AG 2005, 21
Devel opi ng Ser vi c e API Func t i on Enhanc ement s
In BW-IMG
(TA SBIW)
1
SAP AG 2005, 22
I mpor t ant Poi nt s/Tr oubl eshoot i ng
Important points
Once the function exit has been used, it is called for every
extraction (CASE statement required)
Key fields for enhanced content must be available
Maximum field length is 60 characters
Include all recommended units
Further documentation is available under CMOD transaction
Troubleshooting is easily done by setting a break-point in
the exit code and starting the " Extractor Checker" tool
(transaction RSA3)
SAP AG 2005, 23
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 24
Dat a St agi ng (1)
InfoPackages
InfoPackages
Start Routines
Start Routines
Update Rules
Update Rules
Transfer Rules
Transfer Rules
Overview
Overview Overview
SAP AG 2005, 25
SAP BI Dat a St agi ng and ABAP Rout i nes
Info Provider
Transfer Structure
Communication Structure
InfoPackage
D
a
t
a

F
l
o
w
ABAP
Dynamic InfoPackage selection
Dynamic flatfile filename
Dynamic deletion of requests
ABAP
Start routine
Transfer rule
ABAP
Start routine
Update rule
SAP AG 2005, 26
Sequent i al Or der t o Wor k w i t h SAP BI St r uc t ur es
The BW ABAP routines are processed sequentially for all records and
all fields:
InfoPackage Create dynamic filenames (for flat file import)
InfoPackage Dynamic selection selection criteria 1 ... n
Transfer rule Start routine
Transfer rule Dynamic routines to combine field by field from the transfer structure to
the communication structure
Update rule Start routine
Update rule Dynamic routines to combine field by field from the communication struture
to the infoprovider key figures or to the ODS-object data fields
Update rule Dynamic routines to combine field by field from the communication
structure to the infoprovider characteristics or the ODS-object key fields
InfoPackage Deletion or taking out of requests after the loading process:
Only for non-collapsed requests
Otherwise the request is cancelled if there is an exception aggregation
Conditions of deletion in process chains are valid for all data targets of the InfoPackage;
within the scheduler the conditions are only valid for the selected data target
SAP AG 2005, 27
Dat a St agi ng (2)
InfoPackages
InfoPackages InfoPackages
Start Routines
Start Routines
Update Rules
Update Rules
Transfer Rules
Transfer Rules
Overview
Overview
SAP AG 2005, 28
Sel ec t i on Possi bi l i t i es
InfoPackages provide static and dynamic selection criteria for
every selection field for various characteristic types
Date field (due date is actual day):
Get yesterday (00:00 to 24:00h)
Get last week (Monday to Sunday)
Get last month (first to last day of last month)
Get last quarter (first to last day of last quarter)
Get last year (1st of Jan. to 31st of Dec. of previous year)
No date field:
Free boundary (also a period boundary is possible)
All fields:
ABAP Routine
OLAP Variable
DYNAMIC
SAP AG 2005, 29
Cal l of Del et i on Func t i onal i t y
When the button on the InfoPackage tab Data Targets is
grey, there are no functions for deletion defined
When a deletion function is defined the symbol appears
SAP AG 2005, 30
Del et i on of Request s Af t er t he Updat e Rul es Wher e
Ex ec ut ed
Important:
The deletion functionalities are
executed after all update rules
have run!
Multiple deletion conditions are
possible at the same time:
By object types
By time definition
By routine
Exceptions to the deletion
conditions can be set for specific
days
SAP AG 2005, 31
Dynami c Det er mi nat i on of Fi l enames
Should you upload from client workstation or the application server?
It is preferable to use the server path advantages:
Data load in batch mode is possible
Path is physically equal to all administrators
Scenario in which to use it:
Transaction data is delivered monthly by flat file
The naming convention includes the name of the month within the
filename
Directory paths are maintained for every year
Coding:
Concatenate
Directory path
Actual year
Actual month
SAP AG 2005, 32
Dat a St agi ng (3)
InfoPackages
InfoPackages
Start Routines
Start Routines Start Routines
Update Rules
Update Rules
Transfer Rules
Transfer Rules
Overview
Overview
SAP AG 2005, 33
Cal l of St ar t Rout i nes
Start routines are processed:
After the data is written into the
PSA
Before the transfer rules are
processed
Start routines do get as a
parameter the whole data package
structured in the form of the
transfer structure
SAP AG 2005, 34
Cl assi c Usage Tr ansf er Rul es
Particularly the start routine of the transfer rules gives
classic scenarios of usage:
Selective deletion of records delivered with the data package
Coding example:
DELETE DATAPAK WHERE VKORG = 1000.
Advantage:
Smaller data package loading performance improves
Reasons why (examples):
The InfoPackage from the data source does not offer selection criteria
The processing time with a selection from the InfoPackage sent to the
source system takes considerably more time than without selection
The deletion criteria is easy to code within the start routine
Fill an internal table from a DDIC select
(please refer to the performance aspects)
Complex data cleansing or data consolidation from various
source systems eventually with a look up as ETL process
SAP AG 2005, 35
Typi c al Sc enar i os Updat e Rul es
Fill an internal table from a database table (DDIC)
(please refer also to performance aspects)
Look up scenarios when loading into data targets
Add or append information from other data providers or data stores
Consolidation scenarios:
Consolidate characteristic and key figure combinations
Key figure calculation to store the result on the database in order to
release the OLAP processor, e.g., when multiple basis cubes are
consolidated into one
Segmentations of characteristic values in order of key
figure numbers
(e.g., ABC classification on characteristic values)
SAP AG 2005, 36
Dat a St agi ng (4)
InfoPackages
InfoPackages
Start Routines
Start Routines
Update Rules
Update Rules
Transfer Rules
Transfer Rules Transfer Rules
Overview
Overview
SAP AG 2005, 37
Cal l of Tr ansf er Rul e Rout i ne
Edit transfer rules
Create routine
Transfer rule routine dialog:
1. Give the routine a name
2. Mark the fields with
which you want to work
1.
2.
3.
SAP AG 2005, 38
Dat a St agi ng (5)
InfoPackages
InfoPackages
Start Routines
Start Routines
Update Rules
Update Rules Update Rules
Transfer Rules
Transfer Rules
Overview
Overview
SAP AG 2005, 39
I nf oCube Char ac t er i st i c Updat e Rul e
ODS-Obj ec t Key Fi el d Updat e Rul e
Characteristic assignment change of source (1)
Give a name for the update rule (2)
Interface:
Like in the start routine global declaration within the header
The form routine compute_key_field delivers the following parameters:
The table MONITOR for monitoring
The communication structure COMM_STRUCTURE with all fields from the data
source
The current record number of the loop over the data package
The number of total records
RESULT delivers to the marked characteristic the result value
RETURNCODE says whether the current record will be processed or not
ABORT clarifies whether the whole data package will be processed or not
1
2
SAP AG 2005, 40
Ti me Ref er enc es
Within update rules there are various
possibilities to reference time
dependencies:
Characteristic update rule with time
reference
It is possible to update data target
characteristics of type DATE via an
automatic time distribution
The field is fed from a data field out of the
communication structure
For example, the data target characteristic
calendar day is fed from the source
characteristic calendar month
The effect is that every summarized key
figure has to be distributed to the calendar
days of the month
In addition to that, it can be defined
whether the company calendar has to be
used
Time characteristics
Within the frame time reference various
data target time characteristics can be filled
automatically from only one time
characteristic of the data source
SAP AG 2005, 41
Spec i al i t y: Ret ur n Tabl e
If it is necessary to use a return table the generated update rule differs
marginally
... (1) ... (2) ...
Interface:
Global data declaration within the header works in the same way as the start
routine and characteristics
The form routine compute_data_field delivers following parameters:
The table MONITOR for monitoring
The table RESULT_TABLES with the structure of the data target
The communication structure COMM_STRUCTURE with all fields from the data source
The current record number of the loop over the data package
The number of total records
RESULT delivers to the marked characteristic the result value
RETURNCODE says whether the current record will be processed or not
ABORT clarifies whether the whole data package will be processed or not
The structure of the data target is assigned with the parameter ICUBE_VALUES
1
2
SAP AG 2005, 42
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 43
One way to fill a variable value is to use ABAP coding
We can differentiate between two alternatives:
1. Fill the value independently with a program
2. Fill the value dependent on an other variable value
BEx -Var i abl es
SAP AG 2005, 44
Default information:
For filling variables the standard SAP Enhancement
RSR00001 is used
See the documentation related to this enhancement
for details and example coding (transaction SMOD)
In the function module of this enhancement you will
find include ZXRSRU01 where you implement your
program code
The exit is called four times, called " steps" (I_STEP)
BEx -Var i abl es (c ont .)
SAP AG 2005, 45
Default information:
Step 1 (I_STEP = 1) is called before the processing of the
variable pop-up and gets called for every variable of the
processing type, customer exit. You can use this step
to fill your variable with a default or proposal value
Step 2 (I_STEP = 2) is called after processing of the
variable pop-up. This step is called only for those
variables that are not marked as ready for input and
are set to mandatory variable entry
Step 3 (I_STEP = 3) is called after all variable processing
and gets called only once and not per variable. Here you
can validate the user entries
Step 0 (I_STEP = 0) is called for variables that are used in
authorizations objects
BEx -Var i abl es (c ont .)
SAP AG 2005, 46
Please note that you cannot overwrite the user input values
into a variable with this customer exit. You can only derive
values for other variables or validate the user entries
BEx -Var i abl es (c ont .)
SAP AG 2005, 47
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 48
Busi ness Sc enar i o
Standard deviation formulas are calculated for variable
versions and fiscal years
Calculation in the query is too complex because the formula
needs to be calculated on a fixed granularity (often more
detailed than the query)
Calculation in the Administrator Workbench is too inflexible
because there are too many combinations of years and
versions
Warning: This exit is very powerful but can cause huge
performance problems
SAP AG 2005, 49
A virtual characteristic or a virtual key figure is an InfoObject,
which is defined within the InfoProvider as metadata without
having any data stored physically
Historical Background:
The BAdI RSR_OLAP_BADI replaces the user exit RSR00002 with
the following advantages:
Easier to implement
Different classes for different InfoCubes/implementations
No large includes
What I s a Vi r t ual Char ac t er i st i c or Key Fi gur e?
SAP AG 2005, 50
Vi r t ual Key Fi gur es and Char ac t er i st i c s
1) Creating a BAdI Implementation
1) Creating a BAdI Implementation 1) Creating a BAdI Implementation
2) Implementation of the DEFINE Method
2) Implementation of the DEFINE Method 2) Implementation of the DEFINE Method
3) Implementation of the COMPUTE Method
3) Implementation of the COMPUTE Method 3) Implementation of the COMPUTE Method
Three Implementation Steps:
Three Implementation Steps: Three Implementation Steps:
SAP AG 2005, 51
Vi r t ual I nf oCubes w i t h Ser vi c es
Definition:
InfoCube that does not have its own physical data storage in SAP BI
User-defined function module is used as data source
Properties of data source can be defined more precisely using several
options. Depending on these properties, the Data Manager provides
services for converting parameters and data
Usage:
You use a Virtual InfoCube with services if you want to display data
from non-SAP BI data sources in SAP BI without having to copy the
data set into the SAP BI structures
The data can be either local or remote. You can also use your
own calculations to change the data before it is passed to the
OLAP processor
SAP AG 2005, 52
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 53
ABAP i n Pr oc ess Chai ns
Process Chains
Process Chains Process Chains
Insert Process " ABAP Program"
Insert Process " ABAP Program" Insert Process " ABAP Program"
Implementing New Process Types
Implementing New Process Types Implementing New Process Types
SAP AG 2005, 54
Pr oc ess Chai ns Mai nt enanc e i n RSPC
SAP AG 2005, 55
ABAP i n Pr oc ess Chai ns
Process Chains
Process Chains Process Chains
Insert Process " ABAP Program"
Insert Process " ABAP Program" Insert Process " ABAP Program"
Implementing New Process Types
Implementing New Process Types Implementing New Process Types
SAP AG 2005, 56
I nser t ABAP Pr ogr am
1.
2.
1. Insert process ABAP Program
2. Create new process variant
Transaction Code RSPC:
SAP AG 2005, 57
Cr eat e Var i ant
2.
1.
1. Create new process
variant: technical name
and description
2. Maintain process variant
SAP AG 2005, 58
Mai nt ai n Var i ant Pr ogr am t o Cal l /Cal l ed Fr om
Programs with or
without variants
Predefined events of the
application or events you
defined yourself
The background processing
system receives events (signal
stating that a predefined status
has been reached) and then
starts the job
Program runs on the same server in
which the chain is scheduled
Scheduled program waits for an event on the target server
SAP AG 2005, 59
ABAP i n Pr oc ess Chai ns
Process Chains
Process Chains Process Chains
Insert Process " ABAP Program"
Insert Process " ABAP Program" Insert Process " ABAP Program"
Implementing New Process Types
Implementing New Process Types Implementing New Process Types
SAP AG 2005, 60
I mpl ement i ng a New Pr oc ess Type
If you ...
... have a simple, stand-alone program to run in a chain
... have a program, which is planned in batch by another program or user
... then you can use the process type " ABAP" to run your program in a chain
However, if you ...
... want to ask predecessor processes of your program
... write a log, which should be displayed in the process monitor
... have implemented an own monitor
... have a customizing screen, which is more difficult than the parameters
of a program
... then it is recommended to custom develop your own process type
SAP AG 2005, 61
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
SAP AG 2005, 62
7 Key Poi nt s t o Tak e Home
Know where the SAP BI backend can be enhanced using ABAP
Implement enhancements as close to the source system
as possible
Knowledge about general ABAP performance tuning
is mandatory
Often there are several options for the implementation
choose wisely
Check the documentation and example implementations
Read how-to papers available on the SAP Service Marketplace
Sign up for SAP Developer Network
SAP AG 2005, 63
For Mor e I nf or mat i on: Ac c ess t he SAP Devel oper Net w or k
w w w .sdn.sap.c om
The central hub for the SAP technology
community
Everyone can connect, contribute, and
collaborate consultants, administrators
and developers
Focus around SAP NetWeaver and SAP
xApps
High quality of technical resources
Articles, how-to guides, weblogs,
collaborative areas, discussion forums,
downloads, toolkits, and code-samples
A collaboration platform, not a
one-way street
SAP experts from customers, partners
and SAP
SDN is powered by SAP NetWeaver
Built on the SAP Enterprise Portal
Featuring collaboration capabilities of SAP
Knowledge Management
SAP AG 2005, 64
Q&A
Mar c .ber nar d@sap.c om
Quest i ons?
SAP AG 2005, 65
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix (not shown during presentation)
SAP AG 2005, 66
RS_BBS_BADI:
Exit of Report-Report-Interface
RSDBC_SQL_STATEMENT:
DB connect: BADIs for the DB SQL Statements
RSR_OLAP_AUTH_GEN:
Generating authority: Creating User (new in rel. 3.10)
RSR_OLAP_BADI:
Virtual characteristics and key figures in reporting
RSU5_SAPI_BADI:
SAP BI Service APIs (in BW and in R/3 since 4.6, respectively)
SAP Enhanc ement s and BAdI s
SAP AG 2005, 67
OPENHUB_TRANSFORM:
Open hub transformations
RSRA_ALERT:
Batch reporting (BW-BEX-RSRB)
RSAR_CONNECTOR:
Formula Buildercustomer-defined functions
BW_SCHEDULER:
BAdI for subsequent processing
RSOD_DOC_BADI:
BAdI for documents
SAP Enhanc ement s and BAdI s (c ont .)
SAP AG 2005, 68
RSOD_ITEM_DOC:
BAdI for the Web item Single Document
RSOD_ITEM_DOC_LIST:
BAdI for the Web item List of Documents
RSOD_WWW_DOC_MAINT:
BAdI for the maintenance of text documents on the Web
SAP Enhanc ement s and BAdI s (c ont .)
SAP AG 2005, 69
RSAP0001 exits parallel with RSU5_SAPI_BADI
RSR00001 see Note 492445
Enhancement for reporting variables
RSR00002 exists parallel with RSR_OLAP_BADI
RSR00004 automatically migrated to BAdI SMOD_RSR00004
Report-Report-Interface
RSSBR001 obsolete (deleted with rel. 3.0B SP8)
SAP Enhanc ement s and BAdI s (c ont .)
SAP AG 2005, 70
Ex i t s i n Busi ness Pl anni ng and Si mul at i on (BW-BPS)
Planning functions of Type " Exit"
Variables of Type " Exit"
Characteristic relationships of Type " Exit"
Combination check, combination proposal, derivation
Enhancement SEMBPSU01 obsolete
Characteristic validation
Enhancement SEMBPSU02 obsolete
Characteristic derivation
SAP AG 2005, 71
Runt i me Anal ysi s of ABAP St at ement s
Transaction: SE30 Tips and Tricks
Documentation of
ABAP Statements
Runtime Analysis of
ABAP Statements
Choice of Different
ABAP Statements
SAP AG 2005, 72
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other
software vendors.
Microsoft

, WINDOWS

, NT

, EXCEL

, Word

, PowerPoint

and SQL Server

are registered trademarks of Microsoft


Corporation.
IBM

, DB2

, DB2 Universal Database, OS/2

, Parallel Sysplex

, MVS/ESA, AIX

, S/390

, AS/400

, OS/390

,
OS/400

, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere

, Netfinity

, Tivoli

, Informix
and Informix

Dynamic Server
TM
are trademarks of IBM Corporation in USA and/or other countries.
ORACLE

is a registered trademark of ORACLE Corporation.


UNIX

, X/Open

, OSF/1

, and Motif

are registered trademarks of the Open Group.


Citrix

, the Citrix logo, ICA

, Program Neighborhood

, MetaFrame

, WinFrame

, VideoFrame

, MultiWin

and other
Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C

, World Wide Web Consortium,


Massachusetts Institute of Technology.
J AVA

is a registered trademark of Sun Microsystems, Inc.


J AVASCRIPT

is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and
implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, R/3, mySAP, mySAP.com, xApps, xApp and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all
over the world. All other product and service names mentioned are the trademarks of their respective companies.
Copyr i ght 2005 SAP AG. Al l Ri ght s Reser ved