Professional Documents
Culture Documents
Abap Development For Sap Bw-User Exits and Badis: 2 Performance
Abap Development For Sap Bw-User Exits and Badis: 2 Performance
Dirk Herzog
End Routine in the Transformation ...... Expert Routine in the Transformation .. 4.2 Importing a Hierarchy from an Unstructured Excel Sheet .................... Creating the DataStore Object ............. Creating the DataSource ...................... Creating the Transformation ................. Creating the Start Routine .................... Creating the End Routine .....................
35 35 43 44 45 46 46 48 52 53 55 55 56 59 63 65 66 67 68 69 70 72 73 73 74 76 79 81 82
Table Types in ABAP ............................. Loops and Read Accesses to Tables Field Symbols ........................................ Database Accesses and Cache ..............
11 11 11 14 15 16
Creating a DTP ..................................... Creating a Query .................................. Implementation in SAP BW 3.x ............ 4.3 Transfer Rules in SAP BW 3.x ............... Start Routine in the Transfer Rule ........ Routine for InfoObject Derivation ....... Implementing the InfoObject Derivation ............................................. 4.4 Update Rules in SAP BW 3.x ................ Start Routine ........................................ Example ................................................ Characteristic Calculation .................... Key Figure Derivation ........................... Unit Calculation ................................... Return Table ..........................................
19 20 22 22 22 23
....
Variable Exit RSR00001 ........................ SAPLRSR0_001 ..................................... Implementation for I_STEP = 1 ............ Implementation for I_STEP = 2 ............ Implementation for I_STEP = 0 ............ Implementation for I_STEP = 3 ...........
25 25 26 29 32
www.sap-press.com
Contents
Validating an Individual Variable .......... Checking Characteristic Combinations in Step 3 ............................................... 5.2 Virtual Key Figures and Characteristics ...................................... Advantages and Disadvantages ............ Implementation .................................... Other Useful Information ..................... Transferring Variable Values to the BAdI ................................................ 5.3 VirtualProviders ................................... Creating a Virtual Provider ................... Dos and Don'ts for the Implementation of the Service ........................................ 5.4 BAdI SMOD_RSR00004 ......................
83 83 86 86 87 93
6 A
Summary Appendix
A.1 A.2
Other BAdIs and User Exits in SAP NetWeaver BI ................................ 105 Generated Tables and Objects in SAP NetWeaver BI ................................ 106
Index
94 94 95 97 99
.............................................................. 109
Whereas the adjustment of extractor results predominantly occurs only with selected DataSources, most data import processes in SAP NetWeaver BI involve a user exit that is run through between the DataSource and the InfoProvider. This may be done for conversion purposes, for the derivation of new characteristics, or for data cleansing. Because the entire logic of SAP NetWeaver Business Intelligence has been changed signicantly in SAP NetWeaver 2004s, Section 4.1 provides a detailed description of the transformation options that have been newly implemented. Compared to the options available in the transfer and update rules, the transformation options have been extended substantially and provide new features. The only disadvantage is that methods are generated instead of form routines, which is why the code of the exit itself is checked for the more rigid syntax of ABAP Objects. However, those of you who want to become more engaged in this subject matter will probably consider this an advantage, as it enables you to employ a clean and consistent way of programming. And those of you who still don't want to be involved still have the chance to call a function module and thus return to the good old ABAP syntax.
In addition, you have the option to display the rules graphically. Figure 4.1 shows the graphical display of the transformation in SAP NetWeaver 2004s. The data source and target are specied in the header next to the name of the transformation. Below the header, the graphic displays a section of the data source structure, while the right-hand part of the graphic displays a section of a rule group. The rule group is a structure that corresponds to the structure of the data target. It is supposed to enable you to derive several data records in the data target from one source record, as is possible in SAP BW 3.x. The arrows displayed in the graphic indicate which elds of the data source are transformed into the corresponding elds of the data target. Along with the improved exit implementation options, you should also use the transformation option for newly created objects in SAP NetWeaver 2004s. It depends on each individual case whether it is worthwhile to convert the old data ows. In any event, you should consider this in cases where only InfoObject assignments are used in the update or transfer rules and where you can delete the InfoSource being used. In all other cases, it is only worth the effort if you want to revise the rule completely, benet from the advantages provided by the new routines, or if you have to standardize the routines in order to keep a clear overview of SAP NetWeaver BI. The last issue is especially necessary in enterprise data warehouses, and I'd say that anyone who has carried out at least three different projects with three different project teams will agree that it is absolutely necessary to implement a certain structure.
4.1
Transformation
The method of transformation was newly introduced for SAP NetWeaver 2004s. It standardizes the transfer and update rules taken from SAP BW 3.x. While the transfer rules were only applied between DataSources and InfoSources and the update rules only between InfoSources 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
The transformation contains a total of ve exits: Exit for determining the key gures and data elds2 Exit for determining the characteristics and key elds Start routine End routine Expert routine The expert routine completely replaces the graphical modeling process and enables you to convert each data package from the source into the target structure in a single routine. In SAP NetWeaver 2004s, the end routine and the expert routine have been newly implemented in the transformation, while the transfer and update rules in SAP BW 3.x only contained the rst three exits. In the
2 If you update into an InfoCube, only the key gures are calculated, whereas if you update into a DataStore object (in SAP BW 3.x: ODS object) all data elds 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 elds in a DataStore, while the value of an InfoObject and of compounded characteristics, if available, and are determined in an InfoObject.
3
following sections, you'll see how much the end routine and the expert routine can improve your life as a programmer. Deriving Characteristics The derivation of characteristics and key elds is certainly the simplest type of derivation in the context of BW exits because it contains the fewest variants. The characteristic derivation is required in many different scenarios: for instance, if elds from the source system are not delivered, if the elds in the source system have a different structure than those in SAP NetWeaver BI, if a conversion needs to be performed, or if time characteristics must be converted for which no standard conversion has been 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.
26
4.1 Transformation
2. Here you must select the item Routine in the Rule Type eld. Then you can create the routine by clicking on the Create button next to the eld (see Figure 4.2).
RAISING cx_rsrout_abort
SAP NetWeaver BI then generates a main class that will contain only the implementation. Listing 4.1 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 DEFINITION ENDCLASS.
*$*$ begin of routine - insert your code * only below this line ... "insert your code here *-fill table "MONITOR" with values of *-*
TYPES: BEGIN OF _ty_s_SC_1, * InfoObject: 0METYPE Key Figure Type. METYPE END TYPES: BEGIN OF _ty_s_TG_1, * InfoObject: 0METYPE Key Figure Type. METYPE END TYPE /BI0/OIMETYPE, TYPE /BI0/OIMETYPE,
*- structure "MONITOR_REC" *- to make monitor entries ... "to cancel the update process * * raise exception type CX_RSROUT_ABORT.
OF _ty_s_SC_1.
... "to skip a record * * * raise exception type CX_RSROUT_SKIP_RECORD. result value of the routine RESULT = .
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 *-* *-* *$*$ end of routine - insert your code * only before this line ENDMETHOD. ENDCLASS. "compute_0METYPE "routine IMPLEMENTATION *-*
www.sap-press.com
27
If you are not yet familiar with object-oriented programming, you shouldn't panic. Because the main class is predened, you can focus entirely on implementing the logic and don't need to bother about inheritance, interfaces, attributes, and so on. At this point that's much easier even than implementing a Business Add-In. But let's take a detailed look at Listing 4.1. At the beginning, two types are dened: _ty_s_SC_1 and _ty_
s_TG_1. The contents of both types depend on the elds
processing of the data package. The new development can be regarded as a signicant step forward, given that the handling of the RETURNCODE parameter was not very intuitive in SAP BW 3.x. It used to behave differently in the transfer rules, where it didn't cause any error message, and in the update rules, where it actually did produce errors. Apart from that, the implementation is almost identical to that of the transfer and update rules in SAP BW 3.x despite the fact that some parameter names have been slightly changed. This means that you don't need to learn anything new and can simply copy the existing code in almost all cases. The only restriction is that the more rigid ABAP Objects syntax is checked here. But those of you who simply cannot do without the tables and headers and all those other precious gadgets in ABAP just need to call a function module at this point to have the entire range of ABAP relics at your disposal again. Example: Removing Special Characters A typical problem that regularly occurs when importing data from external systems is that input elds such as family names and addresses can contain special characters, for instance in foreign addresses or incorrect entries. The best way to catch them is to use a routine. In Listing 4.2, all special characters are replaced by blank space characters in an InfoObject called NAME that has the type CHAR(60). Simple routines like this one signicantly increase the stability of the import processes and thus reduce the maintenance requirements.
you want to link to each other in the graphical modeling process. In the most simple case, which is the one described above, it is only the eld 0METYPE of the data source that is linked to the eld 0METYPE of the data target. Therefore, both types obtain exactly this eld. In the subsequent section, you can dene global data objects. All data denitions that you make here occur in all routines created in this transformation so that you can transfer data from one routine into another. The next section of the listing contains the denition of the method. ABAP Objects distinguishes between the denition and the implementation of the method, which is why the interface is rst dened at this stage. In addition to the request and data-package numbers, the interface contains the structure SOURCE_FIELDS as import parameter. The type of this structure is _ty_s_SC_1 dened above and contains the selected elds of the source structure. The only available export parameters are the RESULT eld for the result and the MONITOR table for he error messages. The RETURNCODE and ABORT ags that are available in SAP BW 3.x are now replaced by corresponding exceptions. To skip the data record, you should insert the statement RAISE cx_rsrout_skip_record, whereas
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
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 gures and data elds occurs almost as often as the derivation of characteristics and key elds. For example, it is used for simple calculations (invoice amount = catalog price + extras discount). However, characteristics derivations do also occur here if the characteristics are contained in the data component of DataStore objects. The derivation of key gures and data elds in the transformation can be as simple as the derivation of characteristics; it even uses exactly the same routine. There is one little difference, and that's the calculation of units in the routine. Here is how that now works.
1. You must select a key gure in your data target and double-click on it to open the Rule Details dialog you are already familiar with (see Figure 4.3). 2. Then you can select the Routine with Unit entry under the Rule Type item. 3. Click on the Change button next to the rule type to open the ABAP Editor. The system then automatically generates the code shown in Listing 4.3. You can use the key gure calculation with unit output for two different types of units: quantity units and currencies. While you should calculate currencies using a corresponding 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,
* *
www.sap-press.com
29
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.)
4.1 Transformation
It can be necessary to convert currencies, as otherwise the process terminates because data records are imported that don't contain any information on the amount or source currency. In that case, you should perform the currency conversion by yourself. Listing 4.4 shows you how to do that.
CLASS routine IMPLEMENTATION.
*-**-
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 IF SOURCE_FIELDS-CURRENCY IS INITIAL. RESULT = 0. CURRENCY = 'EUR'.
METHOD compute_0AMOUNT. * * * Here the provided currency is converted into Euro. If no currency is delivered, 0 Euro is returned. DATA: MONITOR_REC TYPE rsmonitor.
* *
*$*$ begin of routine - insert your code * only below this line *-*
www.sap-press.com
31
FOREIGN_AMOUNT
work, SAP's decision to avoid the routine was certainly right. Regarding the return table, it was always unclear in which sequence the individual exits would be called, and this could be very confusing. Start Routine in the Transformation The start routine is primarily used to format the source data. You should use the start routine whenever the source system delivers the data in a different form than is expected by SAP NetWeaver BI. For example, you should carry out conversions if cost types are delivered without alpha conversion or if the date format is 01.05.06. Moreover, at this point you can already delete data records from the source system that aren't needed in SAP NetWeaver BI. In general, it is more efcient to carry out several data operations in the start routine instead of splitting them up into single routines, especially if those routines require the same intermediate results for their calculations. What you can also do very well and efciently in the start routine is to scale down the data package. Since the entire data package is contained in an internal table, you can reduce the data quantity rather efciently by using the
DELETE SOURCE_PACKAGE WHERE ... statement. Using an *-*
SOURCE_FIELDS-amount FOREIGN_CURRENCY = SOURCE_FIELDS-currency LOCAL_CURRENCY TYPE_OF_RATE IMPORTING LOCAL_AMOUNT EXCEPTIONS OTHERS IF sy-subrc = 0. CURRENCY ELSE. RESULT = SOURCE_FIELDS-amount. = 'EUR'. = 1. = RESULT = 'EUR' = 'M'
CURRENCY = SOURCE_FIELDS-currency. ENDIF. *$*$ end of routine - insert your code * only before this line ENDMETHOD. "compute_0AMOUNT ENDCLASS. "routine IMPLEMENTATION
A somewhat easier alternative would be to set the currency 0CURRENCY to EUR in the start routine. However, if the currency is updated into an additional eld, it can make an important difference if you update Euro or nocurrency data. The only routine that's missing in the transformation compared to the old update rules is the routine containing the return table. In most cases, this routine can be replaced with the end routine described in Listing 4.5, while in some rare cases you have to revert to the expert routine. Even though this may require some additional
exception in the characteristic routine for the same purpose is much less efcient, as the data records would rst have to be specically formatted for the characteristic calculationa time-consuming task. You can create the start routine either through the transformation menu by selecting Insert 4.4). Create start routine or by clicking on the relevant button (see Figure
32
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
* Calculation of source package via * start routine *---------------------------------------* * <-> source package *---------------------------------------* METHOD start_routine. *=== Segments === FIELD-SYMBOLS: <SOURCE_FIELDS> 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 <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 request and the data package ID; its exporting parameter is the table containing the error records. The most impor-
tant parameter, however, is the actual SOURCE_PACKAGE table that contains the data records and is dened as a changing parameter.
Index
D
DATA_TRANSFORM 23 Data cleansing 25, 35 Dataflows 25 Data mart interface 98 Data model 55, 65 Data package 9, 13, 14, 16, 26, 57, 58, 67 Data record deletions 35 Data selection 96 DataSource 15, 23, 25, 35, 45, 55, 97 Create 45 Export 22 DataStore 44, 46, 98 Data target 41, 55 Data target structure 72 Data transfer process 44, 52, 53, 55 Data volume 5 Default value 63 DEFINE 88, 89, 91 Delta upload 13 Derivation of characteristics 25 Displaying activated program 67
A
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 ASSIGN 8 Attribute derivation 8 Authorization check 15
F
FIELD-SYMBOLS 8 Field extension 14 Field symbols 5, 7 Filling the extract structure 17 FOX formula 105 Full upload 13
B
BAdI 22 BAPI_INFOCUBE_READ_ REMOTE_DATA 96 BI hierarchy 44 BW_SCHEDULER 105
G
Generic DataSource 12 Generic delta 13 Generic extractor 11, 13, 14, 22 Graphical modeling 26
C
Cache 9 Characteristic 99 Characteristic calculation 68 Characteristic derivation 26, 35 Characteristic value 97 CL_RSBM_LOG_CURSOR_STEP 37 CL_RSDRV_REMOTE_IPROV_SRV 96 Communication structure 56, 58, 66, 69, 72, 87, 88, 91 COMPUTE 88, 91, 92, 93 CONSTRUCTOR 93 Conversion 15, 25 CONVERT_TO_FOREIGN_CURRENCY 70 CONVERT_TO_LOCAL_CURRENCY 70 Currency conversion 35
H
HASHED TABLE 6 Hashed table 6, 9, 57 HIER_TRANSFORM 23 Hierarchy 12, 15, 20, 23, 43 Hierarchy exit 22 Hierarchy extractor 22 History of the transformation 37
E
Elimination of intercompany sales 94 End routine 26, 32, 35, 37, 44, 48, 55 Enterprise data warehouse 25 Error handling 67 Error message 58, 85 EXIT_SAPLRRS0_001 73, 92, 94 EXIT_SAPLRSAP_001 15, 16 EXIT_SAPLRSAP_002 15 EXIT_SAPLRSAP_003 15 EXIT_SAPLRSAP_004 15, 22 EXIT_SAPLRSBBS_001 99, 100 EXIT_SAPLRSBBS_002 99 EXPERT_ROUTINE 41 Expert routine 32, 35, 37, 41, 43
I
I_STEP 73, 74, 76, 79, 81, 82 Import process 28 InfoCube 35, 37, 72, 94, 98, 99, 105 InfoObject derivation 59, 63 InfoPackage 52, 53, 58, 66
www.sap-press.com
109
Index
InfoProvider 25, 35, 55, 56, 86, 87, 94, 95, 99 InfoSource 25, 35, 55, 67 INITIALIZATION 88, 91 Initialization 35 Instance attributes 90 INVERSE_EXPERT_ROUTINE 41 INVERSE_EXPERT_SELECTION 41
Q
Quantity unit conversion 29 Query 97
SOURCE_PACKAGE 34 Source structure 43 Source system 11, 41, 55, 62, 63 Standard extractor 11, 14 STANDARD TABLE 5 Standard table 5 Start routine 26, 32, 35, 37, 44, 55, 56, 57, 62, 66, 67, 72 create 46 of the transfer rules 14
R
READ TABLE INDEX 7 READ TABLE tab ASSIGNING 8 READ TABLE WITH KEY 7 READ TABLE WITH TABLE KEY 7 RemoteCube 41, 63, 94 Removing special characters 28 Report-report interface 41, 99, 100 Return table 72 RFC packing 95, 97 Routine with unit 29 RRMS_MESSAGE_HANDLING 85, 86 RSA3 14 RSAP0001 14, 15, 22 RSAR_CONNECTOR 105 RSBBS 99 RSDBC_SQL_STATEMENT 105 RSDRI_INFOPROV_READ 98 RSO2 12
K
Key figure 97, 99 Key figure derivation 69 Key figure model 41
T
Table 12 Table types 5 Target structure 43 TCURR 12 Transaction data 15 Transfer rule 25, 55, 56, 57, 62 Transfer structure 57, 62 Transformation 25, 32, 35, 37, 43 Transport 37
L
Line items report 41 LISTCUBE 99 Loading process 5 Log 43 LOOP AT tab ASSIGNING 8 LOOP AT TABLE WHERE 7
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
U
Unit calculation 29, 70 Update rule 25, 32, 55, 62, 65, 66, 67, 68, 69, 70, 72 Upload 6 User exit 15, 20, 22
RSOD_DOC_BADI 105 RSOD_ITEM_DOC 105 RSOD_ITEM_DOC_LIST 105 RSOD_WWW_DOC_MAINT 105 RSR_OLAP_AUTH_GEN 105 RSR_OLAP_BADI 87, 88 RSR00001 73 RSR00002 87 RSR00004 99 RSRA_ALERT 105 RSU5_SAPI_BADI 22, 23
V
Validation 74, 83 Variable 73 Variable combinations 83 Variable exit 73 Variable handling 82 Variable strategy 82 Variable values 94 View 12 Virtual key figures and characteristics 86, 87, 93, 94 VirtualProvider 41, 94, 95, 98, 99
N
Navigation attribute 96 Node ID 43
S
SAP BW-BPS 105 SAP NetWeaver 2004s 25, 26, 35, 43, 44, 45, 52, 55, 87, 94 SE19 87 SE91 86 Selection field 13, 22 SEMBPS01 105 SEMBPS02 105 SID support 95, 97 SMOD_RSR00004 99 Sorted hierarchy 43 SORTED TABLE 5 Sorted table 5
O
ODS object 44 OLAP processor 96 O notation 7 OPENHUB_TRANSFORM 105
Z
ZXRSAU01 16 ZXRSRU01 73, 76
P
Performance 5, 7, 37, 41, 62, 65, 86, 94 Process chain 105 Process types 105