Tuesday, September 30, 2014

Sequencing of function modules execution

Recently I ran into the issue of having one standard SAP function module (FM) which needed to be followed by COMMIT. As you may know such FM do not create any data as the real date need to be posted by the COMMIT. My solution was to create custom ABAP report where I called standard FM first and then BAPI_TRANSACTION_COMMIT.

However later I realized that creation of ABAP report wasn’t necessary. There are feature of Tcode SE37 which allows to you execute several FMs in sequence. By this I can call standard SAP function module and then COMMIT one.

This feature is available on main screen of tcode SE37 under menu Function Module -> Execute -> Test Sequences. There is a pop-up window which allows you to specify the sequence of FMs:

More information:

ShellShock – UNIX/Linux systems bash vulnerabilities, is SAP affected?

Earlier this year we all experienced a bug in OpenSSL called Heartbleed. Seems there is never enough security issue around and last week ShellShock appeared. The ShellShock is vulnerabilities (CVE-2014-6271 and CVE-2014-7169) in UNIX/Linux’s bash (GNU Bourne-Again Shell) shell.  The bash is command line shell used in many UNIX/Linux/Mac OS based operating systems. Flaw in there can potentially allow attacker execute shell commands. This can be achieved by attaching malicious code in environment variables used by the OS. To fix this patch for needs to be applied for specific OS. A vendor of particular OS needs to provide the patch and customers have to apply it.

In case of SAP as an application running on affected OS situation is as follows. As SAP has standardized its OS scripts on C Shell there should be an issue. However there might be customer’s script still bash based. Therefore a careful and thoroughful checks are advised to be performed.

Anyway SAP is still investigating what influence this vulnerability may have on its software. Therefore keep an eye on SAP Note below to receive up to data information from SAP about the issue.

More information:

2072994 - "ShellShock“ vulnerability (CVE-2014-6271)

Monday, September 29, 2014

Connecting to SAP backend with Eclipse

I bet that many of you already tried ABAP development in Eclipse (AiE). The Eclipse is modern development platform and has a lot to offer also to ABAP developers. I tried the Eclipse recently (see my post: How to install SAP NetWeaver Application Server ABAP 7.03 SP04 Trial – Ready for ABAP in Ecplipse (AiE)) and I must say I like it and currently it is my preferred way of developer IDE. Needless to say that Eclipse is not only for ABAP development but currently there are many other SAP development objects backed by the Eclipse.

Once I started with AiE I tried to use it in as many systems as I have an access to. For some of them it worked for some it didn't. Actually my attempt to connect SAP back-end ended with following error message:

User xyz is not authorized to access system ABC via ABAP in Eclipse (The system does not support Eclipse based ABAP Development Tools).

Therefore I started to look what are prerequisites to connect with the Eclipse to SAP backend system. What needs to be deployed in SAP NEtWeaver ABAP backend is software component called SAP_BASIS_AIE. There are following versions of this component:

Available as of
SAP Note
1718399 - RTC of ABAP Development Tools for SAP NetWeaver
1856574 - RTC of ABAP development tools for SAP NetWeaver 2.7
1886449 - RTC of ABAP development tools for SAP NetWeaver 2.13
1916008 - RTC of ABAP development tools for SAP NetWeaver 2.16
1950493 - RTC of ABAP development tools for SAP NetWeaver 2.19
1985505 - RTC of ABAP development tools for SAP NetWeaver 2.24
2020847 - RTC of ABAP development tools for SAP NetWeaver 2.28
2041627 - RTC of ABAP development tools for SAP NetWeaver 2.31

They all need at least SAP enhancement package 3 for SAP NetWeaver 7.0. Means any SAP NetWeaver ABAP 7.03 SP04 or 7.4 SP00 and higher system.

More information:

What are Eclipse based SAP development tools?

For SAP an Eclipse become an strategic tool. As seen in last few years more and more development tools are moving to Eclipse. The Eclipse is not only the tools for JAVA like languages but SAP is embracing it into more and more offerings for different areas of SAP related development.

Architecture of the tool is as follows. There is a standard open source Integrated Development Environment (IDE) framework of Eclipse. Furthermore there are so called SAP relevant plug-ins into the Eclipse which enhances its functionality for SAP development objects. Plug-in appears in the tool as perspective. There are many different perspectives for different SAP objects.

Here's a short summary of the currently available development tools that are based on the Eclipse:

SAP Visual Composer - A design tool that facilitates the creation of SAP Enterprise Portal content using a visual user interface, rather than writing code. The tool appeared for first time approximately in 2004. Download.

SAP HANA Studio - A collection of tools that manages data and monitors the SAP HANA database. The SAP HANA Studio provides an administration console, a modeler, and a lifecycle management perspective. First time appeared with event of HANA in 2010. Download.

ABAP in Eclipse – First attempts of having Eclipse for ABAP development appeared in Feb 2008. On June 2012 an AiE – ABAP in Eclipse = ABAP Development Tools for SAP NetWaver was released. Download.

SAP NetWeaver Developer Studio – Developers can develop an objects for SAP NetWeaver. Mostly it is related to Web Dynpro for Java applications as there is Web Dynpro perspective available. Also there is a range of toolsets such as the Web Dynpro design time tools, graphical tools for the development of J2EE applications, and Web Service client tools. SAP NetWeaver Developer Studio is integrated into the SAP Java development infrastructure. The SAP NetWeaver Developer Studio appeared approx. in 2005. Download.

SAP NetWeaver Gateway – So called SAP Mobile Platform tools. Development objects are client development objects. The tool helps designing and provisioning OData services for SAP Mobile Platform Download.

SAPUI5 – So called UI Development toolkit for HTML5 (or SAPUI5 tools). SAPUI5 was introduced in 2012. Download.

SAP HANA Cloud Platform tools – Tool for developing of apps for SAP HANA Clpud Platform. Appeared approx. in 2012. Download.

SAP HANA Cloud Integration tools - facilitates the integration of business processes and data across on-premise and cloud applications. Data integration capabilities allow you to efficiently and securely use ETL tasks to move data between on-premises systems and the cloud. It contains following features: Designer and Operations for SAP HANA Cloud Integration. Appeared approx. in 2012. Download.

Thursday, September 25, 2014

How to check whether your ABAP NetWeaver is HANA DB based?

Tonight this will be just very short blog post. It is about how to check whether SAP system is running on HANA. In particular how to check that within ABAP program. We can use following statements.

Option 1: Classic way:

IF sy-dbsys NE 'HDB'.
MESSAGE i398(00WITH 'this is not HANA'.

Option 2: More sophisticated way J

IF cl_rs_utilities=>is_hdb_system( ) <> rs_c_true.
MESSAGE i398(00WITH 'this is not HANA'.

Related posts:

What is replacement of Visual Administrator (VA)? NetWeaver Administrator (NWA)

JAVA Visual Administrator (VA) tool (also known as J2EE Visual Administrator tool) is well known for SAP Basis guys. It is graphical user interface (GUI) which enables administration of JAVA related settings across all clusters and all modules running on them. By using it administrator can do things like remote management and monitoring of managers, services, libraries, and interfaces, log files, changing key store etc.

The tool can be started via go.bat (on WINDOWS) or go.sh (on l/unix) from server path: usr/sap///j2ee/admin/

The tool was introduced early when JAVA stack of NetWeaver came to market. What has changed with introduction of SAP NetWeaver 7.1 EhP1 is that Visual Administrator got ramped down and is replaced by SAP NetWeaver Administrator (NWA). 

The new NWA is browser tool for administration and monitoring of SAP NetWeaver JAVA Application Server system. The tool runs as a servlet on the Java engine. 

It is accessible on top of your JAVA stack under following URL: http(s)://:/nwa 

All its function are accessible either via menu within the tool or via URL shortcuts. List of all shortcuts is available on: http(s)://:/nwa/quicklinks

More information:

Wednesday, September 24, 2014

Communication between SAP GUI and SAP server

It is the fact that by default communicating between users’ SAP GUI and SAP server is not encrypted. However this information is not very known within SAP people community. Most of the people simple do not know about it. User’s data like passwords can be compromised while it is being end over the network. It is not very important to make this communication secure means to make it encrypted. There is setting in SAP GUI which enables encryption. 

It is available in Properties of particular SAP system in your SAP LogonPad. To enable it and checkbox in front of “Activate Secure Network Connection” must be active:

However to simple set this setting ON is not enough. There are activities on SAP backend to be done. It is so called Secure Network Communication (SNC) library that needs to be installed in both sides’ client and server. The SNC provides security at the application level. It makes secure connection between the SAP GUI (it support DIAG and also RFC protocols) and the SAP application server.

Further information:

How to use SAPCAR tool

Most of SAP installation files are delivered in compressed form. The files are compressed in order to make them smaller and therefore better stored on installation media in so called archive. In particular SAP is using their tool to do compression related stuff. The toll is called SAPCAR (formerly CAR). It works with files of extensions like *.CAR or *.SAR. Basically the tool is very similar to gzip tool very known from Linux/Unix like OS. Location of the tool on OS WINDOWS is usually in folder: x:\usr\sap\\DVEBMGS00\exe.

Lately I had to use this tool quite often so I thought I prepare for myself short guide with most used parameters of SAPCAR as an reference for me.

1. Information about SAPCAR and environment:
sapcar h

It shows basic information on SAP kernel release, compilation info, supported SAP environment and OS information.

2. Extracting files from archive:
sapcar –xvf archive –R directory

e.g. sapcar -xvf "c:\tmp\SAPCRYPTOLIB_36-10010888.SAR"
Extracts archive into current folder of SAPCAR

3. List of files contained in archive:
sapcar –tvsf archive

e.g. sapcar -tvsf "c:\tmp\SAPCRYPTOLIB_36-10010888.SAR"

4. Verify the archive:
sapcar –dvf archive

To test of the archive is consistent.

5. Create new archive:
sapcar –c archive file1 file2 ..

e.g. sapcar -cf c:\tmp\myarchive.sar c:\tmp\RADDBDIF.NSP

6. Append files to existing archive:
sapcar –avf archive file1 file2 ..

e.g. sapcar –avf c:\tmp\myarchive.sar c:\tmp\sapcpp47.dll

Saturday, September 20, 2014

How to delete BWA index data

This can happen that we copy one BW system with BWA into the other one which has no BWA. In an event of such a copy we need to take care of BWA related settings. Basically we need to BW system know that there is no BWA available.

Enabling of BW backend to forget on BWA involves few steps:

Deletion of BWA indices: This can be done in TA RSDDB. Ensure that all indices are deleted also the ones of master data.

Deletion of Explorer (Polestar) indices: To be done in TA RSDDTPS.

Deletion of indices management tables: To be done by ABAP report RSDDTREX_ALL_INDEX_REBUILD with the following options checked: “Edit all indexes?” and “Only delete, No rebuild?”.

Deletion of BWA’s RFC connection in customizing: Done in customizing table RSADMINA. Delete value in field “HPA BW Accelerator [TREX_RFC_DEST]”. Accessible via TA RSCUSTA or TA RSA1 -> Settings -> Global settings.

Further info:
979609 - BWA 7.00: Move a BWA box from Test to Production Environment

1146983 - System copy and BIA server

Thursday, September 18, 2014

How to trace RFC calls

Integration projects where we deal with different systems communicating between each other are pretty challenging. Comparing to other projects where everything happens in one system there is a huge effort to check if integrated systems are communicating together. This can be sometimes really tricky. Sometimes one cannot even be sure about single BAPI whether its call properly reached the system or not.

One of the ways how to simple check if RFC function residing in SAP (e.g. BAPI) was called can be achieved in TA ST05. Here it is possible to set so called RFC Trace. This is functionality which listens on calls from remote systems and tracks it down.

All what needs to be done to set this trace on, perform the remote call to SAP, deactivate the trace and analyze the trace results:

Tuesday, September 16, 2014

Report RSPPARAM – display profile parameters

Today - just very quick one related one useful tool. There are transactions available in the system to see what are values of system profile’s parameters. Just to name few:

RZ10                 Maintain Profile Parameters – complex one, you can choose different profiles and 
its version, and you can maintain the parameters here via Extended maintenance radio button

RZ11                 Profile Parameter Maintenance – you can display just one parameter at the same time and change its value

But what to do if I need to see values of several parameters? I do not want to go one by one within TA RZ11… There is nice and handy ABAP report called RSPPARAM. It allows displaying of current settings of the several profile parameters at the same time in one screen. Moreover I can select pattern for name of params using wildcards.

PS: I mentioned this report for first time in this blog at this post: Strange question marks appeared in SAP user interface?

Thursday, September 11, 2014

Refresh Function for Individual Query in BEx Analyzer

Sometimes BW power users are maintaining huge workbooks with many queries. Kind of their “personal dashboards” with important data out of BW systems. The problem with these workbooks is that sometimes it takes very long time to get the workbook refreshed. To solve this; users were looking to kind of functionality where they could decide which query contained in the workbook should be refreshed.

Finally this function is available there. It is called "The Single Query refresh" functionality of the BexAnalyzer. It allows refreshing individual queries if there are several queries used in the workbook. Before once user clicked on refresh of one query; it refreshed it but also other queries were refreshed.
To implement this we need:

1. In BW server: enable parameter ANA_SINGLEDPREFRESH with value X in transaction RS_FRONTEND_INIT.

2. In the workbooks: on General tab of the Workbook in Settings dialog, a flag "Allow Refresh Function for Individual Queries" must be checked. Once this is done there in context menu of an item that belongs to the query a query it has one more option called "Refresh This Query".

ABAP Report that only carries texts

I found very interesting report. It has no ABAP code at all. But it has a lot of text in there instead. Name of the report mentioned in here is RSR_BEXANALYZER_TEXT. The texts which it carries are related to BW’s BEx Analyzer. So basically all the texts used within this Windows based tool are stored with the report.

The texts are downloaded to user’s folder (%temp%\BW\COMMON\texts\ into the file e.g. BExTexts_EN.xml as per language used for login) when first logon to BEx Analyzer is performed. There are many SAP Notes which deal with the report. Mostly they deliver new or changed texts. So once you are not able to see new/changed text delivered by Note you may want to delete this folder or file to get refreshed texts to your workstation. See SAP Note “1732598 - Text Elements do not appear correctly in BEx Analyzer” for details.

I was curious to know how many texts the report has. So I prepared short ABAP report to count that. Here it is:

DATAlt_tpool TYPE TABLE OF textpool,

TABLES     TPOOL      lt_tpool
EXCEPTIONS others     0.

DESCRIBE TABLE lt_tpool LINES lv_lin.
WRITE/ lv_lin.

BTW: in my system based on SAP_BW 731 SP 0002 it has 827 texts.

So basically this is how I was playing tonight J