Professional Documents
Culture Documents
SAP AG BW Development
SAP AG, Dec. 1999 (Joachim Mette)
Slide 1
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.
Slide 2
User-Exits in BW
Browser
Analyzer
(hosted by MS Excel)
5.
Business Explorer
ODBO
Administrator
Workbench
Administration
Scheduling
Monitor
BW Server
Meta Data
Repository
3.
BAPI
OLAP Processor
4-
Data Manager
Staging Engine
2.
InfoCubes
Operational
Data Store
BAPI
Slide 3
Production Data
Extractor
1.
OLTP
Reporting
Slide 4
Slide 5
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
I_UPDMODE
Slide 7
I_T_FIELDS
C_T_DATA
Slide 8
I_UPDMODE
Slide 9
I_T_FIELDS
C_T_DATA
Slide 10
I_UPDMODE
Slide 11
I_T_LANGU
C_T_TEXTS
Slide 12
I_S_HIEBAS
I_S_HIEFLAG
I_S_HIER_SEL
Slide 13
C_T_HIETEXT
C_T_HIENODE
C_T_FOLDERT
C_T_HIEINTV
Slide 14
Slide 15
InfoPackage
yellow
Scheduler
Scheduler
Monitor
Monitor
Pull
Extraction
Extraction engine
engine
OLTP System
SAP AG, Dec. 1999 (Joachim Mette)
Slide 16
green
Slide 17
Interface - Importing
RNR
TSTATUS
SOURCE
LOGSYS
TYP
GNR
Slide 18
Interface - Importing
WRITE_TO_ODS
GROUP_CALL
Slide 19
InfoCube
Monitor
Infopackage
Sourcesystem
Slide 20
User Exit
after Data Load
Check
InfoCube
Monitor
Infopackage
Sourcesystem
Slide 21
User Exit
after Data Load
Send Mail
Send Mail
Slide 22
Slide 23
Slide 24
Interface - Importing
I_VNAM
I_VARTYP
1: Characteristic Value
2: Hierarchy node(s)
3: Text
4: Formula
5: Hierarchy
I_IOBJNM
I_S_COB_PRO
I_S_RKB1D
I_PERIV
I_T_VAR_RANGE
I_STEP
1.2B
1.2B
1.2B
Slide 25
Interface Exporting
E_T_RANGE
E_MEEHT
Unit of measure
E_MEFAC
E_WAERS
Currency Code
E_WHFAC
Slide 26
Call-Sequence
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Interface Importing/Exporting
Importing:
I_S_RKB1D
Exporting:
E_T_CHANM
E_T_KYFNM
Slide 32
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. (*)
Slide 33
Remarks
Can you use a Navigational Attribute on top of a Virtual characteristic?
Solution: Don't use a Navigational Attribute, use a virtual characteristic for the attribute value.
Select joins
with
Slide 34
Slide 35
BW Server
Remote Function Call
Microsoft Excel
Call
on
refresh
Query Directory
Exits
(hidden)
Business
BusinessExplorer
ExplorerAnalyzer
Analyzer
(Excel
Add-in
SAPBEX.XLA)
(Excel Add-in SAPBEX.XLA)
API
Calls
State of Query 1
State of Query 2
VBA
VBA
Modules Modules
State of Query 3
Results
Query 1
Results
Query 2
Worksheet 1
Slide 36
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)
' your own code goes here ...
' example: MsgBox queryID
' example: MsgBox resultArea.rows.count
' example: resultArea.AutoFilter
End Sub
Slide 37