⚡ Community PilotFree Community SAP Prototyping Platform. Powered by Generative AI. Provided without warranty.
Methodology

How It Works

Three deterministic stages — from legacy ABAP to cloud-compliant architecture. Transparent, verifiable coverage — honest limitations.

Quick Answer

How does Clean-Core.io transform legacy ABAP code?

The pipeline uses deterministic AST parsing to extract table references and function module calls, maps them to official SAP API Business Hub entries via rule-based lookups, and generates target code in your chosen architecture (ABAP Cloud RAP or BTP CAP). The LLM handles only semantic tasks like documentation and naming — never the critical table-to-API mappings.

The Transformation Pipeline

Three deterministic stages — from legacy ABAP to cloud-compliant architecture.

1

Parse

Legacy ABAP code is parsed into an Abstract Syntax Tree (AST). Direct database reads, function module calls, and class dependencies are extracted and classified.

2

Map

Extracted table references (e.g., VBAK, BSEG, LIKP) are resolved against the SAP API Business Hub catalog using deterministic rule-based lookups. Each mapping links to the official API documentation.

3

Generate

Target code is compiled in the user's selected architecture: ABAP Cloud RAP (CDS Views + Behavior Definitions) or Side-by-Side BTP CAP (Node.js services + schema definitions). ABAP-Unit test classes are generated alongside.

Deterministic Rules vs. LLM Generation

Deterministic (Rule-Based)

  • Table-to-API mapping
  • AST parsing
  • CDS view structure
  • abapGit packaging
  • Compliance scoring

LLM-Assisted (Google Gemini)

  • Business logic interpretation
  • Documentation generation
  • Test scenario description
  • Code comments and naming

Coverage Matrix

What works today, what needs help, and what we don't support yet. This matrix is the single source the transformation engine flags against — it is always current.

Direct SELECT on standard tables

Fully Supported

Deterministic mapping to released CDS views / APIs.

Simple wrapper classes / reports

Fully Supported

Full AST decomposition and target generation.

Static CALL FUNCTION

Fully Supported

Resolved to equivalent API calls.

Complex SQL Joins (3+ tables)

Partial

Generated with review flags; architect sign-off recommended.

BAdI / Enhancement Implementations

Partial

Wiring generated; method body logic requires manual review.

Dynamic CALL FUNCTION / PERFORM

Partial

Flagged with low-confidence warning; cannot resolve at parse time.

SAP GUI Dynpro screens (MODULE POOL)

Not Supported

UI layer requires manual Fiori/UI5 redesign; backend logic extracted separately.

Kernel calls (ABAP system internals)

Not Supported

No public API equivalent exists; must be re-architected or removed.

ABAP OO with inheritance chains

Fully Supported

Fully resolved when all ancestor sources are provided; missing ancestors are requested explicitly.

RTTI / dynamic type resolution

Partial

Runtime-dependent; cannot be resolved statically. Manual verification required.

Missing source dependency

Partial

A referenced class/interface source was not provided. Upload it to complete resolution.

Frequently Asked Questions (FAQ)

Which ABAP constructs are automatically transformed?

Direct database reads (SELECT on standard SAP tables like VBAK, BSEG, LIKP), simple wrapper classes, and function module calls with static targets are fully supported. Complex SQL joins, BAdI implementations, and enhancement spots are partially supported with manual review flags.

What role does the LLM play in the transformation?

The LLM (Google Gemini) handles semantic understanding of business logic context, generates human-readable documentation, and produces the final target code. All table-to-API mappings are deterministic rule-based lookups against the SAP API Business Hub catalog — not LLM guesses.

Can I verify the generated code yourself?

Yes. Every transformation produces an importable abapGit package (src/ directory + abapgit.xml) with generated ABAP-Unit test classes. Import into your Eclipse ADT, compile, and run the tests locally.

Clean-Core.io v1.7.42026-06-17 • Free Community Pilot