Quantcast
Channel: SCN : Document List - SAP Business Warehouse
Viewing all 1574 articles
Browse latest View live

SAP BI/BW -Performance Tuning thru System Tables

$
0
0

I am sharing my experience with a client system (Client a fortune 500 company, Runs a beverage (Soft) business in 140 Countries). Using the SAP BW solutions and capabilities since Year 2002 now currently with SAP BI 7.3 SP7 version.

 

Problem Statement

6 Months ago project team took decision to enhance the DB size to accommodate the DB growth for next 24 months. Implemented the DB size enhancement considering it would cater the enterprise needs for next 24 months. Unfortunately 50% of the expansion DB size is consumed in 5 months. So I started examining the reasons, root cause and solutions.

 

Current Solution

Periodically the experts from BW team (couple of service providers) use following techniques to improve the performance of DB and SYS (EDW).

 

  1. 1. BW/BI Data housekeeping tasks
    1. Pros:
      • Able to manage all the table data growing places like 1) PSA. 2) DSO 3) Statistics 4) Infocubes
    2. Cons:
      • Unable to concentrate on the system level tables across all areas (Ex: FI, CO, MM, PP, HR, CRM...etc.)
  2. 2. BW/BI Performance tuning techniques.
    1. Pros:
      • Able to manage all the table data growing places like 1) Aggregates. 2) Request Compression 3) Infocubes Compression 4) Partitioning 5) Indexing 6)BIA
    2. Cons:
      • Unable to concentrate on the system level tables across all areas (Ex: FI, CO, MM, PP, HR, CRM...etc.)

New Solution

Now I used a different technique to identify various tables in the System which are collecting the information and storing the data in the tables from time to time.

 

I have searched all the EDW (Enterprise data warehouse) and found 200+ tables. Performed a thorough analysis with respect to their

1. Information / Table / Data / usage (Where & When used).

2. Number of records / Size of the table and its growth.

3. Index creation (Active/Inactive-Last creation date).

4. Needed data retention duration with respect to Client’s expectations.

 

After a thorough I could Identify 43 tables satisfying my above rules (Four).

 

Analysis

I am really surprised to know that they are

1. 50 % of tables are never used in any place

2. Few are used hardly once in a quarter. Actually the usage is for Data administration need by the administrator.

3. The transaction / data older than 2years is stored in the tables.

 

Needed checks

    1. Checked with the client team to move the data (older than 90 days) to near line storage
    2. Basis team for validation for tables and schedule of data archive jobs.

 

 

          Tables         (Records found in Millions)

 

1. RSMONMESS                     (334.5 Million)

    • Messages for the monitor

2. RSDDSTATAGGRDEF        (241 Million)

    • BW statistics data

    3. RSIXWWW                          (29 Million)

      • Cluster Table for Storing Web Reporting Components

    4. RSDDSTATEVDATA          (18.48 Million) 

      • BW statistics data

    5. RSDDSTATCOND               (17.8 Million)

      • BW statistics data

    6. RSZWOBJ                             (16 Million)

      • Storage of the Web Objects

    7. RSDDSTATHEADER           (11.5 Million)

      • BW statistics data

    8. RSZWBOOKMARK             (11.1 Million)

      • Header Table of the Bookmarks

      9. DDLOG                  (15 Million)       

        • Buffer Synchronization

        10. RSDDSTATAGGR               (12.5 Million)

            • BW statistics data

        11. RSERRORHEAD                  (10.4 Million)

          • Incorrect Records (Header Table) (PSA error logs)

          12. RSDDSTATLOGGING        (9.5 Million)

            • BW statistics data

          13. RSDDSTATDM                    (8.5 Million)

            • BW statistics data

            14. RSRWBTEMPLATE            (8.5 Million)

              • Assignment of Excel workbooks as personal templates

            15. RSRWORKBOOK               (7.1 Million)

              • Where-used list for reports in workbooks

              16. RSDDSTATINFO (777 K) (6.9 Million)

                1. BW statistics data

              17. RSDDSTATDELE                 (5.9 Million)

                • BW statistics data

              18. RSERRORHEAD (4.1 Million)

                • Incorrect Records (Header Table)

              19. RSERRORLOG                     (2.7 Million)

                • Logs for Incorrect Records (PSA error logs)

                20. RSBERRORLOG (2.36 Million)

                  • Logs for Incorrect Records
                  • Stores error handling logs due to following and other reasons:
                  • Warnings that are created during master data uploads for duplicate records
                  • Single record error messages in customer-specific transformation routines
                  • Table is accumulated a numerous error messages records for a DTP requests. In most cases this is due to many errors while BW is processing data and Info Package (IP) or Data Transfer Package (DTP) is setup in way that data duplicity needs to be recorded.

                  21. RSZWOBJTXT                     (1.1 Million)

                    • Texts for Templates/Items/Views

                    22. RSZWOBJXREF   (0.76 Million)

                      • Structure of the BW Objects in a Template

                      23. RSZWBOOKMARK            (1.18 Million)

                        • Header Table of the Bookmarks

                        24. RSZWVIEW                         (1.1 Million)

                          • Header Table for BW Views

                          25. RSZWITEM                          (2.1 Million)

                            • Header Table for BW Web Items

                            26. RSZWITEMATTR                (1.6 Million)

                              • Attribute Table of the Items (Contains Search Attributes) –

                              27. RSZWITEMDATA               (2.5 Million)

                                • BW Web Item Data (7.0)+

                                28. RSZWITEMXREF                (3.1 Million)

                                  • Cross-Reference Table of the Items

                                  29. RSZWBITMDATA               (1.2 Million)

                                    • BW Web Item Data (7.0)+

                                    30. RSZWBITMHEAD               (0.68 Million)

                                      • Header Table for BW Web Items

                                      31. RSZWBITMHEADTXT       (1.2 Million)

                                        • Texts for BI Web Items (7.0+)

                                        32. RSZWBITMTEXT                (0.7 Million)

                                          • BW Web Templates: Language Texts

                                          33. RSZWBITMXREF                (0.8 Million)

                                            • BI Template Cross references to TLOGO Objects

                                            34. RSZWBTMPDATA             (0.5 Million)

                                              • BW Web Template Data

                                              35. RSZWBTMPHEAD             (0.5 Million)

                                                • Header Table for BW HTML Templates

                                                36. RSZWBTMPHEADTXT  (0.8 Million)

                                                  • Texts for Templates/Items/Views

                                                  37. RSZWBTMPTEXT               (0.2 Million)

                                                    • BW Web Templates: Language Texts

                                                    38. RSZWBTMPXREF                (1.2 Million)

                                                      • BI Template Cross references to TLOGO Objects

                                                      39. RSRWBSTORE                    (2.1 Million)

                                                        • Storage for binary large objects (BW workbook tables -Excel workbooks)

                                                        40. RSSELDONE                        (1.5 Million)

                                                          • BW staging engine tables:

                                                        41. RSRWBINDEX                     (2.0 Million)

                                                          • List of binary large objects (Excel workbooks)

                                                        42. RSRWBINDEXT (1.8 Million)

                                                          • Titles of binary objects (Excel workbooks)

                                                        43. RSBMNODES                      (1.5 Million)

                                                          • “Hierarchical Log: Nodes”; If e.g. it takes a long time to set a DTP request to 'green' after it has been processed it is caused by large volume of data in this table. Since BI system in production a quite long time you got a lot of logs in it then you have a huge amount of entries in this table.

                                                         

                                                        Assumption: The no-of records is a cumulative result of all the above 43 tables. It is subjected to change as it is dependent on the EDW System (Client's business , Reporting tools on EDW, etc,..)


                                                        Lesson Learned/Achievement: With the above analysis I could find 1,100 million records are there in the EDW which do not have any potential benefit to the client’s business or EDW system. After removing 1,100 Million records from EDW I could save 350 GB of disc space to my client.


                                                        Delta for pricing tables like A004 , A005 , A006, A581 etc

                                                        $
                                                        0
                                                        0

                                                        Requirement:

                                                        Delta for pricing tables like A004, A005, A006, A581 etc. In the pricing tables there are two date fields DATAB and DATBI. When a new record for condition record is created the record has date for the validity date for that condition record. The condition record when first created has the end date (DATBI) as 31/12/9999 and the start date can be anything. When the condition record validity is define the DATBI date is updated from 31/12/9999 to the date till which the date is valid and a new condition record is created with a new valid from date (DATAB i.e last DATBI+1 date)  and the valid to date DATBI is 31/12/9999. Now the delta for these condition record tables is of two types delta based on DATAB and DATBI both needs to be captured.

                                                        Problem:

                                                        No field to mark the change records.

                                                        Solution:

                                                        There are two date fields DATAB (from date) and DATBI (to date) for condition records.

                                                        Based on the changes based on these fields delta needs to be loaded.

                                                        We have created two Full IP’s  (one to capture change w.r.t DATAB and the other w.r.t DATBI).

                                                        Written an ABAP Routine in IP which will fetch the data from the range when the last record was loaded till sy-datum w.r.t DATAB and DATBI accordingly.

                                                        Pre-requisite:

                                                        Create a table entry for variable which will store the date of last load w.r.t DATAB (high) and DATBI (low).

                                                         

                                                        ABAP routine w.r.t DATAB.

                                                        TABLES: TVARVC.
                                                        TYPES: BEGINOF y_tvarvc,
                                                        name
                                                        LIKE tvarvc-name,
                                                        low 
                                                        LIKE tvarvc-low,
                                                        high
                                                        LIKE tvarvc-high,
                                                        ENDOF y_tvarvc.

                                                        DATA: e_l_itab TYPE y_tvarvc.

                                                        CONSTANTS: c_ds_nm(10) typecvalue'DS_A581_F5'.


                                                        data: l_idx like sy-tabix.


                                                        readtable l_t_range withkey
                                                        fieldname =
                                                        'DATAB'.
                                                        l_idx = sy-tabix.
                                                        *....

                                                        * clear work area
                                                        CLEAR e_l_itab.

                                                        selectSINGLE low
                                                        high
                                                        from tvarvc into CORRESPONDING FIELDSOF e_l_itab
                                                        where name = c_ds_nm.

                                                        if e_l_itab-high ISINITIALand e_l_itab-low ISINITIAL.
                                                        * when doing full load for the first time (no range defined)

                                                        CLEAR: L_T_RANGE.
                                                        l_t_range-option =
                                                        'EQ'.
                                                        l_t_range-
                                                        sign   = 'I'.


                                                        *when doing delta load after first full load (range defined from last
                                                        *loaded delta to sy-datum)
                                                        elseif e_l_itab-high ISINITIAL.
                                                        l_t_range-HIGH   = sy-datum.
                                                        l_t_range-low    = e_l_itab-low.
                                                        l_t_range-option =
                                                        'BT'.
                                                        l_t_range-
                                                        sign   = 'I'.

                                                        else.
                                                        *when doing delta load after first full load (range defined from last
                                                        *loaded delta to sy-datum)

                                                        l_t_range-HIGH   = sy-datum.
                                                        l_t_range-low    = e_l_itab-high.
                                                        l_t_range-option =
                                                        'BT'.
                                                        l_t_range-
                                                        sign   = 'I'.

                                                        endif.

                                                        modify l_t_range index l_idx.



                                                        p_subrc =
                                                        0.
                                                        * clear work area
                                                        CLEAR e_l_itab.

                                                        ABAP routine w.r.t DATBI.

                                                        TABLES: TVARVC.
                                                        TYPES: BEGINOF y_tvarvc,
                                                        name
                                                        LIKE tvarvc-name,
                                                        low 
                                                        LIKE tvarvc-low,
                                                        high
                                                        LIKE tvarvc-high,
                                                        ENDOF y_tvarvc.

                                                        DATA: e_l_itab TYPE y_tvarvc.

                                                        CONSTANTS: c_ds_nm(10) typecvalue'DS_A581_F5'.


                                                        data: l_idx like sy-tabix.


                                                        readtable l_t_range withkey
                                                        fieldname =
                                                        'DATBI'.
                                                        l_idx = sy-tabix.
                                                        *....

                                                        * clear work area
                                                        CLEAR e_l_itab.

                                                        selectSINGLE low
                                                        high
                                                        from tvarvc into CORRESPONDING FIELDSOF e_l_itab
                                                        where name = c_ds_nm.

                                                        if e_l_itab-high ISINITIALand e_l_itab-low ISINITIAL.
                                                        * when doing full load for the first time (no range defined).
                                                        CLEAR:   l_t_range.
                                                        l_t_range-option =
                                                        'EQ'.
                                                        l_t_range-
                                                        sign   = 'I'.

                                                        *when doing delta load after first full load (range defined from last
                                                        *loaded delta to sy-datum)
                                                        elseif e_l_itab-low ISINITIALAND e_l_itab-high isnotINITIAL.
                                                        l_t_range-HIGH   = sy-datum.
                                                        l_t_range-low    = e_l_itab-high.
                                                        l_t_range-option =
                                                        'BT'.
                                                        l_t_range-
                                                        sign   = 'I'.
                                                        else.
                                                        *when doing delta load after first full load (range defined from last
                                                        *loaded delta to sy-datum)

                                                        l_t_range-HIGH   = sy-datum.
                                                        l_t_range-low    = e_l_itab-low.
                                                        l_t_range-option =
                                                        'BT'.
                                                        l_t_range-
                                                        sign   = 'I'.

                                                        endif.

                                                        modify l_t_range index l_idx.



                                                        p_subrc =
                                                        0.
                                                        * clear work area
                                                        CLEAR e_l_itab.

                                                         

                                                        ……

                                                        Please find the above code which you need to add in IP’s. This code will check if the data is been loaded for the first time(the variant has a blank value if we are loading the data for the first time).

                                                        • It will check the condition if it is been loaded before this so the date which will maintain the latest dates for change where the variable low value is for DATBI and high is for DATAB. If it is initial then it will do a full load and the last load date will get updated in the tvarvc table for the corresponding variable for eg.DS_A581_F5.

                                                         

                                                        • If the data load is already done then only the data which is present in the range from last load and todays system date will be fetched and the variable value date will be updated (DS_A581_F5) value to today’s system date when the data load is done.

                                                        Below is the program to update the TVARVC table entries for variables.

                                                        Program to update variable values in TVARVC Table.

                                                        REPORT ZT_TAVRVC_VAR_UPDT.

                                                        PARAMETERS: p_varnm(10) typec OBLIGATORY,
                                                        p_delta(
                                                        5typec OBLIGATORY.

                                                        CONSTANTS: c_datab(5) typecvalue'DATAB',
                                                        c_datbi(
                                                        5) typecvalue'DATBI'.

                                                        If p_delta EQ c_datbi.

                                                        update tvarvc
                                                        set low = sy-datum
                                                        where name = p_varnm.

                                                        else.

                                                        update tvarvc
                                                        set high = sy-datum
                                                        where name = p_varnm.

                                                        endif.

                                                         

                                                        We have a kept this program separate as it should update TVARVC variable entry only if the IP runs successfully.

                                                        The Flow for data loading in process chain is as follow:

                                                         

                                                        (unable to upload the image...)

                                                        How to implement Multi Dimensional authorization in BW reports

                                                        $
                                                        0
                                                        0

                                                        Applies to

                                                        SAP BI 7.0 version and higher

                                                        For more information, for more information, visit the EDW homepage.

                                                         

                                                        Summary

                                                        This document will provide information regarding implementing multi-dimensional authorization concept in BW reports. Also it contains the information regarding analysis Authorization and customer exit variable etc

                                                         

                                                        Pic1.jpg

                                                         

                                                        Author: Arvind Tekra     

                                                        Company: Infosys Technologies.

                                                        Created on: 4th June 2014

                                                         

                                                         

                                                        Author Bio

                                                         

                                                        Arvind Tekra has been working in various technologies in SAP BI. He is mainly responsible for implementing SAP BI/BO projects and has worked extensively on SAP BI Modeling.

                                                         

                                                         

                                                         

                                                         

                                                         

                                                        Introduction

                                                        Whenever the analysis authorization of a user is combined, the authorization variable implemented in the report is not able to restrict the data at the appropriate combination which might lead to user getting message of “No appropriate authorization” when executing the report. This is explained better with the scenario explained below:

                                                        Objective

                                                        In the below example is a requirement from the user that the user should be able to see all the Sales Org for a particular Sales Division (as part of the global team) and for a specific Sales Org he should see all Sales Divisions (as per his role of a regional manager).  As per the requirement two analysis authorization objects were created and assigned to the user. The analysis authorizations would make sure at the database level that the users see the appropriate data as per the user’s access, however the BW query is not able to read it appropriately and it throws an error message to the user.

                                                         

                                                        Analysis Authorization

                                                        Sales Org

                                                        Sales Division

                                                        TEST

                                                        1000

                                                        *

                                                        TEST12

                                                        *

                                                        10

                                                         

                                                         

                                                        Pic2.jpg

                                                         

                                                         

                                                         

                                                         

                                                        Both the analysis authorization are assigned to the TESTUSER1.

                                                         

                                                        Pic3.jpg

                                                         

                                                         

                                                        A simple BW query is built for the demo purpose, it has authorization variables in the selection screen.

                                                         

                                                        Pic4.jpg

                                                         

                                                         

                                                        Pic5.jpg

                                                         

                                                         

                                                        If we execute this report in Tcode-RSRT with a user with all access we get the below data.

                                                        Pic6.jpg

                                                         

                                                        Selection Screen:

                                                         

                                                        Pic7.jpg

                                                         

                                                         

                                                        Output:

                                                        Pic8.jpg

                                                         

                                                        From the above output we can see the  combination for which TESTUSER1 is authorized for has data available in the report.

                                                         

                                                         

                                                        If we now run the report with TESTUSER1:

                                                        Selection screen:

                                                        Pic9.jpg

                                                         

                                                        The values are not populated as for individual charactersitics, it reads as * access from the authorizations.

                                                        If we execute the report, then we get the error message that no authorization is there as he only has access for combinations of data and not all the data.

                                                        Pic10.jpg

                                                         

                                                        The above example takes into consideration only two characteristics and in other business scenario we may have scenarios where the access can be defined on combination of 3-4 characteristics.

                                                         

                                                         

                                                         

                                                        Solution

                                                         

                                                        The solution can be divided into two parts:

                                                        ·         Automatic generation of analysis authorization for the user for the desired combination.

                                                        ·         Introduction of a concatenated object which is a combination of Sales Org/Division, this object can be used to restrict the output of the BW report as per the users authorization.

                                                        The following design can be implemented for the solution. The user access matrix can be maintained in an ECC table by the business itself. The business team can enter the user and the combination matrix on which the users should have access.

                                                        ECC table:

                                                        User

                                                        Sales Org

                                                        Sales Division

                                                        TESTUSER1

                                                        1000

                                                        *

                                                        TESTUSER1

                                                        *

                                                        10

                                                         

                                                        In ECC a customized extractor (data source) can be built which fetches this information and passes it to BW system. The below data model can be built to fetch the user access matrix in BW.

                                                        pic1.png

                                                         

                                                        In DSO1 we need to add an additional object which is concatenation of the two objects with a differentiator in between. The differentiator will help in distinguishing the values of the Sales Org/ Sales Division. In the below example we have used “/” as the differentiator, the differentiator can be any special symbol which is allowed in the BW and is not used in the value of the characteristics used for the combination. The concatenated object can be populated in the DSO by writing this logic in the transformation.

                                                        DSO1 sample entries:

                                                        User

                                                        (ZUSER)

                                                        Sales Org

                                                        (ZSA_ORG)

                                                        Sales Division (ZSA_DIV)

                                                        Sales Org/Division

                                                        (ZSA_ORDI)

                                                        TESTUSER1

                                                        1000

                                                        *

                                                        1000/*

                                                        TESTUSER1

                                                        *

                                                        10

                                                        */10

                                                         

                                                         

                                                        The concatenated object is also added to the cube and the data is populated by defining the logic in transformation same as the DSO1 transformation.

                                                        DSO entries:

                                                        pic12.jpg

                                                         

                                                        Cube entries:

                                                          pic13.jpg

                                                         

                                                         

                                                         

                                                        To fully automate this solution the following design can be used.

                                                        pic2.png

                                                        Copy DSO’s for authorization can be created

                                                        DSO2: copy of Authorization data (values) (0TCA_DS01)

                                                        DSO3: copy of Description texts for authorizations (0TCA_DS03)

                                                        The authorization DSO’s are used to generate the authorizations on Sales Org and Sales Division

                                                        pic15.jpg

                                                         

                                                        1. In the transformation from DSO1 (ZUSER_1) à DSO2 (Z_DS01) the below expert routine can be used, this would convert the entries into the format of authorization generation.

                                                        Data: WA_SOURCE_PACKAGE LIKE LINE OF SOURCE_PACKAGE.


                                                           
                                                        SORT SOURCE_PACKAGE BY TCTUSERNM.



                                                           
                                                        LOOP AT SOURCE_PACKAGE INTO WA_SOURCE_PACKAGE.


                                                              RESULT_FIELDS
                                                        -tctusernm = WA_SOURCE_PACKAGE-TCTUSERNM.

                                                              RESULT_FIELDS-tctobjvers = 'A'.

                                                              RESULT_FIELDS-tctoption = 'EQ'.

                                                              RESULT_FIELDS-tctsign   = 'I'.

                                                              RESULT_FIELDS-tctadfrom = '19000101'.

                                                              RESULT_FIELDS-tctadto   = '99991231'.

                                                         

                                                        ***********Sales Org*******************
                                                              RESULT_FIELDS
                                                        -tctauth = 'SALESORG'.
                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAACTVT'.
                                                              RESULT_FIELDS
                                                        -tctlow = '03'.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAVALID'.
                                                              RESULT_FIELDS
                                                        -tctlow = '*'.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAIPROV'.
                                                              RESULT_FIELDS
                                                        -tctlow = 'ZSALES_M1'.
                                                             
                                                        "Mention the cube on which the report is built
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                        "This name can be changed as per the description you require for the aut"horization
                                                              RESULT_FIELDS
                                                        -tctiobjnm = 'ZSA_ORG'."Sales org object
                                                              RESULT_FIELDS
                                                        -tctlow = WA_SOURCE_PACKAGE-/BIC/ZSA_ORG.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                         

                                                        ***************Sales Division*******************

                                                              RESULT_FIELDS-tctauth = 'SALESDIV'.
                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAACTVT'.
                                                              RESULT_FIELDS
                                                        -tctlow = '03'.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAVALID'.
                                                              RESULT_FIELDS
                                                        -tctlow = '*'.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.
                                                              RESULT_FIELDS
                                                        -tctiobjnm = '0TCAIPROV'.
                                                              RESULT_FIELDS
                                                        -tctlow = 'ZSALES_M1'.
                                                             
                                                        "Mention the cube on which the report is built
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.
                                                        "This name can be changed as per the description you require for the aut"horization
                                                              RESULT_FIELDS
                                                        -tctiobjnm = 'ZSA_DIV'."Sales Division object
                                                              RESULT_FIELDS
                                                        -tctlow = WA_SOURCE_PACKAGE-/BIC/ZSA_DIV.
                                                             
                                                        APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                  CLEAR RESULT_FIELDS.
                                                             
                                                        ENDLOOP.

                                                         

                                                         

                                                        The entries of DSO after loading.

                                                        pic16.jpg

                                                         

                                                        The text for the TCTAUTH (authorizations) defined above can be loaded in copy of DSO 0TCA_DS03, this text appears in the user profile for the authorization. After loading the DSO1 and DSO3 execute the report “RSEC_GENERATE_AUTHORIZATIONS” with the DSO’s and generate the profile.

                                                        Screenshot of user profile in RSECADMIN:

                                                         

                                                        pic17.jpg

                                                         

                                                        The loading and generation of the analysis authorization can be done using a Process chain.

                                                        The BW query is enhanced and the concatenated object is added in the filter selection, the variable used is of type “customer exit”. In the customer exit code the DSO ZUSER_1 can be read for the allowed concatenated values. This way the overall report would be restricted to the allowed values only and the report will not throw any error message for authorization.

                                                        pic18.jpg

                                                         

                                                         

                                                        Sample code for the exit.

                                                         

                                                         

                                                        DATA:   l_s_range TYPE rsr_s_rangesid,

                                                                     lv_user TYPE sy-uname,

                                                                    lv_zconcobj TYPE STRING,

                                                                     L_S_VAR_RANGE LIKE LINE OF I_T_VAr_RANGE.


                                                        Data
                                                        : I_ZUSER_1 type STANDARD TABLE OF /BIC/AZUSER_100,"INTERNAL TABLE TO DETERMINE AUTH VALUES

                                                                 WA_ZUSER_1 like line of I_ZUSER_1.

                                                         

                                                        CASE I_STEP.

                                                                WHEN  '01'. "BEFORE USER INPUT

                                                        ************FUNCTION TO DETERMINE THE USER NAME********

                                                                  CALL FUNCTION 'RSEC_GET_USERNAME'
                                                                   
                                                        IMPORTING

                                                                        e_username = lv_user.

                                                        *******************************************************
                                                                 
                                                        "SELECT FROM ZUSER_1 FOR USER
                                                                 
                                                        SELECT *
                                                                 
                                                        FROM /BIC/AZUSER_100
                                                                 
                                                        INTO TABLE I_ZUSER_1
                                                                 
                                                        WHERE TCTUSERNM = LV_USER.

                                                                 
                                                        if sy-subrc eq '0'. ”AUTH VALUES ARE MAINTAINED IN MATRIX TABLE
                                                                   
                                                        "LOOP AT THE INTERNAL TABLE
                                                                   
                                                        LOOP AT I_ZUSER_1 INTO WA_ZUSER_1.

                                                                      l_s_range
                                                        -SIGN = 'I'.
                                                                      L_S_RANGE
                                                        -OPT = 'CP'.
                                                                      L_s_RANGE
                                                        -LOW = WA_ZUSER_1-/BIC/ZSA_ORDI.
                                                                     
                                                        APPEND l_s_range TO e_t_range.
                                                                     
                                                        CLEAR L_S_RANGE.

                                                                     
                                                        CLEAR WA_ZUSER_1.
                                                                   
                                                        ENDLOOP.

                                                                 
                                                        else. ”STOP THE PROCESSING AND DISPLAY MESSAGE
                                                                   
                                                        CALL FUNCTION 'RRMS_MESSAGE_HANDLING'
                                                                     
                                                        EXPORTING
                                                                        I_CLASS 
                                                        = 'RSBBS'
                                                                        I_TYPE  
                                                        = 'E'
                                                                        I_NUMBER
                                                        = '000'
                                                                        I_MSGV1 
                                                        = 'No Authorization'
                                                                     
                                                        EXCEPTIONS
                                                                        DUMMY   
                                                        = 1
                                                                       
                                                        OTHERS   = 2.
                                                                   
                                                        raise no_processing.

                                                         

                                                                  endif.

                                                               
                                                        WHEN '02'. "AFTER USER INPUT

                                                               
                                                        WHEN '03'.”FOR CHECKING EXCEPTIONS

                                                             
                                                        ENDCASE.

                                                         

                                                         

                                                        Now when the query is executed with the test user, the variable restricts the access

                                                        pic19.jpg

                                                         

                                                        Note: This solution does not uses concatenated object as authorization relevant as the values which can be passed into the authorization is restricted, we cannot maintain value wildcard entry (*) with pattern */10. This entry would generate authorization with ‘*’ access only. More details about the valid interval and patterns for authorization is given in the below mentioned SAP note.

                                                        1053989 - Intervals and Patterns [(*),(+)] in Analysis Authorizations

                                                        The authorizations are generated individually i.e. Sales org independently and Sales Division independently so that it does not give error message in the BW report when the report checks for * access. With this design the Customer exit variable becomes mandatory with all the queries on top of that MultiCube, if the variable is not used then the users might get access to data they are not authorized for. The analysis authorization generated individually would make sense in scenarios where the user not authorized for * access. An example is shown below.

                                                        User

                                                        (ZUSER)

                                                        Sales Org

                                                        (ZSA_ORG)

                                                        Sales Division (ZSA_DIV)

                                                        Sales Org/Division

                                                        (ZSA_ORDI)

                                                        TESTUSER1

                                                        1000

                                                        10

                                                        1000/20

                                                        TESTUSER1

                                                        2000

                                                        20

                                                        2000/10

                                                         

                                                        In the above scenario the authorizations would be generated for Sales Org: 1000,2000 and Sales Division 10,20 and these values would appear in the selection screen in authorization variable.

                                                        This solution is only 100% correct if the customer exit on concatenated object is used in all the queries.

                                                         

                                                         

                                                         

                                                         

                                                         

                                                        Related Content

                                                        Combining Authorizations

                                                        Generation of Analysis Authorizations

                                                        SAP Note 1053989 - Intervals and Patterns [(*),(+)] in Analysis Authorizations

                                                        Variable Customer exit

                                                        Authorization variable

                                                         

                                                        Disclaimer and Liability Notice

                                                        This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.

                                                        SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk.

                                                        SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document.

                                                        Communication Setting between BW and ECC

                                                        $
                                                        0
                                                        0

                                                        Communication Setting between BW and R/3

                                                         

                                                         

                                                        Step 1: Define Logical System in R/3

                                                        Step 2: Assigning Logical System to Client

                                                        Step 3: Setting Up an RFC Destination

                                                        Step 4: Distributing Data Model

                                                        Message Types Involved in Process of Data Loading

                                                        Step 5: Generating Partner Profile

                                                        Step 6: Maintaining Message types in T-Code WE20

                                                         

                                                        Creating Source System (SALE): This step creates source systems which are to be connected.

                                                         

                                                        1. 1. Assigning Source System to Client (SALE): This step gives a logical name to a SAP Client from which the communication is to be established.
                                                        2. 2. Setting up RFC Destination (SM59): This step is required to establish remote connection to the partner with which Source system is trying to communicate. Here one has to maintain the logon and IP details of the target system.
                                                        3. 3. Distributing Data Model (BD64): A distribution model is used to model a distributed environment in which you specify messages exchanged between sending and receiving systems. Here one has to define the message protocols with which the two systems will communicate.
                                                        4. 4. Generating Partner Profile (BD82): This process generates a partner profile for each system with which your system communicates. Outbound records are created in the partner profile for each outgoing message, and inbound records are created for each incoming message.

                                                        Note: If one distributes Data Model before generating partner profile then one has to redefine partner profile in other system also (repeat step in both system). In this document we are generating partner profile after Distribution of data model so as to demonstrate how to maintain inbound and outbound message types in WE20.

                                                        1. 5.Maintaining Message Types (WE20): This process is optional. Generally while generating partner profiles we automatically get the respective Outbound and Inbound messages, which can be checked in T-Code WE20. If the message types are not defined then one can manually do it by following this process.

                                                         

                                                         

                                                        Step 1: Define Logical System in R/3.

                                                        1. Log into R/3 and then go to transaction SALE. Here under IDoc Interface / Application Link Enabling (ALE)    Basic Settings    Logical Systems    Define logical system. Here one can define the source systems one wants to connect. Make entries for both R/3 and BW system.


                                                        T-Code: SALE



                                                        1.jpg

                                                         

                                                        Defining the Logical Systems


                                                        2.jpg

                                                        Repeat the same steps in BW


                                                        Create ALEREMOTE User in both the clients with following profiles

                                                        The ALEREMOTE user needs the following authorization profiles:

                                                        * In the Business Information Warehouse:

                                                        S_BI-WHM_RFC (Business Information Warehouse: RFC users in the Warehouse)

                                                        * In the source system:

                                                        S_BI-WX_RFC (Business Information Warehouse: RFC users in extraction)

                                                        Define the RFC connections in SM59.Test the connections on the same..make sure you are connecting as the background user you created.

                                                        General checks in trouble shooting...
                                                        check table RSBASIDOC in SE16...on both the sides (R/3 and BW)
                                                        to mirror each other..and the entries are active in both the sides.

                                                        Step 3: Setting Up an RFC Destination.

                                                        create an RFC destination on the local system for each remote SAP system with which you want to communicate. In the RFC destination, you specify all the information necessary to log on to the remote system to execute functions remotely, including the host name, the user ID, the password, the client, the system number, and additional communication settings.

                                                        So after creating a new entry of type ABAP Connection (The ALE process uses type R/ 3 connections to communicate with a remote SAP system, and the EDI process uses type TCP/IP connections to communicate with the EDI subsystem), one is expected to fill in details in Technical tab. Fill the Target Host Id (this should be same as defined in SALE) and give System No. and IP Address of the target system or the Alias for the system as shown below:


                                                        3.png


                                                        4.png

                                                         

                                                        5.png

                                                         

                                                        Please repeat the same step in BI also but select source system as R/3 in SM59.



                                                        Step 4: Distributing Data Model:

                                                        You begin by clicking the Create Model View button on the main screen of transaction BD64.


                                                        6.png


                                                        7.png


                                                        Then add Message type


                                                        8.png


                                                        9.png


                                                        11.png


                                                        Having created the Distribution model, let’s distribute this model. This process will replicate a similar setting in BW side automatically.

                                                        Please note that Distribution of data model is not needed to be repeated in BW side as this step automatically replicates settings in BW.


                                                        1. Go to Edit   Model View   Distribute.

                                                        12.png13.png

                                                         

                                                        14.png

                                                         

                                                        Next, one is taken to following screen where one can define the partner system id and the user that communicates.


                                                        15.png


                                                        After this Execute and wait for the system messages which inform whether partner profile was successfully created or not.


                                                        16.png


                                                        Hence the partner profile was successfully generated…

                                                         

                                                        Now logon on to the BW system and go to T-Code BD64 and test the partner profile settings, whether they are correctly transmitted or not. We can execute it here (in BW) also and get our settings tested.

                                                         

                                                        Step 6: Maintaining Message types in T-Code WE20:


                                                        17.png

                                                          Again we need to follow this activity both in BW and R/3. When in R/3 systems WE20, then click on BW system id, and check whether Outbound and Inbound parameters are correctly filled if not then fill it manually as below


                                                        18.png


                                                        Depending on your client settings one can define different message types for eg:


                                                        19.png


                                                        Now test once again for Partner profile setting and we are ready to have data transfer between BW and R/3 (this can be done directly using T-Code BD82).


                                                        20.png


                                                        Now go to RSA1 in BI System


                                                        21.png


                                                        22.png

                                                        23.png


                                                        1. Click On Replicate As Well -à here BI will fetch the data from R3 and it takes 10 to 15 min time.


                                                        SAP BW Application Lifecycle Management (ALM)

                                                        $
                                                        0
                                                        0
                                                        eim301_pic1.JPG

                                                        Upgrade/Migration/Implementation/Systemcopy -
                                                        SAP  Business Warehouse 7.3 and Higher

                                                        On this page, you can find various information about upgrade, migration and implementation of SAP BW 7.3 and higher, including the enablement for SAP HANA. For information about lower releases, see  SAP BW 7.0 and lower - exclusively.

                                                         

                                                        Product Road Map Updates => the mayor source of all product updates

                                                         

                                                         

                                                         

                                                        Content

                                                         

                                                        eim300_pic3.JPG

                                                        SAP Business Intelligence Architecture

                                                        With the new possibilities in SAP NetWeaver BW 7.30, In-Memory technologies SAP BWA and SAP HANA, as well as further updates to the SAP BusinessObjects platform and SAP BusinessObjects Data Services, this must-read presentation illustrates synergies in combination with the SAP Business Intelligence solution portfolio. Sybase core technologies, such as Replication, Databases and Mobility, can be used very efficiently together with the existing SAP BusinessObjects product portfolio.

                                                         

                                                        eim301_pic2.JPG

                                                        SAP BW Technical and Functional Upgrade

                                                         

                                                        BLOG: Software Update Manager (SUM): introducing the tool for software maintenance

                                                        BLOG: Good News - Easier Modeling of the SEM Add-On in Solution Manager

                                                         

                                                         

                                                        New:Get an overview about the BW specific upgrade steps here:

                                                         

                                                        Upgrade to SAP NetWeaver BW 7.3x

                                                         

                                                        Upgrade to SAP BW 7.40

                                                         

                                                         

                                                        ASU Toolbox (incl. BW Specific Content) and BW Upgrade pre/post Task List
                                                        With the ASU (application specific upgrade) toolbox, customers get one single truth for all pre/post upgrade steps regarding the technical upgrade to SAP BW 7.0x  and all following releases.
                                                        More detailed information about the ASU toolbox can be found in note 1000009. This tool has been available since 2008 (see the TechEd Presentation and the new Upgrade to SAP BW 7.30 Presentation) has been enhanced and now allows application specific and technical resources to work together for a successful upgrade to SAP BW 7.30
                                                        With SAP NetWeaver 7.30 JAVA, the Functional Unit Configuration UI (former CTC BI-JAVA Template) is available.
                                                        New:
                                                        Together with the BW Housekeeping Task List,there are also additional Task Lists available to simplify preparation of the application-specific part.
                                                        Implement the following SAP Note to enable usage of task list SAP_BW_BEFORE_UPGRADE via transaction STC01
                                                        (contains manual report ZNOTE_1734333_PRE_70x/ZNOTE_1734333_PRE_70x, and NO automated steps applied with SNOTE)
                                                        With the release of SAP BW 7.30 new and innovative capabilities have been added to SAP's EDW premium solution. SAP BW 7.30 as the backbone for a successful usage of SAP BusinessObjects Platform and SAP Business Warehouse Accelerator - BWA is the heart of the SAP Business Intelligence Architecture. The updated presentation SAP NetWeaver 7.0x - Upgrade to SAP NetWeaver 7.30 ABAP BW (full version with complete technical details) provided you with must-know delta information to quickly and effective upgrade to SAP BW 7.30 including existing information from the resources of this page and the updates for SAP NetWeaver 7.30 EhP1 (7.31).

                                                         

                                                        See also the changes to the existing BEx Versions 3.5 and 7.x after Upgrade to BW 7.30 or 7.31
                                                        Be sure to read these notes prior to the technical upgrade in order to prevent any unwanted incompatibilities or unforeseen changes.

                                                         

                                                        eim301_pic3.JPG

                                                        BW ABAP and BI-JAVA Installation

                                                        The Software Provisioning Manager 1.0 (SWPM) can be used to install all SAP NetWeaver 7.30 based instances onwards.

                                                         

                                                        See SAP NetWeaver BW Installation/Configuration (also on HANA). This document also includes the complete SAP BW basis customizing settings, together with an example configuration of the system parameter. The guidance raises no claim to completeness.
                                                        New: It is now possible to install the ABAP CI as well on the HANA Appliance!
                                                             Overview - SAP HANA and SAP NetWeaver AS ABAP o... | SAP HANA

                                                             Note 1978179 - Early delivery of NW 7.40 SP06 (ABAP)

                                                         

                                                        See all SAP First Guidance Documents here -SAP BW on SAP HANA First Guidance Collection

                                                         

                                                        With the release of SAP NetWeaver 7.30 all previous J2EE stacks are now synchronized in one platform. BI JAVA 7.30 is still available with the usage type BI-JAVA to connect to an existing SAP BW 7.30 stack for the classical usage of BEx Web or the native dashboards (former Xcelsius). The presentation SAP NetWeaver 7.30 – BI JAVA Implementation shows the new SAP NetWeaver 7.30 installation and configuration options with the functional unit configuration UI (former CTC BI-Java Template) All informations are also valid vor SAP NetWeaver 7.30 EhP1 (7.31)

                                                         

                                                        SAP NetWeaver 7.0 - Deinstalling Java Add-In (also valid for SAP NetWeaver 7.30 JAVA Add-In)
                                                        The separation of the doublestack (ABAP and JAVA in one instance) into two separate stacks is a SAP recommendation. An option available since SAP NetWeaver BW 7.0 is the deinstallation of the Java Add-In with SAPInst. This presentation provides details and guidance about the process to prepare for upgrade to SAP NetWeaver BW 7.30, concentrating on the ABAP stack.

                                                         

                                                        As a successor for most scenarios, we offer the combined export of the Java system, deinstallation of the Java Add-In and installation of a new Java system using the dual-stack split tool available as part of the SL toolset 1.0 (SP5). For more information, see "Dual-Stack Split".

                                                         

                                                        If you are running SAP NetWeaver 7.30 JAVA Add-In you can use the software provisioning manager 1.0 (SWPM) as part of the SL toolset for the deinstallation process, as this always contains the latest software components (Note 1680045). Note that the dual split process is not supported for SAP NetWeaver 7.30 systems (Note 1655335)

                                                         

                                                        With SAP NetWeaver 7.3x JAVA the Functional Unit Configuration UI (former CTC BI-JAVA Template) is available

                                                         

                                                        In Advance check the WebAS/SSO Settings after the Upgrade to NetWeaver 7.3x. The settings are almost identical to NetWeaver BW 7.0x

                                                         

                                                        eim300_pic1.JPG

                                                        Migration to SAP BW on SAP HANA

                                                        DMO is an option of SUM (Software Update Manager) for a combined update and migration: update an existing SAP system to a higher Software Release and migrate to SAP HANA database including the unicode conversion of the source database. The procedure is only available for systems based on AS ABAP, hence the executable SAPup is used in background. DMO migrates from an existing relational database type (“anyDB”) to SAP HANA. Software Update Manager (SUM) is the tool for system maintenance: Release upgrades, EHP implementation, applying SP stacks.

                                                         

                                                         

                                                        To reduce downtime for your production landscape, one of the recommended migration paths of SAP NetWeaver Business Warehouse (SAP NetWeaver BW) to SAP NetWeaver BW on SAP HANA comprises a system copy of your SAP NetWeaver BW system. The system copy procedure of SAP NetWeaver BW systems and landscapes is complex for a number of reasons however. A large number of configuration settings are involved for example (such as connections and delta queue handling for data loading), as well as system copy scenarios of SAP NetWeaver BW (each with different landscape aspects) that have to be handled as part of every system copy, regardless of whether the system copy is part of the migration to SAP HANA or you want to perform regular system copies of your SAP NetWeaver BW landscape.

                                                         

                                                        DSAG Technology Days 2014 - Migration BW on HANA - Update 2014 | SCN

                                                         

                                                        To achieve this, SAP NetWeaver Landscape Virtualization Management offers preconfigured "task lists" used by the ABAP task manager for lifecycle management automation.
                                                        You can also enable SAP BW powered by SAP HANA to “go productive” with parallel operation of your existing production system, both connected to the same back-end systems. This is achieved with a special and unique automated solution for delta queue cloning and synchronization on production systems.
                                                        SAP Note 886102 (SMP login required) thus becomes obsolete. Using the post-copy automation for SAP BW (BW PCA) in the migration process of SAP BW to SAP BW on SAP HANA, this process can be shortened by weeks and becomes easier, faster and more reliable.

                                                         

                                                        The presentation Teched 2012 - Session EIM300  illustrates the migration to SAP BW on SAP HANA from an end-to-end perspective.

                                                         

                                                         

                                                         

                                                        eim301_pic5.JPG

                                                        SAP BW System Copy

                                                         

                                                        Since Release 7.30 SP05, it is now possible to perform a heterogenous system copy (incuding unicode migration) to migrate existing systems based on SAP  BW 7.30 SP05 and higher to SAP BW on SAP HANA (HDB) based systems.
                                                        With this major step forward, a new procedure called "Post Copy Automation (BW PCA)" now supports customers with what can often be complex post-steps before and after the homogenous/heterogenous BW system copy. This presentation is the delta information to the existing document "SAP NetWeaver 7.0 - BW Systemcopy ABAP" shown above. The technical Improvements with the leaner data model provides advantages with BW on HANA too.
                                                        To ease this generic step of BW system copy, a new procedure called "BW Post Copy automation (BW PCA)" is available, which supports customer now in the complex pre and post steps during the homogeneous/heterogeneousBW system copy (information from the SAP ALM group) procedure.
                                                        Please note that these procedure can be used independently from your BW and Database Version starting fromNetWeaver 7.0x

                                                         

                                                         

                                                         

                                                        We distinguish between two use cases explained in the FAQ for BW-PCA:
                                                        - initial copy based on an existing original BW system and connected BW source systems
                                                          Task Lists - SAP_BW_COPY_INITIAL_PREPARE (BW systems only) andSAP_BW_BASIS_COPY_INITIAL_CONFIG
                                                        - refresh of an existing system based on an existing BW system and connected BW source systems
                                                          Task List - SAP_BW_BASIS_COPY_REFRESH_CONFIG

                                                         

                                                        Updating to the minimum level of the mentioned Support Stacks is recommended to minimize the manual effort.

                                                        For both cases the BW-PCA Tasklists support the customer together with the software provisioning manager 1.0 (SWPM) in these software lifecycle management tasks. BW-PCA is embedded in the SAP NetWeaver Landscape Virtualization Management

                                                         

                                                        eim301_pic4.JPG

                                                         

                                                        BW Housekeeping Tasks

                                                         

                                                        In this session, you will learn about various housekeeping activities that should be part of the operational concept of your Enterprise Data Warehouse. These housekeeping activities will support you in removing unwanted and unneeded data as well as unused metadata. Scheduling these activities regularly in the system will ensure optimum utilization of system resources while at the same time increasing the overall system performance.

                                                         

                                                        New: SAP First Guidance - SAP BW Housekeeping and BW-PCA

                                                         

                                                        (contains manual steps ZNOTE_1829728_PRE_70x/ZNOTE_1829728_PRE_73x, and automated steps applied with SNOTE)
                                                        The newly released Housekeeping Task List (Pre/Post Steps) allows you to automate mandatory tasks prior to upgrade/migration with DMO to ensure the quality of the migration process and the health of your BW System.

                                                         

                                                        Apply the following SAP Notes in advance and run the tasks in advance to ensure smooth implementation of the BW Housekeeping Task List.
                                                        (contains manual steps znote_1767420 which has to be applied and executed beforehand.

                                                        Note 1810570 - Task Manager for Technical Configuration (7. Improvements)

                                                        Contains the attachment znote_1810570 which has to be applied and executed beforehand.

                                                        To solve the problem with the endless loop on the last task, apply the following Note:

                                                         

                                                        eim300_pic2.JPG

                                                        Event Presentations

                                                        Navigating and Networking at SAP TechEd => Live from TechEd Amsterdam, Replay from 05.11.2013, 18.00 Uhr

                                                         

                                                         

                                                        eim301_pic6.JPG

                                                         

                                                        References/Experiences/DSAG

                                                        This is a collection of ressources from the SAP SCN Network and it´s content is not reflecting the findings from this document of future upgrade and enhancements.
                                                        See how the german customer Kärcher upgraded their SAP BW System Landscape (Three system plus sandbox) within 8 weeks including BI-IP and BIA. It is still a good reference from the project perspective

                                                         

                                                        See Dr. Berg's Upgade to 7.30 Experience. This is a overview presentation based on 2011 findings.
                                                        See thedDoc - SAP BW 7.3 Promising Features This is a very nice overview based on the 2012 findings.
                                                        Recent blog - SAP BW 7.3 Upgrade Issues and Solutions is based on 2013 findings, esspecially application side.

                                                         

                                                        DSAG Forum: "Upgrade NetWeaver BW 7.3x" => (DSAG-ID requested) share you experience with other DSAG members.

                                                         

                                                        Featured Content for SAP Business Warehouse

                                                        $
                                                        0
                                                        0

                                                        Establish a Rock Solid Enterprise Data Warehouse for a Single Version of the Truth


                                                        http://www.sap.com/pc/analytics/data-warehousing/software/netweaver-business-warehouse/index/_jcr_content/sublevelfeature/image.sapimage.jpg/1344607637196.jpg

                                                         

                                                        Capture, store, and consolidate your vital information with our enterprise data warehouse platform, SAP  Business Warehouse (SAP BW). Tightly integrate your warehousing capabilities for a single version of the truth, decision-ready business intelligence, and accelerated operations. Supercharge your data warehouse environment with SAP BW powered by SAP HANA. Leverage reliable data acquisition, business modeling, and analytic capabilities. Extend your applications to reach more business users with minimal IT effort. Reduce total cost of ownership by automating design and development processes

                                                         

                                                        Support Package 7 for SAP  BW 7.4  is released!

                                                        We are pleased to announce the release of SAP BW 7.4, SP7, a SP release that builds upon your investment in SAP  BW 7.4 by adding even more capabilities and functionality in various areas. Read more on the SAPBWNews page for SAP BW 7.4 Support Packages and in the according Release Notes.June 2014

                                                         

                                                         

                                                        Simplified Real-Time Replication using Operational Data Provisioning

                                                        Check out this new page to get a summmary of the Simplified Real-Time Replication using Operational Data Provisioning with  SAP BW 7.40. June 2014


                                                        SAP BW 7.31 ABAP Support Packages

                                                        $
                                                        0
                                                        0

                                                        274712_l_srgb_s_gl_banner.jpgSAP BWNews Notes

                                                        Check out the listed SAP BWNews notes to see what is delivered with the accordingSupport  Package.

                                                         

                                                         

                                                        Release Notes for the SAP NetWeaver 7.31 Support Package Stacks

                                                        Check out the release notes for detailed information on SAP NW 7.31 SPS. (Logon to SAP Help Library is required)

                                                         

                                                        SAP NetWeaver 7.31
                                                        Stack Number

                                                        SAPBWNews
                                                        Note

                                                        Comment

                                                        142030844
                                                        131989585
                                                        121951409released
                                                        111914639released
                                                        101882717released
                                                        091847231released
                                                        081813987released
                                                        071782744released
                                                        061753103released
                                                        051708177released
                                                        041680998released
                                                        031652580released
                                                        021630954released
                                                        011593298released

                                                         

                                                         

                                                        News

                                                         

                                                        •   Support Package 9: (Logon to SAP Help Library is required)
                                                          • The SAP HANA-optimized DataStore object is now obsolete. See documentation

                                                          • The integration of SAP BW and the SAP Landscape Transformation Replication Server (SAP LT Replication Server) allows real-time replication of data in BW and provides two options: You can use the SAP LT Replication Server for delta procedures for tables that do not contain any fields that are capable of producing delta figures. This makes it possible to use delta procedures for extractors that do not have delta logic.

                                                            The trigger-based replication approach allows you to significantly reduce the administrative load if you have frequent master data updates.

                                                            For futher information see "Data Transfer with SAP Landscape Transformation Replication Server (New)"

                                                          • A planning function type is a procedure that can be parameterized and that change transaction data in BW Integrated Planning and in the Planning Application Kit. You can also implement customer-specific planning function types, in order to implement specific procedures and apply them to transaction data.

                                                          •   Details on Logging Saved Values (Enhanced)

                                                         

                                                         

                                                        • Support Package 8: (Logon to SAP Help Library is required)
                                                          • Data Transfer with SAP Landscape Transformation Replication Server (New)

                                                            The integration of SAP BW and the SAP Landscape Transformation Replication Server (SAP LT Replication Server) allows real-time replication of data from non-SAP sources and SAP sources to and provides the following options:

                                                            You can use the SAP LT Replication Server for delta procedures for tables that do not contain any fields that are capable of producing delta figures. This makes it possible to use delta procedures for extractors that do not have delta logic.

                                                            The trigger-based replication approach allows you to significantly reduce the administrative load if you have frequent master data updates.

                                                            Note that complex extractors should generally not be replaced by replication with the SAP LT Replication Server.

                                                            Learn more about the present possibilities to achieve real-time replication into SAP BW 7.30 powered by SAP HANA and read the presentation "Real-time Data Warehousing with SAP LT Replication Server (SLT) for SAP NetWeaver BW" by Marc Hartz.

                                                         

                                                          • SAP HANA-Optimized DataStore Object: With the next Support Package, or when SAP Note 1849497 is implemented, SAP HANA-optimized activation will be performed for all standard DataStore objects. Conversion of DataStore Objects to SAP HANA-optimized objects will then be obsolete. This conversion will no longer be necessary, since all standard DataStore objects will be optimized for SAP HANA automatically. You can still use existing SAP HANA-optimized DataStore objects, but there will also be a new transaction for reconversion. Related Information.

                                                          • Enhanced ODP Source System:  For sources that offer Operational Data Providers (ODP) hierarchically, you can now select the ODP via the source hierarchy in DataSource maintenance. You can select ODPs for SAP HANA for example via the package hierarchy.You can now change the field names for the DataSource in the Proposal tab. If you do not make any changes to the field names, these are adapted automatically as before if they are not suitable as PSA field names.

                                                         

                                                         

                                                        • Support Package 7: (Logon to SAP Help Library is required)
                                                          • The structure of the documentation is enhanced.Some topics were bundeled others expanded and revised to make the documentation structure more clearly represented.See details.
                                                          • The tool for editing the runtime parameters for DataStore objects has been revised and enhanced. It is now more user-friendly and offers users the option of changing the settings for MPP databases and the SAP HANA database.
                                                          • The data flow documentation now contains more details about data transfer processes. Information has been added about the fields used in the filter and the key fields in the error stack: Saving Data Flow Documentation as an HTML File

                                                          • The adapter for Sybase IQ as a near-line solution is delivered with the BW system. Integration of Sybase IQ makes it possible for you to separate data that you access frequently from data that you access rarely, thus making less demands on the resources in the BW system. The near-line data is stored in compressed form and needs to be backed up less frequently. You can thus reduce the costs incurred by data that is accessed less frequently.

                                                         

                                                         

                                                        • Support Package 6: (Logon to SAP Help Library is required)
                                                          • SP6 introduces the concept for handling Inactive Data with SAP HANA Database:
                                                            To optimize the use of the main memory in SAP HANA, we introduced the concept of inactive data in the BW system. Optimization is supported as of SAP HANA Support Package 5. Implementing this concept results in higher priority displacement of data from Persistent Staging Area tables and from tables of write-optimized DataStore objects from the main memory, in the event of main memory bottlenecks. This has a positive effect on hardware sizing when dealing with a large quantity of inactive data of these object types.
                                                          • SAP HANA-Optimized DataStore Object: Change Log Compression
                                                            As of SAP HANA Revision 38, you have the option of having a change log created for every activated record in SAP HANA-optimized DataStore objects.

                                                         

                                                         

                                                        • The release dates for the  Support Package Stacks can be found in the Support Package Stack Schedule (SMP login required).
                                                        • Please see the SAP NetWeaver 7.31 Support Package Stack page (SMP login required) This page is the central point of information for planning the implementation of Support Package Stacks (SP Stacks) for SAP NetWeaver 7.31.
                                                        • For regular updates please subscribe to the notes above as follows: You need to display the note on the service marketplace page. Use the direct links above or use SAP notes search and enter the note number directly. To subscribe to this special note activate the "subscribe" button (left hand above the title line of the note page). Also make sure that your E-Mail notification is activated (for activation see note 487366).
                                                        • Importing Support Packages: Please note that after implementing a Support Package, you are usually required to perform additional maintenance in transaction SNOTE. SAP Notes that are already installed may become inconsistent. This can lead to function errors or syntax errors. Go to transaction SNOTE and reimplement the SAP Notes that are no longer consistent. Your BW system is only operable and consistent after you have reimplemented these SAP Notes.

                                                        Implementation - BW on HANA Export/Import

                                                        $
                                                        0
                                                        0

                                                        This First Guidance document should help to quickly implement either a fresh SAP NetWeaver BW on SAP HANA installation or an export of an existing system with any DB export. As the technical installation steps are the same the guidance should make an own created customer specific documentation obsolete and is the complementary documentation to the existing e2e guide for migration SAP NetWeaver BW on SAP HANA. This Version adds a Chapter for the System Export Preparation and Reflects the latest Changes for BW 7.30/7.31, HANA 1.0 SP05 and the SL toolset 1.0

                                                        View this Document


                                                        SAP First Guidance - BW Housekeeping and BW-PCA

                                                        $
                                                        0
                                                        0

                                                        The system copy procedure of SAP NetWeaver BW systems and landscapes is complex for a number of reasons however. There are a large number of configuration settings (such as connections and delta queue handling for data loading) and system copy scenarios of SAP NetWeaver BW (each with different landscape aspects) for example that have to be handled as part of every system copy, regardless of whether the system copy is part of the migration to SAP HANA or if you want to perform regular system copies of your SAP NetWeaver BW landscape.

                                                        View this Document

                                                        SAP First Guidance - SAP-NLS Solution with Sybase IQ

                                                        $
                                                        0
                                                        0

                                                        This “SAP First Guidance” document should help to quickly implement the new released option to store historical BW data on an external IQ Server for System Performance of Preparation of a migration to BW powered by HANA. Please Note that the SAP-NLS Solution can be used with all supported Database Versions supported by SAP NetWeaver BW 7.3x. The Existence of SAP HANA is not necessary. The document is “work in progress” and not intended to be exhaustive, but it contains everything to successfully implement the SAP-NLS Solution with Sybase IQ. For more Information please contact roland.kramer@sap.com.

                                                        View this Document

                                                        SAP NetWeaver 7.4 BW ABAP Support Packages

                                                        $
                                                        0
                                                        0

                                                        Picture5.jpg

                                                        Check out the listed SAP BWNews notes to see what is delivered with the according Support Package.

                                                         

                                                        SAP BWNews Notes


                                                        SAP NetWeaver
                                                        7.4 SP #

                                                        SAP BW News Note
                                                        Comments
                                                        02

                                                        1804758

                                                        released

                                                        03

                                                        1818593

                                                        released

                                                        04

                                                        1853730

                                                        released

                                                        05

                                                        1888375

                                                        released
                                                        061920525

                                                        released

                                                        071955499released
                                                        082000326planned release dates
                                                        092030800planned release dates

                                                         

                                                         

                                                        What comes with the Support Packages?

                                                         

                                                        Support Package 07


                                                        Transfer of Reporting Objects and Reporting Data with SDATA: Using the new SDATA tool, you can transfer reporting objects and data from a source location to a target location - for test and demo purposes. This enables you for example, to transfer reporting objects and data - for test purposes - to BW trial versions in the cloud. Note that the RSDATA is intended exclusively for test and demo purposes and is not suitable for transporting BW objects or transferring data in a productive system landscape!

                                                         

                                                        In expert mode in the SAP HANA analysis process, the Maintenance Execution function is now available. This function allows support to simulate execution of the SAP HANA analysis process for troubleshooting purposes.

                                                        CompositeProvider:The function for setting cardinality has been changed. Conversion routins are now taken into account if you enter constants. The external display is now shown

                                                        .

                                                        In the transformation, you can now use the new rule type Calculation 0RECORDMODE for ODP.

                                                         

                                                        Various interface changes and user-friendliness enhancements have been introduced in the data transfer process (DTP):

                                                         

                                                        For detailed information visit the  Release Notes for SAP BW 7.4 SP7

                                                        Support Package 06

                                                         

                                                         

                                                        Support Package 05

                                                         

                                                         

                                                        Further Information:

                                                         

                                                        • Documentation/Release note information will be provived short before release of the according Support Package
                                                        • The release dates for the  Support Package Stacks can be found in the Support Package Stack Schedule (SMP login required)
                                                        • For generell Information about SAP NetWeaver BW 7.4 please visit SAP NetWeaver Business Warehouse 7.4
                                                        • For regular updates please subscribe to the notes above as follows: You need to display the note on the service marketplace page. Use the direct links above or use SAP notes search and enter the note number directly. To subscribe to this special note activate the "subscribe" button (left hand above the title line of the note page). Also make sure that your E-Mail notification is activated (for activation see note 487366).
                                                        • Importing Support Packages: Please note that after implementing a Support Package, you are usually required to perform additional maintenance in transaction SNOTE. SAP Notes that are already installed may become inconsistent. This can lead to function errors or syntax errors. Go to transaction SNOTE and reimplement the SAP Notes that are no longer consistent. Your BW system is only operable and consistent after you have reimplemented these SAP Notes.

                                                        Certified Partner Software

                                                        $
                                                        0
                                                        0
                                                        248077_l_srgb_s_gl.jpg

                                                        The below listed partner software is licensed for the certification category Business Information Warehouse.

                                                         

                                                        Last update: Feb 2014.

                                                        For a complete picture please visit our  Partner Information Center

                                                        Find application development partners easily in the Application Development Partner Directory

                                                         

                                                         

                                                         

                                                         

                                                        Integration Scenario BW-OBI - OLAP BAPI

                                                         

                                                        Certified Partner Software ReleasePartner  Details
                                                        arcplan Enterprise 7 arcplan Information Services GmbH
                                                        Cubeware Cockpit V6PROCubeware GmbH
                                                        DeltaMaster 5.5Bissantz & Company GmbH
                                                        MicroStrategy 9.0MicroStrategy Inc
                                                        STATISTICA 11Statsoft, Inc.
                                                        WebFocus BW Query Adapter 7.0

                                                        Information Builders, Inc.

                                                        IBM Cognos Business Intelligence 10.2IBM Canada, Ltd.
                                                        WebFOCUS 8Information Builders, Inc..

                                                         

                                                         

                                                        Integration Scenario BW-ODB- Reporting for OLAP

                                                         

                                                        Certified Partner Software ReleasePartner  Details
                                                        DeltaMaster 5.5Bissantz & Company GmbH
                                                        Tableau 7.0Tableau Software

                                                         

                                                         

                                                        Integration Scenario BW-OHS Open Hub Service
                                                        Certified Partner Software ReleasePartner  Details
                                                        IBM InfoSphere Information Server 8 IBM Deutschland Research & Development

                                                        Informatica PowerExchange 9.1

                                                        Informatica Corporation
                                                        Solutions Engineering Adaptor Suite 2.0Solutions Engineering Corporation
                                                        Teradata Extract/Load Solution 1.3.5Teradata Operations, Inc.
                                                        Informatica PowerExchange 9.1 Informatica Corporation
                                                        Microsoft SQL Server Integ 11.0Microsoft (China) Co. Ltd

                                                         

                                                         

                                                        Integration Scenario BW-SCH Job Scheduling
                                                        Certified Partner Software ReleasePartner  Details
                                                        A-AUTO 7.2BSP Incorporated
                                                        ActiveBatch Extension 2Advanced Systems Concepts, Inc.
                                                        Dollar Universe 6ORSYP SA
                                                        IBM Tivoli Workload Scheduler for App.. 8.6IBM Deutschland Research & Development
                                                        Tidal Enterprise Scheduler 5.3 Cisco Systems, Inc.
                                                        Tidal Enterprise Scheduler 6 Cisco Systems, Inc.
                                                        VISUAL TOM 5.3 ABSYSS

                                                        UC4 ONE Automation V9

                                                        Automic Software GmbH

                                                         

                                                         

                                                        Integration Scenario BW-STA Data Staging
                                                        Certified Partner Software ReleasePartner  Details
                                                        IBM InfoSphere Information Server 8 IBM Deutschland Research & Development
                                                        MS SQL Server Integration Services 10.0Microsoft Corporation
                                                        Solutions Engineering Adaptor Suite 2.0 Solutions Engineering Corporation
                                                        Informatica PowerExchange 9.5.1Informatica Corporation
                                                        Microsoft SQL Server Integ 11.0Microsoft (China) Co. Ltd

                                                         

                                                         

                                                        Integration Scenario BW-UDC-JDBC Universal Data Connect JDBC
                                                        Certified Partner Software ReleasePartner  Details
                                                        NonStop SQL/MX 3.1Hewlett-Packard Company

                                                         

                                                         

                                                        Integration Scenario BW-XMLA XML for Analysis
                                                        Certified Partner Software ReleasePartner  Details
                                                        Board Management Intelligence 7.2 Board International SA
                                                        Dundas Dashboard 2.5Dundas Data Visualization, Inc.
                                                        Next Analytics 5Nextanalytics Corporation
                                                        PROGNOZ Platform 5.0 PROGNOZ

                                                         

                                                         

                                                        Integration Scenario NW-BI-NLS  Nearline Storage
                                                        Certified Partner Software ReleasePartner  Details
                                                        Informatica Nearline 3.1Informatica Corporation
                                                        OutBoard Data Browser and Analyzer 1.0DataVard Ltd.
                                                        OutBoard with Storage Management 2.0DataVard Ltd.
                                                        PBS CBW NLS 3.4 PBS Software GmbH
                                                        PBS CBW NLS IQ 3.4 PBS Software GmbH
                                                        PBS CBW NLS IQ 7.3 PBS Software GmbH
                                                        NW-BW-NLS 7.30 - Informatica ILM Nearline 6.1AInformatica Corporation

                                                         

                                                         

                                                        In addition to the Certified Partner Software nearline storage can be implemented on IBM DB2.

                                                        The Nearline Storage solution for SAP BW on IBM DB2 LUW  is utilizing various DB2
                                                        capabilities and is included in SAP DB2 OEM licence.
                                                        Further information can be found in note 1405664

                                                         

                                                        High Performance Near-Line Storage leverages the High Performance Storage Saver functionality of the
                                                        IBM DB2 Analytics Accelerator and DB2 for z/OS.
                                                        Further information can be found in note 1815192.

                                                         

                                                         

                                                        Partner Integration:
                                                        SAP InterfaceCertified Partner Software ReleasePartner  Details
                                                        HANA-BW CNT 7.3 - HANA BW Content 7.3gkm/SKM 1.0Gicom GmbH
                                                        BUSINESS INTEL - Business IntelligenceCT-BW Analyzer & Docu 2.1CT-Softwareberatungs GmbH
                                                        BW-CNT 7.0 - Third-Party Content for SAP NetWeaver BI 7.0FinCon 2.0InnovatIT Solutions Inc
                                                        ABAP 7.0 - ABAP Add-On for SAP NetWeaver Application Server 7.00Firsteam Framework Fiscal Solution Suite 1.0Firsteam Consulting S.A.
                                                        International Regulatory Reporting (IRR) 1.0BearingPoint Software Solutions GmbH
                                                        ABAP 7.0 - ABAP Add-On for SAP NetWeaver Application Server 7.00Xtreme Reporting 10.0Unit Consulting

                                                         

                                                         

                                                        Integration Scenario BO_DS Integration with BusinessObjects
                                                        -  SAP BusinessObjects Data Services:

                                                         

                                                        SAP InterfaceCertified Partner Software ReleasePartner  Details
                                                        BO-DS-WI-OWGreenplum 4.0Greenplum, a division of EMC
                                                        BO-DS-WI-OWVectorwise ODBC Driver 1.6Actian Corporation

                                                        find inconsistent/orphaned transformations

                                                        $
                                                        0
                                                        0

                                                        Hi,

                                                         

                                                        this is a instruction manual to find inconsistent transformations in a Business Warehouse System.

                                                         

                                                        First open the transaction se38 and run the programm "ZRSTRAN_CHECK_STEP_CONSTANTS". Chose the object version and check the option "check" or "repair". Then let it run.

                                                         

                                                         

                                                        Failure due to No SID found for value xxxx of characteristic yyyyy

                                                        $
                                                        0
                                                        0


                                                        Data Load failure due to No SID found for value 'xxxxx' of characteristic YYYYY.

                                                         

                                                        For resolving such issues, we need to follow the below steps:

                                                         

                                                        Consider your error to be No SID found for value '1020ZSOBPEDA_BABY TEST.

                                                         

                                                        •      Go to RSD1, enter the name of your characteristic. We will take the example of 0MAT_PLANT here. Now go to "Compounding" tab and check if there is any characteristic with which it is compounded. We can see here that it has 0PLANT as a compounded characteristic. This means that the value for which our load has failed, has entry for MATERIAL and PLANT.

                                                         

                                                        By looking at the value for which your load has failed, you should find out a fragment of it belongs to the compounded characteristic.

                                                        11.PNG

                                                         

                                                        • Go to RSA1, search for 0MAT_PLANT. Right click and go to "Maintain Master Data".

                                                         

                                                        12.PNG

                                                         

                                                        • Now, enter the values in the fields - PLANT and MATERIAL in our case by bifurcating what you got in the error message. Excute. You will receive a pop - up saying that Data with specified selection does not exist. This is a method for confirming that the value for which our load has failed is not present in the required combination.

                                                         

                                                        14.PNG

                                                        15.PNG

                                                         

                                                        • Now remove the values from selection screen and click on execute. In the next screen, click on "Create" icon.

                                                        xxxx.PNG

                                                         

                                                        • You will now get a pop-up for entering values. Enter the value in the same combination as what you saw in your error message. Click on continue. Now save and come back.

                                                        17.PNG

                                                         

                                                        You will now have to "Activate" your master data. Right click on your characteristic, click on Activate Master Data. You can now manually update the failed data package. It will resolve the no SID found issue.

                                                        How to turn off and on starting a process chain.

                                                        $
                                                        0
                                                        0

                                                        Hi,

                                                        This document tells how to turn off starting process chain and turn it on again after some time.

                                                         

                                                        Lets suppose the process chain is set to start everyday at 00:01 am and its ready for the next time to run.

                                                        It can be checked in RSPC / Process chains / <your PC> / Start process / Displaying Scheduled job(s):

                                                         

                                                        Bez tytułu.png

                                                        it should look like this

                                                         

                                                        Bez tytułu.png

                                                         

                                                        or here:

                                                         

                                                        Bez tytułu.png

                                                         

                                                        Bez tytułu.png

                                                         

                                                        (Status "release" means it is active but not running (=waiting for time to start).

                                                        Jobs that run in the past and ended have the status "Finished")

                                                         

                                                        When we have to stop running job or when we are not sure it's running or not we should terminate selected job.

                                                         

                                                        Bez tytułu.png

                                                         

                                                        When a job has been terminated we can delete the job.

                                                        Bez tytułu.png

                                                         

                                                        after deleting the job it should look like this:

                                                        Bez tytułu.png

                                                         

                                                         

                                                        To turn the process chain on again we use / Execution / Schedule (F8)

                                                        Bez tytułu.png

                                                         

                                                        we should set priority

                                                         

                                                        Bez tytułu.png

                                                         

                                                        information in a status line can be seen

                                                        Bez tytułu.png

                                                         

                                                        Now we may expect the process chain will start as usuall.

                                                         

                                                        What can be checked as above.

                                                         

                                                        Bez tytułu.png

                                                         

                                                        Hope it will help,

                                                        Regards, Leszek


                                                        SAP BI/BW -Performance Tuning thru System Tables

                                                        $
                                                        0
                                                        0

                                                        I am sharing my experience with a client system (Client a fortune 500 company, Runs a beverage (Soft) business in 140 Countries). Using the SAP BW solutions and capabilities since Year 2002 now currently with SAP BI 7.3 SP7 version.

                                                         

                                                        Problem Statement

                                                        6 Months ago project team took decision to enhance the DB size to accommodate the DB growth for next 24 months. Implemented the DB size enhancement considering it would cater the enterprise needs for next 24 months. Unfortunately 50% of the expansion DB size is consumed in 5 months. So I started examining the reasons, root cause and solutions.

                                                         

                                                        Current Solution

                                                        Periodically the experts from BW team (couple of service providers) use following techniques to improve the performance of DB and SYS (EDW).

                                                         

                                                        1. 1. BW/BI Data housekeeping tasks
                                                          1. Pros:
                                                            • Able to manage all the table data growing places like 1) PSA. 2) DSO 3) Statistics 4) Infocubes
                                                          2. Cons:
                                                            • Unable to concentrate on the system level tables across all areas (Ex: FI, CO, MM, PP, HR, CRM...etc.)
                                                        2. 2. BW/BI Performance tuning techniques.
                                                          1. Pros:
                                                            • Able to manage all the table data growing places like 1) Aggregates. 2) Request Compression 3) Infocubes Compression 4) Partitioning 5) Indexing 6)BIA
                                                          2. Cons:
                                                            • Unable to concentrate on the system level tables across all areas (Ex: FI, CO, MM, PP, HR, CRM...etc.)

                                                        New Solution

                                                        Now I used a different technique to identify various tables in the System which are collecting the information and storing the data in the tables from time to time.

                                                         

                                                        I have searched all the EDW (Enterprise data warehouse) and found 200+ tables. Performed a thorough analysis with respect to their

                                                        1. Information / Table / Data / usage (Where & When used).

                                                        2. Number of records / Size of the table and its growth.

                                                        3. Index creation (Active/Inactive-Last creation date).

                                                        4. Needed data retention duration with respect to Client’s expectations.

                                                         

                                                        After a thorough I could Identify 43 tables satisfying my above rules (Four).

                                                         

                                                        Analysis

                                                        I am really surprised to know that they are

                                                        1. 50 % of tables are never used in any place

                                                        2. Few are used hardly once in a quarter. Actually the usage is for Data administration need by the administrator.

                                                        3. The transaction / data older than 2years is stored in the tables.

                                                         

                                                        Needed checks

                                                          1. Checked with the client team to move the data (older than 90 days) to near line storage
                                                          2. Basis team for validation for tables and schedule of data archive jobs.

                                                         

                                                         

                                                                  Tables         (Records found in Millions)

                                                         

                                                        1. RSMONMESS                     (334.5 Million)

                                                          • Messages for the monitor

                                                        2. RSDDSTATAGGRDEF        (241 Million)

                                                          • BW statistics data

                                                          3. RSIXWWW                          (29 Million)

                                                            • Cluster Table for Storing Web Reporting Components

                                                          4. RSDDSTATEVDATA          (18.48 Million) 

                                                            • BW statistics data

                                                          5. RSDDSTATCOND               (17.8 Million)

                                                            • BW statistics data

                                                          6. RSZWOBJ                             (16 Million)

                                                            • Storage of the Web Objects

                                                          7. RSDDSTATHEADER           (11.5 Million)

                                                            • BW statistics data

                                                          8. RSZWBOOKMARK             (11.1 Million)

                                                            • Header Table of the Bookmarks

                                                            9. DDLOG                  (15 Million)       

                                                              • Buffer Synchronization

                                                              10. RSDDSTATAGGR               (12.5 Million)

                                                                  • BW statistics data

                                                              11. RSERRORHEAD                  (10.4 Million)

                                                                • Incorrect Records (Header Table) (PSA error logs)

                                                                12. RSDDSTATLOGGING        (9.5 Million)

                                                                  • BW statistics data

                                                                13. RSDDSTATDM                    (8.5 Million)

                                                                  • BW statistics data

                                                                  14. RSRWBTEMPLATE            (8.5 Million)

                                                                    • Assignment of Excel workbooks as personal templates

                                                                  15. RSRWORKBOOK               (7.1 Million)

                                                                    • Where-used list for reports in workbooks

                                                                    16. RSDDSTATINFO (777 K) (6.9 Million)

                                                                      1. BW statistics data

                                                                    17. RSDDSTATDELE                 (5.9 Million)

                                                                      • BW statistics data

                                                                    18. RSERRORHEAD (4.1 Million)

                                                                      • Incorrect Records (Header Table)

                                                                    19. RSERRORLOG                     (2.7 Million)

                                                                      • Logs for Incorrect Records (PSA error logs)

                                                                      20. RSBERRORLOG (2.36 Million)

                                                                        • Logs for Incorrect Records
                                                                        • Stores error handling logs due to following and other reasons:
                                                                        • Warnings that are created during master data uploads for duplicate records
                                                                        • Single record error messages in customer-specific transformation routines
                                                                        • Table is accumulated a numerous error messages records for a DTP requests. In most cases this is due to many errors while BW is processing data and Info Package (IP) or Data Transfer Package (DTP) is setup in way that data duplicity needs to be recorded.

                                                                        21. RSZWOBJTXT                     (1.1 Million)

                                                                          • Texts for Templates/Items/Views

                                                                          22. RSZWOBJXREF   (0.76 Million)

                                                                            • Structure of the BW Objects in a Template

                                                                            23. RSZWBOOKMARK            (1.18 Million)

                                                                              • Header Table of the Bookmarks

                                                                              24. RSZWVIEW                         (1.1 Million)

                                                                                • Header Table for BW Views

                                                                                25. RSZWITEM                          (2.1 Million)

                                                                                  • Header Table for BW Web Items

                                                                                  26. RSZWITEMATTR                (1.6 Million)

                                                                                    • Attribute Table of the Items (Contains Search Attributes) –

                                                                                    27. RSZWITEMDATA               (2.5 Million)

                                                                                      • BW Web Item Data (7.0)+

                                                                                      28. RSZWITEMXREF                (3.1 Million)

                                                                                        • Cross-Reference Table of the Items

                                                                                        29. RSZWBITMDATA               (1.2 Million)

                                                                                          • BW Web Item Data (7.0)+

                                                                                          30. RSZWBITMHEAD               (0.68 Million)

                                                                                            • Header Table for BW Web Items

                                                                                            31. RSZWBITMHEADTXT       (1.2 Million)

                                                                                              • Texts for BI Web Items (7.0+)

                                                                                              32. RSZWBITMTEXT                (0.7 Million)

                                                                                                • BW Web Templates: Language Texts

                                                                                                33. RSZWBITMXREF                (0.8 Million)

                                                                                                  • BI Template Cross references to TLOGO Objects

                                                                                                  34. RSZWBTMPDATA             (0.5 Million)

                                                                                                    • BW Web Template Data

                                                                                                    35. RSZWBTMPHEAD             (0.5 Million)

                                                                                                      • Header Table for BW HTML Templates

                                                                                                      36. RSZWBTMPHEADTXT  (0.8 Million)

                                                                                                        • Texts for Templates/Items/Views

                                                                                                        37. RSZWBTMPTEXT               (0.2 Million)

                                                                                                          • BW Web Templates: Language Texts

                                                                                                          38. RSZWBTMPXREF                (1.2 Million)

                                                                                                            • BI Template Cross references to TLOGO Objects

                                                                                                            39. RSRWBSTORE                    (2.1 Million)

                                                                                                              • Storage for binary large objects (BW workbook tables -Excel workbooks)

                                                                                                              40. RSSELDONE                        (1.5 Million)

                                                                                                                • BW staging engine tables:

                                                                                                              41. RSRWBINDEX                     (2.0 Million)

                                                                                                                • List of binary large objects (Excel workbooks)

                                                                                                              42. RSRWBINDEXT (1.8 Million)

                                                                                                                • Titles of binary objects (Excel workbooks)

                                                                                                              43. RSBMNODES                      (1.5 Million)

                                                                                                                • “Hierarchical Log: Nodes”; If e.g. it takes a long time to set a DTP request to 'green' after it has been processed it is caused by large volume of data in this table. Since BI system in production a quite long time you got a lot of logs in it then you have a huge amount of entries in this table.

                                                                                                               

                                                                                                              Assumption: The no-of records is a cumulative result of all the above 43 tables. It is subjected to change as it is dependent on the EDW System (Client's business , Reporting tools on EDW, etc,..)


                                                                                                              Lesson Learned/Achievement: With the above analysis I could find 1,100 million records are there in the EDW which do not have any potential benefit to the client’s business or EDW system. After removing 1,100 Million records from EDW I could save 350 GB of disc space to my client.

                                                                                                              Delta for pricing tables like A004 , A005 , A006, A581 etc

                                                                                                              $
                                                                                                              0
                                                                                                              0

                                                                                                              Requirement:

                                                                                                              Delta for pricing tables like A004, A005, A006, A581 etc. In the pricing tables there are two date fields DATAB and DATBI. When a new record for condition record is created the record has date for the validity date for that condition record. The condition record when first created has the end date (DATBI) as 31/12/9999 and the start date can be anything. When the condition record validity is define the DATBI date is updated from 31/12/9999 to the date till which the date is valid and a new condition record is created with a new valid from date (DATAB i.e last DATBI+1 date)  and the valid to date DATBI is 31/12/9999. Now the delta for these condition record tables is of two types delta based on DATAB and DATBI both needs to be captured.

                                                                                                              Problem:

                                                                                                              No field to mark the change records.

                                                                                                              Solution:

                                                                                                              There are two date fields DATAB (from date) and DATBI (to date) for condition records.

                                                                                                              Based on the changes based on these fields delta needs to be loaded.

                                                                                                              We have created two Full IP’s  (one to capture change w.r.t DATAB and the other w.r.t DATBI).

                                                                                                              Written an ABAP Routine in IP which will fetch the data from the range when the last record was loaded till sy-datum w.r.t DATAB and DATBI accordingly.

                                                                                                              Pre-requisite:

                                                                                                              Create a table entry for variable which will store the date of last load w.r.t DATAB (high) and DATBI (low).

                                                                                                               

                                                                                                              ABAP routine w.r.t DATAB.

                                                                                                              TABLES: TVARVC.
                                                                                                              TYPES: BEGINOF y_tvarvc,
                                                                                                              name
                                                                                                              LIKE tvarvc-name,
                                                                                                              low 
                                                                                                              LIKE tvarvc-low,
                                                                                                              high
                                                                                                              LIKE tvarvc-high,
                                                                                                              ENDOF y_tvarvc.

                                                                                                              DATA: e_l_itab TYPE y_tvarvc.

                                                                                                              CONSTANTS: c_ds_nm(10) typecvalue'DS_A581_F5'.


                                                                                                              data: l_idx like sy-tabix.


                                                                                                              readtable l_t_range withkey
                                                                                                              fieldname =
                                                                                                              'DATAB'.
                                                                                                              l_idx = sy-tabix.
                                                                                                              *....

                                                                                                              * clear work area
                                                                                                              CLEAR e_l_itab.

                                                                                                              selectSINGLE low
                                                                                                              high
                                                                                                              from tvarvc into CORRESPONDING FIELDSOF e_l_itab
                                                                                                              where name = c_ds_nm.

                                                                                                              if e_l_itab-high ISINITIALand e_l_itab-low ISINITIAL.
                                                                                                              * when doing full load for the first time (no range defined)

                                                                                                              CLEAR: L_T_RANGE.
                                                                                                              l_t_range-option =
                                                                                                              'EQ'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.


                                                                                                              *when doing delta load after first full load (range defined from last
                                                                                                              *loaded delta to sy-datum)
                                                                                                              elseif e_l_itab-high ISINITIAL.
                                                                                                              l_t_range-HIGH   = sy-datum.
                                                                                                              l_t_range-low    = e_l_itab-low.
                                                                                                              l_t_range-option =
                                                                                                              'BT'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.

                                                                                                              else.
                                                                                                              *when doing delta load after first full load (range defined from last
                                                                                                              *loaded delta to sy-datum)

                                                                                                              l_t_range-HIGH   = sy-datum.
                                                                                                              l_t_range-low    = e_l_itab-high.
                                                                                                              l_t_range-option =
                                                                                                              'BT'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.

                                                                                                              endif.

                                                                                                              modify l_t_range index l_idx.



                                                                                                              p_subrc =
                                                                                                              0.
                                                                                                              * clear work area
                                                                                                              CLEAR e_l_itab.

                                                                                                              ABAP routine w.r.t DATBI.

                                                                                                              TABLES: TVARVC.
                                                                                                              TYPES: BEGINOF y_tvarvc,
                                                                                                              name
                                                                                                              LIKE tvarvc-name,
                                                                                                              low 
                                                                                                              LIKE tvarvc-low,
                                                                                                              high
                                                                                                              LIKE tvarvc-high,
                                                                                                              ENDOF y_tvarvc.

                                                                                                              DATA: e_l_itab TYPE y_tvarvc.

                                                                                                              CONSTANTS: c_ds_nm(10) typecvalue'DS_A581_F5'.


                                                                                                              data: l_idx like sy-tabix.


                                                                                                              readtable l_t_range withkey
                                                                                                              fieldname =
                                                                                                              'DATBI'.
                                                                                                              l_idx = sy-tabix.
                                                                                                              *....

                                                                                                              * clear work area
                                                                                                              CLEAR e_l_itab.

                                                                                                              selectSINGLE low
                                                                                                              high
                                                                                                              from tvarvc into CORRESPONDING FIELDSOF e_l_itab
                                                                                                              where name = c_ds_nm.

                                                                                                              if e_l_itab-high ISINITIALand e_l_itab-low ISINITIAL.
                                                                                                              * when doing full load for the first time (no range defined).
                                                                                                              CLEAR:   l_t_range.
                                                                                                              l_t_range-option =
                                                                                                              'EQ'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.

                                                                                                              *when doing delta load after first full load (range defined from last
                                                                                                              *loaded delta to sy-datum)
                                                                                                              elseif e_l_itab-low ISINITIALAND e_l_itab-high isnotINITIAL.
                                                                                                              l_t_range-HIGH   = sy-datum.
                                                                                                              l_t_range-low    = e_l_itab-high.
                                                                                                              l_t_range-option =
                                                                                                              'BT'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.
                                                                                                              else.
                                                                                                              *when doing delta load after first full load (range defined from last
                                                                                                              *loaded delta to sy-datum)

                                                                                                              l_t_range-HIGH   = sy-datum.
                                                                                                              l_t_range-low    = e_l_itab-low.
                                                                                                              l_t_range-option =
                                                                                                              'BT'.
                                                                                                              l_t_range-
                                                                                                              sign   = 'I'.

                                                                                                              endif.

                                                                                                              modify l_t_range index l_idx.



                                                                                                              p_subrc =
                                                                                                              0.
                                                                                                              * clear work area
                                                                                                              CLEAR e_l_itab.

                                                                                                               

                                                                                                              ……

                                                                                                              Please find the above code which you need to add in IP’s. This code will check if the data is been loaded for the first time(the variant has a blank value if we are loading the data for the first time).

                                                                                                              • It will check the condition if it is been loaded before this so the date which will maintain the latest dates for change where the variable low value is for DATBI and high is for DATAB. If it is initial then it will do a full load and the last load date will get updated in the tvarvc table for the corresponding variable for eg.DS_A581_F5.

                                                                                                               

                                                                                                              • If the data load is already done then only the data which is present in the range from last load and todays system date will be fetched and the variable value date will be updated (DS_A581_F5) value to today’s system date when the data load is done.

                                                                                                              Below is the program to update the TVARVC table entries for variables.

                                                                                                              Program to update variable values in TVARVC Table.

                                                                                                              REPORT ZT_TAVRVC_VAR_UPDT.

                                                                                                              PARAMETERS: p_varnm(10) typec OBLIGATORY,
                                                                                                              p_delta(
                                                                                                              5typec OBLIGATORY.

                                                                                                              CONSTANTS: c_datab(5) typecvalue'DATAB',
                                                                                                              c_datbi(
                                                                                                              5) typecvalue'DATBI'.

                                                                                                              If p_delta EQ c_datbi.

                                                                                                              update tvarvc
                                                                                                              set low = sy-datum
                                                                                                              where name = p_varnm.

                                                                                                              else.

                                                                                                              update tvarvc
                                                                                                              set high = sy-datum
                                                                                                              where name = p_varnm.

                                                                                                              endif.

                                                                                                               

                                                                                                              We have a kept this program separate as it should update TVARVC variable entry only if the IP runs successfully.

                                                                                                              The Flow for data loading in process chain is as follow:

                                                                                                               

                                                                                                              (unable to upload the image...)

                                                                                                              How to implement Multi Dimensional authorization in BW reports

                                                                                                              $
                                                                                                              0
                                                                                                              0

                                                                                                              Applies to

                                                                                                              SAP BI 7.0 version and higher

                                                                                                              For more information, for more information, visit the EDW homepage.

                                                                                                               

                                                                                                              Summary

                                                                                                              This document will provide information regarding implementing multi-dimensional authorization concept in BW reports. Also it contains the information regarding analysis Authorization and customer exit variable etc

                                                                                                               

                                                                                                              Pic1.jpg

                                                                                                               

                                                                                                              Author: Arvind Tekra     

                                                                                                              Company: Infosys Technologies.

                                                                                                              Created on: 4th June 2014

                                                                                                               

                                                                                                               

                                                                                                              Author Bio

                                                                                                               

                                                                                                              Arvind Tekra has been working in various technologies in SAP BI. He is mainly responsible for implementing SAP BI/BO projects and has worked extensively on SAP BI Modeling.

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                              Introduction

                                                                                                              Whenever the analysis authorization of a user is combined, the authorization variable implemented in the report is not able to restrict the data at the appropriate combination which might lead to user getting message of “No appropriate authorization” when executing the report. This is explained better with the scenario explained below:

                                                                                                              Objective

                                                                                                              In the below example is a requirement from the user that the user should be able to see all the Sales Org for a particular Sales Division (as part of the global team) and for a specific Sales Org he should see all Sales Divisions (as per his role of a regional manager).  As per the requirement two analysis authorization objects were created and assigned to the user. The analysis authorizations would make sure at the database level that the users see the appropriate data as per the user’s access, however the BW query is not able to read it appropriately and it throws an error message to the user.

                                                                                                               

                                                                                                              Analysis Authorization

                                                                                                              Sales Org

                                                                                                              Sales Division

                                                                                                              TEST

                                                                                                              1000

                                                                                                              *

                                                                                                              TEST12

                                                                                                              *

                                                                                                              10

                                                                                                               

                                                                                                               

                                                                                                              Pic2.jpg

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                              Both the analysis authorization are assigned to the TESTUSER1.

                                                                                                               

                                                                                                              Pic3.jpg

                                                                                                               

                                                                                                               

                                                                                                              A simple BW query is built for the demo purpose, it has authorization variables in the selection screen.

                                                                                                               

                                                                                                              Pic4.jpg

                                                                                                               

                                                                                                               

                                                                                                              Pic5.jpg

                                                                                                               

                                                                                                               

                                                                                                              If we execute this report in Tcode-RSRT with a user with all access we get the below data.

                                                                                                              Pic6.jpg

                                                                                                               

                                                                                                              Selection Screen:

                                                                                                               

                                                                                                              Pic7.jpg

                                                                                                               

                                                                                                               

                                                                                                              Output:

                                                                                                              Pic8.jpg

                                                                                                               

                                                                                                              From the above output we can see the  combination for which TESTUSER1 is authorized for has data available in the report.

                                                                                                               

                                                                                                               

                                                                                                              If we now run the report with TESTUSER1:

                                                                                                              Selection screen:

                                                                                                              Pic9.jpg

                                                                                                               

                                                                                                              The values are not populated as for individual charactersitics, it reads as * access from the authorizations.

                                                                                                              If we execute the report, then we get the error message that no authorization is there as he only has access for combinations of data and not all the data.

                                                                                                              Pic10.jpg

                                                                                                               

                                                                                                              The above example takes into consideration only two characteristics and in other business scenario we may have scenarios where the access can be defined on combination of 3-4 characteristics.

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                              Solution

                                                                                                               

                                                                                                              The solution can be divided into two parts:

                                                                                                              ·         Automatic generation of analysis authorization for the user for the desired combination.

                                                                                                              ·         Introduction of a concatenated object which is a combination of Sales Org/Division, this object can be used to restrict the output of the BW report as per the users authorization.

                                                                                                              The following design can be implemented for the solution. The user access matrix can be maintained in an ECC table by the business itself. The business team can enter the user and the combination matrix on which the users should have access.

                                                                                                              ECC table:

                                                                                                              User

                                                                                                              Sales Org

                                                                                                              Sales Division

                                                                                                              TESTUSER1

                                                                                                              1000

                                                                                                              *

                                                                                                              TESTUSER1

                                                                                                              *

                                                                                                              10

                                                                                                               

                                                                                                              In ECC a customized extractor (data source) can be built which fetches this information and passes it to BW system. The below data model can be built to fetch the user access matrix in BW.

                                                                                                              pic1.png

                                                                                                               

                                                                                                              In DSO1 we need to add an additional object which is concatenation of the two objects with a differentiator in between. The differentiator will help in distinguishing the values of the Sales Org/ Sales Division. In the below example we have used “/” as the differentiator, the differentiator can be any special symbol which is allowed in the BW and is not used in the value of the characteristics used for the combination. The concatenated object can be populated in the DSO by writing this logic in the transformation.

                                                                                                              DSO1 sample entries:

                                                                                                              User

                                                                                                              (ZUSER)

                                                                                                              Sales Org

                                                                                                              (ZSA_ORG)

                                                                                                              Sales Division (ZSA_DIV)

                                                                                                              Sales Org/Division

                                                                                                              (ZSA_ORDI)

                                                                                                              TESTUSER1

                                                                                                              1000

                                                                                                              *

                                                                                                              1000/*

                                                                                                              TESTUSER1

                                                                                                              *

                                                                                                              10

                                                                                                              */10

                                                                                                               

                                                                                                               

                                                                                                              The concatenated object is also added to the cube and the data is populated by defining the logic in transformation same as the DSO1 transformation.

                                                                                                              DSO entries:

                                                                                                              pic12.jpg

                                                                                                               

                                                                                                              Cube entries:

                                                                                                                pic13.jpg

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                              To fully automate this solution the following design can be used.

                                                                                                              pic2.png

                                                                                                              Copy DSO’s for authorization can be created

                                                                                                              DSO2: copy of Authorization data (values) (0TCA_DS01)

                                                                                                              DSO3: copy of Description texts for authorizations (0TCA_DS03)

                                                                                                              The authorization DSO’s are used to generate the authorizations on Sales Org and Sales Division

                                                                                                              pic15.jpg

                                                                                                               

                                                                                                              1. In the transformation from DSO1 (ZUSER_1) à DSO2 (Z_DS01) the below expert routine can be used, this would convert the entries into the format of authorization generation.

                                                                                                              Data: WA_SOURCE_PACKAGE LIKE LINE OF SOURCE_PACKAGE.


                                                                                                                 
                                                                                                              SORT SOURCE_PACKAGE BY TCTUSERNM.



                                                                                                                 
                                                                                                              LOOP AT SOURCE_PACKAGE INTO WA_SOURCE_PACKAGE.


                                                                                                                    RESULT_FIELDS
                                                                                                              -tctusernm = WA_SOURCE_PACKAGE-TCTUSERNM.

                                                                                                                    RESULT_FIELDS-tctobjvers = 'A'.

                                                                                                                    RESULT_FIELDS-tctoption = 'EQ'.

                                                                                                                    RESULT_FIELDS-tctsign   = 'I'.

                                                                                                                    RESULT_FIELDS-tctadfrom = '19000101'.

                                                                                                                    RESULT_FIELDS-tctadto   = '99991231'.

                                                                                                               

                                                                                                              ***********Sales Org*******************
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctauth = 'SALESORG'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAACTVT'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = '03'.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAVALID'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = '*'.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAIPROV'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = 'ZSALES_M1'.
                                                                                                                   
                                                                                                              "Mention the cube on which the report is built
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                              "This name can be changed as per the description you require for the aut"horization
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = 'ZSA_ORG'."Sales org object
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = WA_SOURCE_PACKAGE-/BIC/ZSA_ORG.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                               

                                                                                                              ***************Sales Division*******************

                                                                                                                    RESULT_FIELDS-tctauth = 'SALESDIV'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAACTVT'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = '03'.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAVALID'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = '*'.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = '0TCAIPROV'.
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = 'ZSALES_M1'.
                                                                                                                   
                                                                                                              "Mention the cube on which the report is built
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.
                                                                                                              "This name can be changed as per the description you require for the aut"horization
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctiobjnm = 'ZSA_DIV'."Sales Division object
                                                                                                                    RESULT_FIELDS
                                                                                                              -tctlow = WA_SOURCE_PACKAGE-/BIC/ZSA_DIV.
                                                                                                                   
                                                                                                              APPEND RESULT_FIELDS TO RESULT_PACKAGE.

                                                                                                                        CLEAR RESULT_FIELDS.
                                                                                                                   
                                                                                                              ENDLOOP.

                                                                                                               

                                                                                                               

                                                                                                              The entries of DSO after loading.

                                                                                                              pic16.jpg

                                                                                                               

                                                                                                              The text for the TCTAUTH (authorizations) defined above can be loaded in copy of DSO 0TCA_DS03, this text appears in the user profile for the authorization. After loading the DSO1 and DSO3 execute the report “RSEC_GENERATE_AUTHORIZATIONS” with the DSO’s and generate the profile.

                                                                                                              Screenshot of user profile in RSECADMIN:

                                                                                                               

                                                                                                              pic17.jpg

                                                                                                               

                                                                                                              The loading and generation of the analysis authorization can be done using a Process chain.

                                                                                                              The BW query is enhanced and the concatenated object is added in the filter selection, the variable used is of type “customer exit”. In the customer exit code the DSO ZUSER_1 can be read for the allowed concatenated values. This way the overall report would be restricted to the allowed values only and the report will not throw any error message for authorization.

                                                                                                              pic18.jpg

                                                                                                               

                                                                                                               

                                                                                                              Sample code for the exit.

                                                                                                               

                                                                                                               

                                                                                                              DATA:   l_s_range TYPE rsr_s_rangesid,

                                                                                                                           lv_user TYPE sy-uname,

                                                                                                                          lv_zconcobj TYPE STRING,

                                                                                                                           L_S_VAR_RANGE LIKE LINE OF I_T_VAr_RANGE.


                                                                                                              Data
                                                                                                              : I_ZUSER_1 type STANDARD TABLE OF /BIC/AZUSER_100,"INTERNAL TABLE TO DETERMINE AUTH VALUES

                                                                                                                       WA_ZUSER_1 like line of I_ZUSER_1.

                                                                                                               

                                                                                                              CASE I_STEP.

                                                                                                                      WHEN  '01'. "BEFORE USER INPUT

                                                                                                              ************FUNCTION TO DETERMINE THE USER NAME********

                                                                                                                        CALL FUNCTION 'RSEC_GET_USERNAME'
                                                                                                                         
                                                                                                              IMPORTING

                                                                                                                              e_username = lv_user.

                                                                                                              *******************************************************
                                                                                                                       
                                                                                                              "SELECT FROM ZUSER_1 FOR USER
                                                                                                                       
                                                                                                              SELECT *
                                                                                                                       
                                                                                                              FROM /BIC/AZUSER_100
                                                                                                                       
                                                                                                              INTO TABLE I_ZUSER_1
                                                                                                                       
                                                                                                              WHERE TCTUSERNM = LV_USER.

                                                                                                                       
                                                                                                              if sy-subrc eq '0'. ”AUTH VALUES ARE MAINTAINED IN MATRIX TABLE
                                                                                                                         
                                                                                                              "LOOP AT THE INTERNAL TABLE
                                                                                                                         
                                                                                                              LOOP AT I_ZUSER_1 INTO WA_ZUSER_1.

                                                                                                                            l_s_range
                                                                                                              -SIGN = 'I'.
                                                                                                                            L_S_RANGE
                                                                                                              -OPT = 'CP'.
                                                                                                                            L_s_RANGE
                                                                                                              -LOW = WA_ZUSER_1-/BIC/ZSA_ORDI.
                                                                                                                           
                                                                                                              APPEND l_s_range TO e_t_range.
                                                                                                                           
                                                                                                              CLEAR L_S_RANGE.

                                                                                                                           
                                                                                                              CLEAR WA_ZUSER_1.
                                                                                                                         
                                                                                                              ENDLOOP.

                                                                                                                       
                                                                                                              else. ”STOP THE PROCESSING AND DISPLAY MESSAGE
                                                                                                                         
                                                                                                              CALL FUNCTION 'RRMS_MESSAGE_HANDLING'
                                                                                                                           
                                                                                                              EXPORTING
                                                                                                                              I_CLASS 
                                                                                                              = 'RSBBS'
                                                                                                                              I_TYPE  
                                                                                                              = 'E'
                                                                                                                              I_NUMBER
                                                                                                              = '000'
                                                                                                                              I_MSGV1 
                                                                                                              = 'No Authorization'
                                                                                                                           
                                                                                                              EXCEPTIONS
                                                                                                                              DUMMY   
                                                                                                              = 1
                                                                                                                             
                                                                                                              OTHERS   = 2.
                                                                                                                         
                                                                                                              raise no_processing.

                                                                                                               

                                                                                                                        endif.

                                                                                                                     
                                                                                                              WHEN '02'. "AFTER USER INPUT

                                                                                                                     
                                                                                                              WHEN '03'.”FOR CHECKING EXCEPTIONS

                                                                                                                   
                                                                                                              ENDCASE.

                                                                                                               

                                                                                                               

                                                                                                              Now when the query is executed with the test user, the variable restricts the access

                                                                                                              pic19.jpg

                                                                                                               

                                                                                                              Note: This solution does not uses concatenated object as authorization relevant as the values which can be passed into the authorization is restricted, we cannot maintain value wildcard entry (*) with pattern */10. This entry would generate authorization with ‘*’ access only. More details about the valid interval and patterns for authorization is given in the below mentioned SAP note.

                                                                                                              1053989 - Intervals and Patterns [(*),(+)] in Analysis Authorizations

                                                                                                              The authorizations are generated individually i.e. Sales org independently and Sales Division independently so that it does not give error message in the BW report when the report checks for * access. With this design the Customer exit variable becomes mandatory with all the queries on top of that MultiCube, if the variable is not used then the users might get access to data they are not authorized for. The analysis authorization generated individually would make sense in scenarios where the user not authorized for * access. An example is shown below.

                                                                                                              User

                                                                                                              (ZUSER)

                                                                                                              Sales Org

                                                                                                              (ZSA_ORG)

                                                                                                              Sales Division (ZSA_DIV)

                                                                                                              Sales Org/Division

                                                                                                              (ZSA_ORDI)

                                                                                                              TESTUSER1

                                                                                                              1000

                                                                                                              10

                                                                                                              1000/20

                                                                                                              TESTUSER1

                                                                                                              2000

                                                                                                              20

                                                                                                              2000/10

                                                                                                               

                                                                                                              In the above scenario the authorizations would be generated for Sales Org: 1000,2000 and Sales Division 10,20 and these values would appear in the selection screen in authorization variable.

                                                                                                              This solution is only 100% correct if the customer exit on concatenated object is used in all the queries.

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                               

                                                                                                              Related Content

                                                                                                              Combining Authorizations

                                                                                                              Generation of Analysis Authorizations

                                                                                                              SAP Note 1053989 - Intervals and Patterns [(*),(+)] in Analysis Authorizations

                                                                                                              Variable Customer exit

                                                                                                              Authorization variable

                                                                                                               

                                                                                                              Disclaimer and Liability Notice

                                                                                                              This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.

                                                                                                              SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk.

                                                                                                              SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document.

                                                                                                              Communication Setting between BW and ECC

                                                                                                              $
                                                                                                              0
                                                                                                              0

                                                                                                              Communication Setting between BW and R/3

                                                                                                               

                                                                                                               

                                                                                                              Step 1: Define Logical System in R/3

                                                                                                              Step 2: Assigning Logical System to Client

                                                                                                              Step 3: Setting Up an RFC Destination

                                                                                                              Step 4: Distributing Data Model

                                                                                                              Message Types Involved in Process of Data Loading

                                                                                                              Step 5: Generating Partner Profile

                                                                                                              Step 6: Maintaining Message types in T-Code WE20

                                                                                                               

                                                                                                              Creating Source System (SALE): This step creates source systems which are to be connected.

                                                                                                               

                                                                                                              1. 1. Assigning Source System to Client (SALE): This step gives a logical name to a SAP Client from which the communication is to be established.
                                                                                                              2. 2. Setting up RFC Destination (SM59): This step is required to establish remote connection to the partner with which Source system is trying to communicate. Here one has to maintain the logon and IP details of the target system.
                                                                                                              3. 3. Distributing Data Model (BD64): A distribution model is used to model a distributed environment in which you specify messages exchanged between sending and receiving systems. Here one has to define the message protocols with which the two systems will communicate.
                                                                                                              4. 4. Generating Partner Profile (BD82): This process generates a partner profile for each system with which your system communicates. Outbound records are created in the partner profile for each outgoing message, and inbound records are created for each incoming message.

                                                                                                              Note: If one distributes Data Model before generating partner profile then one has to redefine partner profile in other system also (repeat step in both system). In this document we are generating partner profile after Distribution of data model so as to demonstrate how to maintain inbound and outbound message types in WE20.

                                                                                                              1. 5.Maintaining Message Types (WE20): This process is optional. Generally while generating partner profiles we automatically get the respective Outbound and Inbound messages, which can be checked in T-Code WE20. If the message types are not defined then one can manually do it by following this process.

                                                                                                               

                                                                                                               

                                                                                                              Step 1: Define Logical System in R/3.

                                                                                                              1. Log into R/3 and then go to transaction SALE. Here under IDoc Interface / Application Link Enabling (ALE)    Basic Settings    Logical Systems    Define logical system. Here one can define the source systems one wants to connect. Make entries for both R/3 and BW system.


                                                                                                              T-Code: SALE



                                                                                                              1.jpg

                                                                                                               

                                                                                                              Defining the Logical Systems


                                                                                                              2.jpg

                                                                                                              Repeat the same steps in BW


                                                                                                              Create ALEREMOTE User in both the clients with following profiles

                                                                                                              The ALEREMOTE user needs the following authorization profiles:

                                                                                                              * In the Business Information Warehouse:

                                                                                                              S_BI-WHM_RFC (Business Information Warehouse: RFC users in the Warehouse)

                                                                                                              * In the source system:

                                                                                                              S_BI-WX_RFC (Business Information Warehouse: RFC users in extraction)

                                                                                                              Define the RFC connections in SM59.Test the connections on the same..make sure you are connecting as the background user you created.

                                                                                                              General checks in trouble shooting...
                                                                                                              check table RSBASIDOC in SE16...on both the sides (R/3 and BW)
                                                                                                              to mirror each other..and the entries are active in both the sides.

                                                                                                              Step 3: Setting Up an RFC Destination.

                                                                                                              create an RFC destination on the local system for each remote SAP system with which you want to communicate. In the RFC destination, you specify all the information necessary to log on to the remote system to execute functions remotely, including the host name, the user ID, the password, the client, the system number, and additional communication settings.

                                                                                                              So after creating a new entry of type ABAP Connection (The ALE process uses type R/ 3 connections to communicate with a remote SAP system, and the EDI process uses type TCP/IP connections to communicate with the EDI subsystem), one is expected to fill in details in Technical tab. Fill the Target Host Id (this should be same as defined in SALE) and give System No. and IP Address of the target system or the Alias for the system as shown below:


                                                                                                              3.png


                                                                                                              4.png

                                                                                                               

                                                                                                              5.png

                                                                                                               

                                                                                                              Please repeat the same step in BI also but select source system as R/3 in SM59.



                                                                                                              Step 4: Distributing Data Model:

                                                                                                              You begin by clicking the Create Model View button on the main screen of transaction BD64.


                                                                                                              6.png


                                                                                                              7.png


                                                                                                              Then add Message type


                                                                                                              8.png


                                                                                                              9.png


                                                                                                              11.png


                                                                                                              Having created the Distribution model, let’s distribute this model. This process will replicate a similar setting in BW side automatically.

                                                                                                              Please note that Distribution of data model is not needed to be repeated in BW side as this step automatically replicates settings in BW.


                                                                                                              1. Go to Edit   Model View   Distribute.

                                                                                                              12.png13.png

                                                                                                               

                                                                                                              14.png

                                                                                                               

                                                                                                              Next, one is taken to following screen where one can define the partner system id and the user that communicates.


                                                                                                              15.png


                                                                                                              After this Execute and wait for the system messages which inform whether partner profile was successfully created or not.


                                                                                                              16.png


                                                                                                              Hence the partner profile was successfully generated…

                                                                                                               

                                                                                                              Now logon on to the BW system and go to T-Code BD64 and test the partner profile settings, whether they are correctly transmitted or not. We can execute it here (in BW) also and get our settings tested.

                                                                                                               

                                                                                                              Step 6: Maintaining Message types in T-Code WE20:


                                                                                                              17.png

                                                                                                                Again we need to follow this activity both in BW and R/3. When in R/3 systems WE20, then click on BW system id, and check whether Outbound and Inbound parameters are correctly filled if not then fill it manually as below


                                                                                                              18.png


                                                                                                              Depending on your client settings one can define different message types for eg:


                                                                                                              19.png


                                                                                                              Now test once again for Partner profile setting and we are ready to have data transfer between BW and R/3 (this can be done directly using T-Code BD82).


                                                                                                              20.png


                                                                                                              Now go to RSA1 in BI System


                                                                                                              21.png


                                                                                                              22.png

                                                                                                              23.png


                                                                                                              1. Click On Replicate As Well -à here BI will fetch the data from R3 and it takes 10 to 15 min time.


                                                                                                              Implementing dynamic check for locks on InfoObject/DSO/InfoCube in SAP BW / BI Process Chain

                                                                                                              $
                                                                                                              0
                                                                                                              0

                                                                                                              Purpose:

                                                                                                               

                                                                                                              Thisdocumentexplains, "Howtoimplementdynamiccheck for locksonInfoObject/DSO/InfoCubein Process Chain".

                                                                                                               

                                                                                                              Scenario:

                                                                                                               

                                                                                                              Two process chains has Loading step for same InfoObject/DSO/InfoCube. Process Chain-1 runs data load to InfoObject/DSO/InfoCube and Process Chain-2 runs Attribute Change Run/Activates/Delete Index for the same object.


                                                                                                              In this document we have taken example on conflict between Data loading and Activation on the DSO. But this will also be applicable for InfoObject & InfoCube.


                                                                                                              Solution:

                                                                                                               

                                                                                                              1. Create Implementation for the standard BAdi RSAR_CONNECTOR.

                                                                                                               

                                                                                                              • Go to t-code SE19 -> Create Implementation -> Classic BAdi. Give BAdi name as "RSAR_CONNECTOR" and click on "Create Impl" button.

                                                                                                                 Implementation.png

                                                                                                              • Provide name of Implementation as “ZCHECK_DSO” and click "OK".

                                                                                                              name of Implementation.png

                                                                                                              • This will take you to the definition of the implementation. Provide suitable description to the Implementation.

                                                                                                              Desc of Implementation.png

                                                                                                               

                                                                                                              • Press the activate button on the toolbar -> provide the package name and then click on continue button to activate the new implementation and its underlying objects.

                                                                                                                  

                                                                                                              iCON.pngRemember the name of the implementing class from the previous screenshot (ZCL_IM_CHECK_DSO), which we need to use later for adding our new custom methods.

                                                                                                               

                                                                                                              2. Create custom methods i.e. custom formula

                                                                                                               

                                                                                                              • Go to change mode of the class ZCL_IM_CHECK_DSO from transaction SE24.

                                                                                                              class ZCL_IM_CHECK_DSO.png             

                                                                                                              • In the "Methods" tab you can implement as many custom methods as you wish. As like below screenshot, 1 custom method C_DSO_CHECK needs to be created with the same settings.

                                                                                                              Methods ZCL_IM_CHECK_DSO.png

                                                                                                              • C_DSO_CHECK is given as technical name to method. Choose Level as 'Static Method', Visibility as 'Public' and give suitable Description.
                                                                                                              • Once your method has a name and attributes, proceed to defining its parameters by pressing the ‘Parameters’ button.
                                                                                                              • Maintain Importing and Exporting Parameter as shown below. Remember that, you can have importing, exporting or returning parameter, no changing parameter allowed. Most important thing is, you can have only one Exporting parameter.

                                                                                                                Parameters C_DSO_CHECK.png

                                                                                                              • Once after maintaining Parameters, click on 'Methods'.
                                                                                                              • Double-click on the Method name (C_DSO_CHECK) to view method code.
                                                                                                              • Paste the below code.

                                                                                                              method C_DSO_CHECK.

                                                                                                              DATA L_OBJNAME TYPE SEQG3-GARG.
                                                                                                              DATA L_SUBRC LIKE SY-SUBRC.
                                                                                                              DATA T_ENQ TYPETABLEOF SEQG3.
                                                                                                               
                                                                                                              CLEAR: L_OBJNAME, L_SUBRC, T_ENQ.
                                                                                                              CONCATENATE '*' I_OBJNAME '*' INTO L_OBJNAME.

                                                                                                              CALL FUNCTION'ENQUEUE_READ'
                                                                                                              EXPORTING
                                                                                                                   GCLIENT = SY-MANDT
                                                                                                                   * GNAME = ' '
                                                                                                                   GARG = L_OBJNAME
                                                                                                                   GUNAME = '*'
                                                                                                                   * LOCAL = ' '
                                                                                                                   * FAST = ' '
                                                                                                              IMPORTING
                                                                                                                   NUMBER = E_FLAG
                                                                                                                   SUBRC = L_SUBRC
                                                                                                              TABLES
                                                                                                                   ENQ = T_ENQ
                                                                                                              EXCEPTIONS
                                                                                                                   COMMUNICATION_FAILURE = 1     SYSTEM_FAILURE = 2     OTHERS = 3.

                                                                                                              IF L_SUBRC <> 0.
                                                                                                                   MESSAGEID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                                                                                                                   WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
                                                                                                              ENDIF.

                                                                                                              endmethod.

                                                                                                              • Activate the method by clicking on the activate button from the toolbar.

                                                                                                              Activate.png

                                                                                                              • Now go back and double click on the method “IF_EX_RSAR_CONNECTOR~GET” and paste the below code.

                                                                                                              method IF_EX_RSAR_CONNECTOR~GET.DATA: L_FUNCTION TYPE SFBEOPRND.  CASE I_KEY.WHEN'CUSTOM'.
                                                                                                                   CLEAR: L_FUNCTION.
                                                                                                                   L_FUNCTION-CLASS = 'ZCL_IM_CHECK_DSO'
                                                                                                              .
                                                                                                                   L_FUNCTION-METHOD = 'C_DSO_CHECK'.
                                                                                                                   L_FUNCTION-TECH_NAME = 'C_DSO_CHECK'.
                                                                                                                   L_FUNCTION-DESCRIPTN = 'CHECK DSO LOCK'.
                                                                                                                   APPEND L_FUNCTION TO C_OPERANDS.
                                                                                                              ENDCASE.

                                                                                                              endmethod.

                                                                                                              • Activate the method by clicking on the activate button from the toolbar.

                                                                                                              Activate.png3. Add DECISION STEP in Process Chain before DSO activation

                                                                                                              • Go to RSPC Tcode, choose the Process chain and add Decision step as below.

                                                                                                              1.jpg

                                                                                                              • Write Formula IS ZBWXXXXLocked as below.

                                                                                                              2.jpg

                                                                                                              • In the above formula, the function C_DSO_CHECK has to be chosen as below from the category "CUSTOM User-Defined Functions".

                                                                                                              cce.JPG

                                                                                                              • Similarly write the Formula ISZBWXXXX NOT Lock as below.

                                                                                                              4.jpg

                                                                                                              • Activation of DSO can be delayed using the "Debug Loop" option if the DSO is locked else DSO can be immediately activated as like below.

                                                                                                              5.jpg

                                                                                                              Viewing all 1574 articles
                                                                                                              Browse latest View live




                                                                                                              Latest Images