SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
Development resources, articles, tutorials, code samples, tools and downloads for SAP HANA and ABAP, HANA Database, SQLScript, SAP UI5, Screen Personas, Web Dynpro, Workflow

Syntactically incompatible change of existing functionality

If ABAP programmers run ATC ABAP Test Cockpit for possible errors for code quality and security, after migration to S/4 HANA Syntactically incompatible change of existing functionality errors can be observed under S/4HANA: Search for usages of simplified objects. This means simplifications done by SAP on S/4HANA platform can cause backward compatibility problems due to change of existing functions, etc. In this SAP HANA ATC tutorial, I tried to explain a few errors and their solutions related with this issue from my experience recently.

Here is a screenshot from the latest ATC ABAP Test Cockpit check results on a SAP S4HANA system.

S/4HANA: Search for usages of simplified objects

S/4HANA: Search for usages of simplified objects
Syntactically incompatible change of existing functionality (... ..., see ...)

This ATC check message has Priority 1 level and cannot be hidden using a pragma or pseudo-comment.

VBTYP SD Document Category

If ABAP developer checks the ATC error in detail, will be able to see such a similar hint that is exposing where the problem exists.

Syntactically incompatible change of existing functionality
(DTEL VBTYP, see Note(s): 0002198647)

When I click on the "Object Name", I can directly jump to the syntactically incompatible line of code.

VBTYP SD document category replaced with VBTYPL on SAP S/4HANA

As the ABAP ATC static code check error points to SAP Note 2198647, the cause reason is Field length extension of field VBTYP (SD document category).

To be more precise, for SD document category in ABAP tables SAP was using data element VBTYP which is 1 character long string. With S/4HANA SD document category field VBTYP in VBAK and VBRK tables is defined by using the ABAP data element VBTYPL which is 4 characters long string.

So, ABAP programmers developing on S/4 HANA should define sales document category variables in VBTYPL (SD Document Category (Long)) during custom ABAP code development.

Here is how VBAK table VBTYP field is changed on S/4HANA

VBTYPL for VBAK Sales Document Header table document category field

KALVG Document Procedure (for determining pricing procedure)

In TVKV "Pricing Procedures: Transaction" ABAP table, "Document procedure (for determining pricing procedure)" KALVG field length is increased from 1 character to 2 characters with S/4 HANA.
Following error is related with this change on KALVG field length.

Syntactically incompatible change of existing functionality
(DTEL KALVG, see Note(s): 0002220005)
(DTEL KALKS, see Note(s): 0002220005)

KALKS field (KALKS data element) is defined in KALKS domain which has also now a string length of 2 on S4HANA, increased from 1 character to two characters.

ABAP programmers can find SAP Note 2220005 here.

VBAKUK Sales Document Header and Status Data

With S/4 HANA some tables like VBUK where status and administrative data for sales document headers are stored is no more used.
As ABAP VBAKUK view (Sales Document Header and Status Data) is dependent on VBUK table, the definition of the VBAKUK is altered.

What is more for ABAP programmers, we don't need to read VBAKUK any more, instead ABAP developers can read the same status data directly from VBAK table.
For backward compabilitity, ABAP view VBAKUK is also created on S/4 HANA but instead as I said VBAK table should be referenced for sales documents status data.

Syntactically incompatible change of existing functionality
(VIEW VBAKUK, see Note(s): 0002198647)

As seen in following screenshow, VBAKUK view is only formed of VBAK table fields. So there is no need for programmers to read data from VBAKUK view instead of reading directly from ABAP VBAK table

SAP VBAKUK table is no more needed on S/4HANA since staus can be read rom VBAK directly

For example, the ATC check error was thrown by referencing following AMDP code where the FROM table VBAKUK can be replaced with VBAK

gt_table2 =
 vbeln, vkorg, vtweg, spart, gbstk, erdat, auart
mandt = :p_mandt and
auart in (select auart from :gt_table1);


Install SAP Free
CRM Companies List
Web Based CRM Software

Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.