7477843 five ways to enhance sap bi backend functionality using abap

Upload: zaynab-fadlallah

Post on 03-Jun-2018

226 views

Category:

Documents


2 download

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.