Beruflich Dokumente
Kultur Dokumente
Definition User-Exit
For many SAP customers, the options available in customizing are not sufficient, since they wish to change and adapt SAP transactions to suit their own requirements. The problem here is that, after every maintenance level or release upgrade, the changes have to be adjusted to coincide with SAP corrections and developments. To reduce this effort in a SAP System (or to avoid it totally), customers can make their own enhancements in a layer separate from SAP. Rather than make changes to the original code, they make them in their own special area. This is created by SAP and delivered empty or with standard values during system installation. Customers can implement additional functionality in this area. The applications programmer makes the necessary transaction data explicitly available via an interface.
SAP AG, Dec. 1999 (Joachim Mette) Slide 2
User-Exits in BW
Browser
Business Explorer
ODBO BAPI
Administrator Workbench
Administration Scheduling
BW Server
Meta Data Repository
OLAP Processor
Data Manager
Staging Engine
Monitor
BAPI
OLTP Reporting
EXIT_SAPLRSAP_003 (Texts)
This function module allows you to change the contents of a generated text transfer table for a text request. This can be useful if only one short text exists for an InfoObject but you would like to attach the mediumlength text from the user-defined table.
EXIT_SAPLRSAP_004 (Hierarchies)
This function module allows you to change the contents of a transfer table created for a hierarchy request.
SAP AG, Dec. 1999 (Joachim Mette) Slide 6
C_T_DATA
C_T_DATA
C_T_TEXTS
Table with data received from the API in the format of the structure RSTEXTTRSF.
C_T_HIENODE
C_T_FOLDERT
C_T_HIEINTV
call
red
InfoPackage
yellow green
Scheduler
Monitor
Pull
Extraction engine
OLTP System
SAP AG, Dec. 1999 (Joachim Mette) Slide 16
User Exit after Data loading Function module: rssm_start_second_process Function module is called when exiting the request as well as when exiting the InfoPackageGroup. See also Note 137991
Interface - Importing
RNR
TSTATUS
SOURCE LOGSYS
InfoSource for which data was loaded Source system for which data was loaded
TYP
GNR
Interface - Importing
WRITE_TO_ODS
= X if something is written to the ODS (not filled if function module is called by InfoPackageGroup)
WRITE_TO_CUBE = X if something is written to an InfoCube (not filled if function module is called by an Info PackageGroup) GROUP_CALL = X if function module is called by an InfoPackageGroup, otherwise space
InfoCube
Monitor
Infopackage
Check
Sourcesystem
InfoCube
Monitor
Infopackage
Send Mail
Send Mail
Sourcesystem
Interface - Importing
I_VNAM
I_VARTYP
Interface Exporting
E_T_RANGE
E_MEEHT E_MEFAC E_WAERS E_WHFAC
Call-Sequence
Pop up to enter values for the variable (if "Ready for Input" = 'X')
Examples:
The SalesRep is derived from Product and Customer. This assignment changes frequently. Therefore the value for the characteristic SalesRep can not be stored in the Cube.
You want to calculate with key figure-type attributes of an InfoObject. E.g. Price is an attribute of Product. Sold-quantity is an object of the InfoCube. You want to see the revenue (Soldquantity * Price) in your query. You have an "Open-order-InfoCube". One InfoObject is the Orderdate. You need a list with the number of days btw. the orderdate and today.
Create a Project
Select Enhancement Components Select Enhancement RSR00002
Interface Importing/Exporting
Importing:
I_S_RKB1D Information about Reporting-Object; here Query (Queryname, InfoCube, ...)
E_T_KYFNM
Remarks
You should note that the data records transferred can be on a different aggregation level depending on read procedure and drilldown.
Moreover, compound information is not automatically changed with compounded characteristics after changing a higher-level characteristic. In addition, the compound characteristic must also be defined in the mode RRKE_C_MODE-NO_SELECTION. Furthermore, the fiscal year (0FISCYEAR), the fiscal year period (0FISCPER) and the fiscal year variant (0FISCVARNT) cannot be read or changed in the enhancement. (*) Enhancement 999 may not be changed. Calling up serves to update information via the structure C_S_DATA. This functionality is completely taken over by form USER_INIT_GLOBALS.
SAP AG, Dec. 1999 (Joachim Mette) Slide 33
Remarks
Can you use a Navigational Attribute on top of a Virtual characteristic?
Select joins with At this time the Virtual characteristic is initial. The attribute is the value of the initial-entry from the master-data table
Solution: Don't use a Navigational Attribute, use a virtual characteristic for the attribute value.
SAP AG, Dec. 1999 (Joachim Mette) Slide 34
BW Server
Remote Function Call Microsoft Excel Business Explorer Analyzer (Excel Add-in SAPBEX.XLA)
Call on refresh
API Calls
Results Query 3
Worksheet 2 Workbook
SAPBEXonRefresh
When the first query is added to a workbook, the Analyzer will also add a VBA subroutine to the workbook:
Sub SAPBEXonRefresh(queryID as String, resultArea as Range)
End Sub
This subroutine will be called each time a query is refreshed in the workbook resultArea holds the result area after the refresh queryID specifies which query has been refreshed