Skip to content
Daniel Huser edited this page Nov 14, 2025 · 10 revisions

Frequently Asked Questions

Can Kernseife be used in ABAP BTP (ABAP Cloud)?

Unfortunatly this is not possible. Detailed explanation is given here.

How does the Kernseife Check differ from the Standard "Usage of APIs" Check?

Technically the Kernseife Check is inheriting from the Standard Check Class, so we try to stay as close to it as possible. Nevertheless, we are doing some things differently, which we will try to document here:

Checked Object Types

The Standard Check only checks the usage of the following types:

  • INTF (Interfaces)
  • CLAS (Classes)
  • FUNC (Function Modules)
  • DDLS (CDS Views and some other CDS related things.. its complicated)
  • TABL (DB Tables - DDIC Structures are technically also TABL, but more about that later)
  • VIEW (DB Views)
  • PROG (Reports)
  • BDEF (Behavior Definitions)

More information can be found in the Method GET_ALLOWED_USAGE_OBJECT_TYPES of the Standard Check Class.

Kernseife checks the usage of the following types:

  • INTF (Interfaces)
  • CLAS (Classes)
  • FUNC (Function Modules)
  • DDLS (CDS Views and some other CDS related things.. its complicated)
  • TABL (Tables and DDIC Structures)
  • VIEW (Views)
  • PROG (Reports)
  • BDEF (Behavior Definitions)
  • TRAN (Transaction Codes)
  • AUTH (Authorization Check Fields)
  • SUSO (Authorization Objects)
  • MSAG (Message Classes)
  • ACID (Checkpoint Groups)
  • PARA (Parameters)
  • XSLT (XSLT Transformations)
  • TYPE (Type Pools)
  • SHLP (Search Helps)
  • DTEL (Data Elements)
  • DOMA (Domains)
  • TTYP (Table Types)
  • SMTG (Email Templates)
  • DRTY (CDS Type Definitions)
  • DSFI (CDS Scalar Function Implementation References)
  • DSFD (CDS Scalar Function Definitions)
  • RONT (RESTful ABAP Programming Model: Object (Node) Types)
  • NONT (RESTful ABAP Programming Model: Object Node Types)
  • ENHS (Enhancement Spots)
  • ENHO (Enhancement Implementations)
  • SXSD (Business Add-Ins - Definitions)

Why do we track DDIC Elements?

On the one hand we believe that DDIC Objects still matter, especially when aiming to move to ABAP Cloud.
As long as you can't use unreleased DDIC elements in ABAP Cloud, the extensions using them will never be Level A.
So to determine the correct Level, we need to track usage of DDIC objects.

Why do we track modern RAP related Object Types?

Cause SAP released objects of this object type, so we thought it would also make sense to track them.

Usage of Tables as Type Definition

If you use Tables (e.g. MARA) for type definition purposes (e.g. DATA ls_mara TYPE mara.) you will not get any finding in the Standard ATC Check.
We understand that using Tables as type definitions is sometimes necessary and is not as bad as doing a SELECT or even an UPDATE, but still it would prevent you from using ABAP Cloud Language Version, so we still want to track that.
That's why we added another Finding Code (TBLTYP and TBLTYP_SUC) for those situations.
You can adjust the Severity, Score and Level in the Rating Configuration based on your opinion about this kind of usage.

Tracking of Usage of Released Objects

In "Scoring Mode" we also report findings for usage of released objects. This is required as we want to show the full picture on not only "bad" usages, but also "good" ones. So far we don't track usage of objects inside custom objects which are using Language Version ABAP Cloud, as the Standard ATC Check also ignores them completly. But we still track the existance of Objects with Language Version ABAP Cloud.

Filtering of Key-User Objects

Important

This feature so far only works for Local ATC Check scenarios, as there is not Remote API for this. As note 3593439 is not available for all releases, we wanted to also implement a filter for key-user generated objects. Key User generated objects (e.g. View Extensions generated by Custom Fields App) will not generate ATC Findings. They will also be reported as using Language Version "Key-User", although they technically use Classic ABAP, but we think it makes sense to count them towards the Key-User Objects for Reporting purposes.

Known Issues / Bugs

Important

Please note that most issues listed here are not caused by Kernseife, but rather they are encountered by users of Kernseife, when implementing the Stanard ATC Notes required for Kernseife. As we often get asked for support, we listed them here, so users can find help.

Dump Function module "RS_ABAP_GET_INTFS_INCL_INFT_E" is not found

image

You most likely forgot to execute the manual step of this note (Predecessor of the ATC Check Note)

"Start report RS_ABAP_SETUP_ANALYSIS. You will be asked for transports request.
Please enter the transport request which is used for correction instructions."

Dump LOAD_PROGRAM_CLASS_MISMATCH

image

Most likely after you ran report RS_ABAP_SETUP_ANALYSIS, your ATC (and half your other System, like SE80) dumps for every User. Please check SAP Note 2296826

There are multiple options, the one that works best, in our opinion is: Running Report RSGENDUMP for your user. But it is generally recommended to check with your Basis Team.

"A PROCESS statement is missing." during Import of the latest Kernseife release in ABAPGit

image

"A PROCESS statement is missing." => see Issue => Update to the latest ABAPGit Version

Why are there check failures and dumps due to ITAB_DUPLICATE_KEYS?

Please check this issue.

Why can't I select/delete the uploaded classification File in the ALV Grid of ZKNSF_CLASSIFICATION_MANAGR?

This is fixed in version 1.3.0+ of Kernseife. See more details in this Github Issue

Why can't I navigate to the finding object (Error: There is no navigation information available)?

This is a known bug and there is a Note to fix it. Alternativly you might want to start using ATC in ADT instead of GUI ;)

Clone this wiki locally