Wednesday, July 22, 2015

How to find the table size in SAP system from SAP GUI

1. t-code DB02 -> Space -> Segments -> Detailed Analysis -> enter values into fields:

Segment / Object = table name
Type = TABLE

2. t-code DBACOCPIT -> Space -> Segments -> Detailed Analysis -> enter values into fields:

Segment / Object = table name
Type = TABLE

3. ABAP report RSTABLESIZE. On it selection screen just specify table into field "Table Name ". Notice this doesn't work for BW objects e.g. starting with prefix /BIC/* for which do DB statistics wasn't calculated yet.

4. Table DBSTATTORA which displays actual size of tables on the database. Just enter the table name into the field TNAME. Table size is shown in field OCCBL - Used blocks of a table in KB. Again to have this value in the table DB statistics must be up2date.

5. t-code TANA. Start first table analysis for desired table. Once it is finished display the analysis with the same t-code. Notice this t-code just gets no of entries of the table instead of table size.

6. Function module GET_TABLE_SIZE_. This is DB specific function. As SAP systems are basically "Any DB" systems which mean several major DB vendors are supported you just need to find proper FM for your DB.

Adabas/SAP DB                  ada/sdb         GET_TABLE_SIZE_ADA
Microsoft SQL Server          mss              GET_TABLE_SIZE_MSS
Oracle                                        ora               GET_TABLE_SIZE_ORA
IBM DB2/390                     db2              GET_TABLE_SIZE_DB2
IBM DB2/400                     db4              GET_TABLE_SIZE_DB4
IBM DB2 UDB                    db6              GET_TABLE_SIZE_DB6
Informix                           inf                GET_TABLE_SIZE_INF
Sybase ASE                       syb               GET_TABLE_SIZE_ALL
HANA Database                  hdb              GET_TABLE_SIZE_ALL

PS: let me know in case you are aware of any other options of how to find out table size form SAP GUI.

Tuesday, July 21, 2015

DB specific BW functions implementations

SAP BW system is similarly to SAP ECC "any" DB system. This means it support several DB platforms. In order to optimize performance of SAP system on particular DB platform some of its functions are specifically written for target DB platform. There can be optimization of SQL statements done in DB specific Native SQL or things that leverage other DB specific features. These "DB specific" codes are delivered in multiple development packages. Below I briefly introduce few main development packages specific for particular DB platforms.

pack:           description:                                        component:

RSSYB - SAP BW on Sybase ASE                           BW-SYS-DB-SYB
RSHDB - BW Porting HDB - HANA DB                    BW-SYS-DB-SDB
RSORA - BW: Oracle Porting                                 BW-BEX-OT
RSMSS - Microsoft SQL Server Porting                   BW-SYS-DB-MSS
RSADA - BW Porting MaxDB                                 BW-SYS-DB-SDB
RSDB2 - BW: Porting DB2-z/OS                            BW-SYS-DB-DB2
RSDB4 - SAP NW BW on IBM i (DB4) - AS400        BW-SYS-DB-DB4
RSDB6 - BW: Port DB6                                         BW-SYS-DB-DB6

SDBA_TERADATA - Teradata Monitoring & Admin  BW-SYS-DB-TD

Setting up password expiration time in SAP NetWeaver ABAP stack

Once new SAP user is created in SAP NetWeaver ABAP stack and password is generated it can get its expiration time. This is supposed to be a temporary password type of thing as it is expected that user will change it soon. Expiration time may vary as it governs by SAP instance parameter. Name of the instance parameter is:


The password expiration time or validity period of passwords is given in days. There may be following values specified in parameter. If the value is 0 it means user is not forced to change the password. If there is any value different from 0 it means the number of days after which users must change the password. Maximum permitted value is 1000 days.

The value of the parameter can be maintained in t-code RZ11.

Running webdynpro in SAP GUI

Even it is not very usual there is a possibility to run webdynpro application in SAP GUI. Or we can say to trigger webdynpro app in SAP GUI. There is a t-code WDYID - Display Web Dynpro Application which by help of ABAP function group SAPLWDY_PRGN_NODES (screen no 400) runs it. On its selection screen we can enter particular WD app into field "Applicatn" and then simply by hitting Enter key it runs. User is not prompted to login to the application. This is being because SAP GUI will generate a SSO ticket off of the user current SAPGUI login.

There is also possibility to create custom transaction codes to enable running webdynpros in SAP GUI. As per online documentation it should be type of "Transaction with parameters (parameter transaction)" and should point to t-code WDYID and should have screen = 0. Finally you need to specify two default values for new t-code with following names:

APPLICATION= your_wd_app_name

Monday, July 20, 2015

Versions of SAP Java Connector (JCo)

I introduced SAP JAVA Connector (JCo) in my previous post. While integrating JAVA and SAP applications one may come to issue because of usage of different version of JCo with combination of different Java JDK/JRE versions. Therefore in this post I briefly go via versions of JCo. In table below see different version of the JCo delivered over the years. Notice that is cases of some versions release dates are just approximate.

Release Date
Maintenance ends
1.x or 1.1
Pre 2002
December 31, 2003
December 31, 2008
March 31, 2013
December 31, 2017

To download the newest version of JCo see directory "SAP Java Connector" - "Tools & Services" at SMP quick link: or see Note 1672418 - Downloading the SAP JCO or 1944049 - Old release of SAP Java Connector (SAP JCo) download.

SAP Java Connector (JCo)

SAP JAVA Connector (JCo) is an API that allows bidirectional communication of a Java application with any SAP system. It is very much used while interfacing SAP application from JAVA based applications. It allows Java programs to connect to SAP systems and invoke Remote Function Modules (BAPI). It also allows parsing of IDocs (SAP Intermediate Documents) amongst other things. Both types (in/outbound) of the communication are supported.

The SAP Connector leverages following out-of-box libraries provided by SAP:

SAP JAVA Connector - is an API that allows bidirectional communication of a Java application with any SAP system

SAP JAVA IDoc Class Library – a suite of libraries providing an API which helps navigating, reading, filling, and modifying IDocs.

Both SAP libraries are part of JCo. The JCo libraries are coming licensed without additional license fees as part of the respective SAP solution or SAP component license for SAP customers.

More information: -> SAP Java Connector (SAP JCo)
SMP component: BC-MID-CON-JCO

Further investigating of SAP BW dumps

There are different types of ABAP dump one may encounter while working with SAP BW. Many of them are quite tricky to read. Even skilled BW developer or ABAP developer can be surprised at the end what really an issue was about. I just name few examples that can be seen here or here. What is an issue is that actually there are many areas within the dump that need to properly reviewed in order to come to conclusion of what is going on. Basically what we use once we look at the dumps is that we just review it very briefly w/o detail look at some of areas.
What I found recently is that following areas of the dumps are worth to look at:

Chosen variables - area lists out variable values at the time of dump. In many cases there might be values which may lead us to solution or at least gives us a clue of what is going on. In example below there was a very generic dump: UNCAUGHT_EXCEPTION / CX_RSR_X_MESSAGE. Symptoms of the issue was that load to DSO was just failing w/o any obvious evidence of what is wrong. 

 Monitor of the data load request was just read, no log or anything else was present. Finally someone took at this this part of the dump and there was an IO mentioned = 0WEEKDAY1. While looking up the IO name in an SAP Note (2079842 - Time check: Termination _CHECK_PART_TIME_WO_FINEST-6-) with solution was found. Therefore always pay attention to this part of the ABAP dump!

Sunday, July 19, 2015

What are SAP GRC solutions?

Term GRC in enterprise software refers to Governance, risk management, and compliance. This is the umbrella term covering a company's approach across these three areas:

1. Governance - combines processes established and executed within company that reflect the company's structure and how it is managed and led toward achieving goals.

2. Risk management - predicts and manages risks that could hinder the company to achieve its objectives.

3. Compliance - with the company's policies and procedures, laws and regulations. It helps to measure this compliance as it is considered key to an organization's success. Automated risk and compliance monitoring activities can help prevent and/or mitigate risk events across company.

In other words the GRC integrates and manages IT operations of company that are subject to regulation. The GRC solution typically combines applications that manage the core functions of GRC into a single integrated package. Speaking very simply; such a software issues roles to the user in addition it collects information who and when requested an access to particular function or data in the SAP system. It tracks who and when approved the access etc. among other things.

SAP has few GRC solutions for different LoBs:

1. SAP GRC Access Control - is a suite of tools to monitor, test, and enforce access and authorization controls across company. It complies with regulatory mandates (e.g. Sarbanes-Oxley). Using these tools companies can identify and remove access and authorization risks from its systems. Also preventive controls in business processes to stop segregation of duties (SoD) violations are supported. The solution has following capabilities:
1.1 Compliant User Provisioning (CUP)
1.2 Enterprise Role Management (ERM)
1.3 Risk Analysis and Remediation (RAR)
1.4 Superuser Privilege Management

2. SAP GRC Fraud Management (powered by SAP HANA) - it enables frauds analysis across industries. Also it helps to prevent irregularities or fraud in ultra-high volume environments. Technically it is add-on application for SAP NetWeaver AS ABAP and the SAP HANA database. Sometimes SAP Fraud Mngt is referred as part of SAP Assurance and Compliance Software.

online docu SAP Fraud Management - SAP Assurance and Compliance Software 1.1 SP07

3. SAP GRC Process Control - is solution for internal controls management. It supports audit team in gaining better visibility into business processes and ensures a high level of reliability in financial statement reporting. Moreover it enables documenting control environment, testing and assessing controls, tracking issues to remediation, and certifying and reporting on the state and quality of internal controls. Using a combination of data forms, automated workflows, certification, and interactive reports, this solution enables members of internal control, audit, and business process teams to effectively manage compliance activities.

4. SAP GRC Risk Management - enables companywide risk management process as mandated by certain legal requirements and recommended by best practice management frameworks.

5. SAP GRC Global Trade Services (GTS) - Solution to support control of costs, reduce risk of trade penalties and fines. In addition it helps to clear inbound/outbound customs in fast manner. Automation of trade processes in case of international operations, ongoing compliance, and tight integration throughout your cross-border supply chain.

Useful links: