Thursday, December 16, 2021

"ABAP strict" as ABAP language version

I learned a term "ABAP strict" for first time in autumn 2021 during an openSAP course called Introduction to ABAP in the Cloud. So what is "ABAP strict" sometimes called as "ABAP strict mode"?

The ABAP strict is ABAP programming language version that uses only a subset of the Classic ABAP's syntax. If we think about ABAP in this context, there are now two versions of ABAP.

The first version is ABAP classic. It is the one that we all (hardcore SAP stack programmers) know from on-premise SAP solutions world like R/3, ERP, ECC including SAP S/4HANA on-premise as well.

Another version is ABAP strict. It is the one used in cloud based SAP solutions like SAP S/4HANA Cloud, ABAP environment as well in SAP Business Technology Platform (BTP) ABAP environment.

What are the differences between the two ABAP versions?

As both the versions are used in different environments (on-prem vs cloud), it naturally drives the language’s feature sets.

In case of ABAP strict access to repository objects is given only by released APIs. This means you cannot directly manipulate e.g. database tables with CRUD SQL statement. Instead there a whitelist of allowed APIs to do that. Allowed APIs are checked statically at compile time, as well as runtime.

Moreover, only ABAP Development Tools (ADT), based on Eclipse IDE platform, can be used as development tool. Remember it is about the cloud - SAP GUI is no more the ABAP developer IDE.

In addition, ABAP language keyword set is restricted if compared to ABAP classic. There are many ABAP commands that are obsolete in the cloud environment. E.g. access to SAP server OS, screen manipulation (no GUI, FIORI is the UI), no SQL for data in database tables manipulation, no more WRITE command, dynamic connections, client overrides, relative keywords are not supported, secondary database connection is not allowed etc. just to name a few. Naturally, there is a stricter syntax rules and checks are applied to all elements, including ABAP classes and SQL statements.


More information:

SAP BTP ABAP Environment

SAP cloud discovery center

ABAP sessions at SAP TechEd 2021


Anonymous said...

Can you confirm that with strict ABAP,we have to use only class to practice ABAP and do you think NW is died?


Martin Maruskin said...


1/ yes in ABAP could (~ ABAP strict) an ABAP RESTful Programming Model needs to be followed. That means there is no report/program any more. ABAP code is represented in ABAP class and other code artefact that are allowed in cloud environment.

2/ whether NW is death? We see that NW is sunsetting 9see more details here" Life after life of SAP NetWeaver and Business Suite/ECC. However technologies like ABAP in cloud will remain. Just we need to align with a new terminology. In this case it is ABAP Platform.