Skip to content

Your whole SAP system,
inside Claude Code

Design it in conversation, then let it build itself

Platforms
3 ECC 6.0 · S/4HANA On-Premise · S/4HANA Cloud
MCP tools
150+ Built on ABAP ADT
Specialist agents
25 Core 10 · Basis 1 · Module 14
Workflow skills
17 setup · create-program · analyze-code · team ···

Where AI keeps hitting a wall on SAP work

A general-purpose model never quite reaches the system, so it guesses at code and rebuilds what is there

With a general model

  • It cannot open the real source, so it invents plausible ABAP
  • It never sees the existing Z objects and rebuilds the same function
  • Without industry and country rules it picks the wrong standard objects
  • There is no boundary around what production data it may read

With SC4SAP attached

  • It reads the real source over ADT, edits it, and activates it
  • analyze-cbo-obj loads the inventory first, then proposes reuse
  • References for 14 industries and 16 countries load as mandatory context
  • PII, payroll, and banking tables are blocked by four layers of defense

Performance and efficiency, on another level

Anywhere you work: web, mobile, or the CLI

GETTING STARTED

Three moves to get running

From install to first run there is no server to stand up and no config file to edit. It all continues inside Claude Code

Install

Add the custom marketplace to Claude Code and install the plugin

/plugin install sc4sap

Connect

Answer once for SAP version, industry, and country. The MCP server and permission hooks register themselves

/sc4sap:setup

Work

Reverse engineering, code review, and program generation split across 25 agents

/sc4sap:team

Twelve capabilities

12 entries

Open any entry for the real commands, the output it produces, and how it works

#01 🔧

Auto MCP Install

/sc4sap:setup

Setting up a SAP development environment - installing the MCP server, separating credentials, registering permission hooks, building the SPRO cache - can swallow half a day. SC4SAP breaks this process down into one answer per question and finishes it inside the setup wizard

  • 1
    Automatic MCP server install - clones, builds, and registers abap-mcp-adt-powerup No need to hand-edit claude_desktop_config.json
  • 2
    Auto-generated .sc4sap/sap.env - asks for URL, client, account, and auth method one line at a time and saves them Password masking plus a sap.env.bak backup
  • 3
    Version · industry · country sync - records SAP version, ABAP release, industry, and country into .sc4sap/config.json So every agent shares the same context
  • 4
    Data-extraction blocklist hook registration - verifies that permissionDecision: deny works correctly via a BNKA smoke test
Result - answer your SAP system details once and everything from MCP server install to permission verification and blocklist hook registration is completed in a single pass; when a teammate needs to set up the same environment, sharing the single sap.env file is all it takes

#02 🧠

Specialist Agents

25 agents · role-specialized collaboration

Analysis, design, implementation, review, and debugging are delegated to role-specialized agents.
Each agent answers only within its own field, and the path to inventing answers from "plausible-sounding SAP knowledge" is structurally closed off

CORE · 10

Design · Implement · Review

analyst · architect · planner · executor · code-reviewer
critic · debugger · qa-tester · doc-specialist · writer

BASIS · 1

System · Transport

sap-bc-consultant
Dedicated to transport strategy · dumps · performance tuning

MODULES · 14

Module Consultants

SD · MM · FI · CO · PP · PS · PM · QM · WM · TM · TR
HCM · BW · Ariba

Basis & Module Consultants

sap-bc-consultant SD MM FI CO PP PS PM QM WM TM TR HCM BW Ariba

Parallel collaboration - /sc4sap:team

  • Multiple agents share the same task list and work in parallel - R/W permissions and context stay isolated
  • When module judgment is needed, a "## Module Consultation Needed" block auto-delegates to the relevant consultant
  • System-level issues (transport · authorization · performance) are escalated separately to the BC consultant

#03 🔍

Program Analyze

/sc4sap:program-to-spec

Turn legacy ABAP into a functional/technical spec - reverse-engineering by the minute

Even a 3,000-line report has its selection-screen image, ALV column layout, process flowchart, and CBO/Enhancement dependencies extracted automatically
4-axis Socratic questions across Audience / Format / Depth / Language tune the depth and dodge the "document everything" trap

Operational handover · audit response · legacy cleanup right before a system migration - the spec a person used to write by reading code line by line is compressed into minutes and produced in both Excel and Markdown formats at once

STEP 1Load sourceGetProgFullCode
Includes · Forms · Classes
STEP 2Extract structureSelection · ALV
Logic · CBO · Enhancement
STEP 3Render visualsSelection PNG · ALV PNG
Process Flowchart
STEP 45-Sheet XLSXCover · Inputs · Logic
CBO · Warnings
📒 ZSDR0142_spec.xlsx 5 sheets + warnings
  • 01
    Cover

    Program ID · author · last modified · 4-axis meta

  • 02
    Selection

    Selection screen PNG embed + parameter table

  • 03
    Inputs / Screens

    ALV column layout PNG · field descriptions · lengths

  • 04
    Process Logic

    Auto-rendered Process Flowchart (boxes · decisions · terminators + ↓)

  • 05
    CBO / Enhancement

    Z-object dependency tree · BAdI · CMOD · APPEND

  • Warnings

    Unparseable · risky patterns · unresolved items

#04 🧪

Analyze Code

/sc4sap:analyze-code

Clean ABAP · performance · security · modernization - severity-ranked static review

It reflects the project's ABAP_RELEASE / SAP version context and recommends only the patterns that actually apply
It auto-detects the OOP / Procedural paradigm and presents impact via a Where-used graph. Line numbers, call paths, and ready-to-apply fix snippets all come back as one bundle

The security category detects OWASP patterns like SQL Injection, missing AUTHORITY-CHECK, and dynamic code execution through static analysis
and the performance category attaches concrete patch code that refactors nested LOOP/SELECT into sorted/hashed table look-ups

CLEAN ABAP
  • Naming · SRP
  • Magic numbers · globals
  • OOP / Proc. consistency
PERFORMANCE
  • SELECT · indexes
  • Nested LOOP · INTO TABLE
  • sorted / hashed usage
SECURITY
  • SQL Injection
  • Missing AUTHORITY-CHECK
  • Dynamic code sanitize
MODERNIZATION
  • VALUE / REDUCE / COND
  • FILTER · lambdas
  • Adopting new syntax
CRITICAL
Possible SQL Injectionuser input is concatenated directly into a dynamic WHERE clause (line 412). Replace WHERE (lv_where) with escaped binding
CRITICAL
Missing AUTHORITY-CHECKoutput after a BUKRS-based query without permission verification (line 78). A check on the F_BKPF_BUK authorization object must be added
MAJOR
SELECT … ENDSELECT loopswitching to INTO TABLE + LOOP AT is expected to yield roughly 70% performance improvement

#05 ⚖️

Compare Programs

/sc4sap:compare-programs

Why two or three programs that do the same job keep running side by side

/sc4sap:compare-programs - loads 2-5 ABAP programs at once and compares them structurally across 10 dimensions
It distinguishes a "copy-and-tweaked program" from a "genuinely different program," giving you the basis for consolidate · retire · standardize decisions

/sc4sap:compare-programs · ZSDR0142 · ZSDR0188
A ZSDR0142 SD · 2019
  • ●Purpose · scopeReceivables report
  • ◐Selection screenP_BUKRS · S_KUNNR
  • ●Data sourceBSID + KNA1
  • ○Output structureList (WRITE)
  • ◐Message handlingMESSAGE I999
B ZSDR0188 SD · 2023
  • ●Purpose · scopeReceivables report
  • ◐Selection screen+ S_BLDAT added
  • ●Data sourceBSID + KNA1
  • ○Output structureCL_GUI_ALV_GRID
  • ◐Message handlingBAL_LOG
● Same ◐ Differs ○ Opposite 5 of 10 dimensions shown · the actual report compares all dimensions: purpose·scope / selection screen / data source / business logic / output / UI / messages / performance / Text Element / CBO·Enhancement
VERDICT On a project where 3 "similar but slightly different" Z reports had been drifting for years, a single 10-dimension comparison report lets you make the consolidate · retire · standardize decision all at once
The principle that you look at the programs you already have first, before the AI proposes "let's build a new one," extends through this feature all the way into operations

#06 🩺

Maintenance Diagnosis

/sc4sap:analyze-symptom

Give it just a dump ID and the first-pass analysis - down to SAP Note candidates - finishes inside Claude

It pulls ST22 · SM02 · /IWFND/ERROR_LOG · the SAT profiler directly through MCP tools and analyzes them. Work is auto-delegated to sap-debugger / sap-bc-consultant, so it extends safely even into unfamiliar territory

Rather than just printing a stack trace, it integrates the call chain · variable dump · memory state to propose a hypothesis and returns follow-up actions (apply Note · fix code · add authorization) as choices
Even a dump you've never seen, right after an operational handover, can finish first-pass analysis and be passed to the BC team as a precise question

STEP 1Collect dumpRuntimeListDumps
RuntimeAnalyzeDump
STEP 2Analyze stackCall chain · source location · variable dump
STEP 3Root-cause hypothesisLock · Memory · Auth · DB · Network
STEP 4SAP Note candidatesSearch keywords + action choices
ST22 Runtime Dumps SM02 System Msgs /IWFND/ERROR_LOG SAT Profiler SU53 Auth Check SM12 Lock Entries

#07 🔒

Fit to System

The three things an operations site actually wants - documentation · incident response · data protection

Generation features alone make it hard to fully fit into a live SAP operations environment
Beyond new development, sc4sap delivers legacy documentation, first-pass incident analysis, and enterprise-grade data protection all within one package

📄

Reverse Engineering

Turning legacy back into a spec
/sc4sap:analyze-code · /sc4sap:program-to-spec

  • Review report by Clean ABAP · performance · security category
  • Auto-generated functional/technical spec (Markdown or Excel)
  • Socratic scope tuning to dodge the "document everything" trap
  • Legacy documentation deferred for years, compressed into minutes
🩺

Operational Triage

Incident analysis that finishes inside Claude
/sc4sap:analyze-symptom

  • ST22 dumps - RuntimeListDumps / RuntimeAnalyzeDump
  • SM02 system messages - RuntimeListSystemMessages
  • /IWFND/ERROR_LOG Gateway errors - RuntimeGetGatewayErrorLog
  • SAT profiler - RuntimeAnalyzeProfilerTrace
  • Stack trace analysis → SAP Note candidates → root-cause hypothesis → action choices
🔒

Data Protection

4-layer defense + acknowledge_risk HARD RULE
Blocks row-level leakage of PII · payroll · banking · transactional finance at the source

  • L1 agent directives - category-based refusal + alternatives offered
  • L2 global CLAUDE.md - auto-injected into every session
  • L3 PreToolUse hook - blocks the call (deny)
  • L4 MCP server internal guard - opt-in server-level block

4-layer defense structure

LayerLocationRole
L1Agent directivesCategory-based refusal + alternatives offered (PII / HR / Banking / Transactional Finance ···)
L2CLAUDE.md globalData Extraction Policy auto-injected into every session
L3Claude Code PreToolUse hookBlocks the actual MCP call with permissionDecision: deny
L4MCP server internal guardOpt-in block at the server level - seals off calls from other clients too

Blocklist profiles - pick a scope that fits your environment

strict

PII + credentials + HR + transactional finance + audit logs + workflow. Default

standard

PII + credentials + HR + transactional finance. Default for typical projects

minimal

PII + credentials + HR + Tax. Business-table queries allowed

custom

A user-defined list in .sc4sap/blocklist-custom.txt

HARD RULE

acknowledge_risk - explicit approval per-call · per-table · per-session

To access a sensitive table via GetTableContents / GetSqlQuery, the user must grant permission with an explicit affirmative keyword

Accepted expressions: yes 승인 authorize approve proceed confirmed

Rejected expressions (ambiguous commands): 뽑아봐 try it my mistake 해봐

Approval is valid only per-call · per-table · per-session and does not carry over to the next request. The design goal is to eliminate the very path by which "an AI accidentally pulls a sensitive table."

Try the gate - click a keyword
acknowledge_risk
→ Click one of the keywords above to see how the gate behaves

#08 🗃️

Reusability · CBO Reuse

/sc4sap:analyze-cbo-obj

So the AI doesn't rebuild Z objects that already exist

The longer a SAP system has been in use, the more hundreds of ZCL_* · ZFM_* · Z*_DE · custom structures and table types pile up. Hand development to an AI without knowing these assets, and
building yet another Z object with the same function keeps repeating - SC4SAP blocks this problem at the front of the pipeline

🧷
CMOD
User Exits

Enhancement Project · FM Exit · Screen Exit

⚖️
GGB1 · GGB2
Substitution / Validation

Finance/logistics substitution·validation rules

🔌
BAdI
Business Add-In

Classic / Kernel / Enhancement Spot
implementation classes

➕
APPEND
Structure Append

CI/ZZ fields on standard tables·structures + BAPI EXTENSION

REUSE FIRST

Proposes the assets
you already have first

/sc4sap:analyze-cbo-obj
  • create-program loads the inventory at the plan stage
  • Every Create* call must pass the reuse gate
  • Scan once → share the same inventory for weeks
"Do we need to build a new CBO" is always the last question sc4sap includes user-exits · substitution/validation · BAdI implementations · APPEND structures in the inventory, structurally blocking the brownfield "duplicate Z" accident

#09 🏭

Industry Context

General-purpose business context for 14 industries is built into the agents

Retail's Article and fashion's Style × Color × Size differ in their very master-data structure
Automotive JIT/JIS scheduling, pharma GMP · Serialization, steel Characteristic Inventory · Coil · Heat tracking - different business rules run on the same ERP

Based on the industry value in config.json, Analyst · Critic · Planner load the matching industry reference as mandatory before starting work
and each file is organized into 4 sections - Business Characteristics / Key Processes / Master Data / Pitfalls - and cross-validated automatically with the module consultant

The accident of "pushing automotive-style BOM onto a retail project" is structurally and fundamentally blocked

  • Retail Article·POS
  • Fashion Style×Color×Size
  • Cosmetics Batch·Shelf
  • Tire OE/RE·Mold
  • Automotive JIT/JIS·PPAP
  • Pharma GMP·Serial
  • F&B Catch Wt·FEFO
  • Chemical Process·DG
  • Electronics VC/AVC·RMA
  • Construction POC·Sub
  • Steel Coil·Heat
  • Utilities IS-U·FI-CA
  • Banking FS-CD·BP
  • Public Funds·Grants

#10 🌏

Country / Localization

In Korea a tax invoice, in Italy SDI FatturaPA, in Mexico CFDI - even the same FI document has completely different output formats and legal requirements from country to country

Beyond output format, the e-Invoicing mandate effective dates, bank communication protocols, tax filing cycles, and data retention periods mean almost none of one country's accounting flow can be moved to another country as-is
SC4SAP organizes 16 country references around the 4 reference points of Tax · e-Invoicing · Banking · Statutory Reporting

Based on the country value in config.json, Analyst · Critic · Planner load the relevant file as mandatory before starting work
In multi-country rollouts it then automatically flags cross-touchpoints like intercompany · intra-EU VAT · transfer pricing, helping you track per-country branching on a single codebase all at once

  • KRKoreae-Tax Invoice (NTS) · Business Registration Number · resident registration number PII
  • JPJapanQualified Invoice · Zengin · Corporate Number
  • CNChinaGolden Tax · e-fapiao · SAFE FX
  • USUSASales & Use Tax · EIN · 1099 · ACH · Nexus
  • DEGermanyUSt · ELSTER · XRechnung/ZUGFeRD · SEPA
  • UKUKVAT + MTD · BACS/FPS/CHAPS · GB vs XI
  • FRFranceTVA · FEC · Factur-X 2026
  • ITItalyIVA · FatturaPA/SDI · Split Payment
  • ESSpainIVA · SII real-time reporting · TicketBAI
  • NLNetherlandsBTW · Peppol · XAF · G-rekening
  • BRBrazilNF-e · SPED · CFOP · ICMS/IPI/PIS/COFINS
  • MXMexicoCFDI 4.0 · SAT · Complementos · SPEI
  • INIndiaGST · IRN e-invoice · e-Way Bill · TDS
  • AUAustraliaGST · ABN · STP Phase 2 · BAS
  • SGSingaporeGST · UEN · InvoiceNow(Peppol) · PayNow
  • EUEU CommonVIES · INTRASTAT · ESL · OSS/IOSS · SEPA · GDPR
How it works
  • .sc4sap/config.json → the industry / country values are auto-loaded at session start
  • Analyst · Critic · Planner load the Country Context block as mandatory before starting work
  • In multi-country rollouts they load all relevant files and automatically flag cross-touchpoints like intercompany · intra-EU VAT · transfer pricing

#11 🎯

Active-Module Awareness

It swaps which standard objects it uses based on the module mix

Even the same "cost analysis" differs: on a MM + PS project it goes by WBS, on SD + CO by CO-PA segment
Using the activeModules list in config.json, the agent auto-selects the Standard objects and BAPIs for each combination and flags cross-touchpoints

When FI + TR is active, it designs the path all the way from payment proposal → cash management → House Bank transfer; with QM + PP it carries the flow so in-process inspection lots are auto-created at each production-order step

MM+PS⇒WBS cost

Costs aggregated directly to WBS elements. Attributed to the project via the PS_PSP_PNR key on BANFN · EBELN

SD+CO⇒CO-PA

Documents posted by segment/channel on an order · billing basis. Quantities and amounts decomposed into CE1 / CE4

FI+TR⇒Funds · House Bank

Payment proposal → TR cash management → House Bank transfer. Auto-recognizes the FEBAN · FF7A linkage path

QM+PP⇒Inspection lot

In-process inspection lots created at each production-order step. Auto-branches at incoming-inspection · final-inspection points

MM+PP⇒Demand · procurement

MRP splits demand into purchase requisitions and planned orders, routing EBAN · PLAF by procurement type and lead time

CO+PP⇒Production variance

Production-order actuals are set against target cost, with AUFK · COSS breaking out quantity, price, and volume variance

#12 🏗️

Formatted Auto Program Maker

/sc4sap:create-program

A program that already follows the conventions on its first commit

/sc4sap:create-program is an 8-stage pipeline that runs from a one-line idea to an activated ABAP object
The output isn't a "draft that happens to work" - it's final code that strictly follows sc4sap coding conventions

PHASE 3

Spec authoring + approval gate

It won't move on until the user
explicitly states 승인 / approve

PHASE 4

Parallel Include creation + batch activation

Main + conditional Includes generated in parallel, then a single Semantic Analysis + batch activation - roughly 40-60% faster than per-object loops

PHASE 6

4-bucket parallel convention review

ALV+UI · Logic · Structure+Naming · Platform reviewed in parallel with Sonnet - Opus escalation only when a MAJOR
is found

PHASE 8

Completion report (PASS gate)

Completion report conditional on a Phase 6 PASS, with a state.json timing table for
C-2 resume support

→ As a result, the reviewer's job is spent on "judging business logic", not "correcting conventions"
Because it produces code that passes from the start, people only need to look at whether this program does the right thing

Welcome Contributors!

If the project interests you or you would like to contribute,
please get in touch through the Connect details below