Tuesday, July 31, 2018

Can’t navigate in SE80 because left part of screen (tree) is too small?

I experienced this situation couple of times. By accident I made left part of SE80 (ABAP workbench or Object Navigator) screen so small that I couldn’t use the SE80 anymore. The left par basically allows selection of repository with which developer works subsequently object type selection and so on… Without access to that area no productive work can be performed.

The reinstallation of the SAP GUI doesn’t help as this information is persistently written in SAP backend system for every user. The table where the information is residing is called RSEUMOD. The table consists of all settings for ABAP Workbench which are normally maintainable via menu of the SE80 -> Utilities -> Settings.

However, the particular settings related to width of the area is not present in the settings. navigator in pixels. Therefore, only solution is to adjust it manually via tcodes like SE16N. The name of respective parameters is WIDTH - Width of navigator in pixels.

Number of pixel for TREE control on the left part of RSA1 (monitor of info packs). Useful to e.g. it in case it is too small and user can’t navigate e.g. can’t be enlarged. Any value below 50 has no meaning. I suggest to put value like 300 to make the area perfectly visible.

User related settings for tcode RSA1

There are couple of user related settings when it comes to Data Load Monitor function of BW’s Administration Workbench (RSA1). They are stored in table RSRADIOMON. In this post I will discuss what are they about and how to set it. 

Monitor is mostly handled by a report RSMO1_RSM2 and a call of FM RSSM_MON_SHOW_MONITOR_IC_RSM2 (include LRSM2I05, FG RSM2) and FM SELECTOPTIONSDATE. Depending of BW version, the Monitor looks like following:

UNAME                             User for which particular settings is valid for

Below columns are representing customizing of Load Monitor, whether it shall display (possible values either blank or X):
NOW                                Load monitor will show “Today’s” requests only

YESTERDAY                     Load monitor will show ”Yesterday’s and Today’s” requests only

WEEK                               Load monitor will show requests from Past Week (button ”In the Past Week”)

MONAT                             Load monitor will show requests from “This and Last Month”

FREE                                Represents flag: If Active in Time Period (if set means requests will be selected for which the system logged a message in the specified period). Free data range is saved in global memory under ID SELECTOPTIONSDATE, no persistent storage.

Following columns (possible values either blank or X) are representing Request Overview, whether it shall be displayed in format of:
TREE                                Overview Tree

LISTE                               Overview List

DYNPRO                           Planning Table

Following columns are representing visual (look and feel) settings of the Load Monitor:
PICTYPE                          Type of screen on the right side (possible values: 0 = Default; 1 = no; 2 = customer-defined pic)

PICNAME                         Image name for monitor/scheduler

PICSTRETCH                     Whether the picture shall be stretched over the screen (possible values: X or blank)

TREEWIDTH                     Number of pixel for TREE control on the left part of RSA1 (monitor of info packs). Useful to e.g. it in case it is too small and user can’t navigate e.g. can’t be enlarged.

STATSEL                          What statuses of the data load requests shall be filtered in the Load Monitor

RNRSEL                            What Request ID (Request Number) shall be displayed by default

SYSSEL                            What source system shall be selected when user enters Source Systems section

VIEWSEL                         Single-Character Indicator

LIFETIME                         Consider all data monitor entries found (possible values: X or blank)

CHAIN_TREEWIDTH        Number of pixel for TREE control on the left part of RSA1 (monitor and process chain monitor). Useful to e.g. it in case it is too small and user can’t navigate e.g. can’t be enlarged.

CHAIN_ACCESSABLE       Possibility of showing PC tree displayed in Network view. Normally this is not available for SAP GUI for JAVA. If you need to display your PCs in the Network view set this field to Y manually in the table for your user. Possible values: N or Y.

More information:
1991961 - P33; MON; PC: TREE control on left of monitor and PC monitor is too small

Zero elimination for cubes

Zero elimination (sometimes called NULL elimination) is process within BW which does deletion of records in fact table where all Key Figure values are zero. This can be normally seen as BW administration task. It can be performed on Manage screen of cubes in RSA1. On tab called COLLAPSE a check box “With Zero Elimination” is available. 

This task can also be done outside from the RSA1 by executing or scheduling a ABAP report RSCDS_NULLELIM. The report calls FM RSCDS_EXEC_NULLELIM for the task execution. In case the BW system is HANA based there is a report RSHDB_EXECUTE_CLEANUP_NULLELIM for HANA DB.

Parameters of program are very well described in this wiki.

From technical point of view notice there are few limitations of this functionality. Main one is that there is no 100% zero elimination for the Key Figures of type FLTP. It is not possible to precisely evaluate whether the KF type of FLTP is really equal to zero. Value of the KF may be close to zero but not precisely zero. Therefore, as word of advice in scenarios that rely on exact summing never use the KF type of FLTP. Report is using value 1.0E-50 which is pretty close to zero but there might be a values stored in the BW that are even smaller.

Also the NULL elimination is only possible if the KF aggregation is SUM for all of the KF used in the cube. If the cube contains the KF with aggregation types other than SUM (e.g. MIN or MAX) the database cannot eliminate the zero lines during the compression.

More information:
1224631 - Program RSCDS_NULLELIM and Float-Keyfigures (Type FLTP)
1587759 - Duplicate Records in InfoCube Dimensions
1820706 - Report RSCDS_NULLELIM fails on SAP HANA
2206835 - Report RSCDS_NULLELIM now also on SAP HANA
2521338 - Compression with Zero Elimination does not work

Tuesday, July 17, 2018

Issues while setting up SAP RFC Connector for NodeJS (node-rfc) connector

In one of my last posts I wrote about nodejs RFC Connector provided by SAP to connect SAP backend systems. The Connector works very well. However, while I was setting it up I faced few issues. I’m listing them here with solutions how to overcome them; perhaps it will be useful for someone else too.

1. Library MSVCP120.dll missing

One of prerequisites of nodejs RFC Connector is that SAP NW RFC SDK needs to be present on machine which will be used for making called to the SAP system. However sometimes SAP NW RFC SDK is not installed correctly on the machine. Basic check of the installation is to run command rfcexec. In case of issue there is an error like:
The program can’t start because MSVCP120.dll is missing...

Solution is to install Microsoft Visual C++ (2010, 2013, or newer depending on your OS platform) Redistributable component. Once installed there shall be following output of rfcexec:

2. NPM module xyz can’t be found

On attempt to run nodejs app using the Connector call there is a following error thrown:

Error: The specified module could not be found.

Basically the node-rfc tries to find rfc.node in specific folder /build/rfc but it's not in there because by default when it is installed another subfolder is placed there. In my case on OS Windows it is the subfolder "win32_x64". Solution is to just move or copy the rfc.node file to one level up.

3. Issues related to path variable.
As mentioned in point no.1 SAP NW RFC SDK needs to be present on the machine where the calls will be performed from. The folder where the SDK is installed needs to be included in path variable e.g.: