Wednesday, November 26, 2014

Unknown table in tcode SM50

Few days back I was debugging SAP standard function module in HR module of ECC. When I finished what I wanted to see in the debugger I let it run till the end. The FM was not progressing so I turned to TA SM50 to see whether it is doing something. Suddenly I saw that my process is running but what got my attention was Table column indicating that table is unknown (Tunknown). It took few more seconds and the FM and work process finished correctly and entry in the SM50 disappeared. I didn't pay attention anymore to that but I just tweeted about it.

My twitter friend Ram Manohar Tiwari however after some conversation pointed me to SAP Note 1524630 which discuss this issue in detail. Actually while using ADBC (ABAP Database Connectivity) API for Native SQL interface it can lead to situation in which system can’t really determine what table is actually used. In my case usage of ADBC is indicated by class CL_SQL_STATEMENT which is ADBC related.

As the notes suggests there always will be Tunknown entries in the SM50 as there are cases where “guessing” of used tables by DbSl interface (database SQL library) doesn't help.

Thursday, November 20, 2014

Difference between SAP Note and KBA article

SAP Notes are very well known since beginning of first SAP software. They are intended to help while supporting run of SAP applications. Basically the main purpose of the Notes is to fix an issue within the software. For details on the Notes and their types see here. Over the years another type of support document raised. It is SAP Knowledge Base Article (KBA).

The KBA are intended to complement the SAP Notes by depicting additional features or issues which are involved within particular SAP application. But the KBAs do not contain the code which fixes the issue. The code is solely provided by the Notes.

Both the Notes and KBAs are available via SMP at:

Filling EPM data model database tables with data

Similarly to SFLIHGT data model used to ABAP to demonstrate ABAP features in SAP NetWeaver ABAP stack based systems there is a data model in other SAP systems. Over the years another data model grown up. It is called Enterprise Procurement Model (EPM). This demo data model has broader scope and it aims to demonstrate capabilities not only ABAP but whole NetWeaver Stack.

The EPM is an app intended to be used solely for leaning, testing and demo purposes. It is part of NW Demo Software Component (Z_ESH_EPM_DEMO (customer system) or ESH_EPM_DEMO (SAP system)). Technically the app is delivered within different development packages:

Pack S_EPM_DG - New Data Generator, contains data generator, tcode SEPM_DG, associated with report SEPM_DG_EPM_STD_CHANNEL, see picture below

Pack S_NWDEMO_MODEL_DDIC Common Data Dictionary Objects (only) for EPM and NWDEMO, here are all the demo tables delivered

Once you run this tcode. You get tables like “SNWD_SO - EPM: Sales Order Header Table” populated with the data. There is an info message announcing that (EPM Data Generator:        40 Transactional Data records created, Message no. SEPM_DG037) after successful run of the tcode.

Further information:

2078644 - Getting started with EMP-based Demo Software Component ESH_EPM_DEMO
1651157 - Settings to Activate NW Demo Model Gateway Services
1942520 - EPM demo role for upload in a netweaver system

Wednesday, November 19, 2014

What is difference between HANA Cloud Platform (HCP) and HANA Enterprise Cloud Platform (HEC)?

These two terms are actually pretty tricky. There are plenty of articles available on web trying to explain those two. Actually none of them satisfied my curiosity to understand them. This is basically the reason why I wrote this post. One thing to consider is that these two SAP offering are rapidly changing. Also some of SAP definitions of cloud computing terminologies (like IaaS, PaaS, SaaS) are different from industry's perspective definitions.

Basic facts
Both HCP and HEC are cloud platforms and are built around SAP HANA. Very basic fact is that SAP started HANA as database. This database evolved over the time to platform. They both use the same infrastructure. What is different is their purposes and different types of users.

HCP - is cloud platform (Platform-as-a-Service) intended for independent software vendors and developers to create and test cloud apps on HANA using its infrastructure, database and existing app. The platform is Java-based, relies on open standards and leverages industry leading tools to accelerate ramp-up and maximize developer productivity.
Former name of the HCP was SAP NetWeaver Cloud or NetWeaver Neo (neo = SAP HANA Cloud Console Client) or OnDemand Cloud Platform.

HEC - private managed cloud as hosting service where SAP provides the infrastructure (Infrastructure-as-a-Service) and the services needed to host SAP apps (e.g. Business Suite) deployment. This can include HANA custom and out-of-the box applications and SAP NetWeaver Business Information Warehouse software, all on a single instance of the HANA in-memory database platform. Also customer having already HANA license can user by moving it from their on-premise to cloud. In case of not having license an subscription model can be used. SAP HANA Enterprise Cloud runs on the SAP HANA Cloud Platform.

More details on the topic can be found in following ASUG article

Tuesday, November 18, 2014

Technical Business Content

Technical BCT (tBCT) delivers as any other BCT BW objects that are easily deployable and runnable. There are many pre-delivered reports that can provide the data without much of changing it as well. But tBCT is different from common BCT because it contains technical objects. From this perspective we can say there are objects: used to monitor BW system itself or any other SAP system as well, helping to maintain BW authorization and BEx personalization, planning functions, and tracing reporting issues plus others.

In detail there are following components of Technical BCT:

BW Statistics BI Content – objects to evaluate performance of SAP BW system. There are two main areas of performance evaluation: OLAP processor and Warehouse Management (WM). See details here and here.

CCMS BI Content – comprises of BW objects for Computing Center Management System (CCMS) data in order to monitor and operate SAP systems. There can be thresholds sets for alert monitor and BW monitor, also we can monitor BW relevant SAP monitoring trees for processes like process chains, consistency checks etc. Basically it has the data from tcodes RZ20, RZ21, RSRV etc. See details here.

Central Performance History (CPH) BI Content – Because performance figures are not stored in the system for long period it enables storing of historical performance data of SAP systems to monitor architecture of the systems in landscape (their SLA) from long term point of view.
ABAP statistics BI Content – Enables reporting on statistics data from SAP’s Workload Monitor (tcode ST03). See details here.

Distributed Statistics Record (DSR) BI Content – reporting on Distributed Statistics Records (DSR) generated by non-ABAP components (e.g. AS Java, TREX). DSR are statistics records created for monitoring the SAP system performance of an SAP System and its components collected by associated CCMS agent.

BEx Personalization BI Content – objects used to fill variables with user specific values and to save user-specific start views for Web applications (Personalizing Variables in Web Applications.) and in BEx reports (Personalizing Variables). See details here.

BI Users and Authorizations BI Content – Objects used to generate Analysis Authorizations. Function available in tcode RSECADMIN. See details here.

BI Features Characteristics BI Content – 19 InfoCube objects (0M000100 - 0M111111) used to test the loading process for master data (MD) attributes and texts. By setting of settings for MD characteristics several aspects of the loading process can be tested. See details here.

BI Integrated Planning BI Content – parameters of BI-IP planning functions types stored in those BCT delivered characteristics and key figures. Also personalization of values for variable replacement works with these BCT objects.

Planning functions BI Content – SAP provides InfoObjects (characteristics and key figures) that the system requires as parameters for the standard planning function types (see Standard Planning Function Types). Personalization data for variable replacement (see Changing Variable Values in the Planning Modeler).

BI Trace Tool BI Content – BW objects needed as parameters in trace tool like: Test Results Archive (0RSTT_TESTLOG InfoArea for objects for describing the test results), Test Reporting( 0RSTT_TESTREP InfoArea for detailed description and analysis of the tests). Namespace for the objects starts with the character string 0RSTT*. See details here.

Exchange Rate Type BI Content – objects (like (0RTYPE)) that are supporting currency translation functionality. See details here.

BI Formula Builder BI Content – There was a DataStore Object used to store formula’s created in Formula Builder. But functionality was discontinued.

ABAP Statistics Data – BI Technical Content

There are few nice pieces of BW objects related to technical Business Content (BCT). The Technical BCT delivers predefined BW objects for analyzing statistical data about SAP systems.
Especially within the technical BCT there are components like: CCMS BI Content, Central Performance History (CPH) BI Content, Distributed Statistics Record (DSR) BI Content and ABAP statistics BI Content. N this post I will shortly discuss the later one.

What is ABAP statistics BI Content? In essence the ABAP statistics data are doing reporting on data from SAP’s Workload Monitor (tcode ST03). What reporting needs are covered within ABAP stats? First there are reports about user overview like daily/weekly/monthly overview providing of dialog steps in ABAP systems, broken down by various users. Second set of the reports are workload reports. So information on what was workload of the ABAP systems is shown on different date/time basis. What KPIs are covered? For example Number of Dialog Steps, CPU Time, Processing Time per Dialog Step, Database Time, Number of Sequential Reads, Total/Average Response Time any other other workload related KPI.

What are datasources of ABAP statistics BCT?

0CCMS_ASR_DATA - ABAP Statistics Aggregates and Single Records. Collects statistics data from the STAT statistics files on file system of the SAP instance. Important here is that data is aggregated.

0CCMS_WEBAS_STATREC_DATA - DataSource for ABAP Statistics (Alternative), predecessor of previous one. In contrary of previous one this is single record providing DS.

0CCMS_WEBAS_APPL_STATREC_DATA - DataSource for ABAP Application Statistics. Provides aggregated statistics data from the ASTAT statistics files on file system of the SAP host.

More information:

979581 - Installing and configuring the CCMS BI Content

807072 - DataSources for ABAP data and distributed statistics data

Importing client dependent objects in BW – tcode RSTPRFC

Similar to ABAP Data Dictionary objects (DDIC) also most of BW objects are client independed. However some of BW objects are actually client depended. These are objects especially in areas of DataSources based on web services, Process Chain’s jobs that are executed on client level or in BPC (Business Planning and Consolidation, e.g. appset objects) where this is not the case.
To understand the client dependency is also very important in case of BW transports. Usually BW objects are imported into client 000 while transport is running. But some of them require client specific processing. This is executed during import post processing phase of transport.
These are error messages one may face in case of need of client depended processing during the transport:

Start of the after-import method RS_APPS_AFTER_IMPORT for object type(s) APPS (Activation Mode): RFC Destination could not be determined for client xxx


Errors occurred during post-handling RS_AFTER_IMPORT for APPS L


"Generation of Web Service terminated (missing user confirmation)" message RSDS 305


"Error during remote call of destination ' ... ' - RSPC051"

Solution of such an error is to maintain costuming of destination (the client) for the transport post processing. This function is available from customizing main TA SPRO under path: SAP NetWeaver -> Business Warehouse -> Transport Settings -> Create Destination for Import Postprocessing or calling TA RSTPRFC (Create destination in BW std clnt for import post-processing) directly.

BW related users

There is couple of users needed for communication between SAP BW system and its source SAP systems. These users comes usually in pair: one of them is dialog user for administration guy for doing analysis and troubleshooting and other one is background one used while systems are communicating each other. The paired users are needed in both sides in BW and in e.g. SAP ECC as well. Below I will shortly describe what authorization and other things are needed in order to set up those users.

BW system:
Example of user
S_RS_ALL - Business Information Warehouse: All Authorizations
S_BI-WHM_RFC - Business Information Warehouse, RFC user in the Warehouse

ECC system:
Example of user
SAP_ALL - All SAP System authorizations
SAP_NEW - New authorization checks
S_BI-WX_RFC - Business Information Warehouse, RFC-User Extraction

More information on this topic:

150315 - BW-Authorizations for Remote-User in BW and OLTP

Monday, November 3, 2014

SAP hybris

In 2013 SAP has bought hybris company. What actually SAP gained by this? Hybris is very well known as e-commerce platform. In particular it is a complete multichannel e-commerce solution. It supports business within modules for product content, commerce operations, and extended channels to create a customer experience from online, to in-store, to mobile and beyond.

What is hybris from product portfolio standpoint? Following are parts of hybris Commerce Suite:

B2C commerce: tools to manage customer shopping experience across channels like PC, mobile, phone, tablet, phone call to call center, social network and in store location.

B2B commerce: solution to interact within B2B customers via online on web, on/offline on mobile while selling or buying.

Mobile commerce: platform for commerce on mobile devices (smartphones and tablets).
In Store: solution focusing on in store customer experience.

Master Data Management (MDM): solution for master data shared across sales channels in a single centralized product view.

Product Content Management (PCM): consolidation and centralization of products data and its attributes across all sales channels.

Order Orchestration: solution for order processing. Enables order to be processed  regardless of how order was entered or how product was bought.

What is platform of the hybris?

Hybris is based on standard Java / Spring, and expose API to all hybris specific functionalities.
How to interface hybris with traditional SAP based solution?
Via custom web services plugged into the hybris JAVA API.
Standard hybris services can be exposed as XML or JSON based services.

More information:

How to setup SSL protocol in ABAP stack of SAP NetWeaver

Couple of times I found myself in need of using https protocol in ABAP based NetWeaver system. Sometimes just for basic unit testing to run the test over http is enough. But customers are requiring more and more https as well. There is a nice SAP standard documentation (or here, or here) which basically walks us through the process of setting up an SSL.

In cases like it was mine today where I had some of the configuration done and some wasn’t done I choose a kind of shortcut of the whole setup. Basically I realized that my certificates are imported in TA STRUST. So all what I needed to do was an entering a new service in TA SMICM. I went to menu Goto -> Services of the SMICM. Here I went to menu Service and I choose Create item.

After that a new https service popped up in the list of services. I tested it by calling following URLs in my web browser:

Notice that once you restart your app server the http won’t work anymore. Basically whole configuration as per SAP documentation needs to be done. Especially we need to maintain system profile parameters to make the changes permanent.