Modern ABAP

ABAP Cloud

(C) Brandeis Consulting

ABAP Variants

Standard ABAP

  • Normal ABAP as before
  • Can access all SAP development objects
  • All interface technologies are permitted, including Dynpros and WebDynpro

ABAP for Key Users

ABAP for Key Users is a subset of the programming language ABAP. This variant is available to key users to implement extensions using the SAP Fiori extensibility apps Custom Fields and Logic and Custom Business Objects.

TLDR: Not for professionals like you!

ABAP for Cloud Development

100% cloud compatible. Therefore, the following is not permitted:

  • Access to non-approved interfaces
  • Use of Dynpros, WebDynpro, etc.
  • Obsolete language constructs
(C) Brandeis Consulting

Setting the language version

The language version can be set on on-premise systems, either

  • In the software component (report RSMAINTAIN_SWCOMPONENTS)
  • In the development package (default language version)
  • In the ABAP class

In the public cloud, only ABAP Cloud is available.

(C) Brandeis Consulting

What does ABAP Cloud language version mean?

The code may

  • no longer access SAP database tables. Instead, the views of the VDM must be used. Example: I_SalesDocumentItem instead of VBAP
  • not use ABAP objects that have not been approved by SAP. Example: Fuba READ_EXCHANGE_RATE has not (yet) been approved
  • not use obsolete language constructs

All violations of the set language version lead to syntax errors.

Applications that are 100% based on ABAP Cloud can also run on S/4HANA Public Cloud.

(C) Brandeis Consulting

Release status using the example of MARA

  • The API status can be found in the Properties view of Eclipse:
  • The C1 release is relevant for use:
  • Contract C1 not yet set - Can still be released.
  • Not to Be Released (, Stable) - Will never be released
  • Released - Has been released and can be used in ABAP Cloud

In the Successors area, you can see the released successors for the development object.

(C) Brandeis Consulting

3-Tier Model Article by Boris Gebhardt

(C) Brandeis Consulting

3-Tier Model

New developments on on-premise systems should also be developed with ABAP Cloud in the future. Since this is not always 100% possible, SAP has developed the 3-tier model:

Tier 1 (All system statuses)

Pure ABAP Cloud code. Same development model as in the public cloud. 100% upgrade stable.

Tier 2 (private cloud or on-premise)

Wrapper around SAP development objects/interfaces that have not yet been released. Customers are asked by SAP to use the Customer Influence Channel to request missing APIs.

  • Observe the DRY principle
  • With each upgrade, check whether interfaces have been released by SAP.

Tier 3 (private cloud or on-premise)

All the old junk. All old developments that have not yet been moved to Tier 1/2.

A learning journey on this topic

(C) Brandeis Consulting

Writing changes to SAP data in ABAP Cloud

  • Never to the DB table
  • Via approved interfaces
  • With the RAP business objects via the EML
(C) Brandeis Consulting

SAP S/4HANA Extensibility Guide

All important information is documented by SAP in the SAP Extensibility Guide.

(C) Brandeis Consulting

Exercise

  • Create an ABAP class that implements the interface IF_OO_ADT_CLASSRUN. The class should have the language version ABAP Cloud.
  • Try to read data from the table VBAP in the method MAIN using a SELECT statement.
  • Look at the error messages and check the API status
  • Look at the successor CDS views for VBAP
  • Use association to read the material group as well
(C) Brandeis Consulting