Friday, September 25, 2020

Converting BW system to BW/4HANA

As SAP NetWeaver will be sunsetting at some point of time (see details here: Life after life of SAP NetWeaver and Business Suite/ECC) same applies for one of the NetWeaver core component - BW.

SAP BW/4HANA positioned as SAP’s next generation data warehouse solution will be in nutshell replacing the BW. Needless to say that the BW4 is not a legal successor of BW rather it should be seen as a new product.

Customers are free to decide which way they choose to get to the BW4 level. In one of my previous posts Tools for migrating to SAP BW/4HANA (B4H) I wrote a little about the tools that are used for the conversion. In this posts I go a bit deeper into the tools that are available there.  In nutshell there are 5 options for the conversion:

 

1 New Installation - So called greenfield installation is nothing else just to starts with implementation from scratch. This involves whole implementation cycle, like gathering requirements, implementation, testing, go live, support etc. The tools that would be used here do not really have a sense, as we are not converting any existing system to the BW4. With an exception of a transport certain objects from the existing SAP BW system – see point no 4 below.

This type of installation (not conversion in this case) can be start from t-code STC01 (Task Manager for technical Configuration) by running task list called SAP_BW4_SETUP_SIMPLE. Basically, an initial setup of a newly installed SAP BW/4HANA system can be executed via the task list. Here are some of the included setup: activate web services for BW Modeling Tools, Maintain Allowed Characters in SAP BW/4HANA, creating RFC destination for After-Import Handling of Client-Dependent BW Objects (RSTPRFC), maintaining Query Executor Setting for Eclipse Query Designer and/or Workspace Query Designer, BW/4 Launchpad Setup, activating InA Services for SAP Analytics Cloud integration.

 

2 In-place Conversion - So called full system conversion means BW 75 system is turned to SAP BW/4HANA system. The new (converted) system has same SID as original one. It is conversion without reimplementation type of the conversion. The original BW objects are within step-by-step approach converted. In-place means transfer of classic objects types into their HANA-optimized counterparts. Downside is that original system needs to be on release Minimum start release SAP BW 7.5 SP 5 (recommended at SP12 and best for SAC is to be on SP15-16) powered by SAP HANA.

“SAP BW/4HANA Starter Add-on” is prerequisite for In-Place Conversions. The add-in is technically following software component:

BW4HANA     100     0001   SAPK-10001INBW4HANA    SAP BW/4HANA Starter Add-On

Within the add-on there is a SAP BW/4HANA Transfer Cockpit (t-code RSB4HCONV, prog RS_B4HANA_CONVERSION_CONTROL, there was a predecessor to this: RS_B4HANA_CHECK_ENABLE that is now obsolete) available where all the work is done. The Transfer Cockpit is divided to Prepare (includes pre-check tool, sizing report, code scan tool, clean-up reports, and initial run of authorization transfer) and Realization phase (includes scope transfer tool, delta run of authorization transfer, and change of operation mode).


Within the add-on installation, the system can be set to the following modes: BW Mode (add-on installed and particular BW models/flows/scenarios are being converted) -> Compatibility Mode (manual converting work is finished, BEx Query Designer is disabled, and incompatible scenarios still can run) -> B4H Mode -> Ready for Conversion (system can be converted).

The Transfer Cockpit also calls a starter of B4H Transfer Tool (t-code RSB4HTRF, program RS_B4HANA_TRF). 


In case of one chose, In-Place an ABAP program RS_B4HANA_INPLACE is called. In case of Remote a call of CL_CNVLTRL_BW4H_GEN_INFO =>load_bw4rc is performed. Finally, in case of Shell ABAP program RS_B4HANA_SHELL is called. In most of the cases STC01 task list are called.

 

3 Remote Conversion - So called system carve out / brownfield. Similar to the In-place Conversion. It starts with SAP BW/4HANA as green field installation (new SID) and BW data models/flows and data itself from original BW are transported to the new BW data models in the new system. Classic BW objects like cubes, DSO and PSAs are replaced by BW4 objects aDSO and composite providers. Minimum start release is SAP BW 7.0 or higher on any DB.

 

4 Shell Conversion - So called Accelerated Greenfield. Again, it is similar to remote conversion but without data transfer. Means only the BW data models/flows are transferred not the data itself. No transactional neither master data is transferred. Minimum start release is SAP BW 7.0 or higher on any DB.

5 BW Landscape transformation - So called system consolidation. In case there is a need to consolidate several BW systems into one e.g. multiple SAP BW, or SAP BW on SAP HANA systems to become one global system. Method of system conversion is typically mix of one several ones. Typically one in-place conversion and one or more remote or shell conversions.

 

For all the types of conversion very first things is check the original BW system before conversion. To support this here it is “SAP BW Migration Cockpit for SAP HANA” (program ZBW_HANA_MIGRATION_COCKPIT) available (see Tools for migrating to SAP BW/4HANA (B4H)). 


Other tools that are available within SAP BW/4HANA Transfer Cockpit (t-code RSB4HCONV includes:

1. Maintain BW/4 Transfer Tool Statistics (ABAP program RSB4H_STAT_MAINTAIN) – It enables maintenance and display of the statistics for scope transfers.

2. Table RSB4H_RCRDCOUNT - Precheck phase collects data into this table about record count for BW/4 Transfer Tool.

3. Deletion of Technical Content RS_DELETE_TECHNICAL_CONTENT – Classic BW technical content (objects like 0TCA* and 0TCT*) including the SAP BW Administration Cockpit are not compatible with BW4. This is available at button called “Delete Technical Content” in the Transfer Cockpit.

4. Transfers of Standard Authorizations (ABAP Program RS_B4HTAU_CREATE_RUN) - User roles including standard SAP BW authorizations are converted by transporting the original roles. This is available at button called “Transfer Standard Authorization”.

5. BW/4 Code Scan (ABAP program RS_B4HANA_CODE_SCAN) – or so called custom ABAP code scan does a compatibility checks of custom code with BW/4. This is available at button called “Scan coding”.

6. Sizing report (ABAP program /SDF/HANA_BW_SIZING) - Determine DB size relevant for BW/4HANA Sizing. This is available at button called “Run Sizing Report”.

7. B4 HANA Readiness check (ABAP program RS_B4HANA_RC) – Shows progress of the conversion. This is available at button called “Show Logs”.

8. Execute Prechecks button runs different method calls with respect to different phases of conversion like:

cl_rs_b4hana_util=>n_c_switch-standard_bw (val 0)

cl_rs_b4hana_util=>n_c_switch-prepare   (val 1)

cl_rs_b4hana_util=>n_c_switch-b4hana   (val 2)

9. table BW4HANAADMIN - used to store current mode of BW conversion. The table is access via methods of class CL_RS_B4HANA_UTIL_ADDON. It stored values of below modes:BW4HANA_READY4CONVERSION, BW4HANA_STRICT, BW4HANA_TRANSFER.


More information:

SAP BW/4HANA (B4H) versions

Tools for migrating to SAP BW/4HANA (B4H)

Conversion Guide for SAP BW/4HANA2.0

1909597 - SAP BW Migration Cockpit for SAP HANA

2351381 - SAP BW/4HANA task lists

2358953 - SAP BW/4HANA Conversion: Preparation Tasks

2383530 - Conversion from SAP BW to SAP BW/4HANA

2930058 - FAQ - SAP BW/4 Conversions

2285440 - Technical prerequisites in BW for "SAP BW Edition for SAP HANA" add-on




Monday, September 21, 2020

Finding any process in Process Chain that deals with certain object

There is an easy way how to find out what is process chain uses particular objects. The object can be BW one like cube, DSO, IO, sub/remote chain or ABAP report, index etc. Particular objects are stored in table RSPCVARIANT that stores all the variants that are used in process chains. This table has column called TYPE which is Process Type. In another column, called VARIANTE is name of the Process Variant stored. The table has also fields LOW and HIGH where it is possible to put particular object like cube, DSO, etc.

Once the variant is known from table RSPCVARIANT the PC where the variant is used can be looked up from table RSPCCHAIN.

Let’s consider following example. One would be interested in all PCs where compression of cube 0TCT_C02 takes place. First a type of the process (in this case compression) TYPE=COMPRESS and cube tech name is entered into the table RSPCVARIANT. Afterwards all variants found in the table RSPCVARIANT are put as a restriction into column VARIANTE IN the table RSPCCHAIN. In returned list, all PCs where the variant is used are shown in column called CHAIN_ID.



Below are the types of variants that can be looked up in the table RSPCVARIANT

1. ABAP - Program Execution

 

2. Cube related types of PC variant like:

DROPCUBE    Data Target Contents

DROPINDEX   Indexes

INDEX           Create Index

COMPRESS    Collapse

REQUDEL      Request in InfoCube

ROLLUP         Adjust

PLSWITCHL   Load Mode On

PLSWITCHP   Plan Mode On

 

3. DSO/ODS related types of PC variant like:

ODSACTIVAT DataStore Data

ODSPROCESS Further Processing

DSOREPLIC   DataStore Obj.-Repl.

CHGLOGDEL  Delete Change Log

 

4. Data source/PSA related types of PC variant like:

PSADELETE   Delete PSA Request

PSAPROCESS Update from PSA

 

5. PC related types of PC variant like:
CHAIN           Local

REMOTE        Remote

 

Others:

ATTRIBCHAN Attrib. Change

DBSTAT        DB Statistics

HIERSAVE     Save

MAIL             Message


EPM add-in not activated at MS Excel startup

In case EPM add-in crashes, the MS Excel automatically disables the add-in. That means it is not started automatically when the MS Excel starts, as it was normally the case before the crash. User needs to manually set it up in the MS Excel’s Options menu. Later when it is set - even the EPM add-in itself is set to be loaded it doesn’t load at the MS Excel start up.

This can be irritating as someone needs to load the add-in overtime the excel starts. It can be fixed by changing the Load Behavior (FPMXLClient.Connect LoadBehavior) in Window’s registry. The registry can be accessible via command regedit.exe – Registry Editor. The Load Behavior need to be set to value “Load at Startup”. A path in the Window’s registry is follows:

HKEY_CURRENT_USER > Software > Microsoft > Office > Excel > Addins > FPMXLClient.Connect


While you are in that particular, settings in the Window’s registry set the value to 3 – which corresponds to the Load Behavior equal to “Load at Startup”. This guarantees that the load of the EPM Add-in happens automatically at the MS Excel startup. If for some reason the settings is changed frequently, one can create simple cmd (command) or bat (batch) file on OS Windows. By this the settings in the registry can be updated e.g. at Window’s startup on ad hoc basis whenever it happens that the add-in is not set to “Load at Startup” value.


More information:

2136065 - EPM Disable Option Not Working on Excel

2415648 - Office Add-In is deactivated or unavailable

1681042 - EPM Add-In Not Getting Loaded / Installed Correctly

Thursday, September 17, 2020

Error while opening AL11 file from ABAP program

Interfacing against file system is common thing still even we are moving slowly to cloud oriented computing. There is bazillion of ABAP programs all over the world writing/reading data from/to files. There are ABAP statements like OPEN / TRANSFER / READ / GET / SET TRUNCATE / CLOSE / DELETE that supports working with the DATASET - files. The files are accessible for the users from SAP GUI via t-code AL11. Sometimes even people tend to refer to such files, as AL11 files despite physically the files are stored on OS level.

While programs like those that writes, data into the file are running as background jobs there can be following error popping up in spool of the job:

Error while opening AL11 file



It can be tricky error even when you schedule the job to run by very privileged user like DDIC or any other who is granted with SAP_ALL / SAP_NEW authorizations. Problem is that while the job runs under super privileged user the physical write on OS level is not done by the user under which the job runs. The user that deals with the file is in fact the OS level user – means the user under whom the SAP instance is running (who runs disp+work process).

Based on this the OS level user needs to be authorized to write/read particular folder on OS level.

 

More information:

27 - Recommendations for ABAP file interface

68718 - Problems with file authorizations and umask

Problem in file reading from al11

Friday, September 11, 2020

Not possible to run ABAP program in Eclipse environment?

Following situation usually happens when someone starts with ABAP development in ABAP from Eclipse (so called ABAP in Eclipse (AiE)). It is either SAP HANA Studio or just regular Eclipse (version like Neon, Photon, etc.) they all use ABAP Development Tools (ADT). The ADT is suite of Eclipse plug-ins that enable the Eclipse to connect to the SAP NetWeaver system and do the ABAP development from the Eclipse. Doing ABAP development in the Eclipse; replaces t-codes like SE80/Se38/SE37 etc.

For freshers when they start with the new SAP system and try to make an attempt to run their ABAP programs in the Eclipse there can below error message popping up:

"Skip Initial Screen" is not permitted for transaction SADT_START_WB_URI

    Message No. 00131

Diagnosis

    "Skip Initial Screen" is not permitted for transaction &

System Response

    You tried to start the transaction & with the option "Skip Initial

    Screen" using an SAPGUI shortcut, a start transaction, or a URL.

Procedure

    This is not permitted with this transaction.

Procedure for System Administration

In order to fix this; following entries need to be added into the view V_TSTCS:

SADT_START_TCODE

SADT_START_WB_URI


Other option is to disable profile parameter dynp/checkskip1screen completely. As the latter option is normally to be done by SAP Basis the first option is more feasible. The view/parameter carries a client-specific checks on whether it is permitted to start a transaction with the “Skip Initial Screen” option.

Enjoy coding in the Eclipse :)



Monday, August 31, 2020

BW statistics not collected for certain BW object or object type

Normally BW statistics data is being collected into BW statistics technical tables like RSDDSTAT, RSDDSTATAGGR, RSDDSTATINFO, RSDDSTATAGGRDEF, RSDDSTATEVDATA, etc. Particular table is used depending on BW object type. For example statistics details about DTP processing is stored in table RSDDSTATDTP.

In case BW statistics data is missing in particular tables, the BW statistics customizing needs to be checked. In most cases, customizing is missing for either particular BW object or BW object type. Main table that stores the BW statistics for customizing is RSDDSTATOBJLEVEL - objects such as Queries, InfoProviders, Web Templates and Workbooks are to be maintained in there in order to collect the BW statistics. Those particular BW objects can be maintained directly via t-code RSDDSTAT.

More over other BW objects or objects types needs to be entered into the RSDDSTATOBJLEVEL table manually via SE16/SM30 t-code.

Therefore, if no statistics written to the statistics tables always check if the corresponding entry in the RSDDSTATOBJLEVEL table exists. Once customizing entry is there then the BW statistics data must be collected by the BW system.


More information:

934848 - Collective note: (FAQ) BI Administration Cockpit

2470847 - How to Delete BW statistics Data

Friday, August 21, 2020

Few words about SAP transports

 For developers coming to SAP world from different ecosystems it is sometimes confusing to understand how does SAP (e.g. within NetWeaver) works with transporting of developer objects. As a starter there are few terminology things as per different types of development objects transporting:

ABAP world:

Change and Transport System (CTS) - organizes development projects in ABAP Workbench and in Customizing, and then transport the changes between the SAP systems in system landscape.

Transport Management System (TMS) - it is infrastructure for the transports, provides tools to configure transport routes, display import queues, import requests, transport workflow etc.

Non-ABAP world:

The CTS is used to transport ABAP objects. There is also Enhanced Change and Transport System (CTS+), used to transport also non ABAP objects, mostly JAVA based artefacts (like SAP BusinessObjects, SAP Cloud Platform, SAP Enterprise Portal, SAP HANA. SAP Hybris Commerce Suite, SAP Manufacturing Integration and Intelligence (SAP MII), SAP Mobile Platform, SAP NetWeaver Development Infrastructure (NWDI), SAP NetWeaver Master Data Management, SAP Process Integration (PI), etc.).

HANA world:

When it comes to HANA development artefacts there is so called SAP HANA Application Lifecycle Management (HALM) or CTS+ for SAP HANA. It is used to move HANA objects throughout their application development lifecycle. There is also SAP HANA Transport for ABAP (HTA) that can be used to synchronize objects and packages from the SAP HANA repository to the SAP HANA Transport for ABAP repository (HTA repository) in the ABAP system and add them to a transport request. Concerning this there is SAP HANA Transport for ABAP for SAP HANA Deployment Infrastructure (HTA for HDI). The HTA for HDI is the successor of HTA.

SCP world:

Lastly when it comes to SAP Could Platform (SCP) there is suite of solution to support change management of either pure could related development artifacts (so called cloud native) and hybrid applications.

Now back to ABAP world. At last year TechEd there was a git-enabled CTS (gCTS) solution presented. This is basically the SAP move towards DevOps thing that is present in non-SAP ecosystems. SAP is trying to leverage state-of-the-art processes and tools that are out there mostly in form of open source project within the SAP change management. It comprises of two main components:

Git-based versioning like branch and merge support

• Connect ABAP processes with Continuous Integration (CI) tools (e.g. Jenkins, Bamboo, GitLab, etc.)

For me this is still quite a faraway future. These tools are currently not present in SAP system out-of-the-box. It is a usual case that to deploy it they require a significant effort to implement it. There needs to be other non SAP server available to run e.g. CI server etc. Because all of these many customers are not getting all advantages of DevOps. Thus are stuck with old technology, only utilizing what is available out of the box from SAP. As a side note the CI is a complex topic but it is a practice of merging all developers working copies to a shared code line several times a day.

Note that there is also abapGit as open source project. However, SAP is not using it and they came up with their own implementation of the git for purposes of the gCIT.

One more remark on how SAP NetWeaver transports are working. It is an important thing is to understand that in SAP NetWeaver transports only records that a change was made to a particular object. It does not records what the change was about. In other words, the systems always create a kid of a snapshot of the involved object. For the version, management there is a different thing – Version history, build in developer t-codes like SE8/SE38 (going forward all this will be replaced by the git based repositories). Also all the changes done are only stored in original system (so called development system). They are not moved to any other system in the landscape. It means that complete version history of all repository objects are only remain in the development system. This is also in line with SAP strategy that advises customer to always retain the development system. There can be special cases in case the DEV is being replaced (deleted or somehow not planned to be used anymore) and there is a need to get all the version history to the new DEV system. In such a case see SAP Note 130906 - How can versions be transported?. It describes possible workaround to exported the complete version database and import it the other system (e.g. a system copy of “old” DEV system).

The fact that system only records object into which the change was done is important to understand as there may pop up many transport collisions between multiple developers working on same objects. E.g. in case there are several methods being developed in one ABAP class it is not possible to just move the one method and do not include others which are there. Simple just to put an entry like LIMU METH <method_name> into the transport request won’t move the particular method. Along such an entry, also the whole class definition (R3TR CLAS <class_name>) needs to be present in the transport request.


More information:

ABAP: CTS, gCTS

nonABAP: CTS+

HANA: HALM

SCP: Software Logistics for SAP Cloud Platform

Wednesday, August 12, 2020

Running out of transport request numbers?

In large SAP installations serving multinational companies where many SAP clients are heavily customized within one SAP system there can be a huge IT department where even hundreds of SAP developers are working. While developing either a new of changed functionality the developers are using transport numbers to carry the changes across the systems in a landscape. On top of that, also SAP functional consultants are moving their changes via customizing transport requests. In such an environment after few years, the SAP installation can face an issue that number range that is providing numbers for the transport requests is running out of the numbers.

Normally the number range for the transport requests generates the numbers within the range ( <SID>K900000 - <SID>K999999 ). Theoretically, there can be up to 100k transport requests with the range. If the number get closer to the 999.999 it means that, the system is reaching to the limits of that particular number range.

Starting with SAP ERP Release 4.6A (back then around year 2000 called R/3 system) a new interval will be automatically used by the SAP NetWeaver based system. It is the range ( <SID>K9A0000 - <SID>K9ZZZZZ ). This will guarantee that another more than 40 million free transport requests numbers are available for future.

 

More information:

106911 - Transport system: number range filled for requests

1674286 - How to modify CTS transport number range (ABAP)

2951296 - Transport TR range getting exhausted

Monday, August 3, 2020

BW transport error: Object ABC needs object XYZ; latter is not in a request

Today one more blog post about BW transports. While releasing the BW transport there can be below error message:

Object ABC needs object XYZ; latter is not in a request Message No. RSO657
Diagnosis
The required object XYZ is not in a request. The request should not be released.
System Response
The object ABC would result in an error during import since the required object XYZ cannot exist in the target system.
Procedure
Write the required object IOBJ XYZ in a request.

Issue is very clear from the BW system consistency standpoint. It identified the missing object and it does not want to allow the transport be released as it would lead to inconsistency. However in most of the cases it is obvious that object that the system is complaining about is already existing for quite some and was transported across a landscape. That means it object XYZ doesn’t need to be in the transport.

According the SAP Notes such as 1801262 the error message can be ignored. It means that import to target BW system can be performed with an option of "Release despite errors? While doing it in person via dialog mode in t-code SE10. However there is no such an option in case there is an change management tool (e.g. Solman CHaRM) used in the landscape. In such a case, it make sense to put particular transport into the table RSTPCHECKEXC (Exception Table: Before Export Check). The table hold in information about all the transports that are to be exceptioned from “Before Export Check” phase of the transports while it is being released.

The report RSO_TLOGO_CHECK_REQUEST also using this table while executing the transport consistency check for before export check phase of releasing the transport.



More information:

1801262 - Releasing of transport request ends with message RSO656 / RSO657 / RSO672
2137751 - BPC NW 10.0/10.1 Transport Release error 'Object A needs object B; latter is not in a request' is being generated - Message No. RSO657
1377342 - Prüfung der Konsistenz von Transformationen im Transport



Thursday, July 30, 2020

SAP Universal ID (UID)

User accounts used for SAP support sites (like SAP Support Portal, SAP ONE Support Launchpad, sap.com, community.sap.com, OpenSAP, etc.) that used to be individual for each of the sites are finally becoming consolidated.

It was a matter of critique for many years that there were many different users to be used for particular SAP sites. Mostly each site was acting like a silo application for which user had to register separately. As of July this year, SAP came up with a solution. It is called SAP Universal ID. While creating the UID it allows you to link existing S* or P* users into one universal ID that can be used to login for multiple SAP sites. Currently following sites are being supported by the UID:

    SAP for Me
    SAP.com
    SAP ONE Support Launchpad
    SAP Support Portal
    OpenSAP
    SAP Help Portal
    SAP Training / SAP Learning
    SAP Customer Experience Wiki
    SAP SuccessFactors Community
    Service Now
    SAP CX Microlearning videos & SAP CX DOJO
    SAP Store
    SAP Best Practices Explorer
    SAP Ariba Connect
    SAP Customer Influence Center

See SAP Note 2948407 - Which SAP sites/platforms support SAP Universal ID login? For an up2data list of the supported sites.

Main advantage I see in here is that I could link many different SAP users I have for example to SAP Support Portal into one account. As it is normal, that an independent SAP consultant is working for multiple clients then the consultant has many different S* or P* users belonging to these clients. The SAP UID make the usage of the accounts easier as they can be linked into the one ID. The UID SAP hosted at address me.sap.com can manage all these different S* or P* users by adding/removing them from the UID.

More information:
Support component: XX-SER-UID

Friday, July 24, 2020

Populating BW hierarchy description from custom ABAP code

I recently developed a transformation that generates BW hierarchy on top of InfoObject. I did it via hierarchy transformation type – means source object IO was type of hierarchy and target as well. BW transformation that generates the hierarchy used a custom ABAP code. Within that code I populated the tables for the hierarchy like below.

table1: Hierarchy header
table2: Hierarchy header description
table3: Hierarchy data itself – all the nodes and leaves
table4: Texts of hierarchy text nodes
table6: Text of hierarchy text levels


It took me some time to figure out that I have to use table 2 for these kind of BW hierarchy description. Before I was trying to use also table6 but the system just ignored it. Once I adjusted my ABAP code to populate the table2 there was one more error message.

More than one text specified for hierarchy header for language EN
Message No. RH608

This error was caused due to long text that I populated to some of the fields in the table 2. Once I shortened it, it work fine. Note that depending if you are using Start/End routine there will be either result_package_2 or source_package_2 only.

result_package_2 VALUE #BASE result_package_2 (
         objectid 
0
         langu    
'EN'
         txtsh    
'Hier1'
         txtmd    
'PARENTH1'
         txtlg    
'PARENTH1 hier'
         record   
) ).

More information:


Friday, July 17, 2020

MD maintenance: maximum number of hits

Webdynpro app of master data (MD) maintenance can be sometimes annoying as there is max number of hits defined as 200. That number is sometimes not very convenient. I understand that had to put something in there to prevent performance issues, timeouts etc. However, perhaps some higher number would suit the purpose better.


Luckily, there is an option how to override that default setting of 200. First, there can be an parameter introduced into RSADMIN table called RSDMDM_MAX_NO_HITS. This parameter started to appear in BW version 7.4 SP16. Setting the parameter the no of the hits becomes valid system wide. As always, when it comes to BW switches a user parameter wins over RSADMIN parameter. Thus, it is possible to setup user value via menu System -> User Profile -> Own Data. It must have same name as the RSADMIN table parameter - RSDMDM_MAX_HITS.

If no value exists for the user parameter and if no RSADMIN table parameter value is maintained, 200 is used as the maximum number of hits, by default.

More information:
2344879 - InfoObject master data maintenance: Configuring maximum number of hits system-wide

Thursday, July 16, 2020

Deleting BW Master Data

There are few possibilities how to delete master data in SAP BW. Normally this activity is done via SAP GUI. There are few possibilities how to do it.

1. RSA1 -> InfoObject/InfoProv right click -> Delete Master Data


  
2. ABAP report RSDMDD_DELETE_BATCH


Selection report of the report is similar to popup that follows after right click -> Delete Master Data on InfoObject

3. Master Data Maintance (WebDynpro app)
While user is in RSA1 in InfoObjects area or in t-code RSD1 there is a button Maintain available that triggers webdynpro (WD) application called rsdmdm_md_maintenance_app. The WD allows master data maintenance like adding, deleting and changing the master data.


The WD app was introduced in BW74. I wrote about it here. If someone does not like the WD way of MD maintenance there is still a chance to go back to SAP GUI way.

Also comparing how fast is the data maintenance done via WD vs SAP GUI the GUI way wins. For example deletion of few records done in WD takes sometimes minutes whereas in the SAP GUI it is matter of seconds based on my experience.

In a newer versions of BW system that use Hana Studio (Eclipse based) the maintenance of master data is going on there. In the newest BW like BW/4 it is done via a new web based tool called “SAP BW∕4HANA Cockpit”. See online docu here.


More information:

Tuesday, May 26, 2020

Extending NW Developer Editions (aka miniSAP) license

There are few resources discussing this topic that can be found out there on the internet. However every time I do the license extension I suffer a bit with it. Thus I providing this blog post to remind me how to do it for good 😃

First how to find out when the license of NetWeaver (NW) Developer Editions (aka miniSAP) will expire. Normally when you log into your system you get a below copyright popup which apart of other information (like last system logon date/time) reminds when the license will expire.


Another option is to see the same information from menu System -> Status -> under SAP System Data area:

  

Third option to see when the license will expire is t-code SLICENSE itself.


In case you haven’t logged into your NW developer edition for some time and you can’t remember the passwords or something like that so you are not able to see either copyright popup that comes after logon or you can’t login to your system at all as you getting the logon error like below just do the following. 


Use user SAP* and login to 001 client with password Down1oad. Nee to mention that password of the user SAP* depends on your particular version of the NW developer edition. Therefore the password I mentioned here may not be valid for all the NW developer edition that exit.

Now with regards how to extend the license. While you are in t-code SLICENSE notice the field Active Hardware Key. Open page https://go.support.sap.com/minisap select corresponding radio button System e.g. in case of  SAP NetWeaver AS ABAP 7.52 SP 4 it is an entry “NPL - SAP NetWeaver 7.x (Sybase ASE)”. Fill up rest of the fields like Salutation, First Name, Last Name, Email Address, Hardware Key – that you can find in the t-code SLICENSE. Afterward just accept the license agreement and hit Generate button. Your web browser will prompt you to save NPL.txt file that contains the license.

Now you need to import the generated NPL.txt file into your NW developer edition system via the t-code SLICENSE. There is in INSTALL button available which will prompt you to browse for the NPL.txt file you just downloaded.


One of the issues one may run into I that there will be an error while installing the license file like below “Error when installing permanent license key”:


To fix this first an existing expired license needs to be removed in the t-code SLICENSE. Via menu entry Edit -> Delete License. Afterward import of the license file will be successful. 

Once all finished you can login with regular user like BWDEVELOPER and the extended license will be reflected on the copyright popup...