ABAP Development for SAP BW—User Exits and BAdIs
Short Description
Download ABAP Development for SAP BW—User Exits and BAdIs...
Description
ABAP Development for SAP BW—User Exits and BAdIs Dirk Herzog
Contents 1 2
3
Introduction Performance
................................................
3
4.2
35
Expert Routine in the Transformation ..
35
Importing a Hierarchy from an
................................................
5
2.1
Table Types in ABAP .............................
5
Unstructured Excel Sheet ....................
43
2.2
Loops and Read Accesses to Tables
....
7
Creating the DataStore Object .............
44
2.3
Field Symbols ........................................
7
Creating the DataSource ......................
45
2.4
Database Accesses and Cache ..............
8
Creating the Transformation .................
46
Creating the Start Routine ....................
46
User Exits and BAdIs in the Extraction Process ....................................
Creating the End Routine .....................
48
11
Creating a DTP .....................................
52
3.1
Usage Options ......................................
11
Creating a Query ..................................
53
3.2
Generic Extractors ................................
11
Implementation in SAP BW 3.x ............
55
3.3
User Exit RSAP0001 .............................
14
Use ........................................................
15
4.3
Structured Composition of the ZXRSAU01 Include .........................
4.4
SAPLRSAP_001 for Currency
55 56
Routine for InfoObject Derivation .......
59
Derivation .............................................
63
Update Rules in SAP BW 3.x ................
65
Extraction ..............................................
19
Start Routine ........................................
66
Using the Hierarchy Exit .......................
20
Example ................................................
67
Characteristic Calculation ....................
68
Key Figure Derivation ...........................
69
Surrogate for the Generic Hierarchy Extractor ...............................................
22
Transferring Parameters to the 3.4
Transfer Rules in SAP BW 3.x ............... Start Routine in the Transfer Rule ........ Implementing the InfoObject
16
Implementing the User Exit EXIT_
User Exit ................................................
22
BAdI RSU5_SAPI_BADI .........................
22
Advantages and Disadvantages ............
23
5
Unit Calculation ...................................
70
Return Table ..........................................
72
User Exits and BAdls in Reporting 5.1
4
End Routine in the Transformation ......
....
73
Variable Exit RSR00001 ........................
73
User Exits in Data Import Processes ......................................................
25
SAPLRSR0_001 .....................................
74
4.1
25
Implementation for I_STEP = 1 ............
76
Deriving Characteristics ........................
26
Implementation for I_STEP = 2 ............
79
Deriving Key Figures .............................
29
Implementation for I_STEP = 0 ............
81
Start Routine in the Transformation .....
32
Implementation for I_STEP = 3 ...........
82
Transformation ......................................
Interface of Function Module EXIT_
www.sap-press.com
1
Contents
Validating an Individual Variable ..........
83
6
Summary
...................................................... 103
83
A
Appendix
...................................................... 105
Checking Characteristic Combinations in Step 3 ............................................... 5.2
Virtual Key Figures and
A.1
Characteristics ......................................
86
Advantages and Disadvantages ............
86
Implementation ....................................
87
Other Useful Information .....................
93
5.3
the BAdI ................................................
94
VirtualProviders ...................................
94
Creating a Virtual Provider ...................
95
Dos and Don'ts for the Implementation 5.4
2
of the Service ........................................
97
BAdI SMOD_RSR00004 ......................
99
© Galileo Press 2007. All rights reserved.
SAP NetWeaver BI ................................ 105 A.2
Generated Tables and Objects in SAP NetWeaver BI ................................ 106
Index
Transferring Variable Values to
Other BAdIs and User Exits in
.............................................................. 109
4 User Exits in Data Import Processes
Whereas the adjustment of extractor results predomi-
In addition, you have the option to display the rules
nantly occurs only with selected DataSources, most data
graphically. Figure 4.1 shows the graphical display of the
import processes in SAP NetWeaver BI involve a user exit
transformation in SAP NetWeaver 2004s. The data source
that is run through between the DataSource and the Info-
and target are specified in the header next to the name
Provider. This may be done for conversion purposes, for
of the transformation. Below the header, the graphic dis-
the derivation of new characteristics, or for data cleansing.
plays a section of the data source structure, while the
Because the entire logic of SAP NetWeaver Business Intel-
right-hand part of the graphic displays a section of a rule
ligence has been changed significantly in SAP NetWeaver
group. The rule group is a structure that corresponds to
2004s, Section 4.1 provides a detailed description of
the structure of the data target. It is supposed to enable
the transformation options that have been newly imple-
you to derive several data records in the data target from
mented. Compared to the options available in the transfer
one source record, as is possible in SAP BW 3.x. The
and update rules, the transformation options have been
arrows displayed in the graphic indicate which fields of
extended substantially and provide new features.
the data source are transformed into the corresponding
The only “disadvantage” is that methods are generated
fields of the data target.
instead of form routines, which is why the code of the
Along with the improved exit implementation options,
exit itself is checked for the more rigid syntax of ABAP
you should also use the transformation option for newly
Objects. However, those of you who want to become
created objects in SAP NetWeaver 2004s. It depends on
more engaged in this subject matter will probably con-
each individual case whether it is worthwhile to convert
sider this an advantage, as it enables you to employ a
the old data flows. In any event, you should consider this
clean and consistent way of programming. And those of
in cases where only InfoObject assignments are used in
you who still don't want to be involved still have the
the update or transfer rules and where you can delete the
chance to call a function module and thus return to the
InfoSource being used. In all other cases, it is only worth
good old ABAP syntax.
the effort if you want to revise the rule completely, benefit from the advantages provided by the new routines,
4.1
Transformation
or if you have to standardize the routines in order to keep a clear overview of SAP NetWeaver BI. The last issue is
The method of transformation was newly introduced for
especially necessary in enterprise data warehouses, and
SAP NetWeaver 2004s. It standardizes the transfer and
I'd say that anyone who has carried out at least three
update rules taken from SAP BW 3.x. While the transfer
different projects with three different project teams will
rules were only applied between DataSources and Info-
agree that it is absolutely necessary to implement a cer-
Sources and the update rules only between InfoSources
tain structure.
and InfoProviders1, the transformation can be used to link any data source to the data targets. 1 Technically speaking, an InfoSource is also included during a data update from a DataStore object into an InfoProvider. You can see that by displaying the generated objects in the Administrator Workbench.
www.sap-press.com
25
4 User Exits in Data Import Processes
Figure 4.1 Graphical Display of a Transformation
The transformation contains a total of five exits: 왘
following sections, you'll see how much the end routine
Exit for determining the key figures and data fields2
and the expert routine can improve your life as a pro-
왘
Exit for determining the characteristics and key fields
왘
Start routine
왘
End routine
Deriving Characteristics
왘
Expert routine
The derivation of characteristics and key fields is certainly
3
grammer.
the simplest type of derivation in the context of BW exits The expert routine completely replaces the graphical
because it contains the fewest variants. The characteris-
modeling process and enables you to convert each data
tic derivation is required in many different scenarios: for
package from the source into the target structure in a
instance, if fields from the source system are not deliv-
single routine. In SAP NetWeaver 2004s, the end routine
ered, if the fields in the source system have a different
and the expert routine have been newly implemented in
structure than those in SAP NetWeaver BI, if a conversion
the transformation, while the transfer and update rules
needs to be performed, or if time characteristics must
in SAP BW 3.x only contained the first three exits. In the
be converted for which no standard conversion has been
2 If you update into an InfoCube, only the key figures are calculated, whereas if you update into a DataStore object (in SAP BW 3.x: ODS object) all data fields are calculated. In an InfoObject it is the attributes and texts that are calculated. 3 Similarly, in this exit the characteristics are determined in an InfoCube, the key fields in a DataStore, while the value of an InfoObject and of compounded characteristics, if available, and are determined in an InfoObject.
26
© Galileo Press 2007. All rights reserved.
implemented. 1. To create a routine for deriving characteristics, double-click on the characteristic for which you want to create the routine. This takes you to the Rule Details dialog.
4.1 Transformation
2. Here you must select the item Routine in the Rule
METHODS
Type field. Then you can create the routine by click-
compute_0METYPE
ing on the Create button next to the field (see Figure
IMPORTING
4.2).
request
TYPE rsrequest
datapackid
TYPE rsdatapid
SOURCE_FIELDS TYPE _ty_s_SC_1 EXPORTING
Figure 4.2 Creating a Routine
RESULT
TYPE _ty_s_TG_1-METYPE
monitor
TYPE rstr_ty_t_monitor
RAISING cx_rsrout_abort
SAP NetWeaver BI then generates a main class that will contain only the implementation. Listing 4.1
cx_rsrout_skip_record. ENDCLASS.
"routine DEFINITION
shows the generated code. The data input consists of the record number, the number of data records, the
*---------------------------------------*
source structure of the current data record, and some
*
information on the status of the data import process.
*---------------------------------------*
The required output should contain the characteristic
*
value and some status information.
*---------------------------------------*
PROGRAM trans_routine.
CLASS routine IMPLEMENTATION.
CLASS routine IMPLEMENTATION
*---------------------------------------* *
CLASS routine DEFINITION
METHOD compute_0METYPE.
*---------------------------------------*
DATA:
*
MONITOR_REC
TYPE rsmonitor.
*---------------------------------------*
*$*$ begin of routine - insert your code
CLASS routine DEFINITION.
* only below this line
PUBLIC SECTION.
*-TYPES:
*- to make monitor entries
InfoObject: 0METYPE Key Figure Type. METYPE END
TYPE /BI0/OIMETYPE,
OF _ty_s_SC_1.
TYPES:
InfoObject: 0METYPE Key Figure Type. METYPE END
... "to cancel the update process *
raise exception type
*
CX_RSROUT_ABORT.
... "to skip a record
BEGIN OF _ty_s_TG_1, *
fill table "MONITOR" with values of
*- structure "MONITOR_REC"
BEGIN OF _ty_s_SC_1, *
*-*
... "insert your code here
TYPE /BI0/OIMETYPE,
OF _ty_s_TG_1.
*
raise exception type
*
CX_RSROUT_SKIP_RECORD.
*
result value of the routine RESULT = .
PRIVATE SECTION. TYPE-POOLS: rsd, rstr.
*$*$ end of routine - insert your code
*$*$ begin of global - insert your * declaration only below this line
* only before this line *-*
... "insert your code here *$*$ end of global - insert your * declaration only before this line
ENDMETHOD. ENDCLASS.
*-*
"compute_0METYPE "routine IMPLEMENTATION
Listing 4.1 Generated Characteristic Derivation Method
*-*
www.sap-press.com
27
4 User Exits in Data Import Processes
If you are not yet familiar with object-oriented program-
processing of the data package. The new development
ming, you shouldn't panic. Because the main class is pre-
can be regarded as a significant step forward, given that
defined, you can focus entirely on implementing the logic
the handling of the RETURNCODE parameter was not very
and don't need to bother about inheritance, interfaces,
intuitive in SAP BW 3.x. It used to behave differently in
attributes, and so on. At this point that's much easier
the transfer rules, where it didn't cause any error mes-
even than implementing a Business Add-In.
sage, and in the update rules, where it actually did pro-
But let's take a detailed look at Listing 4.1. At the
duce errors.
beginning, two types are defined: _ty_s_SC_1 and _ty_
Apart from that, the implementation is almost identi-
s_TG_1. The contents of both types depend on the fields
cal to that of the transfer and update rules in SAP BW 3.x
you want to link to each other in the graphical model-
despite the fact that some parameter names have been
ing process. In the most simple case, which is the one
slightly changed. This means that you don't need to learn
described above, it is only the field 0METYPE of the data
anything new and can simply copy the existing code in
source that is linked to the field 0METYPE of the data tar-
almost all cases.
get. Therefore, both types obtain exactly this field.
The only restriction is that the more rigid ABAP
In the subsequent section, you can define global data
Objects syntax is checked here. But those of you who
objects. All data definitions that you make here occur in
simply cannot do without the tables and headers and all
all routines created in this transformation so that you can
those other precious gadgets in ABAP just need to call a
transfer data from one routine into another.
function module at this point to have the entire range of
The next section of the listing contains the definition
ABAP relics at your disposal again.
of the method. ABAP Objects distinguishes between the definition and the implementation of the method, which
Example: Removing Special Characters
is why the interface is first defined at this stage. In addition
A typical problem that regularly occurs when importing
to the request and data-package numbers, the interface
data from external systems is that input fields such as
contains the structure SOURCE_FIELDS as import param-
family names and addresses can contain special char-
eter. The type of this structure is _ty_s_SC_1 defined
acters, for instance in foreign addresses or incorrect
above and contains the selected fields of the source
entries. The best way to catch them is to use a rou-
structure. The only available export parameters are the
tine. In Listing 4.2, all special characters are replaced
RESULT field for the result and the MONITOR table for he
by blank space characters in an InfoObject called NAME
error messages. The RETURNCODE and ABORT flags that are
that has the type CHAR(60).
available in SAP BW 3.x are now replaced by correspond-
Simple routines like this one significantly increase the
ing exceptions. To skip the data record, you should insert
stability of the import processes and thus reduce the
the statement RAISE cx_rsrout_skip_record, whereas
maintenance requirements.
RAISE cx_rsrout_abort enables you to abort the entire METHOD compute_NAME. DATA: MONITOR_REC TYPE rsmonitor. *$*$ begin of routine - insert your code only below this line *-* DATA: l_d_offset LIKE sy-index. CONSTANTS: c_allowed(100) TYPE c value 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_'. RESULT = SOURCE_FIELDS-/BIC/NAME. * Only capitals are permitted, hence convert to capitals. TRANSLATE RESULT TO UPPER CASE. DO 60 TIMES. l_d_offset = sy-index – 1. Listing 4.2 Method for Removing Special Characters (Contd.)
28
© Galileo Press 2007. All rights reserved.
4.1 Transformation
IF RESULT+l_d_offset(1) CO c_allowed. Character allowed, don't do anything ELSE. * Character not allowed, replace with blank space character RESULT+l_d_offset(1) = ' '. ENDIF. ENDDO. *$*$ end of routine - insert your code only before this line *-* ENDMETHOD. "compute_NAME *
Listing 4.2 Method for Removing Special Characters (Contd.)
Deriving Key Figures The derivation of key figures and data fields occurs almost
1. You must select a key figure in your data target and double-click on it to open the Rule Details dialog
as often as the derivation of characteristics and key fields.
you are already familiar with (see Figure 4.3).
For example, it is used for simple calculations (invoice
2. Then you can select the Routine with Unit entry
amount = catalog price + extras – discount). However, characteristics derivations do also occur here if the char-
under the Rule Type item. 3. Click on the Change button next to the rule type to
acteristics are contained in the data component of Data-
open the ABAP Editor. The system then automatically
Store objects.
generates the code shown in Listing 4.3.
The derivation of key figures and data fields in the transformation can be as simple as the derivation of char-
You can use the key figure calculation with unit output for
acteristics; it even uses exactly the same routine. There is
two different types of units: quantity units and curren-
one little difference, and that's the calculation of units in
cies. While you should calculate currencies using a cor-
the routine. Here is how that now works.
responding currency conversion key, the above routine is the only way to perform a quantity unit conversion.
PROGRAM trans_routine. *---------------------------------------* * CLASS routine DEFINITION *---------------------------------------* * *---------------------------------------* CLASS routine DEFINITION. PUBLIC SECTION.
* *
*
TYPES: BEGIN OF _ty_s_SC_1, InfoObject: 0AMOUNT Amount. AMOUNT TYPE /BI0/OIAMOUNT, InfoObject: 0CURRENCY Curr. Key. CURRENCY TYPE /BI0/OICURRENCY, END OF _ty_s_SC_1. TYPES: BEGIN OF _ty_s_TG_1, InfoObject: 0AMOUNT Amount. AMOUNT TYPE /BI0/OIAMOUNT,
Listing 4.3 Key Figure Calculation with Unit Output (Contd.)
www.sap-press.com
29
4 User Exits in Data Import Processes
*
InfoObject: 0CURRENCY Curr. Key. CURRENCY TYPE /BI0/OICURRENCY, END OF _ty_s_TG_1. PRIVATE SECTION. TYPE-POOLS: rsd, rstr.
*$*$ begin of global - insert your declaration only below this line *-* ... "insert your code here *$*$ end of global - insert your declaration only before this line *-* METHODS compute_0AMOUNT IMPORTING request TYPE rsrequest datapackid TYPE rsdatapid SOURCE_FIELDS TYPE _ty_s_SC_1 EXPORTING RESULT TYPE _ty_s_TG_1-AMOUNT CURRENCY TYPE _ty_s_TG_1-CURRENCY monitor TYPE rstr_ty_t_monitor RAISING cx_rsrout_abort cx_rsrout_skip_record. ENDCLASS. "routine DEFINITION *---------------------------------------* * CLASS routine IMPLEMENTATION *---------------------------------------* * *---------------------------------------* CLASS routine IMPLEMENTATION. METHOD compute_0AMOUNT. DATA: MONITOR_REC
TYPE rsmonitor.
*$*$ begin of routine - insert your code only below this line *-* ... "insert your code here *-- fill table "MONITOR" with values of structure "MONITOR_REC" to make monitor entries ... "to cancel the update process * raise exception type CX_RSROUT_ABORT. ... "to skip a record * raise exception type CX_RSROUT_SKIP_RECORD. *
result values of the routine RESULT = . CURRENCY = .
*$*$ end of routine - insert your code only before this line *-* ENDMETHOD. "compute_0AMOUNT ENDCLASS. "routine IMPLEMENTATION Listing 4.3 Key Figure Calculation with Unit Output (Contd.)
30 © Galileo Press 2007. All rights reserved.
4.1 Transformation
Figure 4.3 Creating a Routine with Unit Calculation
It can be necessary to convert currencies, as otherwise
*--
fill table "MONITOR" with values of
the process terminates because data records are imported
*-
structure "MONITOR_REC"
that don't contain any information on the amount or
*-
to make monitor entries
source currency. In that case, you should perform the
... "to cancel the update process
currency conversion by yourself. Listing 4.4 shows you
*
how to do that.
*
CLASS routine IMPLEMENTATION.
... "to skip a record *
METHOD compute_0AMOUNT. *
Here the provided currency is
*
converted into Euro. If no currency
*
is delivered, 0 Euro is returned.
CX_RSROUT_ABORT.
raise exception type
*
CX_RSROUT_SKIP_RECORD.
*
result values of the routine IF SOURCE_FIELDS-CURRENCY IS INITIAL. RESULT = 0.
DATA: MONITOR_REC
raise exception type
CURRENCY = 'EUR'. TYPE rsmonitor.
ELSE. CALL FUNCTION
*$*$ begin of routine - insert your code *
only below this line
... "insert your code here
*-*
'CONVERT_TO_LOCAL_CURRENCY' EXPORTING DATE
= sy-date
www.sap-press.com
31
4 User Exits in Data Import Processes
FOREIGN_AMOUNT
work, SAP's decision to avoid the routine was certainly
=
right. Regarding the return table, it was always unclear in
SOURCE_FIELDS-amount
which sequence the individual exits would be called, and
FOREIGN_CURRENCY =
this could be very confusing.
SOURCE_FIELDS-currency LOCAL_CURRENCY
= 'EUR'
TYPE_OF_RATE
= 'M'
Start Routine in the Transformation The start routine is primarily used to format the source
IMPORTING LOCAL_AMOUNT
data. You should use the start routine whenever the
= RESULT
source system delivers the data in a different form than is
EXCEPTIONS OTHERS
expected by SAP NetWeaver BI.
= 1.
For example, you should carry out conversions if cost
IF sy-subrc = 0. CURRENCY
types are delivered without alpha conversion or if the
= 'EUR'.
date format is 01.05.06. Moreover, at this point you can
ELSE. RESULT
= SOURCE_FIELDS-amount.
CURRENCY = SOURCE_FIELDS-currency.
already delete data records from the source system that aren't needed in SAP NetWeaver BI. In general, it is more efficient to carry out several data
ENDIF. *$*$ end of routine - insert your code
operations in the start routine instead of splitting them
*
up into single routines, especially if those routines require
only before this line
*-*
ENDMETHOD. "compute_0AMOUNT ENDCLASS.
"routine IMPLEMENTATION
Listing 4.4 Currency Conversion in the Transformation
the same intermediate results for their calculations. What you can also do very well and efficiently in the start routine is to scale down the data package. Since the entire data package is contained in an internal table, you can
A somewhat easier alternative would be to set the cur-
reduce the data quantity rather efficiently by using the
rency 0CURRENCY to “EUR” in the start routine. However,
DELETE SOURCE_PACKAGE WHERE ... statement. Using an
if the currency is updated into an additional field, it can
exception in the characteristic routine for the same pur-
make an important difference if you update Euro or no-
pose is much less efficient, as the data records would first
currency data.
have to be specifically formatted for the characteristic
The only routine that's missing in the transformation
calculation—a time-consuming task.
compared to the old update rules is the routine contain-
You can create the start routine either through the
ing the return table. In most cases, this routine can be
transformation menu by selecting Insert Create start
replaced with the end routine described in Listing 4.5,
routine or by clicking on the relevant button (see Figure
while in some rare cases you have to revert to the expert
4.4).
routine. Even though this may require some additional
Figure 4.4 Button for Creating a Start Routine
PROGRAM trans_routine. *---------------------------------------* * CLASS routine DEFINITION *---------------------------------------* * *---------------------------------------* Listing 4.5 Example of a Start Routine Including Generated Method (Contd.)
32
© Galileo Press 2007. All rights reserved.
4.1 Transformation
CLASS routine DEFINITION. PUBLIC SECTION. TYPES: BEGIN OF _ty_s_SC_1, * InfoObject: 0CO_AREA Contr. area. CO_AREA TYPE /BI0/OICO_AREA, * InfoObject: 0CO_DOC_NO CO Doc.No. CO_DOC_NO TYPE /BI0/OICO_DOC_NO, * ... END OF _ty_s_SC_1. TYPES: _ty_t_SC_1 TYPE STANDARD TABLE OF _ty_s_SC_1 WITH NON-UNIQUE DEFAULT KEY. PRIVATE SECTION. TYPE-POOLS: rsd, rstr. *$*$ begin of global - insert your declaration only below this line *-* DATA: g_t_costcenter TYPE /bi0/qcostcenter WITH UNIQUE KEY co_area costcenter objvers dateto. *$*$ end of global - insert your declaration only before this line *-* METHODS start_routine IMPORTING request TYPE rsrequest datapackid TYPE rsdatapid EXPORTING monitor TYPE rstr_ty_t_monitors CHANGING SOURCE_PACKAGE TYPE _ty_t_SC_1 RAISING cx_rsrout_abort. ENDCLASS. "routine DEFINITION *---------------------------------------* * CLASS routine IMPLEMENTATION *---------------------------------------* * *---------------------------------------* CLASS routine IMPLEMENTATION. *---------------------------------------* * Method start_routine *---------------------------------------* Listing 4.5 Example of a Start Routine Including Generated Method (Contd.)
www.sap-press.com
33
4 User Exits in Data Import Processes
* Calculation of source package via * start routine *---------------------------------------* * source package *---------------------------------------* METHOD start_routine. *=== Segments === FIELD-SYMBOLS: DATA: MONITOR_REC
TYPE _ty_s_SC_1.
TYPE rstmonitor.
*$*$ begin of routine - insert your code only below this line *-* ... "insert your code here *-- fill table "MONITOR" with values of structure "MONITOR_REC" to make monitor entries * First delete thos lines that have an order as partner objects. DELETE SOURCE_PACKAGE WHERE PIOBJSV = '0COR'. * Then initialize the cost center table. DATA: r_cctr TYPE RANGE OF /bi0/oicostcenter, "Ranges table for cost centers w_cctr LIKE LINE OF r_cctr. "Header for r_cctr CLEAR w_cctr. w_cctr-sign = 'I'. "Including selection w_cctr-option = 'EQ'. "Query similarity * A ranges table containing all cost centers is built up in the following loop. LOOP AT source_package ASSIGNING . w_cctr-low = -costcenter. COLLECT w_cctr into r_cctr. ENDLOOP. * Then those cost centers are imported into the global table that are also available * in the data package. SELECT * FROM /bi0/qcostcenter INTO TABLE g_t_costcenter WHERE costcenter IN r_cctr AND objvers = 'A'. ... "to cancel the update process * raise exception type * CX_RSROUT_ABORT. *$*$ end of routine - insert your code only before this line *-* ENDMETHOD. "start_routine ENDCLASS. "routine IMPLEMENTATION Listing 4.5 Example of a Start Routine Including Generated Method (Contd.)
The importing parameters of the start routine are the
tant parameter, however, is the actual SOURCE_PACK-
request and the data package ID; its exporting parameter
AGE table that contains the data records and is defined
is the table containing the error records. The most impor-
as a changing parameter.
34 © Galileo Press 2007. All rights reserved.
Index
0AMOUNT 41 0CURRENCY 32 0QUANTITY 41
D
Export DataSource 22
DATA_TRANSFORM 23 Data cleansing 25, 35 Dataflows 25
A
Data mart interface 98
ABAP Objects 23, 25, 28 ABAP query 12 Account model 41 Adding data records in the extractor 17 Application component 12 Application component hierarchy 12
Authorization check 15
Extractor 16 Extractor checker 14 Extract structure 22
Data model 55, 65 Data package 9, 13, 14, 16, 26, 57, 58, 67
F
Data record deletions 35
FIELD-SYMBOLS 8
Data selection 96
Field extension 14
DataSource 15, 23, 25, 35, 45, 55, 97
Field symbols 5, 7
ASSIGN 8 Attribute derivation 8
Extraction 11, 23
Create 45
Filling the extract structure 17
Export 22
FOX formula 105
DataStore 44, 46, 98
Full upload 13
Data target 41, 55
B
Data target structure 72 Data transfer process 44, 52, 53, 55
G
BAdI 22
Data volume 5
Generic DataSource 12
BAPI_INFOCUBE_READ_
Default value 63
Generic delta 13
REMOTE_DATA 96
DEFINE 88, 89, 91
Generic extractor 11, 13, 14, 22
BI hierarchy 44
Delta upload 13
Graphical modeling 26
BW_SCHEDULER 105
Derivation of characteristics 25 Displaying activated program 67
C
H HASHED TABLE 6
Cache 9
E
Characteristic 99
Elimination of intercompany sales 94
HIER_TRANSFORM 23
Characteristic calculation 68
End routine 26, 32, 35, 37, 44, 48, 55
Hierarchy 12, 15, 20, 23, 43
Characteristic derivation 26, 35
Enterprise data warehouse 25
Hierarchy exit 22
Characteristic value 97
Error handling 67
Hierarchy extractor 22
CL_RSBM_LOG_CURSOR_STEP 37
Error message 58, 85
History of the transformation 37
CL_RSDRV_REMOTE_IPROV_SRV 96
EXIT_SAPLRRS0_001 73, 92, 94
Communication structure 56, 58, 66, 69,
EXIT_SAPLRSAP_001 15, 16
Hashed table 6, 9, 57
EXIT_SAPLRSAP_002 15
I
COMPUTE 88, 91, 92, 93
EXIT_SAPLRSAP_003 15
I_STEP 73, 74, 76, 79, 81, 82
CONSTRUCTOR 93
EXIT_SAPLRSAP_004 15, 22
Import process 28
Conversion 15, 25
EXIT_SAPLRSBBS_001 99, 100
InfoCube 35, 37, 72, 94, 98, 99, 105
CONVERT_TO_FOREIGN_CURRENCY 70
EXIT_SAPLRSBBS_002 99
InfoObject derivation 59, 63
CONVERT_TO_LOCAL_CURRENCY 70
EXPERT_ROUTINE 41
InfoPackage 52, 53, 58, 66
Currency conversion 35
Expert routine 32, 35, 37, 41, 43
72, 87, 88, 91
www.sap-press.com
109
Index
InfoProvider 25, 35, 55, 56, 86, 87, 94, 95, 99 InfoSource 25, 35, 55, 67
Q Quantity unit conversion 29 Query 97
SOURCE_PACKAGE 34 Source structure 43 Source system 11, 41, 55, 62, 63 Standard extractor 11, 14
INITIALIZATION 88, 91
R
STANDARD TABLE 5
INVERSE_EXPERT_ROUTINE 41
READ TABLE … INDEX 7
Start routine 26, 32, 35, 37, 44, 55, 56,
INVERSE_EXPERT_SELECTION 41
READ TABLE tab ASSIGNING 8
Initialization 35 Instance attributes 90
K Key figure 97, 99 Key figure derivation 69 Key figure model 41
Standard table 5 57, 62, 66, 67, 72
READ TABLE WITH KEY 7
create 46
READ TABLE WITH TABLE KEY 7
of the transfer rules 14
RemoteCube 41, 63, 94 Removing special characters 28 Report-report interface 41, 99, 100
T
Return table 72
Table 12
RFC packing 95, 97
Table types 5
Routine with unit 29
Target structure 43
Line items report 41
RRMS_MESSAGE_HANDLING 85, 86
TCURR 12
LISTCUBE 99
RSA3 14
Transaction data 15
Loading process 5
RSAP0001 14, 15, 22
Transfer rule 25, 55, 56, 57, 62
Log 43
RSAR_CONNECTOR 105
Transfer structure 57, 62
LOOP AT tab ASSIGNING 8
RSBBS 99
Transformation 25, 32, 35, 37, 43
LOOP AT TABLE WHERE 7
RSDBC_SQL_STATEMENT 105
Transport 37
L
RSDRI_INFOPROV_READ 98
M Mapping 99, 100 Masking 15 Master data attributes 6, 15 Master data table 98 Master data texts 15 Message 58 Message class 58 Message collector 85 MultiProvider 86, 99
N
RSO2 12
U
RSOD_DOC_BADI 105
Unit calculation 29, 70
RSOD_ITEM_DOC 105
Update rule 25, 32, 55, 62, 65, 66, 67,
RSOD_ITEM_DOC_LIST 105
68, 69, 70, 72
RSOD_WWW_DOC_MAINT 105
Upload 6
RSR_OLAP_AUTH_GEN 105
User exit 15, 20, 22
RSR_OLAP_BADI 87, 88 RSR00001 73 RSR00002 87
V
RSR00004 99
Validation 74, 83
RSRA_ALERT 105
Variable 73
RSU5_SAPI_BADI 22, 23
Variable combinations 83 Variable exit 73
Navigation attribute 96
S
Variable handling 82
Node ID 43
SAP BW-BPS 105
Variable values 94
SAP NetWeaver 2004s 25, 26, 35,
View 12
O ODS object 44 OLAP processor 96 O notation 7 OPENHUB_TRANSFORM 105
P
Variable strategy 82
43, 44, 45, 52, 55, 87, 94 SE91 86
86, 87, 93, 94 VirtualProvider 41, 94, 95, 98, 99
Selection field 13, 22 SEMBPS01 105 SEMBPS02 105
Z
SID support 95, 97
ZXRSAU01 16
SMOD_RSR00004 99
ZXRSRU01 73, 76
Performance 5, 7, 37, 41, 62, 65, 86, 94
Sorted hierarchy 43
Process chain 105
SORTED TABLE 5
Process types 105
Sorted table 5
110 © Galileo Press 2007. All rights reserved.
Virtual key figures and characteristics
SE19 87
View more...
Comments