Monday, May 9, 2016

Historic versions of DTP

DTP or Data Transfer Process is basically used to load data between two BW’s InfoProviders. It carries an information like from the data is extracted from; where the data is supposed to be loaded to; setting on how the extraction and loading shall be executed, error handling etc. All these information can be adjusted for one DTP.  This leads to creation of many version of the DTP over its life time.

These versions are stored in table RSBKDTPH - DTP: Historic Versions. Normally when the DPT is shown in tcode RSA1 the latest version is shown. When former version of the DTP or called as Historic Versions in BW’s terminology shall be shown it can be used as well. Within the UI of the DTP within the RSA there is a screen called Version Management available.

However in this screen only meta-data of the DTP version is shown. No real picture of the DTP how it really looked at the time when now historic version was active one.

To showing historic version of the DTP how it really looked in the common DTP framework we need to use different tool. The tool is called tcode RSDTP. Below are screenshots of the same DTP displayed its different historic versions in the RSDTP. In this view it is clearly visible what was different in the two versions.

Sunday, May 1, 2016

Development package for obsolete standard BW’s DDIC Objects

Some time back I wrote about BW system Data Dictionary (DDIC) objects that are being locked for further changes. This means the changes are not foreseen to be done into these objects (stored in development package RS_DTEL_LOCKED). There is another interesting development package called BW_WHM_TO_BE_DELETED available in BW systems.

This one stores obsolete BW objects that are not supposed to be used anymore. However due to many references that may exist in SAP standard or customer ABAP programs the objects are not deleted just “parked” in this way into special development package.

As an example of the objects stored in here I list a database table “RSDDSTAT - Statistics data BW for aggregate selection and accounting”. The table was in pre 7.x versions of BW used to stored BI Statistics data. In the 7.x version is not needed anymore.

Saturday, April 30, 2016

Statistics of BEx Query Views

This is very common case. BW users are using BEx Query Views created by them and BW admin would like to analyze how the query views are utilized in the BW system. The query views are a modified view of the data for a BEx query. In some system it is very used functionality. Users adjust the query by their needs and they just keep them using.

As BW administrator we usually do assessment of how users are using the system. This can serve as base for further clean ups in the system. For example queries that are not used shall be deleted in the system. This approach can be advanced also to the Query Views. But how to analyze a usage of the Query Views? Naturally one may turn to BW Statistics. Unfortunately the BW statistics doesn’t support the Query Views. Although this is not official information there are forum posts on SDN which may suggest that SAP confirmed that currently (the post is from 2011) and even now (2016) the function is not available for the Query Views. Also you can encounter SDN forum posts saying that statistics of the query views are available via tcode ST13 -> tool name: BW_QUERY_USAGE. However this is not case either.

So how to solve the issue? The only way I can think of is to look at the statistics of the BEx Query which is providing the data for to the Query View. So whenever is the to the Query View run by the user this cause also the run the query on which the query view is based on. So by analyzing BW Statistics of the query we can get an overview how the query view is used.

Monday, March 21, 2016

Admin Cockpit Sanity Check Tool

BI Administration Cockpit is important function within SAP BW system. It basically brings all pieces needed to run BI Statistic together. Even when we talk about the BI (or BW) Statistic we refer to it as BI Administration Cockpit. The cockpit or Statistic is not deployed in many even productions BW systems. It is really a pity as it provides many useful functions.

There is a tool to quickly check what a status of deploying of BI Statistics is. It is available via tcode ACPTOOL (ABAP program RSTCT_ADM_CP_CHECK_TOOL).

Selection screen:

Output Log:

Useful posts:

Thursday, March 17, 2016

BEx Query Mass Maintenance tool

In case we need to change some settings of BEx query we either do it in BEx Query Designer or in tcode RSRT. Sometimes we need to setup same settings for several queries. In such a case it would be a lengthy process to perform the same activity all over for multiple queries.

Luckily there is a possibility to perform a mass maintenance of BEx Queries. This function is available within tcode RSRT -> menu: Environment -> Query Mass Maintenance. Once you enter the tool you get a selection screen where you can enter any InfoProvider. Based on the InfoProvider entered all queries associated with the InfoProvider are shown in a list below.

Here you can select particular queries for which you want to do the maintenance. Once confirmed you enter next screen dedicated to the maintenance itself. Over here it is possible to select particular property/ies to be maintained and its/their values. Once saved all queries are maintained.

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
RSPLS_ALVL-HANAMODELFL - in case of Aggregation Level

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 '' 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:

BEx Query: Release of external access to query

BW queries can be consumed by 3rd party BI tools for long time. This feature needs to be enabled for particular query. To enable it there are settings that are to be done in BEx Query Designer. Furthermore there are even more settings that can be set in the query level with regards to external access to the query’s data. In this blog post I look at these settings.
Following flags are available in BEx Query Designer under Properties section of the query and on tab called “Extended”.

1. flag 'By OLE DB for OLAP' = Allows to consume the query in external reporting tools that uses the query as data source. Sometimes such a query is it is referred as ODBO provider or just ODBO (Ole DB for Olap. The flag is present physically in following database tables:
RSRREPDIR-RFCSUPPORT - Report supports access using OLAP API

2. flag 'By Easy Query' = so called Easy Query (EQ) flag. It allows an access of the query for external access as an Easy Query. The EQ is static query with no formatting settings and it can be used as SOAP service. Once this flag is enabled for particular query then it needs to be managed in Easy Query Manager (tcode EQMANAGER) in BW’s backend system. The flag is present physically in following database table:
RSZELTPROP- EQSUPPORT - Query: RFC Publishing as VirtualProvider (yes/no)

3. flag 'By OData' = so called OData Query flag. It allows consuming of the query data by ODATA service. It is also an integration of SAP Business Warehouse with SAP Gateway system where it provides analytic queries of in BW system as BW OData Queries for mobile scenarios. The flag is present physically in following database table:

Both the EQ and OData techniques are focused on so called lightweight consumption. This means that need SAP Gateway to be used. Easy queries can be used also via SOAP or RFC as REST based services.

The above two techniques are also part of BW’s Open Analysis Interfaces. This is meat with regards to extraction of the data from source systems and analyzing of the data in BW in various reporting front-end tools.

4. flag 'HANASUPPORT' – Means generation of external SAP HANA view for BW object. There are many BW’s objects for which the HANA view can be generated and the BEx query is one of these. The HANA view is not used by BW itself but by SAP HANA natively while accessing the SAP BW. The flag is present physically in following database table:

For assigning the HANA external view flag to other SAP BW objects see here.

Please note that flag no 1 is available for long time and was introduced in BEx Query Designer 7.x. However for flags 2 and 3 there is a prerequisite to run SAP NetWeaver 7.0 BW Front End for GUI 720.

Useful information:
1598778 - Query property 'Release for External Access by Easy Query'
1601473 - Query property 'Release for External Access by Easy Query'
2103222 - Generation and Transportation of BEx Query with active OData-Flag

Thursday, March 10, 2016

Qlikview's SAP connectors

Qlikview is popular BI tool used also by organization running SAP BW systems as frontend tool. As every tool that is used on top of the SAP BW it needs to extract the data from out of the BW and render it to user. To do this Qlikview uses so called SAP Connector.

There are following types of SAP Connector’s delivered by Qlikview:

Connectors for Any SAP systems:        Purpose:
Qlikview SAP SQL Connector                    Connector for any DB table in the SAP system.
QlikView SAP Report Connector                Connector for SAP ABAP reports.
Qlikview SAP Query Connector                 Connector for classic SAP Query.
QlikView SAP Extractor Connector             Connector for DataSources in SAP system .delivered by SAP BW API
Qlikview SAP BAPI Connector                   Connector for remote function modules in SAP systems (so called BAPIs).

Connectors for SAP BW systems:        Purpose:
Qlikview SAP OLAP Connector                  Connector for BW BEx Queries and cubes.
QlikView SAP DSO/ODS Connector            Connector for BW’s objects like DSO/ODS, capable of fetching also metadata of DSO/ODS objects (e.g. DSO’s structure).

Physically the Qlikview SAP Connector is delivered as SAP transport which consists of following development packages:

/QTQVC/QTDEV                  Developmentclass QlickTech

/QTQVC/QTDEV_BW            Qlik development for BW systems

Wednesday, March 9, 2016

White / Black Lists

In general similar to any other industry or area of people's interests also in terms of SAP we talk about white and black lists.

Basically anything which is on the white list is approved or recognized or just simply speaking it is considered to be safe. On other hand anything which is on the black list is forbidden, unknown or just not safe.

In terms of SAP we can talk similarly here in here about programming objects. It can be also an access to certain objects where there are some objects that can be accessed (while list) and objects to which an access is denied (black list).

Let focus on e.g. RFC function modules. Some of them can be protected by authorization and therefore are on the white list. Access to some other RFC FM can be forbidden and they are put to black list. Usually the RFC FM are protected by authorization object S_RFC.

Related information:

1664340 - Documentation of authorization object S_RFC is unclear

Special characters in Analysis Authorization values

First a brief info on what Analysis Authorization is.

Analysis Authorizations (AAUT) is concept used in BW systems to grant an access to the data in the system for users. This AUT concept is not based on the standard authorization concept of SAP as it is used in SAP transactional systems like ECC. The AAUT concept serves the purpose of users that access query data.

Unlike standard authorization concept of SAP which is based on classic authorization objects the AAUT concept is based on so called Analysis Authorization object. Such an object includes a group of characteristics and there are values defined for these characteristics which an access will be granted to. The AAUT object (or so called authorization objects for reporting) can include any characteristics that are flagged as authorization-relevant characteristics. This flag is available on maintenance screen of the characteristics in RSA1 -> Modeling -> Business Explorer -> Authorization Relevant. Once the flag is enabled AAUT objects for reporting can be generated for the characteristic.

While BW report or query is running by user the system selects the data from infoprovider. Once there is an authorization relevant characteristics part of the data set the system evaluates whether user has enough authorization for the whole data set. Only in case use fulfills the AUT values they the data is displayed.

The AAUT objects are maintained in tcode RSECAUTH (you can jump there also via tcode RSECADMIN). One AAUT object can have multiple characteristic included and each of them can have multiple values against which an access is evaluated. Basically the values can be of two types: flat values or hierarchy values. All operators like EQ, BT, GT, LE etc. are possible.
Now let’s see what different flat values that can be entered here are. Except regular values where the value is precisely spelled out there can be also following ones:

* (asterisk): represents any number of characters

+ (plus): represents exactly one character

: (colon): authorization for aggregated values, serves for purposes of displaying aggregated values (e.g. totals), in case there are two characteristic values tied to different key figures and user is only authorized to see the data for characteristics of one value having Colon in the AAUT object will enable the user to see the total coming from both values of the characteristic.

$ (dollar sign): enables usage of BW variables of type customer exit in authorizations, the variable name is introduced by dollar sign.

Few examples:
I EQ      02                                   //fixed value
I EQ      0TCT_24                           // fixed value          
I CP      A*                                   // patter                
I EQ      $VAR_SECT                       //variable

I EQ      :                                     //for aggregated values

Monday, March 7, 2016

A little about InfoPackage / DTP prefixes and BW data request's prefixes

In this post I try to sum up brief information on topic of different InfoPackage and DTPs prefixes. In addition I’m also providing information on BW’s data request numbers prefixes.

InfoPack prefixes:
ZPAK_* - custom developed InfoPack
0PAK_* - InfoPackage activated from BI Content
0GRU_* - BI Content InfoPackage groups, assignment of InfoPacks into Group is in table RSPAKPOS
0GRU_* - custom InfoPackage groups
PRNR_* - automatic update from the PSA into the data targets
INFO_* - InfoPackage for BW-WHM runtime statistics, used on old BW systems(below version 3.x)

DTP prefixes:
DTP_* - regular DTP, has corresponding DTP request ID with naming convention: DTPR_*     
D* - in general any the DTP ID can start with just D prefix
DTPR_SIMULATION    - not real the DTP run, only debug run of the DTP = debugging DTP

Request numbers prefixes:

- General prefixes:
REQU_* - generic request ID created by run of InfoPackage, any request that can be displayed in tcode RSRQ
DTPR_* - generic request ID created by run of the DTP
REBU_* - rebuilding request, it is not real (independent) request, it is the request that has not yet written any RSSELDONE entry, it cannot be displayed in monitor, because it is only number under which an additional rebuilding monitor log for normal load requests is stored.
APO_R* or APO_* - request for APO Demand Planning data, InfoProvider is switched to transactional behavior

- DSO/ODS relevant prefixes:
ODSR_* - ODS activation request or the request loaded from change log of an upstream ODS object using a "Reconstruction" function
ODSA_* - change log activation prefix
ODSU_* - change log update prefix

- Other request prefixes: 
STOR_* - reversal of a request
ARCH_* - requests generated by Data Archiving Processes (tcode RSDAP)

- Request prefixes not more used anymore (as of BW version 3.0B) prefixes:
MDMT_* - generated by master data maintenance functions of BW
R3RD_* - similar as above
RNDI_* - load of master data or text for characteristic using 'RSNDI API' functions

SPOK_* - looks like it was related to InfoSpoke functions

Sunday, March 6, 2016

Shadow InfoPackage

There are a special InfoPackages in the system. They are called Shadow InfoPackages. The shadow infopack is created when BW DataSource objects are activated from the Business Content (BCT). BW system reads the shadow InfoPackages from the table RSLDPIOSH for each DataSource that is to being activated.

Similarly in case of BW is used as a BW content development system, inconsistencies may occur between the A and D versions of the InfoPackage means between the shadow version and version of InfoPackage in cross-reference table RSSHIPDVERS.

All these situations are caused by inconsistencies between the tables RSLDPIOSH, RSLDPIO and RSSHIPDVERS. To remove the inconsistencies there is a SAP standard report which can be used to fix these issues. The report is called RSSM_SHIPDVERS_CLEANUP. It can recognize and corrects these inconsistencies.

When using the report a checkbox "Check Shadow Infopackages' needs to be activated on its selection screen. The report then lists out all Shadow Infopackages along no of records in tables RSLDPIOSH, RSLDPIO and RSSHIPDVERS. By using Repair functionality inconsistencies can be removed.

More information:

Thursday, March 3, 2016

HANA versions / revisions

In this post I will try to summarize all versions of HANA that are (or were) available per Support Package Stack (SPS) and covering revisions ranges.

SAP HANA SPS         Release Date            Note               Revisions Range
SPS 11          (11/2015)      24.11.2015              2227464        110 – 111 (so far)
SPS 10          (06/2015)      01.07.2015              2165826        100 - 102
SPS 09          (11/2014)      28.11.2014              2075266        90 - 97
SPS 08          (05/2014)      28.05.2014              2004651        80 - 85
SPS 07          (12/2013)      03.12.2013              1921675        70 - 74
SPS 06          (06/2013)      28.06.2013              1848976        60 - 69
SPS 05          (11/2012)      29.11.2012              1771591        50 - 58
SPS 04          (05/2012)      10.05.2012              1703675        40 - 48
SPS 03          (11/2011)      15.11.2011              1642937        30 - 37
SPS 02          (07/2011)      27.06.2011              1600147        20 - 29
SPS 01          (12/2010)      27.06.2011              N/A              10 – N/A
Initial Shipment Stack          N/A                       N/A               N/A

There are different Revision Types for SAP HANA. The "Revision" refers to packages containing fixes for the SAP HANA core components (like SAP HANA Database, Studio, Clients, AFLs, LCapps, SDA, HWCC tool, etc). Here are different Revision Types:

Release to customer (RTC) Revision – new features and fixes, for early adapters and
Non-production systems, released every 6 months
Standard Revision – incremental fixes, based on latest SPS feature set, for early adapters and Non-production systems, released on demand
Datacenter Service Point (DSP) Revision – incremental fixes, based on latest SPS fesature set, released every 6 months after having run in SAP production system for 2+ weeks
Maintenance Revision – incremental critical fixes only, production systems (targeting planned and unplanned maintenance), released on demand provisioned for previous SPS between RTC and DSP only as of SPS10: provided after DSP for the current SPS

There is another term used within release management of SAP HANA. A ”weekstone”. The HANA weekstone is a build generated from source code every week. It is not released for customers and serves only for SAP internal purposes. Tests of the HANA like regressions and other tests related to quality happen on the weekstones. Once the particular weekstone passes all the tests it becomes Revision which is afterwards released to our customers/partners.

Useful information:
2115815 - FAQ: SAP HANA Database Patches and Upgrades
2021789 - SAP HANA Revision and Maintenance Strategy
1999997 - FAQ: SAP HANA Memory

Friday, February 26, 2016

BEx Analyzer features – Properties for characteristics: Cumulate Values

Here I’m starting couple of posts about not very known features of BEx Analyzer. One of them is called “Cumulate Values”. It is available in context menu (right click) on characteristic’s cell while BEx report is opened in BEx Analyzer tool.

What it does is following. It cumulates a value of KF for specific characteristics shown in the report. This works without considering what aggregation type is defined for particular KF.

Here’s example of report’s output. There is KF called “Total time” displayed in the report. Characteristics Calendar Day is displayed as well in the columns of the report. Without “Cumulate Values” feature enabled report looks like following:

To enable the feature a right click is performed on the characteristics Calendar Day and menu item Properties is chosen. On next pop-up windows the feature is enabled.

This is hoe the report looks like when it is ON. Value of the KF in first column stays the same as the feature wouldn’t be enabled. But value of 2nd and other subsequent columns are cumulating values of all predecessors’ columns:

Online documentation:

Saturday, February 20, 2016

Flash back to pre 2k years

In this post I look back to pre-2000 years to times when new millennium was approaching. Back then all computer industry was scared in wake of what will happen when computers clock turn from 31.12.1999 23:59:59 to 1.1.2000 00:00:00. This problem was known as year 2000 problem. SAP was watching this space also and preparing its software for this change.

They came up with SAP Note with very famous number: 2000 - Internal SAP AG Year2000 activities. In this Note they briefly described what this year change will bring and advised its customers to prepare their computers system for this change. Initiative of the year 2000 within SAP was driven by so called “Year2000 Taskforce” (, and The taskforce coordinated all activities related to this change. Covering all known facts, problems, methods, tools, organizational and legal questions.

All analyzing and testing of SAP software done for this year change generated about 130+ (based on my brief count of Note numbers in collective Notes) SAP Notes. They vary from databases and OS related changes by different vendors, date field format adjustments in SAP tables like date 1.1.1 is converted to 1.1.0001, ABAP statements like “WRITE date YY/MM/DD”, file format generated by SAP interfaces and so on.

SAP provided also couple of tools to help customer with testing of their systems (like Safety Check 2000 tool, Verification Tool). Customers were encouraged to setup separate system where they shall simulate the year change and test how the SAP software will be affected.

All in all as we all know whole thing ended up successfully. There were no major interruptions of computer systems neither in SAP systems reported. So what will be next challenge? Year 2038 problem or just year 10,000 problem? Some of us will see that J

Information sources on this topic:
2000 - Internal SAP AG Year2000 activities
99664 - General information on year 2000 (collective note)
99662 - Collective note Year2000

135460 - Year 2000 guide for R/3 customers

Parameters of RSADMINS table

In today’s post I introduce another important customizing table of BW. Among tables like RSADMIN, RSADMINA and RSADMINC it is RSADMINS table. Similarly to previous ones it also stores params need to BW system functioning properly.

General parameters

CUSTOMIZID                ID for Customizing in BW. For the BW system a value of this param is always BW.

DRAGDROPOFF             Drag&Drop off(='X'), Controls drag & drop behavior in tcode RSA1->Modeling->InfoObjects section, by default OFF is enabled

ISPREF                          Prefix for name of an InfoSource

AUTOSTEP2                   Step 2 automatic when loading master data and texts

HIERARCHYVIRTFR         Virtual Time Hierarchies: From Date, SAP Note: 1239449 - CTC Correction report

HIERARCHYVIRTTO        Virtual Time Hierarchies: To Date

FCALID                         OLAP: Default Factory Calendar ID, can be maintained in tcode RSRHIERARCHYVIRT

FISCPERTXTFLG             Indicator for Controlling Master Data Texts for 0FISCPER

System Settings for Metadata Modeling: e.g. Business Content

SYSTP                          System type. Either the BW system is using SAP Namespace (value = SAP) or Customer Namespace (value = CUS)

IS_CONTSYST              System is Content system. Setting is relevant if the BW system is used to develop customer or partner BI Content object. If it is the case than param has value of X. All metadata objects are then copied from the active (A) version into the delivery (D) version when you save or activate them. Additionally, only the delivery objects and not the active objects are written to the transport request.

CONTENT_CHANGE      Changeability of External Content Objects. Setting external objects to can be changed in the Content system. Changes to BW Content objects delivered by SAP or other partners are not normally allowed in customer Content systems. SAP Note: 539278 - Maintaining SAP objects in the customer Content system

CONTREL                      It contains value of so-called Content release. It tells with which release particular Business Content object was delivered. You can recognize in particular whether there is a newer version (with a higher content release) in the SAP Version than in the active version. In this case, it is advisable where necessary to match these two versions so that you can use the new functionality of the Business Content.

ACT_CONT_AUTOM      Business Content is automatically activated after transport import. To deactivate the BI Content objects activation value of this param shall be set to "Content is not activated". SAP Note: 1140045 - Termination RSO 878 with BI orders, SPs, urgent corrections

TADIRPOPUP               Indicator if TADIR popup is shown while creating new BW objects. In case value of the param is blank than BW Transport System as set which means that a dialog prompting the user to enter a transport request does not appear when creating/editing the objects. If it is set to X standard SAP transport is enabled. Means popup windows is prompting a user while creating/editing the objects. See more information in onlinedocu. SAP Note: 356018 - Activate the standard transport system in BW

PREF_AGR                     Prefix for installed activity groups

APPENDS_ALLOWED       Append Maintenance Switched On (DB Indicator with Default)

SCOPECHECK_MSGTY   Error Severity for Messages About Switch Consistency. InfoObjects that are deactivated using scopes are not displayed although the scope checks are deactivated (values: SPACE or S). SAP Note: 1138109 - Not enough objects displayed in input help for InfoObjects
WAREA_DISABLED         Indicator shows whether worklist was deactivated (='X')

Data loads related parameters

IDOCPREF                     Prefix for IDoc type

Related posts: