7477843 five ways to enhance sap bi backend functionality using abap
TRANSCRIPT
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
1/72
Five Ways to EnhanceSAP BI BackendFunctionality Using
ABAP
Marc F. Bernard
SAP
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
2/72
SAP AG 2005, 2
Agenda
Introduction
1) Data Extraction
2) Data Staging3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
3/72
SAP AG 2005, 3
What This Session Will Cover
1) Data Extract ion
2) Data Staging
3) BEx Variables
4) VirtualInfoCubes, Key
Figures, and
Characteristics
5) Process Chains
Focus is on
SAP BI Backend
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
4/72
SAP AG 2005, 4
ABAP Basics What You Should Know
ABAP PerformanceABAP PerformanceABAP Performance
ABAP EnhancementsABAP EnhancementsABAP Enhancements
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
5/72
SAP AG 2005, 5
ABAP Performance
Internal Tables
Know the difference between standard, sorted, and hashed tables
Understand when to use which table type for best performance
Field Symbols Avoid field symbols if data can be accessed directly
Use field symbols to accelerate table operations (read, update)
Subroutines
Define the correct parameter types for subroutines and function modules
(using, changing, importing, export ing)
Use global variables only when necessary
Data Retrieval
Reduce database accesses as much as possible
Set table buffering correctly (none, single record, generic)
Check if secondary indexes wil l speed up database selections
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
6/72
SAP AG 2005, 6
ABAP Basics What You Should Know
ABAP PerformanceABAP PerformanceABAP Performance
ABAP EnhancementsABAP EnhancementsABAP Enhancements
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
7/72
SAP AG 2005, 7
ABAP Enhancements: How They Work
*** SAP program ***
*********************************
PROGRAM .
*** SAP program ************************************
PROGRAM .
Customer exit Exit function module
Business add-in Method
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
8/72
SAP AG 2005, 8
Function Module Exit: Process Flow
X Function Group
Application Program
Exit function module
EXIT__001
Include inCustomer Namespace
CALL CUSTOMER-FUNCTION
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
9/72
SAP AG 2005, 9
Calling and Creating Function Modules
PROGRAM .
START-OF-SELECTION.
...
PROGRAM .
START-OF-SELECTION.
...
CALL CUSTOMERCALL CUSTOMER--FUNCTION '001'FUNCTION '001'EXPORTINGEXPORTING
........
IMPORTINGIMPORTING
.... ..... .FUNCTION-POOL XAAA.
...FUNCTION exit__001.
...
ENDFUNCTION.
FUNCTION-POOL XAAA.
...
FUNCTION exit__001.
...
ENDFUNCTION.
INCLUDE zxaaau01.INCLUDE zxaaau01.
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
10/72
SAP AG 2005, 10
Implementing Business Add-Ins: Initial Screen
Business Add-Ins: Implementation Maint. Initial Screen
Implementation nameName of theImplementationName of theImplementation
Business Add-Ins: Definition Sel.
Display
Definition name
CreateChange
CreateCreate
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
11/72
SAP AG 2005, 11
FCodesInterfaceAttrs.
Class Builder: Edit Method IF_~
Implementing Business Add-Ins: Methods
Methode
Add-in method
Description
Interface name
Name of implementing class
METHOD if_~.
*...
ENDMETHOD.
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
12/72
SAP AG 2005, 12
Agenda
Introduction
1) Data Extraction
2) Data Staging3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
13/72
SAP AG 2005, 13
Creating generic DataSources using function modules for
Data Extraction
Enhancing DataSources for transaction data, master data
attributes, and texts
Using the Service API function enhancement to
enrich data
Overview of the options available for enhancing data in
the source system
Contents:
Data Extraction
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
14/72
SAP AG 2005, 14
Using the Tools for Generic Data Extraction
When should you use the generic data extraction toolsto create a DataSource?
Business Content does not include a DataSource for your application
You want to implement a delta method on your generic DataSourcethat cannot be implemented by using the generic delta funct ionality
(timestamp, date ...)
The application does not allow you to create addit ional application-
specific generic extractors (CO-PA, FI-SL, LIS)
You use your own programs in the SAP system to populate
your own tables
You have to extract data from several DB tables when:
Using a view is not possible because of insuff icient JOIN
Only some fields are relevant to these tables
Data has to be enriched with information not available in the BW system
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
15/72
SAP AG 2005, 15
Tools for Generic Data Extraction: RSO2
DataSources for
Transaction data
Master data attr ibutes
Texts
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
16/72
SAP AG 2005, 16
Creating DataSources for Generic Data Extraction
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
17/72
SAP AG 2005, 17
Generic Data Extraction with Function Modules:Function Module Interface
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
18/72
SAP AG 2005, 18
Process of Extraction
The function module is called up several times during an
extraction process:
1. Initialization call:
Only the request parameters are transferred from the modulehere. It cannot transfer data at this point.
2. First read call :
The extractor delivers the data typed with the extraction structure
to an interface table.The number of rows expected is specified in a
request parameter (I_MAXSIZE).3. Further read calls:
The extractor delivers the data connected to the last package,
again in a package with I_MAXSIZE rows.
4. Last call:
The function module is now called until the exception
NO_MORE_DATA is produced. No more data can be transferred
in the call in which the exception is produced.
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
19/72
SAP AG 2005, 19
Reasons:
You want to add extra attributes to the characteristics (master data)
shipped with the system You want to populate addit ional fields that you appended to the
extract structure with data at the time of extraction
You want to change/enhance texts or hierachies
Prerequisites:
The additional data is available at the time the extraction takes place
All information that is needed to determine the additional data clearly
is available
Enhancing Business Content DataSources
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
20/72
SAP AG 2005, 20
Creating and Maintaining Customer Appends
In BW-IMG
(TA SBIW)
Dictionary: Change Append Structure
Append structure ZABIW_MARA_S
Short description Append for BIW_MARA_S
Coponent Component type
ZZDISMM DISMM
. . .
1
23
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
21/72
SAP AG 2005, 21
Developing Service API Function Enhancements
In BW-IMG
(TA SBIW)
1
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
22/72
SAP AG 2005, 22
Important Points/Troubleshooting
Important points
Once the funct ion exit has been used, it is called for every
extraction (CASE statement required)
Key fields for enhanced content must be available Maximum field length is 60 characters
Include all recommended units
Further documentation is available under CMOD transaction
Troubleshooting is easily done by setting a break-point in
the exit code and starting the "Extractor Checker" tool
(transaction RSA3)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
23/72
SAP AG 2005, 23
Agenda
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
24/72
SAP AG 2005, 24
Data Staging (1)
InfoPackagesInfoPackages
Start RoutinesStart Routines
Update RulesUpdate Rules
Transfer RulesTransfer Rules
OverviewOverviewOverview
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
25/72
SAP AG 2005, 25
SAP BI Data Staging and ABAP Routines
Info Provider
Transfer Structure
Communication Structure
InfoPackage
D
ataFlow
ABAP
Dynamic InfoPackage selection
Dynamic flatfile f ilename
Dynamic deletion of requests
ABAP
Start routine
Transfer rule
ABAP
Start rout ine
Update rule
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
26/72
SAP AG 2005, 26
Sequential Order to Work with SAP BI Structures
The BW ABAP routines are processed sequentially for all records andall f ields:
InfoPackage Create dynamic filenames (for flat file import)
InfoPackage Dynamic selection select ion criteria 1 ... n
Transfer rule Start rout ine
Transfer rule Dynamic routines to combine field by f ield from the transfer structure to
the communication structure
Update rule Start routine
Update rule Dynamic routines to combine field by f ield from the communication struture
to the infoprovider key figures or to the ODS-object data fields
Update rule Dynamic routines to combine field by field from the communication
structure to the infoprovider characteristics or the ODS-object key fields
InfoPackage Delet ion or taking out of requests after the loading process: Only for non-collapsed requests
Otherwise the request is cancelled if there is an exception aggregation
Conditions of deletion in process chains are valid for all data targets of the InfoPackage;
within the scheduler the conditions are only valid for the selected data target
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
27/72
SAP AG 2005, 27
Data Staging (2)
InfoPackagesInfoPackagesInfoPackages
Start RoutinesStart Routines
Update RulesUpdate Rules
Transfer RulesTransfer Rules
OverviewOverview
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
28/72
SAP AG 2005, 28
Selection Possibilities
InfoPackages provide static and dynamic selection criteria for
every selection field for various characteristic types
Date field (due date is actual day):
Get yesterday (00:00 to 24:00h)
Get last week (Monday to Sunday)
Get last month (first to last day of last month)
Get last quarter (first to last day of last quarter)
Get last year (1st of Jan. to 31st of Dec. of previous year)
No date field:
Free boundary (also a period boundary is possible)
Al l f ields:
ABAP Rout ine OLAP Variable
DYNAMIC
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
29/72
SAP AG 2005, 29
Call of Deletion Functionality
When the button on the InfoPackage tab Data Targets is
grey, there are no functions for deletion defined
When a deletion function is defined the symbol appears
Deletion of Requests After the Update Rules Where
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
30/72
SAP AG 2005, 30
Deletion of Requests After the Update Rules WhereExecuted
Important:The deletion functionalities are
executed after all update rules
have run!
Multiple deletion condit ions are
possible at the same time:
By object types
By time defini tion
By routine
Exceptions to the deletion
conditions can be set for specific
days
D i D t i ti f Fil
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
31/72
SAP AG 2005, 31
Dynamic Determination of Filenames
Should you upload from cl ient workstation or the application server?
It is preferable to use the server path advantages:
Data load in batch mode is possible
Path is physically equal to all administ rators
Scenario in which to use it:
Transaction data is delivered monthly by flat file The naming convention includes the name of the month within the
filename
Directory paths are maintained for every year
Coding:
Concatenate Directory path
Actual year
Actual month
D t St i (3)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
32/72
SAP AG 2005, 32
Data Staging (3)
InfoPackagesInfoPackages
Start RoutinesStart RoutinesStart Routines
Update RulesUpdate Rules
Transfer RulesTransfer Rules
OverviewOverview
Call of Start Ro tines
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
33/72
SAP AG 2005, 33
Call of Start Routines
Start routines are processed:
After the data is written into the
PSA
Before the transfer rules areprocessed
Start routines do get as a
parameter the whole data packagestructured in the form of the
transfer structure
Classic Usage Transfer Rules
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
34/72
SAP AG 2005, 34
Classic Usage Transfer Rules
Particularly the start routine of the transfer rules gives classic scenarios of usage:
Selective deletion of records delivered with the data package
Coding example:
DELETE DATAPAK WHERE VKORG = 1000.
Advantage:
Smaller data package loading performance improves
Reasons why (examples):
The InfoPackage from the data source does not offer selection criteria
The processing time with a selection from the InfoPackage sent to the
source system takes considerably more time than without selection
The deletion criteria is easy to code within the start routine
Fill an internal table from a DDIC select
(please refer to the performance aspects)
Complex data cleansing or data consolidation from varioussource systems eventually with a look up as ETL process
Typical Scenarios Update Rules
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
35/72
SAP AG 2005, 35
Typical Scenarios Update Rules
Fill an internal table from a database table (DDIC)
(please refer also to performance aspects)
Look up scenarios when loading into data targets
Add or append information from other data providers or data stores
Consolidation scenarios:
Consolidate characteristic and key figure combinations
Key figure calculation to store the result on the database in order to
release the OLAP processor, e.g., when mult iple basis cubes are
consolidated into one
Segmentations of characteristic values in order of keyfigure numbers
(e.g., ABC classification on characteristic values)
Data Staging (4)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
36/72
SAP AG 2005, 36
Data Staging (4)
InfoPackagesInfoPackages
Start RoutinesStart Routines
Update RulesUpdate Rules
Transfer RulesTransfer RulesTransfer Rules
OverviewOverview
Call of Transfer Rule Routine
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
37/72
SAP AG 2005, 37
Call of Transfer Rule Routine
Edit transfer rules
Create routine
Transfer rule routine dialog:
1. Give the routine a name
2. Mark the fields with
which you want to work
1.
2.
3.
Data Staging (5)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
38/72
SAP AG 2005, 38
Data Staging (5)
InfoPackagesInfoPackages
Start RoutinesStart Routines
Update RulesUpdate RulesUpdate Rules
Transfer RulesTransfer Rules
OverviewOverview
InfoCube Characteristic Update RuleODS Obj t K Fi ld U d t R l
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
39/72
SAP AG 2005, 39
ODS-Object Key Field Update Rule
Characteristic assignment change of source (1)
Give a name for the update rule (2)
Interface:
Like in the start routine global declaration within the header
The form routine compute_key_field delivers the following parameters:
The table MONITOR for monitoring
The communication structure COMM_STRUCTURE with all fields from the data
source
The current record number of the loop over the data package
The number of total records
RESULT delivers to the marked characteristic the result value
RETURNCODE says whether the current record wil l be processed or not
ABORT clarif ies whether the whole data package wil l be processed or not
1
2
Time References
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
40/72
SAP AG 2005, 40
Time References
Within update rules there are various
possibili ties to reference timedependencies:
Characterist ic update rule with time
reference
It is possible to update data target
characteristics of type DATE via anautomatic time distribution
The field is fed from a data field out of the
communication structure
For example, the data target characterist ic
calendar day is fed from the source
characteristic calendar month
The effect is that every summarized key
figure has to be distr ibuted to the calendar
days of the month
In addit ion to that, it can be defined
whether the company calendar has to beused
Time characteristics
Within the frame time reference various
data target time characteristics can be filled
automatically from only one time
characteristic of the data source
Speciality: Return Table
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
41/72
SAP AG 2005, 41
p y
If it is necessary to use a return table the generated update rule differsmarginally
... (1) ... (2) ...
Interface:
Global data declaration within the header works in the same way as the start
routine and characteristics The form routine compute_data_field delivers following parameters:
The table MONITOR for monitoring
The table RESULT_TABLES with the structure of the data target
The communication structure COMM_STRUCTURE with all f ields f rom the data source
The current record number of the loop over the data package
The number of total records
RESULT delivers to the marked characterist ic the result value
RETURNCODE says whether the current record will be processed or not
ABORT clarif ies whether the whole data package wi ll be processed or not
The structure of the data target is assigned with the parameter ICUBE_VALUES
1
2
Agenda
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
42/72
SAP AG 2005, 42
g
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
BEx-Variables
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
43/72
SAP AG 2005, 43
One way to fill a variable value is to use ABAP coding
We can differentiate between two alternatives:
1. Fill the value independently with a program2. Fill the value dependent on an other variable value
BEx-Variables (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
44/72
SAP AG 2005, 44
Default information:
For fil ling variables the standard SAP Enhancement
RSR00001 is used
See the documentation related to this enhancement
for details and example coding (transaction SMOD)
In the function module of this enhancement you wil l
find include ZXRSRU01 where you implement yourprogram code
The exit is called four t imes, called "steps" (I_STEP)
BEx-Variables (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
45/72
SAP AG 2005, 45
Default information:
Step 1 (I_STEP = 1) is called before the processing of the
variable pop-up and gets called for every variable of the
processing type, customer exit. You can use this stepto fill your variable with a default or proposal value
Step 2 (I_STEP = 2) is called after processing of the
variable pop-up. This step is called only for those
variables that are not marked as ready for input andare set to mandatory variable entry
Step 3 (I_STEP = 3) is called after all variable processing
and gets called only once and not per variable. Here you
can validate the user entries
Step 0 (I_STEP = 0) is called for variables that are used in
authorizations objects
BEx-Variables (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
46/72
SAP AG 2005, 46
Please note that you cannot overwrite the user input values
into a variable with this customer exit. You can only derive
values for other variables or validate the user entries
Agenda
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
47/72
SAP AG 2005, 47
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
Business Scenario
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
48/72
SAP AG 2005, 48
Standard deviation formulas are calculated for variableversions and fiscal years
Calculation in the query is too complex because the formula
needs to be calculated on a fixed granularity (often more
detailed than the query)
Calculation in the Administrator Workbench is too inflexible
because there are too many combinations of years and
versions
Warning: This exit is very powerful but can cause huge
performance problems
What Is a Virtual Characteristic or Key Figure?
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
49/72
SAP AG 2005, 49
A virtual characteristic or a virtual key figure is an InfoObject,which is defined within the InfoProvider as metadata without
having any data stored physically
Historical Background:
The BAdI RSR_OLAP_BADI replaces the user exit RSR00002 with
the following advantages:
Easier to implement
Different classes for different InfoCubes/implementations
No large includes
Virtual Key Figures and Characteristics
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
50/72
SAP AG 2005, 50
1) Creating a BAdI Implementation1) Creating a BAdI Implementation1) Creating a BAdI Implementation
2) Implementation of the DEFINE Method2) Implementation of the DEFINE Method2) Implementation of the DEFINE Method
3) Implementation of the COMPUTE Method3) Implementation of the COMPUTE Method3) Implementation of the COMPUTE Method
Three Implementation Steps:Three Implementation Steps:Three Implementation Steps:
Virtual InfoCubes with Services
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
51/72
SAP AG 2005, 51
Definition:
InfoCube that does not have its own physical data storage in SAP BI
User-defined function module is used as data source
Properties of data source can be defined more precisely using severaloptions. Depending on these properties, the Data Manager provides
services for converting parameters and data
Usage:
You use a Virtual InfoCube with services if you want to display data
from non-SAP BI data sources in SAP BI without having to copy the
data set into the SAP BI structures
The data can be either local or remote. You can also use yourown calculations to change the data before it is passed to the
OLAP processor
Agenda
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
52/72
SAP AG 2005, 52
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
ABAP in Process Chains
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
53/72
SAP AG 2005, 53
Process ChainsProcess ChainsProcess Chains
Insert Process "ABAP Program"Insert Process "ABAP Program"Insert Process "ABAP Program"
Implementing New Process TypesImplementing New Process TypesImplementing New Process Types
Process Chains Maintenance in RSPC
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
54/72
SAP AG 2005, 54
ABAP in Process Chains
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
55/72
SAP AG 2005, 55
Process ChainsProcess ChainsProcess Chains
Insert Process "ABAP Program"Insert Process "ABAP Program"Insert Process "ABAP Program"
Implementing New Process TypesImplementing New Process TypesImplementing New Process Types
Insert ABAP Program
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
56/72
SAP AG 2005, 56
1.
2.
1. Insert process ABAP Program
2. Create new process variant
Transaction Code RSPC:
Create Variant
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
57/72
SAP AG 2005, 57
2.
1.
1. Create new process
variant: technical name
and description
2. Maintain process variant
Maintain Variant Program to Call/Called From
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
58/72
SAP AG 2005, 58
Programs with or
without variants
Predefined events of the
application or events you
defined yourself
The background processing
system receives events (signal
stating that a predefined status
has been reached) and then
starts the job
Program runs on the same server inwhich the chain is scheduled
Scheduled program waits for an event on the target server
ABAP in Process Chains
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
59/72
SAP AG 2005, 59
Process ChainsProcess ChainsProcess Chains
Insert Process "ABAP Program"Insert Process "ABAP Program"Insert Process "ABAP Program"
Implementing New Process TypesImplementing New Process TypesImplementing New Process Types
Implementing a New Process Type
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
60/72
SAP AG 2005, 60
If you ...
... have a simple, stand-alone program to run in a chain
... have a program, which is planned in batch by another program or user
... then you can use the process type "ABAP" to run your program in a chain
However, if you ...
... want to ask predecessor processes of your program
... write a log, which should be displayed in the process monitor
... have implemented an own monitor
... have a customizing screen, which is more diff icult than the parametersof a program
... then it is recommended to custom develop your own process type
Agenda
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
61/72
SAP AG 2005, 61
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix
7 Key Points to Take Home
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
62/72
SAP AG 2005, 62
Know where the SAP BI backend can be enhanced using ABAP
Implement enhancements as close to the source systemas possible
Knowledge about general ABAP performance tuningis mandatory
Often there are several options for the implementation choose wisely
Check the documentation and example implementations
Read how-to papers available on the SAP Service Marketplace
Sign up for SAP Developer Network
For More Information: Access the SAP Developer Network www.sdn.sap.com
The central hub for the SAP technology
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
63/72
SAP AG 2005, 63
The central hub for the SAP technology
community Everyone can connect, contribute, and
collaborate consultants, administratorsand developers
Focus around SAP NetWeaver and SAPxApps
High quality of technical resources
Articles, how-to guides, weblogs,collaborative areas, discussion forums,downloads, toolkits, and code-samples
A collaboration platform, not aone-way street
SAP experts from customers, partnersand SAP
SDN is powered by SAP NetWeaver Built on the SAP Enterprise Portal
Featuring collaboration capabili ties of SAPKnowledge Management
Questions?
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
64/72
SAP AG 2005, 64
QMarc bernard sap com
Agenda
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
65/72
SAP AG 2005, 65
Introduction
1) Data Extraction
2) Data Staging
3) BEx Variables
4) Virtual InfoCubes, Key Figures, and Characteristics
5) ABAP in Process Chains
Summary
Appendix (not shown during presentation)
SAP Enhancements and BAdIs
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
66/72
SAP AG 2005, 66
RS_BBS_BADI:Exit of Report-Report-Interface
RSDBC_SQL_STATEMENT:
DB connect: BADIs for the DB SQL Statements
RSR_OLAP_AUTH_GEN:
Generating authority: Creating User (new in rel. 3.10)
RSR_OLAP_BADI:
Virtual characteristics and key figures in reporting
RSU5_SAPI_BADI:
SAP BI Service APIs (in BW and in R/3 since 4.6, respectively)
SAP Enhancements and BAdIs (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
67/72
SAP AG 2005, 67
OPENHUB_TRANSFORM:Open hub transformations
RSRA_ALERT:
Batch reporting (BW-BEX-RSRB)
RSAR_CONNECTOR:
Formula Buildercustomer-defined functions
BW_SCHEDULER:
BAdI for subsequent processing
RSOD_DOC_BADI:BAdI for documents
SAP Enhancements and BAdIs (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
68/72
SAP AG 2005, 68
RSOD_ITEM_DOC:BAdI for the Web item Single Document
RSOD_ITEM_DOC_LIST:
BAdI for the Web item List of Documents
RSOD_WWW_DOC_MAINT:
BAdI for the maintenance of text documents on the Web
SAP Enhancements and BAdIs (cont.)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
69/72
SAP AG 2005, 69
RSAP0001 exits parallel with RSU5_SAPI_BADI
RSR00001 see Note 492445
Enhancement for reporting variables
RSR00002 exists parallel with RSR_OLAP_BADI
RSR00004 automatically migrated to BAdI SMOD_RSR00004Report-Report-Interface
RSSBR001 obsolete (deleted with rel. 3.0B SP8)
Exits in Business Planning and Simulation (BW-BPS)
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
70/72
SAP AG 2005, 70
Planning functions of Type "Exit"
Variables of Type "Exit"
Characteristic relationships of Type "Exit"Combination check, combination proposal, derivation
Enhancement SEMBPSU01 obsolete
Characteristic validation
Enhancement SEMBPSU02 obsolete
Characteristic derivation
Runtime Analysis of ABAP Statements
Transaction: SE30 Tips and Tricks
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
71/72
SAP AG 2005, 71
Transaction: SE30 Tips and Tricks
Documentation of
ABAP Statements
Runtime Analysis of
ABAP StatementsChoice of Different
ABAP Statements
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
Copyright 2005 SAP AG. All Rights Reserved
-
8/12/2019 7477843 Five Ways to Enhance SAP BI Backend Functionality Using ABAP
72/72
SAP AG 2005, 72
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express
permission of SAP AG. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other
software vendors.
Microsoft, WINDOWS, NT, EXCEL, Word, PowerPoint and SQL Server are registered trademarks of Microsoft
Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390,
OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informixand Informix Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.
ORACLE is a registered trademark of ORACLE Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, the Citrix logo, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, MultiWin and other
Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C, World Wide Web Consortium,
Massachusetts Institute of Technology.
JAVA is a registered trademark of Sun Microsystems, Inc.
JAVASCRIPT is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and
implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, R/3, mySAP, mySAP.com, xApps, xApp and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all
over the world. All other product and service names mentioned are the trademarks of their respective companies.