Showing posts with label BW on HANA. Show all posts
Showing posts with label BW on HANA. Show all posts

Tuesday, October 31, 2023

BWonHANA: SAP HANA-Optimized DataStore Object

In BWonHANA BW systems there was a new object introduced. It was SAP HANA-Optimized DataStore Object. I mentioned it in my blog post related to BWonHANA - Benefits of #BWonHANA. It was a type of DSO object that was optimized for HANA DB. This objects do not have any data in its change log table stored persistently. The change log table is calculated on the fly via HANA’s calculation view. Data is read from the history table for the temporal table of active data in the SAP HANA database. The tables around the optimized DSO comprises of a history table main table and delta table. The object contains additional field IMO__INT_KEY in the active data table. The field is pure technical and it is not visible in reporting.

While migration of the BW system to HANA DB the DSO is needed to be migrated to optimized one. It can be done via t-code RSMIGRHANADB.

As of BW 7.3 SPS09 this type of DSO became obsolete. Conversion to SAP HANA-optimized DSO is performed automatically for all standard DataStore objects. Conversion of the DSO objects to the SAP HANA-optimized objects is thus obsolete. It is possible to use the SAP HANA-optimized DataStore objects, but SAP recommends to reconverting them back to original DSOs. That can be done via report RSDRI_RECONVERT_DATASTORE.


Thursday, March 31, 2022

BW on HANA - tables consistency check program

In SAP BW systems based on HANA DB there is a program to check a consistency of table properties with respect to BW application. The consistency check is often performed in cases of system migration (e.g. OS, hardware), system copies, restores. The program name is RSDU_TABLE_CONSISTENCY.


The program reads all tables residing in HANA DB and identifies those, which are BW relevant considering the program’s consistency check scenarios. So-called consistency check scenarios are present on the program’s selection screen. Inconsistency is found in case expected table property is not matching the reality. The program supports also repair mode along the detecting an issues.

Program RSDU_TABLE_CONSISTENCY is obsolete in BW/4 based systems as a part of simplification effort. The code of the program is not present. It can run but a message “Report not supported anymore. Please see SAP Note 2668225 (msg no: RSHDB 111)” is shown instead of the program execution. As the main object that carry the BW data persistency is in BW/4 an aDSO object the checks of the aDSO objects are now available in t-code RSOADSODTO.  

 

More information:

2569097 - How to use of report RSDU_TABLE_CONSISTENCY [VIDEO]

2668225 - Report RSDU_TABLE_CONSISTENCY is deprecated with SAP BW/4HANA

1937062 - Usage of RSDU_TABLE_CONSISTENCY - PDF doc


Wednesday, October 6, 2021

Storage data target type in BW Request Management

There are many new storage data types introduced in BW on HANA and even more in BW/4HANA based systems.

In the BW on HANA these are the storage data types that basically corresponds to standard DSO tables:

AQ      Activation Queue

CL      Change Log

AT      Active Table

AR      Archive

 

In the BW/4HANA many new were added:

AQ        Activation Queue or Inbound Table for DataStore                      /BIC/A<aDSO_tech_name>1

AX        Inbound Table (of Cold Storage)

AT        Active Table for DataStore                                                        /BIC/A<aDSO_tech_name>2

CL        Change Log for DataStore                                                         /BIC/A<aDSO_tech_name>3

RP        Reference Point Table

VT        Validity Table

AQAT    Inbound Table for Master Data Attributes

ATAT    Active Data Table for Master Data Attributes

CLAT    Change Log Table for Master Data Attributes

AQTE    Inbound Table for Master Data Texts

ATTE    Active Data Table for Master Data Texts

CLTE    Change Log Table for Master Data Texts

ATXA    Active Data Table for Master Data XXL Attributes

AQHI    Inbound Table for Hierarchies

ATHI     Active Data Table for Hierarchies

INCL     Active Data Table for SID Structure of Hierarchies

VR        View for Reporting for DataStore                                               /BIC/A<aDSO_tech_name>7

VE        View for Extraction from DataStore                                           /BIC/A<aDSO_tech_name>6

VX        View for external Access for DataStore                                      /BIC/A<aDSO_tech_name>8

 

                                            

Technically the data dictionary domain called RSPM_DTA_STORAGE holds these values.

Thursday, September 22, 2016

Pushing DTP execution to HANA DB

After migration to HANA DB one can observe a new setting on DTP screen. To be precise it is on header part of the DTP and it is called “SAP HANA execution” What it means is that in case it is checked then the DTP is executed directly in HANA DB. If it is NOT checked then the DTP is executed on ABAP AS and not directly in HANA DB. That means that the execution is not pushed to DB and there is no potential performance gains. So it simple runs like in BW on any other DB.



Naturally there are some conditions that must be met to enable this. Transformation associated with the DTP must not have any with ABAP routines because these can’t be executed by HANA but just by ABAP AS. Therefore if you have any ABAP routines that jus manipulates with the result of field like below one:

RESULT = SOURCE_FIELDS-/BIC/S_SJDRF5J+3.

Just replace it with Rule Type Formula like:

SHIFT_LEFT( 3, /BIC/S_SJDRF5J )

Now imagine we got rid of all ABAP routines in the transformation and we would like to enable the “SAP HANA execution” flag. However attempt to do so gets us an error messages like:

HANA Execution: "No extraction using API" not supported
HANA Execution: Error handling not supported

To solve 1st error we need to enable another flag on the DTP. It is located at Extraction tab of the DTP and it is called “No Extraction Using API” (TREX_EXT_AGGREGATE). What it means is that even the DTP execution can be pushed to HANA it would be a case and it still will be executed at ABAP AS level. Obliviously we would like to push the DTP to HANA. So in case we switch to EDIT mode of the DTP and we attempt to thick off the settings. 


The second error message is related to error handling. This setting is available on Update tab of the DTP. And we need to set it to position “Cancel request, Do not Track records, No update”.
Once we hit “Check availability” button located next to first flag “SAP HANA Execution” (see 1st picture above) then finally the DTP will be executed by HANA as we got info message “DTP compatible with 'SAP HANA Execution'. You may notice I briefly touched this topic at my other post called “Changes in BW system after HANA migration”.




Wednesday, June 8, 2016

Changes in BW system after HANA migration

This is just yet another blog about BWonHANA (BoH). In particular it is about changes in the BW system that was brought to HANA DB offers. Basically I go through things that are visible once the BW system is migrated to HANA DB.

Let’s go via t-code RSA1’s left pane sections:


Modeling -> “SAP HANA Analysis Process” there is a new section called or HAP. The HAP enables to run SAP HANA native functions (e.g. AFL functions like PAL or L or R scripts or SQL procedure) directly on BW’s InfoProvider. The data can be processed as data set as opposite to classic BW transformation. Each HAP process has source (it can be most of most BW InfoProviders) then function and finally target (Analytic index, DSO, DB tab, or another HAP process).


Modeling -> InfoProvider -> new objects: Open DSO views and Composite Providers. Within this part of the RSA1 -> Modeling -> InfoProvider section there is a possibility to create and maintain these new objects:



Modeling -> InfoProvider -> cubes: Star scheme of classic BW’s infocubes was reorganized to just 2 tables: fact and 1 dimension table. There is only package dimension which has its own dimension table available. The SIDs of all other characteristics are stored directly in the fact table.

Moreover following are HANA related things that can be spotted in infocube’s settings screen:

External SAP HANA view: flag that tells an external SAP HANA view is generated for the infocube. The external HANA view can be used by native HANA apps as interface to BW models and data.

Auditable: if this flag is set then an audit dimension is added into the cube. Later it can be used to cover audit reporting to e.g. see who and when did a change into planning data in case of planning cube.


Also there are few less tabs on Manage screen of infocube (Performance and Rollup tabs are gone):


Before HANA:

BW on HANA:

Also in case cube is converted to HANA-Optimized cube there is a new icon indicating it on right side of the cube:

Modeling -> InfoProvider -> DSO: here is new flag call “External SAP HANA View”. See below on IO part for details of this flag.














All DSOs that are not HANA optimized (no X flag in RSDODSO-IMOFL) are having a little square icon next to the icon of the DSO. This is similar way of “marking” obsolete objects as it was in BW 7.x while marking 3.x related objects like DS, IS, etc…

Modeling -> PC: There are few new processes related to Hana within process chain’s processes. Especially when it comes to Execution of the HAP processes.

Modeling -> TRFN: in the menu Extras of Transformation maintenance screen there is a possibility to display generated HANA transformation similarly as it is possible to display generated ABAP program.









Modeling -> DTP: On the DTP maintenance screen here are following new things. First there is a checkbox which indicates whether the DTP shall be executed in HANA. In this case all data is processed directly by the database no ABAP app server is involved. This mode of execution is called SAP HANA Processing mode.

In addition to the checkbox there is a button called “Check Availability”. This button helps to determine whether the DTP can be pushed to the HANA DB for execution. There are few prerequisites that must be met in order to have the possibility to execute the DTP in HANA. See here for details on these prerequisites.










Modeling -> InfoObjects: Here at IO maintenance screen there is couple of new things as well. First there are field SAP HANA Package and SAP HANA View. These serve as source of data for the IO (e.g. MD). By this the data from the IO will be taken from SAP HAN View specified here. The Package field says where in which HANA package the view is stored.

Moreover there are also following checkboxes. They are following ones: “External SAP HANA View for MD” and “External SAP HANA View for MD InfoProvider”. These two basically serves for purposes of generating SAP HANA Views for InfoObjects. Having the view generated enables consumption of BW data in the HANA. This supports so called mixed scenarios when BW data and HANA data is merged together in HANA with HANA tools. See more details about the flags here. Of course there are some restrictions. For details on the restrictions see here.














Administration: Also here some new objects and features can be spotted.

On general Admin view there is an External SAP HANA View part. It can be used to view the Views.

On Monitors view there is a monitor screen available for the HAP processes. It servers for monitoring of the HAP runs.

On Current Setting part a settings related to External SAP HANA Views.




















Transport Connection obviously also here few new objects were added in order to support operations with them. See below comparison between how the Transport Connection screens look like in BW 74 system on any DB and on HANA DB.


























That’s all for now! As a disclaimer I need to say that there might be many more ways how to observe the new exciting things that are coming to BW system while running on HANA DB.

Sunday, March 13, 2016

External SAP HANA view for BW object

As mentioned in my previous post there is a possibility to generate external SAP HANA view for BEx Query. There are also other BW objects which the external SAP HANA view can be generated for. In case a particular BW object has flag enabled than the HANA once it is accessing the BW objects is using this view. This means that whole data access is faster as no BW runtime is used but an external SAP HANA view is used instead.

Basically following are BW object types for which it is possible to use external HANA views:

·         BEx Query, flag is visible at BEx Query Designer->Query Properties->Extended

·         InfoObject, flag is visible at RSA1->Modelling->IO maintenance screen->tab Master Data/Texts

·         InfoProvider (e.g. (a)DSO/Cube/CompositeProvider), flag is visible at RSA1->Modelling->InfoProvider properties at Settings section


However there are many limitations as of now. Always check documentation or documentation  for this feature. The flag is stored in following physical database tables:

RSDDBOBJPROP-HANA_VIEW – in case of InfoCube or InfoObject
RSDCHA or RSDCHABAS field HANAMODELFL in case of InfoObject
RSDCUBE-HANAMODELFL - in case of cube
RSOADSO or RSDODSO field HANA_VIEW – in case of DSO
RSLTIP-HANA_VIEW - in case of Transient Provider
RSOHCPR-HANAMODELFL - in case of HANA CompositeProvider
RSQISET- HANAMODELFL in case of InfoSet
RSPLS_ALVL-HANAMODELFL - in case of Aggregation Level
RSZELTPROP-HANAMODELFL – in case of BEx Query


As the external view is stored in the HANA DB it needs to be able customize in which HANA’s content package the views are stored. The customizing of the HANA content package is available in tcode RS2HANA_VIEW (ABAP program RS2HANA_VIEW_SETTINGS). It is stored under identificator called RS2HANA_PACKAGE and its default value is 'system-local.bw.bw2hana' in the table RS2HANA_VIEW_SET.

Among the content package also other thigs relevant to external view can be customized. It is basically how the HANA privileges are assigned to the HANA user. In case the HANA privileges are assigned to BW’s roles then field RS2HANA_ASSIGN_TYPE has value R in the same table. In addition it can be specified whether the HANA privileges are directly assigned to the SAP HANA user then field RS2HANA_DBMS_USER_MAPPING has value D.


More information:

Wednesday, December 17, 2014

Tools for migrating BW to HANA (BoH)

SAP NetWeaver Business Warehouse powered by SAP HANA or BW on HANA (BoH) is around for some time already. It was introduced in 2nd quarter of 2012 and meanwhile it got a lot of attention. Basically BW is usual choice when companies are trying to evaluate HANA. It is natural that first they just migrate to HANA as database and after some time they start to implement new project using new BW objects leveraging HANA functionalities. Or starting of re-implementing current BW data models to use HANA can happen. Anyway BW is getting a lot of attention as first system to be migrated to HANA.


It may be very tricky for people who are new to HANA even start with basic evaluation of what does it mean to migrate to HANA. To support tasks like this SAP is providing a few tools. In further text I try to list the tools and provide basics information about them.












Tools are embraced by central tool called – BW Migration Cockpit for SAP HANA. From the cockpit other tools for migrating BW systems to HANA are accessible.


Thursday, April 3, 2014

Benefits of #BWonHANA

This blog is originally posted on SCN:

There are many materials out there on SCN discussing the benefit of having BW running on HANA as database. There is even its own space dedicated to SAP NetWeaver BW Powered by SAP HANA. In this post I'd like to take a look on these benefits from pure BW point of view. My motivation is to have arguments for my clients while considering migration of their BW systems to HANA database. Assumption here is that no other change/optimization is done while migrating from current DB to HANA DB.
I hope I captured those topics discussed below right. However my knowledge of HANA / “BW on HANA” is just theoretical at this time. Therefore I appreciate your comments and/or correction to my findings.

1. New in-memory DB
Once you migrate your BW from the current DB to HANA DB you get basically new in-memory DB and all its features right away. This means that without any reimplementation of your existing data flows you can use power of in-memory HANA engine.
As HANA is in-memory DB any aggregates, indices and other materialized views on data are not needed anymore in BW system in most cases.  Means administration and maintenance of whole BW system is easier.
HANA tears down very consuming DB operations like data loading, DSO activation by its in-memory nature. I/O operations are faster as it is in-memory DB. Similarly no rollups on cubes after cube is loaded are needed. Also no Attribute Change Runs (ACR) while master data were changed are not necessary.

2. Data Flows/Transformations
There is no need to migrate your BW 3.x style data flows to 7.x style to run the BW system on HANA DB. Notice that 7.x data flow is mandatory for HANA-optimized InfoProviders only. Regarding existing transformations their certain parts of standard data loading process in BW is accelerated by HANA. Especially in BW 7.4 runs a standard transformation differently than it does in older releases of BW. System pushes down the transformation processing to HANA database. However this is only valid for transformations where no custom ABAP routines are used.

3. InfoProviders
By running BW on HANA you get following InfoProvider types. These are not new types of InfoProvs but they are optimized to be used on HANA.

HANA optimized DSO - notice that even this is new term “HANA optimized DSO” it already became obsolete. Earlier the DSO could have been converted into this type of DSO after migration to HANA. This is not the case anymore. As of NetWeaver BW 7.30 Support Package 10 HANA-optimized activation is supported for all Standard DataStore Objects by default. So no conversion needed to Standard DSOs.

With respect to different Support Pack there are following architectures of DSO:
  1. As of BW 7.30 SP05-09: Change Log of DSO is provided by HANA’s Calculation view. This means there is no persistency of data. This speeds up data activation and SID creation.
  2. As of BW 7.30 SP10: There is database table for Change log. By this we gain performance while loading the data from the DSO to further InfoProvs as less resource and memory consumption is achieved.
More information can be found here: DataStore Objects in SAP NetWeaver BW on SAP HANA

HANA optimized infocubes - Within classic BW infocubes there are 2 fact tables (F - normal one and E - compressed one) and several dimension tables as per cube setup. HANA optimized cubes are flat, there is no dimension tables and there is only one F table for facts. This means info cubes running on HANA gain faster data loads, their data model is simplified, remodeling is easier (e.g. while adding/removing new characteristics/key figure), no changes to cubes after migration to HANA.
Within BW on HANA cubes are become even less relevant from data storage perspective. In case there is no any business logic in place between DSO and cube layer there is no need to have cube layer. Report can run directly on top of the DSOs. Of course this needs to be approached by checking data flow one by one. If this is the case data model gets simplified. Be aware that there are still cases there cubes are needed. Just to name a few: usage of non-cumulative key figures in cube, external write access to cube, integrated planning.
More information can be found here: InfoProviders in SAP NetWeaver BW powered by SAP HANA

4. New InfoProviders as of BW 7.3
A bunch of new InfoProv types were introduced in BW version 7.3. Let’s see how they are supported while BW runs on HANA.

Semantic Partitioned Object (SPO) – SPO is used to store very large volumes of data as per partition defined based on business object. There are two cases depending weather SPO is based on DSO or on cube. In case of the cube it gets automatically HANA optimized. In case of DSO you may want to convert SPO to HANA optimized see note: 1685280 - SPO: Data conversion for SAP HANA-optimized partitions.

CompositeProvider – Enables combination of InfoProviders of type cube, DSO and Analytic Indexes (like BWA and Analysis Process Designer (ADP)) via UNION, INNER and LEFT OUTER JOIN. Such a scenario runs faster in BW on HANA as UNION/JOIN operations are executed in HANA and not on application server.

HybridProvider – Used for modeling for near real-time data access. It is combination of two InfoProv: one for historic data (e.g. cube) and other one for actual real time data (e.g. DSO loaded via Real Time Data Acquisition (RDA) type of DataSource). Here same rules apply as mentioned above for cube and DSO: in case of cube it is automatically HANA-optimized and in case of DSO it stays standard as it was before HANA migration.

VirtualProvider – either based on: Data Transfer Process (DTP), BAPIs or function module are used for e.g. reconciliation purposes of the data loaded in BW with a normal staging data flow and the source system. Such a VirtualProv runs in BW on HANA environment as well.
Other case within connection to VirtualProv can be with reference to HANA model. By this HANA model e.g. analytic or calculation view is exposed to BW’s InfoProv.

TransientProvider – As it has no any persistent BW metadata (nothing visible in BW’s Data Warehouse Workbench) there is nothing to be optimized by HANA. Actually TransientProv is used to consume a HANA model (Analytic or Calculation View) which is published into BW (transaction RSDD_HM_PUBLISH). So if you have some scenarios with TransientProv it should work in BW on HANA as well.

Analytic Index (AI) – Is data container in BWA stores the data in simply star schema format as facts and characteristics (dimensions) with attributes. The data for AI is prepared by Analysis Process Designer (APD).
Moreover while connecting of AI to TransientProvider: HANA model can be published in the BW as AI. TransientProvider is generated then on this AI. While having scenario where data is being changed very frequently; HANA model is changed also the AI is adjusted automatically.

Snapshot Index (SI) – If BEx query is marked as InfoProvider in BWA an index called Query Snapshot Index (QSI) is created. Such a SI for Query as InfoProv and SI for Virtual Prov are still supported in BW on HANA.

5. Process Chains
There are few process types that are obsolete in BW system running on HANA. These are Attribute Change Runs (ACR), aggregate roll-ups, cube roll-ups, cube’s index deletion/creation before/after the load. Existing chains having these processes will run without errors just those processes will not be executed. However clean-up is advised to be done after the migration to HANA.

6. Queries
BEx queries stay as they are and no change is needed. While query runtime HANA is leveraging column store and in-memory calculations as engine for query acceleration. The data is not replicated (e.g. in case of aggregate or BWA) – the query runs directly against primary data persistence.
Therefore queries should run at least as fast before HANA migration in BWA but better runtime is of course anticipated without any changes to queries itself.

7. Planning
When it comes to SAP BW’s planning application they traditionally run in BW’s application server. While HANA in place; planning functions are running in-memory. Therefore with no change on planning models, planning processes a performance boost is expected in BW on HANA in areas: dis/aggregation, copy, delete, set value, re-post operation, FOX formulas, conversions, revaluation etc.

8. Authorization
Authorization and all activities related to user access are managed by BW application. Therefore nothing has changes here while migration to HANA DB. All authorization concepts used before are being valid and used. Going forward if you will be using also purely HANA objects (e.g. HANA models: attribute/analytic/calculation views) these are managed by HANA privileges. They are less detailed comparing to BW authorization therefore if you need complex authorization you need to consume HAMA models via BW’s InfoProviders like Transient or Virtual one.
Notice that authorization must be already using BW 7.x technology prior DB migration to HANA.


Other sources of information on BW on HANA: