본문으로 건너뛰기

SAP 시스템 전체를
Claude Code 안에서

대화로 설계하고, 자동으로 구현해보세요

지원 플랫폼
3 ECC 6.0 · S/4HANA On-Premise · S/4HANA Cloud
MCP 도구
150+ ABAP ADT 기반
전문 에이전트
25 Core 10 · Basis 1 · Module 14
워크플로 스킬
17 setup · create-program · analyze-code · team ···

AI에 SAP 개발을 맡길 때 늘 막히는 지점

범용 AI는 SAP에 직접 닿지 못해서, 코드를 짐작하고 이미 있는 걸 또 만들곤 합니다

범용 AI에 맡기면

  • 실제 소스를 열지 못하니 그럴싸한 ABAP을 지어냅니다
  • 이미 있는 Z 오브젝트를 모른 채 같은 기능을 또 만듭니다
  • 업종과 국가 룰이 빠진 채 표준 객체를 잘못 고릅니다
  • 운영 데이터를 어디까지 읽어도 되는지 경계가 없습니다

SC4SAP를 붙이면

  • ADT로 실제 소스를 읽고, 고치고, 활성화까지 합니다
  • analyze-cbo-obj로 인벤토리를 먼저 조회한 뒤 재사용을 제안합니다
  • 14개 업종과 16개 국가 레퍼런스를 필수로 로드합니다
  • PII · 급여 · 뱅킹 테이블은 4중 방어로 차단합니다

압도적 성능과 효율을 경험하세요

웹, 모바일, CLI 환경 어디서든지

GETTING STARTED

시작하는 데 세 단계면 충분합니다

설치부터 첫 작업까지, 별도 서버를 세우거나 설정 파일을 만질 일은 없습니다. Claude Code 안에서 그대로 이어집니다

설치

Claude Code에 커스텀 마켓플레이스를 추가하고 플러그인을 설치합니다

/plugin install sc4sap

연결

SAP 버전과 업종, 국가를 한 번 답하면 MCP 서버와 권한 훅까지 등록됩니다

/sc4sap:setup

작업

역공학, 코드 리뷰, 프로그램 생성을 25개 에이전트가 나눠 처리합니다

/sc4sap:team

기능 12가지

전체 12개

각 항목을 열면 실제 명령어와 산출물, 동작 방식을 확인할 수 있습니다

#01 🔧

Auto MCP Install

/sc4sap:setup

SAP 개발 환경을 꾸리다 보면 MCP 서버 설치 · 인증 정보 분리 · 권한 훅 등록 · SPRO 캐시 생성까지
반나절이 사라집니다. SC4SAP는 이 과정을 질문 하나당 한 답으로 분해해 셋업 마법사 안에서 끝냅니다

  • 1
    MCP 서버 자동 설치 - abap-mcp-adt-powerup을 클론 · 빌드 · 등록합니다 claude_desktop_config.json을 직접 편집할 필요가 없습니다
  • 2
    .sc4sap/sap.env 자동 생성 - URL · 클라이언트 · 계정 · 인증 방식을 한 줄씩 묻고 저장합니다 비밀번호는 마스킹하고 sap.env.bak으로 백업합니다
  • 3
    버전 · 업종 · 국가 동기화 - SAP 버전 · ABAP 릴리즈 · 업종 · 국가를 .sc4sap/config.json에 기록합니다 모든 에이전트가 같은 컨텍스트를 공유합니다
  • 4
    데이터 추출 블록리스트 훅 등록 - BNKA 스모크 테스트로 permissionDecision: deny가 정상 동작하는지 검증합니다
결과 - SAP 시스템 정보만 한 번 답하면 MCP 서버 설치부터 권한 검증, 블록리스트 훅 등록까지 한 번에 끝납니다. 팀원이 같은 환경을 다시 셋업할 때도 sap.env 파일 하나만 공유하면 됩니다

#02 🧠

Specialist Agents

25 agents · 역할별 전문 협업

분석 · 설계 · 구현 · 리뷰 · 디버깅이 역할별 전문 에이전트에게 위임됩니다.
각자 자기 분야에서만 답하고, "그럴싸한 SAP 지식"으로 답을 지어내는 경로 자체가 구조적으로 막혀 있습니다

CORE · 10

설계 · 구현 · 리뷰

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

BASIS · 1

시스템 · 트랜스포트

sap-bc-consultant
트랜스포트 전략 · 덤프 · 성능 튜닝 전담

MODULES · 14

모듈 컨설턴트

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

병렬 협업 - /sc4sap:team

  • 여러 에이전트가 같은 태스크 리스트를 공유해 병렬로 작업 - R/W 권한과 컨텍스트는 격리됩니다
  • 모듈 판단이 필요하면 "## Module Consultation Needed" 블록으로 해당 컨설턴트에게 자동 위임
  • 시스템 레벨 이슈(트랜스포트 · 권한 · 성능)는 BC 컨설턴트로 별도 에스컬레이션

#03 🔍

Program Analyze

/sc4sap:program-to-spec

레거시 ABAP을 기능/기술 명세서로 - 역공학을 분 단위로

3,000줄짜리 리포트도 Selection screen 이미지 · ALV 컬럼 레이아웃 · Process flowchart · CBO·Enhancement 의존성까지 자동 추출됩니다
Audience / Format / Depth / Language 4축 Socratic 질문으로 깊이를 조정해 "전부 문서화" 함정을 회피합니다

운영 인계 · 감사 대응 · 시스템 마이그레이션 직전의 레거시 정리 - 사람이 일일이 코드를 읽으며 작성하던 명세서를 분 단위로 압축하고, Excel/Markdown 두 포맷으로 동시에 산출합니다

STEP 1Source 로드GetProgFullCode
Includes · Forms · Classes
STEP 2구조 추출Selection · ALV
Logic · CBO · Enhancement
STEP 3시각화 렌더Selection PNG · ALV PNG
Process Flowchart
STEP 45-Sheet XLSXCover · Inputs · Logic
CBO · Warnings
📒 ZSDR0142_spec.xlsx 5 sheets + warnings
  • 01
    Cover

    프로그램 ID · 작성자 · 최종 수정 · 4축 메타

  • 02
    Selection

    Selection screen PNG 임베드 + 파라미터 표

  • 03
    Inputs / Screens

    ALV 컬럼 레이아웃 PNG · 필드 설명 · 길이

  • 04
    Process Logic

    Process Flowchart 자동 렌더 (박스 · 결정 · 종료 + ↓)

  • 05
    CBO / Enhancement

    Z 오브젝트 의존성 트리 · BAdI · CMOD · APPEND

  • Warnings

    파싱 불가 · 위험 패턴 · 미해결 항목

#04 🧪

Analyze Code

/sc4sap:analyze-code

Clean ABAP · 성능 · 보안 · 현대화 - severity-ranked 정적 리뷰

프로젝트의 ABAP_RELEASE / SAP version 컨텍스트를 반영해 적용 가능한 패턴만 권장합니다
OOP / Procedural 패러다임을 자동 인지하고, Where-used 그래프로 영향도까지 함께 제시. 라인 번호 · 호출 경로 · 즉시 적용 가능한 fix snippet을 한 묶음으로 돌려줍니다

보안 카테고리는 SQL Injection · AUTHORITY-CHECK 누락 · 동적 코드 실행 같은 OWASP 패턴을 정적 분석으로 탐지하고
성능 카테고리는 중첩 LOOP·SELECT를 sorted/hashed table look-up으로 리팩토링하는 구체적 패치 코드까지 첨부합니다

CLEAN ABAP
  • 네이밍 · 단일 책임
  • 매직 넘버 · 글로벌 변수
  • OOP / Procedural 일관성
PERFORMANCE
  • SELECT 패턴 · 인덱스
  • 중첩 LOOP · INTO TABLE
  • sorted / hashed 사용
SECURITY
  • SQL Injection
  • AUTHORITY-CHECK 누락
  • 동적 코드 sanitize
MODERNIZATION
  • VALUE / REDUCE / COND
  • FILTER · 람다식
  • 신규 syntax 도입
CRITICAL
SQL Injection 가능성동적 WHERE 절에 사용자 입력이 직접 결합됩니다 (line 412). WHERE (lv_where) → escaped binding으로 교체
CRITICAL
AUTHORITY-CHECK 누락BUKRS 기반 조회 후 권한 검증 없이 출력 (line 78). F_BKPF_BUK 권한 객체 체크 추가 필요
MAJOR
SELECT … ENDSELECT 루프INTO TABLE + LOOP AT으로 변경 시 약 70% 성능 개선 예상

#05 ⚖️

Compare Programs

/sc4sap:compare-programs

같은 일을 하는 프로그램이 왜 두 개, 세 개씩 돌아가는지

/sc4sap:compare-programs - 2~5개의 ABAP 프로그램을 동시에 로드해 10개 차원에서 구조적으로 비교합니다
"복사해서 고친 프로그램"과 "진짜 다른 프로그램"을 구별해 통합 · 폐기 · 공통화 판단의 근거를 만듭니다

/sc4sap:compare-programs · ZSDR0142 · ZSDR0188
A ZSDR0142 SD · 2019
  • ●목적·범위미수금 리포트
  • ◐선택 화면P_BUKRS · S_KUNNR
  • ●데이터 소스BSID + KNA1
  • ○출력 구조List (WRITE)
  • ◐메시지 처리MESSAGE I999
B ZSDR0188 SD · 2023
  • ●목적·범위미수금 리포트
  • ◐선택 화면+ S_BLDAT 추가
  • ●데이터 소스BSID + KNA1
  • ○출력 구조CL_GUI_ALV_GRID
  • ◐메시지 처리BAL_LOG
● 동일 ◐ 차이 ○ 상반 10개 차원 중 5개 표시 · 실제 리포트는 목적·범위 / 선택화면 / 데이터소스 / 비즈니스로직 / 출력 / UI / 메시지 / 성능 / Text Element / CBO·Enhancement 전 차원 비교
VERDICT 수년간 "비슷한데 조금 다른" 3개의 Z 리포트가 떠돌던 프로젝트에서, 10차원 비교 리포트 하나로 통합·폐기·표준화 결정을 한 번에 내릴 수 있습니다
AI가 "새로 만들자"고 제안하기 전에, 이미 있는 프로그램을 먼저 본다는 원칙이 이 기능으로 운영까지 확장됩니다

#06 🩺

Maintenance Diagnosis

/sc4sap:analyze-symptom

덤프 ID만 주면 SAP Note 후보까지, Claude 안에서 1차 분석 종료

ST22 · SM02 · /IWFND/ERROR_LOG · SAT 프로파일러를 MCP 도구로 직접 끌어와 분석합니다. sap-debugger / sap-bc-consultant에 자동 위임되어 모르는 영역까지 안전하게 확장됩니다

단순 스택 트레이스 출력이 아니라 호출 체인 · 변수 덤프 · 메모리 상태를 통합해 가설을 제시하고, 후속 액션(Note 적용 · 코드 수정 · 권한 추가)을 선택지로 돌려줍니다
운영 인계 직후 처음 보는 덤프도 1차 분석을 마치고 BC팀에 정확한 질문으로 넘길 수 있습니다

STEP 1덤프 수집RuntimeListDumps
RuntimeAnalyzeDump
STEP 2스택 분석호출 체인 · Source 위치 · 변수 덤프
STEP 3원인 가설Lock · Memory · Auth · DB · Network
STEP 4SAP Note 후보검색 키워드 + 액션 선택지
ST22 Runtime Dumps SM02 System Msgs /IWFND/ERROR_LOG SAT Profiler SU53 Auth Check SM12 Lock Entries

#07 🔒

Fit to System

운영 현장이 실제로 원하는 세 가지 - 문서화 · 장애 대응 · 데이터 보호

생성 기능만으로는 현업 SAP 운영 환경에 완전히 적용시키기는 어렵습니다
sc4sap은 신규 개발 외에 레거시 문서화, 장애 1차 분석, 엔터프라이즈급 데이터 보호까지 한 패키지 안에서 제공합니다

📄

Reverse Engineering

레거시를 스펙으로 되돌리기
/sc4sap:analyze-code · /sc4sap:program-to-spec

  • Clean ABAP · 성능 · 보안 카테고리별 리뷰 리포트
  • 기능/기술 명세서(Markdown 또는 Excel) 자동 생성
  • Socratic 스코프 조정으로 "전부 문서화" 함정 회피
  • 수년간 미뤄진 레거시 문서화 작업이 분 단위로 압축
🩺

Operational Triage

Claude 안에서 끝내는 장애 분석
/sc4sap:analyze-symptom

  • ST22 덤프 - RuntimeListDumps / RuntimeAnalyzeDump
  • SM02 시스템 메시지 - RuntimeListSystemMessages
  • /IWFND/ERROR_LOG Gateway 오류 - RuntimeGetGatewayErrorLog
  • SAT 프로파일러 - RuntimeAnalyzeProfilerTrace
  • 스택 트레이스 분석 → SAP Note 후보 → 원인 가설 → 액션 선택지
🔒

Data Protection

4중 방어 + acknowledge_risk HARD RULE
PII · 급여 · 뱅킹 · 거래 재무 행 단위 유출 원천 차단

  • L1 에이전트 지시문 - 카테고리별 거부 + 대안 제시
  • L2 전역 CLAUDE.md - 모든 세션 자동 주입
  • L3 PreToolUse 훅 - 호출 차단 (deny)
  • L4 MCP 서버 내부 가드 - opt-in 서버 레벨 차단

4중 방어 레이어 구조

Layer위치역할
L1에이전트 지시문카테고리별 거부 + 대안 제시 (PII / HR / Banking / Transactional Finance ···)
L2CLAUDE.md 전역모든 세션에 자동 주입되는 Data Extraction Policy
L3Claude Code PreToolUse 훅permissionDecision: deny로 실제 MCP 호출 차단
L4MCP 서버 내부 가드서버 레벨에서 opt-in 차단 - 다른 클라이언트 호출도 봉쇄

블록리스트 프로파일 - 환경에 맞게 스코프 선택

strict

PII + 크리덴셜 + HR + 거래 재무 + 감사 로그 + 워크플로. 기본값

standard

PII + 크리덴셜 + HR + 거래 재무. 일반 프로젝트 기본값

minimal

PII + 크리덴셜 + HR + Tax. 업무 테이블 조회는 허용

custom

.sc4sap/blocklist-custom.txt에 사용자 지정 리스트

HARD RULE

acknowledge_risk - per-call · per-table · per-session 명시적 승인

GetTableContents / GetSqlQuery로 민감 테이블에 접근하려면, 사용자가 명시적 긍정 키워드로 허가해야 합니다

인정되는 표현: yes 승인 authorize approve proceed confirmed

인정하지 않는 표현(모호한 명령): 뽑아봐 try it my mistake 해봐

승인은 호출 단위 · 테이블 단위 · 세션 단위로만 유효하며, 다음 요청으로 이월되지 않습니다 "AI가 실수로 민감 테이블을 뽑는 경로" 자체를 없애는 것이 설계 목표입니다

게이트 체험 - 키워드를 클릭해 보세요
acknowledge_risk
→ 위 키워드 중 하나를 클릭해 게이트 동작을 확인하세요

#08 🗃️

Reusability · CBO Reuse

/sc4sap:analyze-cbo-obj

이미 있는 Z 오브젝트를 AI가 다시 만들지 않도록

수 년간 사용해온 SAP 시스템일수록 ZCL_* · ZFM_* · Z*_DE · 커스텀 구조체·테이블 타입이 수백 개씩 쌓여 있습니다, 이 자산을 모른 채 AI에게 개발을 맡기게되면
같은 기능의 Z 오브젝트를 또 만드는 것이 반복되는데, SC4SAP 는 이 문제를 파이프라인 앞단에서 차단합니다

🧷
CMOD
User Exits

Enhancement Project · FM Exit · Screen Exit

⚖️
GGB1 · GGB2
Substitution / Validation

재무·물류 치환·검증 룰

🔌
BAdI
Business Add-In

Classic / Kernel / Enhancement Spot
구현 클래스

➕
APPEND
Structure Append

표준 테이블·구조체의 CI/ZZ 필드 + BAPI EXTENSION

REUSE FIRST

이미 있는 자산을
먼저 제안합니다

/sc4sap:analyze-cbo-obj
  • create-program이 플랜 단계에서 인벤토리 로드
  • 모든 Create* 호출은 재사용 게이트 통과 필수
  • 1회 스캔 → 수 주간 같은 인벤토리 공유
"새 CBO를 만들어야 하는가"는 항상 마지막 질문입니다 sc4sap은 user-exit · 치환/검증 · BAdI 구현 · APPEND 구조체까지 인벤토리에 포함해, 브라운필드의 "중복 Z" 사고를 구조적으로 차단합니다

#09 🏭

Industry Context

14개 업종에 대한 범용 비즈니스 컨텍스트가 에이전트 안에 탑재됩니다

리테일의 Article과 패션의 Style × Color × Size는 마스터 데이터 구조 자체가 다릅니다
자동차의 JIT/JIS 스케줄링, 제약의 GMP · Serialization, 철강의 Characteristic Inventory · Coil · Heat 추적처럼 같은 ERP 위에 서로 다른 업무 룰이 돌아갑니다

config.json의 industry 값에 따라 Analyst · Critic · Planner가 해당 업종 레퍼런스를 mandatory로 로드한 뒤 작업을 시작하고
각 파일은 Business Characteristics / Key Processes / Master Data / Pitfalls 4개 섹션으로 정리되어 모듈 컨설턴트와 자동으로 교차 검증됩니다

"리테일 프로젝트에 자동차식 BOM을 들이미는" 사고가 구조적으로 그리고 원천적으로 차단됩니다

  • 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

한국에선 세금계산서, 이탈리아에선 SDI FatturaPA, 멕시코에선 CFDI - 같은 FI 전표라도 출력 양식과 법정 요건이 국가마다 완전히 다릅니다

출력 양식뿐 아니라 e-Invoicing 의무 적용시점, 은행 통신 프로토콜, 세금 신고 주기, 데이터 보존 기간까지 한 국가의 회계 흐름을 다른 국가에 그대로 옮길 수 있는 부분은 거의 없습니다
SC4SAP은 16개 국가 레퍼런스를 Tax · e-Invoicing · Banking · Statutory Reporting의 4개의 기준점으로 정리해 둡니다

config.json의 country 값에 따라 Analyst · Critic · Planner가 해당 파일을 mandatory하게 로드한 뒤 작업을 시작합니다
이후 멀티 컨트리 롤아웃에서는 인터컴퍼니 · EU 역내 VAT · 이전가격 같은 교차 접점을 자동으로 플래그해, 단일 코드베이스 위에서 국가별 분기를 한 번에 추적할 수 있게 도와줍니다

  • KRKorea전자세금계산서(NTS) · 사업자등록번호 · 주민번호 PII
  • JPJapanQualified Invoice · Zengin · 法人番号
  • 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 실시간 보고 · 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
동작 방식
  • .sc4sap/config.json → industry / country 값이 세션 시작 시 자동 로드됩니다
  • Analyst · Critic · Planner는 Country Context 블록을 mandatory하게 로드한 뒤 작업을 시작합니다
  • 멀티 컨트리 롤아웃에서는 해당 파일을 모두 로드하고 인터컴퍼니 · EU 역내 VAT · 이전가격 같은 교차 접점을 자동으로 플래그합니다

#11 🎯

Active-Module Awareness

모듈 조합에 따라 표준 객체를 바꿔 씁니다

같은 "원가 분석"이라도 프로젝트가 MM + PS면 WBS 기준, SD + CO면 CO-PA 세그먼트 기준으로 달라집니다
config.json의 activeModules 리스트를 근거로 에이전트가 조합 별 Standard 객체와 BAPI를 자동 선택하고, 교차 접점을 플래그합니다

FI + TR이 활성화되면 지급 제안 → 현금관리 → House Bank 이체 경로까지 설계되고, QM + PP면 생산오더 단계 별 in-process 검사 lot이 자동 생성되도록 흐름을 가져갑니다

MM+PS⇒WBS 비용

WBS 요소에 비용 직접 집계. BANFN · EBELN의 PS_PSP_PNR 키로 프로젝트 귀속

SD+CO⇒CO-PA

주문 · 청구 기준 세그먼트 채널로 전표 전기. 수량·금액을 CE1 / CE4로 분해

FI+TR⇒자금·하우스뱅크

지급 제안 → TR 현금관리 → House Bank 이체. FEBAN · FF7A 연계 경로 자동 인지

QM+PP⇒검사 lot

생산오더 단계별 in-process 검사 lot 생성. 수입검사 · 최종검사 시점 자동 분기

MM+PP⇒소요량 · 조달

MRP 실행이 구매요청과 계획오더로 분기. EBAN · PLAF를 조달 유형과 리드타임 기준으로 자동 배분

CO+PP⇒제조원가 차이

생산오더 실적을 목표원가와 대조해 차이 분해. AUFK · COSS로 수량 · 가격 · 조업도 차이 산출

#12 🏗️

Formatted Auto Program Maker

/sc4sap:create-program

첫 커밋이 이미 컨벤션을 지키는 프로그램

/sc4sap:create-program은 아이디어 한 줄에서 활성화된 ABAP 오브젝트까지 이어지는 8단계 파이프라인입니다
결과물은 "동작은 하는 초안"이 아니라 sc4sap 코딩 컨벤션을 엄격히 지키는 최종 코드로 산출됩니다

PHASE 3

스펙 작성 + 승인 게이트

사용자가 승인 / approve를
명시하기 전에는 넘어가지 않습니다

PHASE 4

병렬 Include 생성 + 일괄 활성화

Main + 조건부 Include 병렬 생성 후 단일 Semantic Analysis + 배치 활성화, 개별 루프 대비 약 40-60% 단축

PHASE 6

4버킷 병렬 컨벤션 리뷰

ALV+UI · Logic · Structure+Naming · Platform을 Sonnet으로 병렬 리뷰 MAJOR 발견 시에만
Opus 에스컬레이션

PHASE 8

완료 리포트 (PASS 게이트)

Phase 6 PASS 조건부 완료 리포트 state.json 타이밍 테이블로
C-2 재개 지원

→ 결과적으로 리뷰어의 일은 "컨벤션 보정"이 아니라 "비즈니스 로직 판단"에 쓰입니다
처음부터 통과하는 코드를 만들기 때문에, 사람은 이 프로그램이 옳은 일을 하는가만 보면 됩니다

Welcome Contributors!

프로젝트에 관심이 있거나 기여하고 싶은 분이 계시다면
아래 Connect 연락처로 문의해주세요