Sunday, December 19, 2021

t-code RSMNG – Administration of data targets in BW/4

In BW/4 a primary environment of BW administration has moved from SAP GUI to either web or into SAP HANA Studio. In case of the web, it is an FIORI app called SAP BW∕4HANA Cockpit. The BW/4 cockpit can be start from the SAP GUI via t-code BW4WEB (also known as “BW Fiori Launchpad”). Needless to say that in case of the SAP HANA Studio it the modelling part of the BW tasks that is performed in the Studio.

However, in case the BW/4 system is freshly installed/upgraded the Cockpit may not be functioning right off the bat. In addition, there might be issues while installing security certificates of web server, activating web service, obtaining proper authorization, etc. All of these can prevent you from starting to use the Cockpit. On other hand, some old-school BW folks may still prefer to use SAP GUI for administrating of the BW data targets. One strong argument for this is also performance of the web. In case huge data targets (like aDSOs) that are loaded with couple thousands of data requests to browse the requests in the web environment can be tedious. For situations like these, there is a fallback scenario.


It is a t-code RSMNG – with official title as “RSPM MNG UI” or “Administration of RSPM managed targets (aDSO)” or just "MNG UI" or "administration UI". It serves to purpose of managing objects like aDSOs, Characteristics (InfoObjects) and Open Hub Destinations. It is a kind of old “RSA1 -> Modelling -> e.g. InfoProvider -> right click: Manage” navigation; screen - look alike thing. 

The t-code itself allows to manage the data requests like: navigate to the request’s monitor screen, delete/activate/find the request, change its technical status), refresh the requests list, change behavior of the aDSO (planning vs loading), jump to t-code SE16 screen to see the New/Active/Change Log data (depending on aDSO type), perform: Delete Contents, Selective Deletion  etc.


One more interesting feature is “Show Connection” button to analyze the data target by its “connection”. The feature enables quick review of source objects/DTPs that were used to load data to chosen data target.



I find the RSMNG very useful. I do not advice to anyone to use it as SAP may decide to “delist/defunction” it anytime in future releases of the BW as the main environment for BW/4 is above mentioned Cockpit and/or Studio. Also, I do not expect that SAP will enhance the RSMNG any further. From my point of view, there is a lack of DTP integration into it. A description of the DTP could be shown in table grid. For example, an ALV table grid could be customizable so user could choose from a list of available fields what is shown. Similarly, having an options like to copy/delete the DTPs from this t-code would bring further benefit. Anyhow, I find the t-code very useful. 

PS: the RSMNG t-code started to appear in classic BW as well. In particular BW 75 systems.

 

More information:

BW/4 related posts

SAP BW/4HANA (B4H) versions

SAP BW/4HANA (B4H) – what is it?

SAP BW4/HANA related t-codes

BW/4HANA specific objects

SAP BW∕4HANA Cockpit

2859559 - How to use GUI transaction instead BW Cockpit in BW/4HANA 2.0

Friday, December 17, 2021

t-code RSDS_PROPOSE - Find InfoObjects for DataSource

While BW developer is creating a new DataSource soon there a question what are an InfoObjects that are supposed to be used to map the DataSource’s fields. In most cases, there are the InfoObjects present in BW system and no new InfoObjects need to be created. However, how to find those IOs in relatively reasonable time manner?  

Since BW version 7.3 (for comprehensive list of 7.3 t-codes see here) there is a t-code called RSDS_PROPOSE – which does what is says = Finds InfoObjects for DataSource. What needs to be entered on its selection screen is a particular DS name and corresponding source system. Furthermore, there is a bunch of checkboxes available that represents criteria for proposed IOs. The proposal can be based on e.g. existing IOs assignments in TRFNs, field names in 3.x datasource mappings, 3.x Content datasource, template IOs as specified in DataSource, assigned IOs to DDIC data elements, suitable name and/or description, etc.

The logic behind the t-code is analyzing existing IOs based on selection screen’s parameters. Proposed IOs are presented with % probability of match. There are top three choices. Also all possible matches can be reviewed too – by hitting button “Display All Suggestions”.



Technically the t-code runs ABAP program RSD_MAPPING_FOR_DS_FIND and it is delivered in development package RSD_MAPPING (Mapping Service for InfoObjects).

The t-code discussed is a great help to BW developers as it saves a time while trying to search for existing IO to be leveraged in new BW flows being created.

 

More information:

New transaction codes in BW 73

BW 7.3





 



Thursday, December 16, 2021

"ABAP strict" as ABAP language version

I learned a term "ABAP strict" for first time in autumn 2021 during an openSAP course called Introduction to ABAP in the Cloud. So what is "ABAP strict" sometimes called as "ABAP strict mode"?

The ABAP strict is ABAP programming language version that uses only a subset of the Classic ABAP's syntax. If we think about ABAP in this context, there are now two versions of ABAP.

The first version is ABAP classic. It is the one that we all (hardcore SAP stack programmers) know from on-premise SAP solutions world like R/3, ERP, ECC including SAP S/4HANA on-premise as well.

Another version is ABAP strict. It is the one used in cloud based SAP solutions like SAP S/4HANA Cloud, ABAP environment as well in SAP Business Technology Platform (BTP) ABAP environment.

What are the differences between the two ABAP versions?

As both the versions are used in different environments (on-prem vs cloud), it naturally drives the language’s feature sets.

In case of ABAP strict access to repository objects is given only by released APIs. This means you cannot directly manipulate e.g. database tables with CRUD SQL statement. Instead there a whitelist of allowed APIs to do that. Allowed APIs are checked statically at compile time, as well as runtime.

Moreover, only ABAP Development Tools (ADT), based on Eclipse IDE platform, can be used as development tool. Remember it is about the cloud - SAP GUI is no more the ABAP developer IDE.

In addition, ABAP language keyword set is restricted if compared to ABAP classic. There are many ABAP commands that are obsolete in the cloud environment. E.g. access to SAP server OS, screen manipulation (no GUI, FIORI is the UI), no SQL for data in database tables manipulation, no more WRITE command, dynamic connections, client overrides, relative keywords are not supported, secondary database connection is not allowed etc. just to name a few. Naturally, there is a stricter syntax rules and checks are applied to all elements, including ABAP classes and SQL statements.

 

More information:

SAP BTP ABAP Environment

SAP cloud discovery center

ABAP sessions at SAP TechEd 2021

SAP BW DTIS - Data Transfer Intermediate Storage

DTP or Data Transfer Process is used in SAP BW systems to manage how a data is transferred between two objects: source and target. The DTP determines what transformation(s) is used, what filters on source data is applied, how data is packaged, whether whole data load runs in parallel and many more other things. In addition, mode of the data load is given on the DTP level: whether it is a full or delta one.

DTPs were introduced in BW 7.x. Prior this BW version InfoPackages were used to manage the data loads. Over the years the DTPs were enhanced adding more features like error DTPs (sometimes called error stack). The error DTPs are special type of DTP that enables to update the records to data target. During the data load if there are any records present that is not possible to be written to the data target they are collected in the error DTP.
DTIS enhances the concept of the error DTP and takes it further. Data from source is extracted to intermediate storage and processed by the DTP from there. The intermediate storage is then used for loading of the data and for error DTP as well if error handling is active for the respective DTP.

DTIS was introduced in BW/4 1.0 SP04. Technically, it is a persistence layer represented by a table with technical key for error handling. The table is generated when the DTP is activated, or when a SAP HANA transformation is generated for each DTP source object upon generation. In case there are many DTPs for the same source object there is only one intermediate storage generated.

To enable the DTP to use the DTIS on Extraction tab a checkbox Grouped Extraction needs to be enabled. In older BW releases, the checkbox is called Semantic Grouping. Setting this checkebox basically the DTP is forced to use DTIS.


How to check whether the DTP was executed in DTIS mode? On DTP data load request monitor screen (t-code RSDTP or similar) just observe log text like “Filling Data Transfer Intermediate Storage”.


In case the DTP is not possible to get into active status due to error message like below:

Inconsistency in the DTP: DTIS can not be generated. Message no. RSBK403

Operation dp_v->GET_DTP_SHE_SUPPORT could not be carried out for NO_DTIS_POSSIBLE DTP_00O2SPBFBCP7H7ASKNPICITSZ Message no. RS_EXCEPTION120

Transformation does not exist Message no. RSTRAN010

Diagnosis

The transformation specified by transformation ID , source  and target , does not exist.

System Response

The system terminates processing.

Error while saving Data Transfer Process DTP_00O2SPBFBCP7H7ASKNPICITSZ

Then try to switch on and off following Transformation and/or DTP settings:

- -      Set the transformation execution mode to ABAP runtime

- -      Switch off parallel processing of the DTP off

- -      Switch off grouped extraction

- -      Switch off error handling

- -      Make sure DTIS supports your scenario, e.g. infoproviders involved are not BPC one (/CPMB/* namespace), etc. review the Note 3037467

 

More information:

Online docu

3037467 - DTIS overview

2849599 - No DTIS possible



Wednesday, December 15, 2021

Security vulnerability Apache Log4j

On Dec 10th an information about security vulnerability related to Apache Log4j software surfaced on internet. The Apache Log4j is an open-source library written in Java. It is used in many software packages based on JAVA for logging purposes. Issue in brief is that an attacker who can control log messages or log message parameters can execute arbitrary code when message lookup substitution is enabled. The issue was identified in log4j2 version and fixed in log4j 2.15.0 The vulnerability got its CVE (Common Vulnerabilities and Exposures) code as CVE-2021-44228 (or CVE-2021-44228). The CVE has a CVSS score of 10 - the most critical rating!

SAP as many other software vendors around the world is following up on this issue. Assessment whether and how the Log4j is used within the software is going on. In case the particular software is affected by the vulnerability, the software vendor shall release patch to fix it. At the time of writing this blog post SAP has released statement where the software that is/is not/not know yet affected is listed. Particular SAP Notes are listed in the statement so customers can follow up and implement patches.

From SAP Analytics solutions perspective there are SAP solutions that use the Log4j library. Therefore, SAP customer should closely monitor (see links below) this topic and take an action on software patching if they use any software that is identified as impacted.

 

More information:

SAP’s Response to CVE-2021-44228 Apache Log4j 2

Search the SAP Community for log4j

3129956 - CVE-2021-44228 - BusinessObjects impact for Log4j vulnerability

3130994 - CVE-2021-44228 - SAP Predictive Analytics impact for Log4j vulnerability

Knowledge Base Search - SAP ONE Support Launchpad

CISA

Wednesday, December 8, 2021

DTP: Temporary storage

Within the SAP BW DTP object there is used a term temporary storage. It is used during DTP’s runtime and it enables a restart of particular DTP’s task in case an error occurred. Aim is to restart DTP’s task without an impact on overall performance of DTP’s runtime as well as on data consistency when errors occur.

Naturally, during such restarts the system generates a temporary data into database tables. There are settings at DTP level related to temporary storage. Those settings enables management of the temporary data. Means data management of the temporary storage thus they are a so called Settings for temporary storage.

The temporary data can be deleted depending on whether a request has been updated successfully to the target, when the request is deleted, or after a specific interval has passed since the request was processed.

These Settings for temporary storage are available in DTP’s screen (e.g. t-code RSDTP) in menu Goto -> Settings for DTP Temporary Storage.


Following are the settings available:

1/ related to Delete Temporary Storage:

1.1 With Request Status ‘Green’ - Deletion of Temp. Storage If Request Status Is 'Green'

With Request Status ‘Deleted’ - Deletion of temp. storage if req. status is 'deleted'

After x Days/Weeks/Month - Deletion of the Temporary Storage by Time Interval

Technically stored in table RSBKDTP and in following fields:

1.1 GREEN                      RSBKBUFFERDELETEGREEN            Deletion of Temp. Storage If Request Status Is 'Green'

1.2 DELETED                   RSBKBUFFERDELETEDELETED         Deletion of temp. storage if req. status is 'deleted'

1.3 AFTER                      RSBKBUFFERDELETEAFTER            Deletion of the Temporary Storage by Time Interval

Above 3 data are resented as checkboxes (domain RS_BOOL)

1.4 TIMEINTERVAL           RSBKTIMEINTERVAL                     Time Interval

Above data is represented by no of days e.g. (domain PERCDAYS, range from 1 to 31 depending on particular month)

4.5 TIMEUNIT                  RSBKTIMEUNIT                            Time Unit ( Days / Weeks / Months )

Represented by either Days (0), or Weeks (1), or Months (2) – domain RSBKTIMEUNIT.

 

2/ Level/Degree of Detail

Describes what is a level of detail on which the system is tracing the errors.

Technically stored in table RSBKDTP and in field BUFFERLEVEL (DTP Temporary Storage: Level of Detail, domain: RSBKBUFFERLEVEL). It can have a following values:

0        Tracing the Transformation by Package

1        Trace of Erroneous Records

2        Trace of the Transformation by Record

 

3/ Fill Temporary Storage After Following Substeps:

Save Data After the Substep - Indicates whether the system should generate a temporary storage behind a substep of DTP request processing.



Friday, December 3, 2021

Logging to SAP BPC Add-in with different (no SSO) user

Sometimes there is a need to logon to SAP’s BPC Add-in with different user too. Similarly like to Analysis for Office or like to other SAP applications. Briefly, what needs to be done is to bypass SSO authentication scheme. Below is quick info on how to do it.

 

Logon to SAP BPC web administration page (sometimes called BPC Web Client). The URL of this page may differ based on particular version of the BPC it can look like:

https://hostname:port/sap/bc/ui5_ui5/sap/bpc4webclient/index.html

Once you logged with your default user (in case of SSO – e.g. your WINDOWS domain user) you need to log out via menu Preferences-> Log Off:


Afterwards login with different user:


Now other user is logged in into BPC Web Client. However, our ultimate goal is to login to MS Excel’s Add-in called “SAP BusinessObjects EPM solutions, add-in for Microsoft Office”. That is a place where the BPC users are working for most of the time. To get the MS Excel opened with the different user you need to proceed in BPC Web Client’s menu called Settings->EPM Plug-in for Microsoft Office Excel.




This will open the new session in the MS Excel. You are now logged with the different user the one that was used to login to BPC Web Client. You can prove it by typing in EPM function EPMUser() in the MS Excel. That will show what user is currently logged in.

 

More information:

Logging to Analysis for Office with different (no SSO) user

Disabling SSO in SAP app



Thursday, December 2, 2021

Number of Processes for DTP Parallel Processing

To speed up runtime of DTP it is possible to parallelize it. There is a possibility to set a maximum number of DTP instances that run in parallel. In t-codes like RSA1->DTP or RSDTP in its menu Goto->Settings for Batch Manager->Number of Processes.

This settings is stored in table RSBATCHPARALLEL (Control Parallel Batch Processes) in field PARALLEL_PROCS (Maximum Number of All Parallel Processes for This type). Corresponding domain is RSBATCHPAR. Table can be read in a way that in field PROCESS_TYPE = DTP_LOAD and into PC_VARIANT = DTP technical name.


Similarly, in t-code RSBATCH there is a possibility to set this via button Parameter Settings under which also number of processes for DTP parallel processing. See more info about the t-code RSBATCH here. This can be setup either set:

1. For all DTPs – means default value for all DTP that do not have it setup, default value is 3


2. Or via button Mass Maintenance of ALL Settings for Parallel Processing for particular DTP


More information:

Degree of Parallelization in SAP BW

Table RSBKADMIN – DTP System Specific Attributes




Wednesday, November 24, 2021

Logging to Analysis for Office with different (no SSO) user

Single Sign On authentication scheme is very popular and useful for users. While user is successfully authorized by OS with the same login ID is allowed to access to other applications. In many organizations, it is deployed also for SAP systems. In one of my previous posts, I described how to avoid SSO for Analysis for Office. However, in case user has no possibility to edit entries to SAP systems in SAP Logon Pad – simply just deactivating the SSO for particular SAP system will not help.

Luckily, there is another option. First following settings of the AfO need to be adjusted. In Options part of Analysis Customizing available menu on MS Excel: File -> Analysis -> Customize Analysis -> Options:

Switch to Advanced tab and choose and enable following two check boxes:

-      Allow Client and language Selection for SSO Logon

-      Force Logon Window for SSO Logon on BIP

Now try to open Insert Data Source -> Select Data Source for Analysis a BW report while selecting menu on Analysis ribbon, and Skip below popup window:


On next pop-up, choose particular BW SAP system, which you want to log on into:


Choose Cancel for next pop-up:


Finally, you are prompted to enter logon criteria for non-SSO user:




More information:

Bypassing SSO in Analysis Office (AO)

Logging to SAP BPC Add-in with different (no SSO) user



Tuesday, November 23, 2021

Where to download SAP HANA Studio?

Most of SAP HANA development artefacts including SAP HANA administration is being done in a tool called SAP HANA Studio. The tool is based on Eclipse foundation. The easiest way to get the tool is just to download the latest Eclipse IDE (at the time of writing it is version 2021-09). Afterwards an SAP specific plug-ins needs to be installed via menu Help->Install Software) from:

https://tools.hana.ondemand.com/#abap for ABAP Development Tools

https://tools.hana.ondemand.com/#bw for BW Modelling Tools

https://tools.hana.ondemand.com/#cloud for Cloud development like SAP BTP

https://tools.hana.ondemand.com/#cloudintegration for Cloud Integration

https://tools.hana.ondemand.com/#hanatools for HANA related development

etc..

or simply: https://tools.hana.ondemand.com/latest

However, SAP offers all this and much more included in one distribution of SAP HANA Studio. At the time of writing, there is a version 2.3.32.000000 available via Note 2902153. Physically the installation media is distributed via SAP Support Portal its Download section. Here you need to navigate to SUPPORT PACKAGES & PATCHES -> By Alphabetical Index (A-Z) -> select S -> e.g. SAP HANA STUDIO 2 (SUPPORT PACKAGES AND PATCHES)

The installation file can be either downloaded directly or via SAP Download Manager. The file itself is quite heavy, approximately 1.2GB. It comes as SAR file and it needs to be unpacked by SAPCAR tool.

There are following main 3 parts that can be installed:

SAP HANA Studio Administration

SAP HANA Studio Application

SAP HANA Studio Database Development





After the installation, the software occupies approximately 1.2GB (1.5GM with all the SAP plug-ins) on hard drive. For ABAP BW, BPT and cloud development SAP plugins need to be installed from https://tools.hana.ondemand.com/latest again via menu Help->Install Software.


In case you run into issues like below while installing the SAP plugins into the Studio:

An error occurred while uninstalling session context was:(profile=hdbstudio, phase=org.eclipse.equinox.internal.p2.engine.phases.Uninstall, operand=[R]com.sap.ide.support.feature_root.win32.win32.x86_64 1.15.0 --> null, action=org.eclipse.equinox.internal.p2.touchpoint.natives.actions.CleanupzipAction). Backup of file C:\Program Files\SAP\hdbstudio\collectSupportInformation.bat failed. hdbstudio\collectSupportInformation.bat

Then it is most likely that you need to run your Studio as administrator and repeat installation of the SAP plug-ins.

In most cases just to download the IDE from eclipse and install the plugin is efficient. However if you prefer to have the full blown SAP HANA Studio you can get it as described in this blog post.




Sunday, October 31, 2021

Picture in monitoring/scheduling part of RSA1

There is a possibility of adding a picture to monitoring/scheduling part of t-code RSA1. The picture that can be shown needs to be customized in table RSRADIOMON. The table holds data about user settings related to BW. A field that picture name goes is called - PICNAME (Image name for monitor/scheduler). The picture needs to be stored in table RSMIME. It attributes shall be stored in table RSMIMEATTR. Unfortunately, I cannot find any standard SAP functions to store ne pictures into these tables. However, simple ABAP report that stores any picture into these tables should not be a big thing to develop.

There is a bunch (41 pictures to be precise) of picture already stored in the system. Below I took few screenshots from the pictures available in the systems. I tried BW 74, 75 and BW4 1.0 and 2.0 in all these systems the pictures are all there. 

Moreover, there is other field PICSTRETCH in the table PICNAME that allows stretching the picture over full size of part of the GUI screen.

MONITOR_MED.JPG

WASSERRAD.JPG

SAPBW_MONITOR.JPG


SAPBW_CHAIN.JPG

NETWEAVER_MONITOR.JPG

PICNAME_NETWEAVER_CHAIN.JPG

WATER_MED.JPG





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.