Wednesday, 30 November 2016

MVC (model view controller) framework for ABAP part 2

Reports with class

In MVC (model view controller) framework for ABAP part 1 you can find the “starter kit” for a framework you can use to create applications that are using dynpros and CFW controls that the framework is able to control. In this second part I will introduce only one further class that can be used for report programming. In my daily work, I am using this report very frequently as a template for new ones.

Tuesday, 29 November 2016

MVC (model view controller) framework for ABAP part 1

What program type?

This is a question I have often reflected on. When I create an OO based dialogue application, what kind of program should I use? Since the program has to manage at least one dynpro, we could choose between three types of program for our application:
  • A module pool
  • A function group
  • A report

Monday, 28 November 2016

ABAP Runtime Analysis (SE30) – How to analyze ABAP program flow

The ABAP Runtime Analysis (transaction SE30) is the best starting point if you want to execute performance or flow analysis of your ABAP program. Unfortunately many people use ABAP Runtime Analysis only to look for performance bottlenecks and don’t know that ABAP Trace is the only tool with which you can trace the execution flow of an ABAP program at the statement level. This blog will show you how to use ABAP Trace of ABAP Runtime Analysis (SE30) to follow the flow logic of your ABAP program.

Saturday, 26 November 2016

Hierarchies in CDS views

Why do we need Hierarchies?

The main purpose of a hierarchy in analytics is to aggregate facts and provide a high-level overview with the option to drill into the lower hierarchy branches and nodes. Facts are represented as CDS analytical views, which are identified by the analytical data category CUBE provided as CDS view annotation.

A hierarchy is usually not defined on the facts themselves but on some master data column that categorizes the facts. This master data entity, or any business entity that should be arranged in a hierarchy, is given by a CDS view of analytical data category DIMENSION.

Friday, 25 November 2016

Implement and consume your first ABAP Managed Database Procedure on HANA


  • SAP NetWeaver AS ABAP 7.4 Support Package 5 (or higher) running on SAP HANA
  • SAP HANA Appliance Software SPS 05 (or higher)
  • SAP HANA DB SQLScript V2.0 (or higher)
  • ABAP Development Tools for SAP NetWeaver

Thursday, 24 November 2016

News in ABAP Debugger Breakpoints and Watchpoints ,Statement Debugging

SAP NetWeaver 7.0 EHP2 brings an expanded set of breakpoint and watchpoint capabilities as well as a new higher-resolution statement debugging capability (of course in the New ABAP Debugger!).

This blog shows how to use these new features:
  • The new types of breakpoint (on ABAP command, on Web Dynpro entities, on method of a class, on Simple Transformations…)
  • The new types of watchpoints (on internal table, on ABAP objects and object attributes…)
  • The new conditional breakpoints and watchpoints

Wednesday, 23 November 2016

Displaying Internal Tables in the Debugger in NetWeaver 7.0 EHP2

The New ABAP Debugger, introduced with NetWeaver 2004s, came with a Table tool for displaying the contents of internal tables.

With NetWeaver 7.0 EHP2 and with Netweaver 7.30, the Table tool has been re-worked and expanded to make it easier to use and more flexible – a truly comfortable tool for examining internal tables, no matter how large or complex they might be.

Monday, 21 November 2016

Create Fiori app using CDS with BOPF- For beginners Part 2

This blog is on continuation to  Part 1.

In this part we shall create the BOPF action and display the sale order scenario in the Fiori App using Smart Template.

For the BOPF action, go to BOPF Business Object ZDEMO_I_SALESORDER  from Tcode BOBX. Click on change mode. Under the Node Elements, traverse to node ZDEMO_I_SALESORDER and select Action element. Right Click on Action and Click “Create”.

Monday, 14 November 2016

Create Fiori app using CDS with BOPF- For beginners Part 1


1) Concepts of Core Data Services(CDS)
2) Basic Understanding of OData service
3) Concepts of BOPF
4) Conceptual knowledge of Fiori(Smart Template)

The Fiori/Ui5 is for the UI part, the CDS is for the data retrieval(code push down) while the BOPF is for handling DB activities.

Saturday, 12 November 2016

BW transformation debugging a start routine

It’s about debugging in SAP BW Transformation and increasing personal productivity while finding issues in ABAP expert, start or end routines. The following helps me to save a few minutes each day while developing or solving issues. It might help avoiding complains from your system monitoring team that the system log is running full because of entries like these in SM21. Do you sometimes forget to remove break-points before transporting something to production?

Friday, 11 November 2016

A second way to get the new ABAP editor in LSMW

In my previous blog ‘How to get the new ABAP editor in LSMW’ I described how a single enhancement enables the new ABAP editor in SAP’s LSMW. While that solution only takes one implicit enhancement spot, it has a few (minor) limitations. In this next blog I will describe another approach to enabling the new ABAP editor in LSMW. This new solution is slightly more invasive, but gives us much more flexibility.

Thursday, 10 November 2016

Linux for Newbies: Installing ABAP AS on Oracle VirtualBox


1. Download the latest released version of Oracle VirtualBox from for your Operating system.
2. Download openSUSE Leap 42.1 in your local machine (64 bit, released version) from
3. Make sure the relevant ABAP download files (“abap.rar”) are on your local hard drive.

Wednesday, 9 November 2016

How to get the new ABAP editor in LSMW

SAP LSM Workbench (LSMW) has for years been a much used tool for data migration into SAP. It is both loved and hated  While LSMW has had its last update in 2004 it remains a much used tool in this age of more modern toolsets such as SLT,  SAP DS and the like.

For many frequent and hard core users of LSMW a big nuisance is the old style ABAP editor. This old editor takes up alot of development time, especially in those ABAP-rich LSMW projects.

One night, bored and out of beer, I managed to develop a relatively simple enhancement that enables the new ABAP editor for LSMW.

Tuesday, 8 November 2016

The Joy Of Coding – Class and Sequence Diagrams

I assert the developer’s mood affects the code quality. I discuss a process where tools to display the topology and the coupling of ABAP programs bring back the joy of coding.
Joy of Coding

I like the verb comprehend, as it is etymologically be linked to incorporate. For me it conveys the feeling of being the owner of something after I grasp it for the first time.

As developer exploring a problem space while trying to implement a feature, they are times where our confidence improves, we know we are on the right path, we comprehend the system feedback, we feel the joy of coding.

Monday, 7 November 2016

CL_OBJECT_COLLECTION, iterator and Polymorphism

Suppose I have a requirement to calculate the total area of a series of shape, for example circle and rectangle.

So I have two classes, circle and rectangle, both have a method get_area to return their area:

class ZCL_CIRCLE definition
  create public.

Saturday, 5 November 2016

CDS ALV report with selection criteria

SAP classes CL_SALV_IDA_* and SAP programs SALV_IDA_* as of 7.5 SP03. With all this functionality provided by SAP, HANA / CDS is powerful development tool saving time and making possible the code pushdown to HANA database.

Create CDS view from ADT using folder Core Data Services, right-click to create New -> DDL Source

CDS ALV report with selection criteria

Friday, 4 November 2016

SAP AS ABAP – Authentication using X.509 Client Certificates

This document shows how to configure SAP AS ABAP for authentication with x.509 client certificates. It shows the procedure used to create a simple Certification Authority (CA) using OpenSSL and how to generate client certificates from this CA.

Enabling SSL

Install the SAP Cryptographic Library. The following are minimal parameters to enable SSL
  • ssl\ssl_lib = S:\usr\sap\K20\SYS\exe\run\sapcrypto.dll
  • sec\libsapsecu = S:\usr\sap\K20\SYS\exe\run\sapcrypto.dll
  • sec\ssfapi_lib = S:\usr\sap\K20\SYS\exe\run\sapcrypto.dll
  • ssf\name = SAPSECULIB
  • icm\server_port_1 = PROT=HTTPS, PROT=1443, TIMEOUT=900
  • icm/HTTPS/verify_client = 1