ABAP Dojo Validating AI-Generated ABAP

Checking AI-Generated ABAP Before You Run It

LLMs are noticeably worse at ABAP than at Python or JavaScript, and the reason is boring: there is far less ABAP on the public internet to have learned from. The output usually looks right. The failure mode is not gibberish — it is plausible code with a fabricated class name in the middle of it, or a type that behaves differently than the model assumes.

Pasting that into a client system to find out is an expensive way to check. This page is about the cheap way.

Check a sample of LLM output →

Opens the validator with ABAP that parses, runs, and is still wrong twice.

What actually gets checked

Four stages, in order. Each one can only run if the one before it passed, which is itself informative — code that never reaches "Transpile" did not fail at runtime, it failed to be ABAP.

  1. 1. Syntax

    Does it parse at all? This is where invented statements and unbalanced blocks surface.

  2. 2. Lint and LLM pitfalls

    163 abaplint rules, plus four rules written specifically for the mistakes models make.

  3. 3. Transpile

    ABAP to JavaScript. Constructs that parse but cannot be executed here show up at this step.

  4. 4. Runtime

    It runs. A dump here is a real defect, not a limitation of the checker.

The four patterns a linter alone will not tell you about

A standard linter checks ABAP against ABAP conventions. These check it against the specific ways a language model goes wrong — mostly by importing habits from languages it knows better.

Your code does not leave the browser

Everything above runs client-side: the parser, the linter, the transpiler and the execution sandbox are all JavaScript in your tab. There is no backend to send anything to, and no LLM API is called — the pitfall rules are static analysis, not a model asking a model. That matters if what you are checking came out of a consulting engagement rather than a tutorial.

The one exception is deliberate and visible: the Share button encodes your source into the URL, so share links do carry it. Nothing else does.

What this cannot tell you

Worth being blunt about, because a green report is not a promise that the code is correct for your system.

What it does tell you is whether the code is ABAP, whether it runs, and whether it carries the fingerprints of a model guessing. That is most of the review you would otherwise do by hand.

Paste your own →

See also: what runs here and what doesn't · practising without a system