Tuesday, February 2, 2016

1880723 - RW: Improve performance for HANA II

Symptom
You are using a HANA database either as Suite on HANA or in a Side-by-Side scenario.
The performance of Report Painter/Writer reports shows no noticeable improvement, even after applying note 1859825.


Other Terms
REPORTWRITER, HANA, SGRW_PERFORMANCE, T804E-GEN_SQL


Reason and Prerequisites
The customizing setting that dictates the type of selection made from the database (field T804E-GEN_SQL) delivered is not necessarily the best setting for the selection from a HANA database.
Since making the coding changes of note 1859825, experience has shown that the best setting for HANA is not always selection type 1 (with projection but without aggregation), which was the assumption made for the corrections in note 1859825.


Solution
To enable a more flexible approach to the customizing of the field T804E-GEN_SQL, the attached coding corrections enable the use of the table T811FLAGS to customise the field T804E-GEN_SQL to decide, depending on the replicated database table and/or report group, which type of selection ('1' or '2') is to be used for Report Painter reports.
For details as to how the customising can be done, please refer to the attached manual post-implementation activity.
Apply the attached correction instruction or implement the appropriate Support Package for your Release and carry the manual post-implementation activities as outlined in the attached instruction.





------------------------------------------------------------------------
|Manual Post-Implement.                                                |
------------------------------------------------------------------------
|VALID FOR                                                             |
|Software Component   SAP_APPL                      SAP Application   |
| Release 600          SAPKH60001 - SAPKH60023                         |
| Release 602          Until SAPKH60213                                |
| Release 603          Until SAPKH60312                                |
| Release 604          SAPKH60401 - SAPKH60413                         |
| Release 605          Until SAPKH60510                                |
| Release 606          SAPKH60601 - SAPKH60608                         |
| Release 616          Until SAPKH61603                                |
------------------------------------------------------------------------

After applying the coding corrections, you need to carry out the following activities:
    1. Customise the T804E-GEN_SQL setting using table T811FLAGS
              In the standard customising of Report Writer the totals tables have the 'Type of Selection' for the database selection (field T804E-GEN_SQL) set to '2' (Projection with Aggregation).
              However for some Report Writer reporting tables (e.g. GLPCT), the 'Type of Selection' is set to '1'.
              Using a HANA database it has been observed that for some totals tables the selection using the standard setting '2' is not the most beneficial for performance and for other totals tables the setting '1' is not the most beneficial.
              The correction from note 1859825 that changes the T804E-GEN_SQL during the generation for all totals tables from '2' to '1' is therfore not a complete solution. Whereas the performance of Co reports using the database tables COSP and COSS could be improved by changing the type of selection from '2' to '1', the performance of Profit Center reports based on the table GLPCT using the type of selection '1' is not better from a HANA database and changing the type of selection to '2' then brought about an improvement.
              This makes it necessary to provide a way for you to decide which type of selection should be used according to the database totals tables used for the reporting table.
              Example 1: For the reporting table CCSS the totals tables COSP and COSS are delivered with the Type of Selection '2' (field T804E-GEN_SQL). If you execute the report to select froma HANA database and you find the performance is not improved, then you can use the table T811FLAGS to customise the T804E-GEN_SQL setting on the fly during the generation of the report groups for reporting table CCSS.
              Example 2: For the reporting table GLPCT the totals table GLPCT is delivered with field T804E-GEN_SQL set to '1'. If you execute a report to select from the HANA database of this reporting table and the performance is not better than on a system not using HANA, then again you can use the table T811FLAGS to customise the field T804E-GEN_SQL on the fly during the generation of the report.
              To do this carry out the following:
    a) Call transaction SE16, enter the table T811FLAGS and hit 'Enter'.
    b) Hit F8 to execute.
    c) Click on the icon 'Create' (F5) and in the field 'TAB' enter the database table for which you want to use a different T804E-GEN_SQL entry for (e.g COSP).
    d) In the field 'FIELD' enter GEN_SQL (enter exactly this in block letters)
    e) In the field 'VALMIN' enter the new Type of Selection' (in this case '1').
    f) Save this entry.
    g) Repeat steps 3 to 6 for any other database tables that you want to improve the performance for.
                       For example: for CO reports create also an entry for 'TAB' = COSP, 'FIELD' = 'GEN_SQL' and 'VALMIN' = '1'. For PCA reports create an entry for 'TAB' = GLPCT, 'FIELD' = 'GEN_SQL' and 'VALMIN' = '2'.
              You also have the possibility of creating an entry for a specific report group. This can be used to test the performance. Assign a report to two different report groups. Now you can customise the GEN_SQL for one of these report groups. This way you can use the original GEN_SQL setting for one report group and the customised GEN_SQL setting for the other report group. The difference in runtime for the two report groups will indicate which is the better setting to use.
              You can customise this setting in T811FLAGS as follows:
    a) Call SE16, enter T811FLAGS and hit 'Enter'.
    b) Hit 'Execute'
    c) Click on the icon 'Create' and in the field 'TAB' enter 'RGJNR' (enter exactly this in block letters).
    d) In the field 'FIELD' enter the 4 character name of the report group for which you want to use a different GEN_SQL setting.
    e) In the field 'VALMIN' enter the new GEN_SQL value.
                       If the T804E-GEN_SQL setting for the totals table of this reporting table is '2', then enter '1'.
                       The different setting will only be used for this specific report group. This way you can test the effect of the different setting without affecting all reports.
             
    2. Regenerate the report groups for the tables customised using T811FLAGS
              The customising settings in table T811FLAGS only take effect after the report groups have been regenerated. If you have entered database tables for which the GEN_SQL setting is to be changed, then you need to regenerate all report groups for the corresponding reporting table. If you have entered a report group for which the GEN_SQL setting is to be changed then you need to regenerate only this specfic report group.
    a) Call transaction GR55, and from the menu call 'Utilities' -> 'Mass generator'
  • To regenerate all report groups for a reporting table, enter the appropriate table in the field 'Table' (e.g. CCSS for CO reports selecting from DB tables COSP and COSS).
  • To regenerate just one report group, enter the name of the report group in field 'Report Group'.
    b) When regenerating all report groups for a table then it is wise to do this in the backgroud by choosing from the menu 'Program' -> 'Execute in Background', otherwise tick the box 'Generate w/o selection list' and hit 'Execute'.
After this the reports you execute for the customised tables and/or report groups will be executed withthe customised 'Type of Selection' (field T804E-GEN_SQL) you entered in table T811FLAGS and you can see by the runtime in the selection log whether the performance has been improved by this.



------------------------------------------------------------------------
|Manual Post-Implement.                                                |
------------------------------------------------------------------------
|VALID FOR                                                             |
|Software Component   SAP_FIN                                          |
| Release 617          Until SAPK-61701INSAPFIN                        |
------------------------------------------------------------------------

After applying the coding corrections, you need to carry out the following activities:
    1. Customise the T804E-GEN_SQL setting using table T811FLAGS
              In the standard customising of Report Writer the totals tables have the 'Type of Selection' for the database selection (field T804E-GEN_SQL) set to '2' (Projection with Aggregation).
              However for some Report Writer reporting tables (e.g. GLPCT), the 'Type of Selection' is set to '1'.
              Using a HANA database it has been observed that for some totals tables the selection using the standard setting '2' is not the most beneficial for performance and for other totals tables the setting '1' is not the most beneficial.
              The correction from note 1859825 that changes the T804E-GEN_SQL during the generation for all totals tables from '2' to '1' is therfore not a complete solution. Whereas the performance of Co reports using the database tables COSP and COSS could be improved by changing the type of selection from '2' to '1', the performance of Profit Center reports based on the table GLPCT using the type of selection '1' is not better from a HANA database and changing the type of selection to '2' then brought about an improvement.
              This makes it necessary to provide a way for you to decide which type of selection should be used according to the database totals tables used for the reporting table.
              Example 1: For the reporting table CCSS the totals tables COSP and COSS are delivered with the Type of Selection '2' (field T804E-GEN_SQL). If you execute the report to select froma HANA database and you find the performance is not improved, then you can use the table T811FLAGS to customise the T804E-GEN_SQL setting on the fly during the generation of the report groups for reporting table CCSS.
              Example 2: For the reporting table GLPCT the totals table GLPCT is delivered with field T804E-GEN_SQL set to '1'. If you execute a report to select from the HANA database of this reporting table and the performance is not better than on a system not using HANA, then again you can use the table T811FLAGS to customise the field T804E-GEN_SQL on the fly during the generation of the report.
              To do this carry out the following:
    a) Call transaction SE16, enter the table T811FLAGS and hit 'Enter'.
    b) Hit F8 to execute.
    c) Click on the icon 'Create' (F5) and in the field 'TAB' enter the database table for which you want to use a different T804E-GEN_SQL entry for (e.g COSP).
    d) In the field 'FIELD' enter GEN_SQL (enter exactly this in block letters)
    e) In the field 'VALMIN' enter the new Type of Selection' (in this case '1').
    f) Save this entry.
    g) Repeat steps 3 to 6 for any other database tables that you want to improve the performance for.
                       For example: for CO reports create also an entry for 'TAB' = COSP, 'FIELD' = 'GEN_SQL' and 'VALMIN' = '1'. For PCA reports create an entry for 'TAB' = GLPCT, 'FIELD' = 'GEN_SQL' and 'VALMIN' = '2'.
              You also have the possibility of creating an entry for a specific report group. This can be used to test the performance. Assign a report to two different report groups. Now you can customise the GEN_SQL for one of these report groups. This way you can use the original GEN_SQL setting for one report group and the customised GEN_SQL setting for the other report group. The difference in runtime for the two report groups will indicate which is the better setting to use.
              You can customise this setting in T811FLAGS as follows:
    a) Call SE16, enter T811FLAGS and hit 'Enter'.
    b) Hit 'Execute'
    c) Click on the icon 'Create' and in the field 'TAB' enter 'RGJNR' (enter exactly this in block letters).
    d) In the field 'FIELD' enter the 4 character name of the report group for which you want to use a different GEN_SQL setting.
    e) In the field 'VALMIN' enter the new GEN_SQL value.
                       If the T804E-GEN_SQL setting for the totals table of this reporting table is '2', then enter '1'.
                       The different setting will only be used for this specific report group. This way you can test the effect of the different setting without affecting all reports.
             
    2. Regenerate the report groups for the tables customised using T811FLAGS
              The customising settings in table T811FLAGS only take effect after the report groups have been regenerated. If you have entered database tablesfor which the GEN_SQL setting is to be changed, then you need to regenerate all report groups for the corresponding reporting table. If you have entered a report group for which the GEN_SQL setting is to be changed then you need to regenerate only this specfic report group.
    a) Call transaction GR55, and from the menu call 'Utilities' -> 'Mass generator'
  • To regenerate all report groups for a reporting table, enter the appropriate table in the field 'Table' (e.g. CCSS for CO reports selecting from DB tables COSP and COSS).
  • To regenerate just one report group, enter the name of the report group in field 'Report Group'.
    b) When regenerating all report groups for a table then it is wise to do this in the backgroud by choosing from the menu 'Program' -> 'Execute inBackground', otherwise tick the box 'Generate w/o selection list' and hit 'Execute'.
After this the reports you execute for the customised tables and/or report groups will be executed withthe customised 'Type of Selection' (field T804E-GEN_SQL) you entered in table T811FLAGS and you can see by the runtime in the selection log whether the performance has been improved by this.



Header Data

Released On 02.07.2013 16:39:06
Release Status Released for Customer
Component FI-SL-IS-A Report Writer / Report Painter
Priority Correction with medium priority
Category Program error

No comments:

Post a Comment