Saturday, November 30, 2019

Power up your SAP NetWeaver Application Server ABAP Developer edition

In this post I try to describe what are interesting things how you can either enhance, tune, make more advanced and similar sort of things to your SAP NetWeaver Application Server ABAP Developer edition you may have installed. In next text I will call it this edition of SAAP NW AS ABAP just simply miniSAP.

With regards to where to get the miniSAP from and how to installed it on your machine refer to my blog here. Even that blog post is dedicated to 7.52 SP04 version of the miniSAP; the most of things listed here are valid for previous releases of the miniSAP as well; like SAP NetWeaver AS ABAP 7.52 SPS1, SAP NetWeaver AS ABAP 7.51 SPS2 or SAP NetWeaver AS ABAP 7.02 SP11, or SAP NetWeaver AS ABAP 7.03 SP04 etc.


1. LICENSE
Once the miniSAP is installed it comes with temporary license (installation number = INITIAL) that is valid for 90 days. It is possible to keep extending it for another 90 days once it expires. SAP says in theory license can be prolonged indefinitely. Here’s how to prolong your license.

First find out what is your Active Hardware Key. You can find it in t-code SLICENSE. Navigate your web browser to go.support.sap.com/minisap and find a radio button entry called “NPL - SAP NetWeaver 7.x (Sybase ASE)”, fill up a few personal data and put your Active Hardware Key into field called “Hardware Key”. Once you hit GENERATE button on the page you will be prompted to save NPL.txt file to your machine. Now to login as SAP* into 000 client and go to t-code SLICENSE again. Select license type “NetWeaver_SYB” and delete it via menu Edit->Delete License. Then choose button called Install and browse for the NPL.txt that was generated from SAP license site. See below pic how SLICENSE screen changes before/after you extend license for 1st time. That’s it; you got another 90 days to play with your miniSAP J



2. SPEED UP DB
2.1 removing granular permissions
By default, the ASE DB for NW comes with security feature called Granular Permissions. The feature supports fine-tune of separation of duties for role-based security. As normally this is not a use case for developer editions it can be switched off to let the system perform faster. Notice that you need to switch your user while you are already logged into your OS.
My attempt to change granular permission failed for first time when I tried to do it with sabnpl user. Instead I used user sybsso:
1> sp_configure 'granular permission',0
2> go
Msg 5861, Level 16, State 2:
Server 'NPL', Procedure 'sp_configure', Line 1310:
The current 'max memory' value '736443', is not sufficient to change the parameter 'enable granular permissions' to '0'. 'max memory' should be greater than 'total logical memory' '736621' required for the configuration.
(return status = 1)

To fix this I had to reconfigure the memory. Following command needs to be used under sapsa user:
/sybase/NPL% isql -Usapsa -X -SNPL
Password:
1> sp_configure 'max memory',740621
2> go
(1 row affected)
 Parameter Name   Default     Memory Used   Config Value   Run Value              Unit             Type   
 ---------------- ----------- ------------- -------------- ------------ ---------------- -------
 max memory            180224     1481242         740621         740621   memory pages(2k) dynamic
Configuration option changed. ASE need not be rebooted since the option is dynamic.
Changing the value of 'max memory' to '740621' increases the amount of memory ASE uses by 912 K.
(return status = 0)

Now 2nd attempt to change granular permission was successful:
/sybase/NPL% isql -Usapsso -X -SNPL
Password:
1> sp_configure 'granular permission',0
2> go
(1 row affected)
 Parameter Name              Default     Memory Used   Config Value        Run Value    Unit   Type   
 --------------------------- ----------- ------------- -------------- ------------ ------ -------
 enable granular permissions           0           0              0                   0 switch dynamic
Configuration option changed. ASE need not be rebooted since the option is dynamic.
Changing the value of 'enable granular permissions' does not increase the amount of memory Adaptive Server uses.
(return status = 0)

2.2 switching off DB auditing
Auditing creates a lot of records in the DB so again if we aim to gain most of performance in developer edition of AS ABAP it is better to switch it off. Be logged as sapsso user and execute following commands:
1> sp_configure 'auditing',0
2> go
 Parameter Name   Default     Memory Used   Config Value   Run Value    Unit     Type   
 ---------------- ----------- ------------- -------------- ------------ ------   -------
 auditing                   0           0              0              0 switch  dynamic
(1 row affected)
Configuration option changed. ASE need not be rebooted since the option is dynamic.
Changing the value of 'auditing' does not increase the amount of memory Adaptive Server uses.
(return status = 0)

In case of issues with memory allocated to the DB server you can use command for checking of memory configuration:
1> sp_cacheconfig
2> go


3 DB OPTIMIZATION
This is more related to SAP Basis people who know what can be done in t-code DBACOCKPIT. However, in order to make the DBACOCKPIT work you need to provide password (of user sapsa) for DB connection via t-code DBCO. The DBCO is just simple table maintenance view. There is an entry called “+++SYBADM” present. Just switch to edit view and supply your password for user sapsa in there. This will enable DBACOCKPIT t-code.

4 GENARATE ABAP loads – You can have ABAP loads generated (including BSPs and WebDynpros) by running it in via t-code SGEN. Notice that this can be very time consuming activity. Also size of your system can grow up significantly. However once this activity is accomplished it means that there won’t be any “compiling ABC in separate task” message in the system status bar popping up anymore. See some more details about SGEN here.

5 GENARATE TEST DATA
Data that are based on Flight data model (tables SPFLI , SFLIGHT, SBOOK) which are most of DEMO* ABAP programs can be generated via t-code BC_DATA_GEN. See details here.

Data that are based on Enterprise Procurement Model (EPM) can be generated by t-code SEPM_DG. See details here.

Data for SAP Fiori Reference Application. Run t-code SEPM_REF_APPS_DG - EPM Reference Apps Data Generator (ABAP rep REF_APPS_DG)

5. ABAPGit
In order to leverage all ABAP open source projects that are out there (see dotabap.org) and many more I advise to install ABAPGit report from here. See details here. By “many more” I mean that the ABAPGit opens you whole new world of managing your source code as we now it from different development ecosystems than SAP.

6. ABAP in Eclipse (AiE) = ABAP Development Tools (ADT)
In order to start developing ABAP in Eclispse environment you need to install Eclipse first and then the Eclipse menu Help -> Install New Software all the plugins that are needed. See details here: Connecting to SAP backend with Eclipse,  How to install SAP NetWeaver Application Server ABAP 7.03 SP04 Trial – Ready for ABAP in Ecplipse (AiE), What are Eclipse based SAP development tools?
For general setup of ABAP Back-end for ABAP Development Tools see this guide.

7. TRANSPORT SYSTEM (Enhanced SAP Change and Transport System (CTS+)) This come handy in case you need to transporting none ABAP objects via CTS. Means none ABAP objects are transported via on premise ABAP Server.
As starting point for all information on CTS+ refer to tools.hana.ondemand.com/#abap


There can be many other things that you may want or need to customize, setup or change from default state in which came in your miniSAP. Just to mention few more that coming to my mind: splash screen in GUI (that famous “water drop” symbol that comes as default), customize t-code SE80 – development workbench which has plenty of settings (also splash screen is there). Feel free to share your experience what else you changed in your install of miniSAP J


No comments: