Tuesday, December 26, 2023

Request Status Process Management (RSPM)

Request Status Process Management (RSPM) concept for BW request management is in place since a higher support packages of SAP BW 7.5 and also in SAP BW4/HANA. It replaces RSSM (Request Status Management) request management based on 0REQUID. The Request Status Process Management (RSPM) based on Request Transaction Sequence Numbers (TSN, 0REQTSN). Details can be found here.

However, in this post I want to mention few interesting TSNs that are used in BW systems. The TSN is referred by RSPM_TSN domain in DDIC. There are following special TSN defined in class interface IF_RSPM_CONSTANTS.

 

transfer_min = '18991231000000000000000' = {1899-12-31 01:00:00 000000 CET}

transfer_min_old = '19000101000000000000000' = {1900-01-01 01:00:00 000000 CET}

transfer_max= '19680120031408000000000' = {1968-01-20 04:14:08 000000 CET}

min = '19700101000000000000000' = {1970-01-01 01:00:00 000000 CET}

reorg_low_min = '19700101000000000001000' = {1970-01-01 01:00:00 000001 CET}

reorg_low_max = '19700101000000999998000' = {1970-01-01 01:00:00 999998 CET}

housekeeping_min = '19720101000000000001000' = {1972-01-01 01:00:00 000001 CET}

housekeeping_max = '19723112235959999998000' = {????-??-?? ??:??:?? ?????? UTC}

dummy = '20140206171506000000000' = {2014-02-06 18:15:06 000000 CET} - timestamp of data element RSPM_TSN

real_min = '20140206171506000001000' = {2014-02-06 18:15:06 000001 CET} - as above plus 1 µs

real_max = '28991231235959999998000' = {2900-01-01 00:59:59 999998 CET}

not_activated = '29000101000000000001000' = {not activated} - dummy TSN for not yet activated load requests

simulation_min = '29000102000000000001000' = {2900-01-02 01:00:00 000001 CET

simulation_max = '29000102000000999999000' = {2900-01-02 01:00:00 999999 CET}

reorg_high_min = '29991231235959000001000' = {3000-01-01 00:59:59 000001 CET}

reorg_high_max = '29991231235959999998000' = {3000-01-01 00:59:59 999998 CET}

max = '99991231235959999999999' = {9999-12-31 23:59:59 999999 UTC}

nc_reporting = '99999999999999000000001' = {????-??-?? ??:??:?? ?????? UTC}

nc_user = '99999999999999000000002' = {????-??-?? ??:??:?? ?????? UTC}

nc_temp = '99999999999999000000003' = {????-??-?? ??:??:?? ?????? UTC}

 

More information:

BW request types: RSSM vs RSPM

PC does not start due to not maintained start variant

I faced recently a strange error within my newly created process chain. On attempt to start it up, I got below error message:

Job could not be released. Probably an authorization issue

Message no. RSAR051


I was sure that it has nothing to do with the authorization. I checked what user is assigned into the chain in its attributes as Execution User. That user did not lack any authorization too.

It turned out that it was just a missing chain’s start variant where I did not specified scheduling condition part. There was no either Intermediate Start/Date Time/After Job/After Event/Operation Mode data entered.

Once I added it the chain worked just fine.



Error message is issued within FM RSSM_PLAN_START_BATCH_JOB somewhere around line 661. There a return value of variable l_job_released of another FM (JOB_CLOSE) call is evaluated:

MESSAGE s051(rsar) WITH 'Job could not be released.'(210) 'Probably an authorization issue'(211) '' ''.

However real reason why job schedule failed is not really properly propagated. This is fixed in SAP Note 3164846 which introduces a CASE/WHEN statement to do that.

 

More information:

3164846 - Error messages from job scheduling are not returned to caller

Saturday, December 16, 2023

"Results table" feature in SAP Code Inspector

SAP Code Inspector (t-code SCI) is a tool for analyzing and inspecting ABAP code. The tool is to help ABAP developers to ensure that ABAP code complies with certain coding standards, performance guidelines, and best practices. It performs static code checks, which means it analyzes the source code without actually executing it. The tool identifies potential issues, vulnerabilities, and areas for improvement in the code, facilitating the development of more robust and efficient applications.

Here I want to mention one feature of the SCI that is most likely not very known. It is called a "Results table". It is a button on SCI’s toolbar:

View of "Results table" provides comprehensive view where checks from the SCI and ABAP Extended Program Check (t-code SLIN) are combined.

In a picture below – issue marked in red are reported by the SCI. Issue marked in green are reported by the SLIN.


The "Results table" button is a new function that is added into SAP NetWeaver system as of SAP_BASIS 702.


BW/4HANA 2.0: External SAP HANA SQL View

There is a new feature in BW/4HANA 2.0 starting with Initial Shipment Stack. In this version of the SAP BW4/HANA 2.0 is external SAP HANA SQL View introduced. The new view follows one of principles of SAP BW4/HANA, which is openness.

In older releases of SAP BW4/HANA there wasn’t dedicated SQL view to support an extraction from aDSO objects. As SAP doesn’t recommends to use active table of the aDSO for extraction (see SAP Note 1682131) due to the fact that those tables are no publicly released. In the case of SAP BW4/HANA versions lower than BW/4HANA 2.0 SAP recommends to either use the HANA Modeler to import BW InfoProvider metadata and generate a HANA Model or to generate the HANA Model for BW InfoProvider from the BW backend.

Now with the respect to BW/4HANA 2.0 the new feature brings a new SQL view that is supposed to be used for an extraction of SAP BW objects like aDSOs or InfoObjects (see SAP Note 2723506). A naming convention for the new SQL view ends *8. That means on top of other DDIC tables related to the aDSO object there is a new table /BIC/A<aDSO_tech_name>8. E.g./BIC/AZMMA_ADSO8 - View for external Access for DataStore ZMMA_ADSO.

A full list of DDIC tables/views for my example aDSO is ZMMA_ADSO:

 

TABLES:

/BIC/AZMMA_ADSO                Inbound Table for DataStore ZMMA_ADSO

/BIC/A ZMMA_ADSO1              Inbound Table for DataStore ZMMA_ADSO

/BIC/A ZMMA_ADSO2              Active Data Table for DataStore ZMMA_ADSO

/BIC/AZMMA_ADSO3               Change Log for DataStore ZMMA_ADSO

VIEWS:

/BIC/AZMMA_ADSO6               View for Extraction from DataStore ZMMA_ADSO

/BIC/AZMMA_ADSO7               View for Reporting for DataStore ZMMA_ADSO

/BIC/AZMMA_ADSO8               View for external Access for DataStore ZMMA_ADSO

 

The views ending with 6 and 7 were generated by BW4/HANA 1.0 and view ending with 8 was generated in BW4/HANA 2.0. From my experience (based on BW4/HANA 2.0 SP05) the *8 view doesn’t get generated by aDSO activation right away. In my case it was generated at the time I loaded the data into the aDSO for 1st time.

 

More information:

How to read/write/delete from/to aDSO objects

1682131 - SAP BW tables in SAP HANA Information Views and ABAP CDS Views not supported

2723506 - External SAP HANA SQL View with SAP BW/4HANA 2.0