Vous êtes sur la page 1sur 14

ABAP Development for SAP BW—User Exits and BAdIs

Dirk Herzog

Contents

1 Introduction ................................................ 3 End Routine in the Transformation ...... 35


Expert Routine in the Transformation .. 35
2 Performance ................................................ 5 4.2 Importing a Hierarchy from an
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
3 User Exits and BAdIs in the Creating the End Routine ..................... 48
Extraction Process .................................... 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 4.3 Transfer Rules in SAP BW 3.x ............... 55
Use ........................................................ 15 Start Routine in the Transfer Rule ........ 56
Structured Composition of Routine for InfoObject Derivation ....... 59
the ZXRSAU01 Include ......................... 16 Implementing the InfoObject
Implementing the User Exit EXIT_ Derivation ............................................. 63
SAPLRSAP_001 for Currency 4.4 Update Rules in SAP BW 3.x ................ 65
Extraction .............................................. 19 Start Routine ........................................ 66
Using the Hierarchy Exit ....................... 20 Example ................................................ 67
Surrogate for the Generic Hierarchy Characteristic Calculation .................... 68
Extractor ............................................... 22 Key Figure Derivation ........................... 69
Transferring Parameters to the Unit Calculation ................................... 70
User Exit ................................................ 22 Return Table .......................................... 72
3.4 BAdI RSU5_SAPI_BADI ......................... 22
Advantages and Disadvantages ............ 23 5 User Exits and BAdls in Reporting .... 73
5.1 Variable Exit RSR00001 ........................ 73
4 User Exits in Data Import Interface of Function Module EXIT_
Processes ...................................................... 25 SAPLRSR0_001 ..................................... 74
4.1 Transformation ...................................... 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

www.sap-press.com 1
Contents

Validating an Individual Variable .......... 83 6 Summary ...................................................... 103


Checking Characteristic Combinations
in Step 3 ............................................... 83 A Appendix ...................................................... 105
5.2 Virtual Key Figures and A.1 Other BAdIs and User Exits in
Characteristics ...................................... 86 SAP NetWeaver BI ................................ 105
Advantages and Disadvantages ............ 86 A.2 Generated Tables and Objects in
Implementation .................................... 87 SAP NetWeaver BI ................................ 106
Other Useful Information ..................... 93
Transferring Variable Values to Index .............................................................. 109
the BAdI ................................................ 94
5.3 VirtualProviders ................................... 94
Creating a Virtual Provider ................... 95
Dos and Don'ts for the Implementation
of the Service ........................................ 97
5.4 BAdI SMOD_RSR00004 ...................... 99

2 © Galileo Press 2007. All rights reserved.


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, ben-
efit from the advantages provided by the new routines,
or if you have to standardize the routines in order to keep
4.1 Transformation
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 Admin-
istrator 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 3
grammer.
왘 Start routine
왘 End routine Deriving Characteristics
왘 Expert routine The derivation of characteristics and key fields is certainly
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
implemented.
2 If you update into an InfoCube, only the key figures are cal-
culated, whereas if you update into a DataStore object (in 1. To create a routine for deriving characteristics, dou-
SAP BW 3.x: ODS object) all data fields are calculated. In an ble-click on the characteristic for which you want to
InfoObject it is the attributes and texts that are calculated.
3 Similarly, in this exit the characteristics are determined in an create the routine. This takes you to the Rule Details
InfoCube, the key fields in a DataStore, while the value of an dialog.
InfoObject and of compounded characteristics, if available,
and are determined in an InfoObject.

26 © Galileo Press 2007. All rights reserved.


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
RESULT TYPE _ty_s_TG_1-METYPE
monitor TYPE rstr_ty_t_monitor
Figure 4.2 Creating a Routine RAISING
cx_rsrout_abort
SAP NetWeaver BI then generates a main class that cx_rsrout_skip_record.
will contain only the implementation. Listing 4.1 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 * CLASS routine IMPLEMENTATION
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 DEFINITION METHOD compute_0METYPE.
*---------------------------------------* DATA:
* MONITOR_REC TYPE rsmonitor.
*---------------------------------------* *$*$ begin of routine - insert your code
CLASS routine DEFINITION. * only below this line *-*
PUBLIC SECTION. ... "insert your code here
*-- fill table "MONITOR" with values of
TYPES: *- structure "MONITOR_REC"
BEGIN OF _ty_s_SC_1, *- to make monitor entries
* InfoObject: 0METYPE Key Figure Type. ... "to cancel the update process
METYPE TYPE /BI0/OIMETYPE, * raise exception type
END OF _ty_s_SC_1. * CX_RSROUT_ABORT.
TYPES: ... "to skip a record
BEGIN OF _ty_s_TG_1, * raise exception type
* InfoObject: 0METYPE Key Figure Type. * CX_RSROUT_SKIP_RECORD.
METYPE TYPE /BI0/OIMETYPE, * result value of the routine
END OF _ty_s_TG_1. RESULT = .
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr. *$*$ end of routine - insert your code
*$*$ begin of global - insert your * only before this line *-*
* declaration only below this line *-* ENDMETHOD. "compute_0METYPE
... "insert your code here ENDCLASS. "routine IMPLEMENTATION
*$*$ end of global - insert your Listing 4.1 Generated Characteristic Derivation Method
* declaration only before this line *-*

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 1. You must select a key figure in your data target and
The derivation of key figures and data fields occurs almost 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, under the Rule Type item.
characteristics derivations do also occur here if the char- 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 * raise exception type
how to do that. * CX_RSROUT_ABORT.
CLASS routine IMPLEMENTATION. ... "to skip a record
* raise exception type
METHOD compute_0AMOUNT. * CX_RSROUT_SKIP_RECORD.
* Here the provided currency is * result values of the routine
* converted into Euro. If no currency IF SOURCE_FIELDS-CURRENCY IS INITIAL.
* is delivered, 0 Euro is returned. RESULT = 0.
DATA: CURRENCY = 'EUR'.
MONITOR_REC TYPE rsmonitor. ELSE.
CALL FUNCTION
*$*$ begin of routine - insert your code 'CONVERT_TO_LOCAL_CURRENCY'
* only below this line *-* EXPORTING
... "insert your code here 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


SOURCE_FIELDS-amount right. Regarding the return table, it was always unclear in
FOREIGN_CURRENCY = which sequence the individual exits would be called, and
SOURCE_FIELDS-currency this could be very confusing.
LOCAL_CURRENCY = 'EUR'
TYPE_OF_RATE = 'M' Start Routine in the Transformation
IMPORTING The start routine is primarily used to format the source
LOCAL_AMOUNT = RESULT data. You should use the start routine whenever the
EXCEPTIONS source system delivers the data in a different form than is
OTHERS = 1. expected by SAP NetWeaver BI.
IF sy-subrc = 0. For example, you should carry out conversions if cost
CURRENCY = 'EUR'. types are delivered without alpha conversion or if the
ELSE. date format is 01.05.06. Moreover, at this point you can
RESULT = SOURCE_FIELDS-amount. already delete data records from the source system that
CURRENCY = SOURCE_FIELDS-currency. aren't needed in SAP NetWeaver BI.
ENDIF. In general, it is more efficient to carry out several data
*$*$ end of routine - insert your code operations in the start routine instead of splitting them
* only before this line *-* up into single routines, especially if those routines require
ENDMETHOD. "compute_0AMOUNT the same intermediate results for their calculations. What
ENDCLASS. "routine IMPLEMENTATION you can also do very well and efficiently in the start rou-
Listing 4.4 Currency Conversion in the Transformation tine 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:
<SOURCE_FIELDS> TYPE _ty_s_SC_1.

DATA:
MONITOR_REC 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 <SOURCE_FIELDS>.
w_cctr-low = <SOURCE_FIELDS>-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 D Export DataSource 22


0CURRENCY 32 Extraction 11, 23
DATA_TRANSFORM 23
0QUANTITY 41 Extractor 16
Data cleansing 25, 35
Extractor checker 14
Dataflows 25
Extract structure 22
A Data mart interface 98
Data model 55, 65
ABAP Objects 23, 25, 28
Data package 9, 13, 14, 16, 26, 57,
ABAP query 12
58, 67
F
Account model 41 FIELD-SYMBOLS 8
Data record deletions 35
Adding data records in the extractor 17 Field extension 14
Data selection 96
Application component 12 Field symbols 5, 7
DataSource 15, 23, 25, 35, 45, 55, 97
Application component hierarchy 12 Filling the extract structure 17
Create 45
ASSIGN 8 FOX formula 105
Export 22
Attribute derivation 8 Full upload 13
DataStore 44, 46, 98
Authorization check 15
Data target 41, 55
Data target structure 72
B 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
H
C HASHED TABLE 6
Cache 9 E Hashed table 6, 9, 57
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
72, 87, 88, 91 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

www.sap-press.com 109
Index

InfoProvider 25, 35, 55, 56, 86, 87, Q SOURCE_PACKAGE 34


94, 95, 99 Source structure 43
Quantity unit conversion 29
InfoSource 25, 35, 55, 67 Source system 11, 41, 55, 62, 63
Query 97
INITIALIZATION 88, 91 Standard extractor 11, 14
Initialization 35 STANDARD TABLE 5
R Standard table 5
Instance attributes 90
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 57, 62, 66, 67, 72
READ TABLE WITH KEY 7 create 46
K READ TABLE WITH TABLE KEY 7 of the transfer rules 14
RemoteCube 41, 63, 94
Key figure 97, 99
Removing special characters 28
Key figure derivation 69
Report-report interface 41, 99, 100
T
Key figure model 41 Table 12
Return table 72
RFC packing 95, 97 Table types 5
L Routine with unit 29 Target structure 43
RRMS_MESSAGE_HANDLING 85, 86 TCURR 12
Line items report 41
RSA3 14 Transaction data 15
LISTCUBE 99
RSAP0001 14, 15, 22 Transfer rule 25, 55, 56, 57, 62
Loading process 5
RSAR_CONNECTOR 105 Transfer structure 57, 62
Log 43
RSBBS 99 Transformation 25, 32, 35, 37, 43
LOOP AT tab ASSIGNING 8
RSDBC_SQL_STATEMENT 105 Transport 37
LOOP AT TABLE WHERE 7
RSDRI_INFOPROV_READ 98
RSO2 12 U
M RSOD_DOC_BADI 105 Unit calculation 29, 70
RSOD_ITEM_DOC 105 Update rule 25, 32, 55, 62, 65, 66, 67,
Mapping 99, 100
RSOD_ITEM_DOC_LIST 105 68, 69, 70, 72
Masking 15
RSOD_WWW_DOC_MAINT 105 Upload 6
Master data attributes 6, 15
RSR_OLAP_AUTH_GEN 105 User exit 15, 20, 22
Master data table 98
RSR_OLAP_BADI 87, 88
Master data texts 15
RSR00001 73
Message 58
Message class 58
RSR00002 87 V
RSR00004 99 Validation 74, 83
Message collector 85
RSRA_ALERT 105 Variable 73
MultiProvider 86, 99
RSU5_SAPI_BADI 22, 23 Variable combinations 83
N Variable exit 73

Navigation attribute 96 S Variable handling 82


Variable strategy 82
Node ID 43 SAP BW-BPS 105 Variable values 94
SAP NetWeaver 2004s 25, 26, 35, View 12
O 43, 44, 45, 52, 55, 87, 94 Virtual key figures and characteristics
SE19 87 86, 87, 93, 94
ODS object 44
SE91 86 VirtualProvider 41, 94, 95, 98, 99
OLAP processor 96
Selection field 13, 22
O notation 7
SEMBPS01 105
OPENHUB_TRANSFORM 105
SEMBPS02 105
Z
SID support 95, 97 ZXRSAU01 16
P 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.

Vous aimerez peut-être aussi