Thursday, February 20, 2020

SAP UI themes

Over the years SAP came with many themes for their UI technologies like SAP GUI, Web Dynpro for ABAP/Java, ITS (SAP GUI for HTML), BSP, HTMLb, BI, JSF, NetWeaver Business Client, Enterprise Portal, SAP UI5, SAP CRM UI and etc. In this blog post, I mention few of major ones.

First, there are two main categories of the SAP UI themes based on Unified Rendering (UR):

·        UR Classic = Unified Rendering Classic or UR 1.0
·        LS = Unified Rendering Lightspeed or UR 2.0

In general the UR is a SAP proprietary HTML rendering and JavaScript library for SAP UI technologies.

Frameworks (UI technologies) that use UR Classic are (at this point of time):
·        Web Dynpro ABAP (WDA-UR): SAP NetWeaver 7.00, SAP NetWeaver 7.10 
·        Web Dynpro Java (WDA-UR):  all SAP Netwaever releases out of maintenance ( <= SAP NetWeaver 7 EhP2 (7.02) )
·        Business Server Pages (BSP)
·        HTMLB for Java
·        SAP BEx Web Analyzer (Business Intelligence - BI)

Frameworks (UI technologies) that use UR are (at this point of time):
·        Web Dynpro ABAP (WDA-LS): >= SAP NetWeaver 7 EhP1, >= SAP NetWeaver 7.11
·        Web Dynpro Java (WDJ-LS): >= SAP NetWeaver 7.10)
·        SAPGUI for HTML (HTMLGUI-LS): ABAP kernel integrated ITS
·        Lightspeed Server Faces (LSF)

SAP GUI themes:
SAP Belize Theme – started in 2016, adopted Fiori 2 theme for classic applications
SAP Blue Crystal Theme – started in 2013 came with a new color scheme (blue and white), revised UI elements, revised SAP GUI icons, it was inspired by the Blue Crystal Design in SAP Fiori.
Corbu Theme – started in 2012 came with reduced contrast and revised SAP GUI icons
SAP Signature Theme – started in 2008 as of SAP GUI 7.4, the theme was offered for all SAP UI technologies in order to ensures the harmonization of different UIs
System Dependent Theme – inherits theme from SAP backend system
Tradeshow Theme – refined Streamline Theme
Streamline Theme – introduced first for SAP Enterprise Portal product
Enjoy Theme – started in 1999 as of SAP GUI 4.6
Classic Theme – started in 1999, OS Windows theme up to Windows 2000
For details see also post called: SAP GUI visual designs.

Fiori 3 themes:
SAP Quartz (Light/Dark)

Fiori 2 themes:
SAP Belize (Deep/Contrast White/Contrast Black)

Fiori 1 themes:
SAP Blue Crystal

SAP NetWeaver 7 EhP2 themes:
SAP Corbu
SAP Gold Reflection - alias for SAP Corbu theme

Custom themes can be created with SAP UI Theme Designer and  Portal Theme Editor:
SAP Tradeshow
SAP Tradeshow Plus - also known as SAP Signature Design


More information:
710719 - SAP GUI family and visual designs ("themes")
2000110 - Unified Rendering
2124106 - Themes for Unified Rendering based UI technologies (Web Dynpro ABAP/Java, BSP, SAP GUI for HTML, BI, JSF)

Conversion of basic cube into transactional (real time) one

 Once you create a basic cube in t-code RSA1 there is nothing within that t-code that would enable BW developer to change the cube to transactional (real time) one. However, there is an ABAP report, which supports such a conversion. It is called SAP_CONVERT_NORMAL_TRANS Conversion: Normal <--> Transactional InfoCube. The report also support backward conversion from transactional to basic (normal).


Here is brief overview of the report UI and its output:




Tuesday, February 18, 2020

Cube load failure call subroutine FILL_SID_CACHE

Some loads to BW cubes may fail with below error that is related to subroutine FILL_SID_CACHE.

An exception with the type CX_SY_DYN_CALL_ILLEGAL_TYPE occurred, but was neither handled locally, nor declared in a RAISING
The attempt to call the subroutine FILL_SID_CACHE in the program &PROGRAM& failed due to a type error involving parameter number
An exception with the type CX_SY_DYN_CALL_ILLEGAL_TYPE occurred, but was neither handled locally, nor declared in a RAISING
Error while updating to target XXXX_XXX (type INFOCUBE)
Data package 1 / 17.02.2020 20:40:29 / Status 'Processed with Errors'



There is SAP note 1972401, which describes this error.  Regeneration of data loads to the cube of the program happened automatically but call of the form routine went to the older version of the program. Therefore, it failed. Issue is most likely caused two possible reason. One can be buffering problem. Second can be that a loading process was already connected to the old version of the generated program.
As workaround, one can try to reactivate the corresponding DTP or involved TRFN and repeat the load. If it does not help use program RSDD_RSTMPLWIDTP_GEN_ALL with both check box ticked off for the BW cube that is affected.


More information:
1972401 - DTP failed due to Exception CX_SY_DYN_CALL_ILLEGAL_TYPE
2172882 - DTP execution failed with CX_SY_DYN_CALL_ILLEGAL_TYPE and FILL_SID_CACHE

Monday, February 17, 2020

Table RSBKADMIN – DTP System Specific Attributes

One of tables that carry data specific to DTP attributes in BW is table RSBKADMIN. Although from pure customizing/setup point of view the tables is not foresaw as configuration table there are few parameters that can be introduced into the table. Before implementing any of the parameters below always check SAP support Notes and carefully review whether it is valid for your specific BW release.


Field                                            Value           Note             Description

DTP_TRAN_BATCH_SET                 X                  1412351        2665713          Enables the parallelization settings for data transfer processes (DTPs) to be written to the same transport request when the DTPs are exported.

DTPA_MATCH_ORDER_INS            POI               1413183        DTP transports stability
DTPA_MATCH_ORDER_DEL           IOP               1413183       DTP transports stability

NUMBER_OF_TRIES                      >10              1344464       value is * 10 seconds as a time for which the system waits for a free batch process before it fails

RSBK_OHD_HANDLED_AS_DM       OH name/$ALL$ 2217444   Open Hubs to be managed as data marts

DISABLE_LATE_MAT_HINT_OFF               2512058       Deactivation of DB hint for all DTPs

DM-EXTRACT-DEBUG                    cube/DSO name       2664950       Copy DTP settings batch, selection etc, while using copy tools like t-code RSCOPY

USEALLPARALLELPROCS                       X            1953252      
Or
DTP_TECH_NAME                         USEALLPARALLELPROCS     Few parallel background work processes generated
         
NO_LATE_START_OF_CHILDREN                        2561210       2181717          System prevents batch jobs of DTPs from ending themselves again if too little work is available

ERRORHANDLER_EXTRACT_ALSO_RED     2305126       Allowing extraction of red error requests again

DEBUG_DTP_START_IN_PC                               2810067
DEBUG_DTP_IN_PC_STREAM_END
DEBUG_DTP_IN_PC_STREAM_START                            Debugging of DTP in PC

                    NO_LATE_START_OF_CHILDREN    2181717       Disallow later starting of new children

                    DETERMINE_ROUTINES_LIKE_IPAK           1675245

                    NO_NEW_DTP_REQ_LOG              1567992
Or
NO_NEW_DTP_REQ_LOG              X                            Deactivating of new DTP logs for all or specific DTP

ODP-DM-DEBUG               2598503       Debug loop in new ODP DM per DataSource

ENQ_DTPH_CHECK                       X                  2728578       Do not write traces/TE1 messages into tables RSENQSM21PROT and RSENQSTACK

ICUBE_NO_GROUP_BY_EXTRACTION cube/DSO name    2877623       Switch off of performing a Group_By for InfoCube extraction

MESS_TYPES_9000                      AEXW           1646307       If a warning messages need to be added into DTP log after the 9000th message

WODSO-DELCHECK-FORALLENTRIES        OFF     2124611       Reactivation of old method for processing the SELECTs on the tables RSSTATMANREQMDEL and RSBKREQUEST during the update of a delta request to a write-optimized DSO

DROPDTA_DEL_RSBKDATA_TOO               1793726       Enables RSBKDATA and RSBKDATAINFO tables deletion synchronously when the data target content is deleted completely

          DELETE_TT_REQUESTS_ALLOWED 2806685       If you want to delete the 1900... requests that were generated by the new request transfer

DTP_OLD_TT_TRFN_MAPP             ALL               2888462       Improvements to DTP transfer with respect to messages generated

USE_OLD_CONTROL_IN_MANAGE           2161530       Table control to be replaced by an SAP List Viewer (ALV) for manage screen of ADSO objects

Suppressing messages generated by BEx Queries

BW (formerly BEx) queries are normally raising many messages either information, warning or errors. Sometimes some of them may confuse end users. Therefore, it might be useful to get them suppressed. There is a nice way how to do it via t-code RSRT. The RSRT serves as the query monitor. The BW queries can be tested, checked, and managed. Many technical things can be setup for the queries like regeneration of the queries, checks or change the query properties, displaying technical information, monitor the query cache etc.
One of the RSRT features is to suppress messages of the BEx queries. There is a button called Messages available in the RSRT. Thru a screen available on that button one can determine which messages for the chosen query are not to be shown to the user in the front end.

On the left-hand part of screen area, there are listed message categories via them one can navigate between the messages. The catalogers includes the messages related to: Generation, Hierarchy, Variables, Key Figures, Calculate As, Other, Planning, Data Integrity etc. Further, on right hand side of the screen area there are particular messages listed. Each of them can by suppressed by ticking off corresponding check box. Moreover, on bottom part of the screen area a long text of the particular message that is highlighted is displayed.

If you need more sophisticated solution to suppress the messages, you may consider implementing exit/enhancement into the FM RRMS_MESSAGE_HANDLING that is handling all the messages for the BEx queries. Using this approach an customer specific logic related to the messages processing can be implemented or customer messages can be added.

In addition, in some specific cases you may need to call FM like RRMS_MESSAGE_OFF_RESET which enables the message display by resetting the suppression of the messages. This might be needed in case the messages are not popping up. There is also FM RRMS_MESSAGE_OFF available which suppressing the messages completely.


More information:

2007609 - Display Message in Variable Customer Exit doesn't Work for a BW Query



Monday, February 10, 2020

SAP GUI 76

As of 25th of February 2019 a successor to GUI 7.5 (for Windows) was introduced. Following features are counted as a major or new enhancements:
As it is built on, Visual Studio 2017 that is supported by Microsoft until April 2022.

From user interface point of view:
It further supports Belize theme that can be used for all SAP products, which are presently supported by SAP.

Various improvements implemented for the support of SAP Screen Personas in SAP GUI. SAP Business Client Integration.

End user help for the SAP GUI is no longer delivered as .chm documents; instead, it is a collection of HTML documents.

Themes like Enjoy / Streamline / Tradeshow / System Dependent were removed from the delivery of SAP GU.

SAP UI Landscape is available as a replacement of saplogon.ini file as a contained for all SAP GUI related settings.

Restore & Clean-up” option available in Options of the GUI to allow restoring SAP GUI default settings and delete locally stored files.

Also in the options dialog and Import and Export of SAP GUI settings is now available.

Grid View (ALV) Control now offers an input history like edit fields or table control cells. The history persists per column and allows an easy re-use of values which are frequently entered by the user.

SAPPDFPrint is now integrated into the SAP GUI installation.


From GUI installation point of view:
Introduction of SAP GUI for Windows "core" patches and "delta patches". The core ones are now full installations of the SAP GUI and delta ones only contain those files which have been changed since the initial delivery. Notice that in this case you always need installation media called "Compilation" to install SAP GUI afterwards you can do deltas.

More information:
2600384 - New and changed features in SAP GUI for Windows 7.60

SAP GUI 75

As of 14th of August 2017 a successor to GUI 7.4 (for Windows) was introduced. Following features are counted as a major or new enhancements:
As it is built on, Visual Studio 2013 that is supported by Microsoft until April 2019 the SAP GUI 74 lifetime will be longer comparing to SAP GUI 7.40 (built on Visual Studio 2012).

From user interface point of view: It supports SAP Screen Personas 3.0. There are a "Fiori visual theme" introduced much for S/4HANA 1610 Feature Package. There is a new theme called Blue Crystal Theme as default available. SAP UI Landscape format is enabled by default as of SAP GUI for Windows 7.50.

Old and famous librfc32.dll is removed now in GUI 75. Due to architecture change within SAP GUI 75 all BEx tool are now using .Net Connector of version (NCo) 3 whereas in lower versions of the BEx tools the NCo version 2 was used. Thus, the RFC library has changed as well. See below SAP Notes for details:

2602275 - Where is librfc32.dll in SAPGUI 7.5?
2256415 - Adaptation of RFC controls (Logon, Function, Table and BAPI) to use SAP NetWeaver RFC Library

Support of HTTPS protocol to access GUI Security rule file saprules.xml SAP UI Landscape file.

More information:
2417687 - New features in SAP GUI 75

Sunday, February 9, 2020

How to find out who ran PC?

Today another blog post regarding process chains. It is about how to find out who ran the process chain (PC). There is a very useful t-code RSM37 that provides many useful information about BW workloads like jobs. The PCs are nothing else just a jobs from SAP basis point of view. Thus by a quick look into the RSM37 it is easy to find out who ran the PC.

Here how to do it:

RSM37 -> first search for all BW jobs -> find particular PC name by placing a filter at 2nd “Selection value” column -> if there are still many entries (because all steps in the PC are listed here) filter also process type column normally called “Value” e.g. filter as TRIGGER.


Similarly, one can go to PC log from t-codes like RSPC or RSPC1 and look at start variant of the PC. Then double click on corresponding basis job log and on that screen, again user who ran the PC is available at column called “Job Created by”.



Friday, February 7, 2020

BW jobs/work processes hanging within program SAPLSENA

BW system may face a strange situation where there are many jobs or work processes hanging and obviously doing nothing. They are called zombie processes and then hanging with ABAP programs like SAPLSENA, SAPLRSSM, SAPLRSSM_LOAD, SAPLRS_G or SAPLRS_GENERAL etc. During situations like this the BW systems gets slower, loads are not being finished etc. In addition, an unusual number of locks may be observed in t-codes like SM12. Issue is that the system entered into dead lock. One may try to kill those work processes manually in t-codes like SM66, SM50 or killing jobs in SM37. However, it will not help as they start to pile up again quite soon.

Generally speaking; a reason why the system entered into such a state is that massive run of parallel delta loads caused a long wait time of locks. This can be also observer in table RSREQDONE field LOCKWAIT and in tables RSREQDONE or RSICCONT. Other symptom can be that infoproviders involved within the data loads are carrying heavy numbers of requests. Consequently, an enqueue management of the load request administration is not up to date.

To prevent such a situation the key is to have the enqueue management of the BW system always up to date. There are many points to be considered in order to achieve this. They mostly vary on BW version. But generally speaking parallel delta loads need to be kept on reasonable level same as the number of requests in the administration of the infoproviders are to be kept reasonable.
For details per particular BW version see SAP Note 1827854.


More information:
1827854 - Enqueue/Lock during parallel data loads
653996 - Analysis of lock situations

Deleting overlapping requests

A process available in process chain called "Delete Overlapping Requests" is very useful feature within the administration of data targets. I blogged about it already here. This time I want to point to few situations that may occur while using the process mentioned.

First of all the "Delete Overlapping Requests" process in case of DTPs with respect type of the DTP. It is a common misunderstanding that only DTPs type of FULL load are supported. That would mean that in case the DTP is type of DELTA the deletion of overlapping request will not work even the deletion conditions are met. However, there is a way how to make it work. Depending on BW version a Notes like 1336410 (70SP22: Enhancements to CL_RSBK_DTP=>GET_ALL_BY_PROPERTY) and 1359397 (P22:PC:REQUDEL:Switching full variant to deleting delta DTPs) need to be implemented. Once it is the case, the "Delete Overlapping Requests" process works with delta enabled DTPs. Only drawback is that the DTPS must be set with indicator specifying that delta data is to be transferred only once. Also another option to try out is to first set the DTP to full mode in that way specify the DTP into the "Delete Overlapping Requests" process and afterward to set the DTP into delta mode.

Another interesting case can be; when "Delete Overlapping Requests" process works with DTP, which has Routines on its filter. Depending on filter’s field (infoobject) one needs to be careful while carrying out ABAP coding. Especially during populating range low/high value by using variables that are of different type as the field/infoobject. Because of ABAP nature while converting between different data types a value can be aligned to LEFT instead to RIGHT. Thus value that is aligned to other side is not recognized as correct value. See Note 2392079 ("Delete overlapping request" variant does not work properly if DTP has a filter routine) for specific example.


More information:
2753683 - "Delete overlapping requests" variant does not delete expected requests

Monday, February 3, 2020

BEx QD errors "BI system has version; 70000 is required" or "System is not a BI system"

After update of SAP GUI to version 75 there are below error popping up during startup of BEx Query Designer:

"BI system has version; 70000 is required"
or
"System is not a BI system"


This is caused by an architecture change within SAP GUI 75 where BEx tool are now using .Net Connector of version (NCo) 3 whereas in lower versions of the BEx tools the NCo version 2 was used. The SAP standard function modules like RFC_METADATA_GET / RFC_METADATA are used for data exchange between the BEx Query Designer and the SAP BW backend. To run the FMs user needs must have an authorization object S_RFC assigned.  Only this grants the user possibility to run the FMs.

To solve this the roles of the BW developers need to be extended with the mentioned authorization objects.

More information:
2577916 - Error "BI system has version; 70000 is required" or "System is not a BI system" occurs in Bex Analyzer after update to SAP GUI 750
Wiki - Checking Tx RRMX with SAP GUI 750/760

Sunday, February 2, 2020

BEx QD error: Hierarchy does not exist for InfoObject

BEx Query Designer may show a below error related to in consistent data in SAP BW hierarchy tables.

037(BRAIN) "The hierarchy &2 &3 &4 does not exist for InfoObject &1"

Issue typically lies within table RSRHIEDIR_OLAP. There might be an inconsistent entries in the table exit. Those entries can be fixed with a help of ABAP program RRHI_CORRECT_OSID_KTAB. 

In addition, depending on particular BW version root cause can be completely different. In case there is a hierarchy node variable that is used in the BEx Query and which is bound into hierarchy that does exist in development BW system but it doesn’t exit in target BW system (Q or P) the error may appear. Tricky part here is that simple re-assignment of the variable definition from non existing to existing hierarchy doesn’t help. Only way that solves the issue is to deletion of such hierarchy node variable and its recreation again from the scratch.



More information:

1900360 - BRAIN037 during query execution using a hierarchy with THJ
2177061 - Runtime Error RAISE_EXCEPTION in CL_RRHI_VIRT_HIER_SINGLETON - exception HIERARCHY_NOT_FOUND
2754938 - Enhancement of hierarchy correction report (rsrhiedir_olap)
2433852 - How to repair inconsistent Hierarchies

Thursday, January 30, 2020

Authorization relevant t-codes in SAP BW

Here’s a brief overview of BW authorization / security relevant t-codes.

Transaction Code     Short text
RSECADMIN            Manage Analysis Authorizations
RSECAUTH               Maintenance of Analysis Auth.
RSECAUTH02           Mass Maintenance - Analysis Auths
RSECENVI                Assignment Environment Authorization
RSECPROT               Maintenance of Analysis Auth.
RSECSY                   Mass Maintenance - Analysis Auths
RSU01                     User Maint. BI Analysis Auth.
RSUDO                    Execution as Other User
RSUDU                    Execution as Other User

More information:
2182164 - RSECADMIN Overview [VIDEO]
1234567 - The authorization log RSECADMIN
2552884 - HowTo: Bex query authorization analysis - decision tree
177875 - Authorizations for investigation of OLAP problems
2044628 - How to record and save an OLAP authorization trace using transaction RSECADMIN

Wednesday, January 29, 2020

Few remarks on usage of RSUDO / RSECADMIN t-codes

Suite of t-codes like RSECADMIN (central t-code Analysis Authorization management) and RSUDO (Execution as Other User) are very important while analyzing issues of production queries. Very important is feature of the RSUDO (btw it is very smart name of the t-code, similarly like on OS level – execute something on behalf of other user) which simply executes the BW report on behalf of other user.

Normally we can expect that while user A executes particular query on behalf of other user (let’s say user B) the query result should be the same as the same query is executed by user B directly.

However, such an assumption might be wrong. Especially it can be wrong on cases in where customer exit variable is used in the query definition or in user's authorization definition. Other case can be while a system variable sy-uname is used in customer exit variable coding.

Reason is that value of variable sy-uname can’t be converted in case one user executes the query on behalf of other. The system cannot change the sy-uname variable. Thus the A value of the sy-uname is in place for user A and B value for the same is in place for user B.

One of the solution how to avoid such a situation is to avoid usage of sy-uname in the customer exit coding. This can be done at least for cases when variable is used in the query definition or in user's authorization definition. By leveraging function module  RSEC_GET_USERNAME in coding a proper user name (the one of which analysis authorization should be evaluated ) can be retrieved.

See also help pop-up in t-code RSUDO available under button “How does this work”.



More information:

1914703 - Transaction RSECADMIN "Execute as User" has different BW query result compared to direct BW query execution result by this user



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