L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

sap-skills

sap-skills

General SAP skills repository reference (secondsky/sap-skills). Use for cross-module SAP capability lookup and reference patterns.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: sap-skills description: General SAP skills repository reference (secondsky/sap-skills). Use for cross-module SAP capability lookup and reference patterns. trigger: keywords: [sap skills, capability lookup, which module, which tcode, which bapi, cross-module, module map, sap reference, business capability] intent: Finding which SAP module, transaction, or BAPI covers a business capability and routing the question to the right module map, router action, or consultant agent prerequisites:

  • SAP_ROUTER_ROOT points to the sap-router-skill repository
  • Repo module maps present in $SAP_ROUTER_ROOT/references/module_maps/ (15 files, MM through BW)
  • $SAP_ROUTER_ROOT/references/data/ populated (sap-notes.yaml, symptom-index.yaml, tcodes.yaml)
  • Python available for $SAP_ROUTER_ROOT/scripts/rag_ingest.py, sap_router.py, and fallback_engine.py

SAP Skills — Cross-Module Capability Lookup

Answers "which module / tcode / BAPI does X?" using local reference data, the routing engine, and module consultant agents. Lookup flow: RAG search → module map → router map → consultant agent.

Runtime root

Before running any relative command below, resolve SAP_ROUTER_ROOT, verify that scripts/source_catalog.py exists there, and change the working directory to that repository. Fail closed with a clear configuration error if the variable is missing; do not assume the user's current project contains the router scripts.

1. RAG Search (first stop)

TF-IDF index built from references/data/ (SAP notes, symptom index, tcodes YAML) plus references/module_maps/.

# Build/rebuild the local index (run once, or after editing references/)
python scripts/rag_ingest.py ingest

# Search for a capability, symptom, note, or tcode
python scripts/rag_ingest.py search --query "goods receipt purchase order" --top 3
python scripts/rag_ingest.py search --query "credit memo billing" --top 5

2. Module Maps (curated per-module reference)

15 files in references/module_maps/ — open the one matching the domain:

FileModule
mm_operations.mdMaterials Management
sd_operations.mdSales & Distribution
fi_operations.mdFinancial Accounting
co_operations.mdControlling
pp_operations.mdProduction Planning
qm_operations.mdQuality Management
pm_operations.mdPlant Maintenance
wm_operations.md / ewm_operations.mdWarehouse Mgmt / Extended WM
tm_operations.mdTransportation Management
tr_operations.mdTreasury
hcm_onprem_operations.md / hcm_sf_operations.mdHCM on-prem / SuccessFactors
bw_operations.mdBusiness Warehouse
basis_operations.mdBasis / system administration

3. Router Map (action → execution path)

Once the capability maps to an action ID, ask the router how it executes:

# Route an action through ADT-first / GUI-fallback decision tree
python scripts/sap_router.py route --action MM_CREATE_MATERIAL
python scripts/sap_router.py route --action SD_CREATE_ORDER --functional

# Show GUI tcode / BDC / BAPI alternatives for an action
python scripts/fallback_engine.py map --action MM_CREATE_MATERIAL

# Execute the full 6-tier fallback chain (ADT→RFC→GUI→BDC→Offline→Manual)
python scripts/fallback_engine.py execute --action FI_POST_DOCUMENT --module FI

4. Core Module → Tcode → BAPI Quick Table

ModuleCore TcodesCore BAPIs
MMMM01, ME21N, MIGOBAPI_MATERIAL_SAVEDATA, BAPI_PO_CREATE1, BAPI_GOODSMVT_CREATE
SDVA01, VL01N, VF01BAPI_SALESORDER_CREATEFROMDAT2, BAPI_OUTB_DELIVERY_CREATE_SLS, BAPI_BILLINGDOC_CREATEMULTIPLE
FIFB01, FB03, F110BAPI_ACC_DOCUMENT_POST, BAPI_ACC_DOCUMENT_REV_POST, BAPI_GL_GETACCOUNTSALDO
COKS01, KO01, KB21NBAPI_COSTCENTER_CREATEMULTIPLE, BAPI_INTERNALORDER_CREATE
PPCO01, MD02, CS01BAPI_PRODORD_CREATE, BAPI_MATERIAL_BOM_GROUP_CREATE
QMQA01, QM01, QA32BAPI_INSPLOT_CREATE, BAPI_QUALNOT_CREATE
PMIW31, IW21, IE01BAPI_ALM_ORDER_MAINTAIN, BAPI_EQUI_CREATE
HCMPA30, PA20, PT60BAPI_EMPLOYEE_GETDATA, HR_INFOTYPE_OPERATION
EWM/WM/SCWM/MON, LT01BAPI_WHSE_TO_CREATE_STOCK (WM) / EWM via /SCWM APIs
TRFF7A, FI12, F110BAPI_ACC_DOCUMENT_POST (bank postings), DMEE for formats
BWRSA1, RSPC, RSRTBAPI_IPAK_START, RSPC_API_CHAIN_START

5. Delegate to Consultant Agents

When the lookup needs domain judgment, spawn the matching agent via the Agent tool:

  • Module-specific: sap-mm-consultant, sap-sd-consultant, sap-fi-consultant, sap-co-consultant, sap-pp-consultant, sap-qm-consultant, sap-pm-consultant, sap-hcm-consultant, sap-ewm-consultant, sap-tm-consultant, sap-tr-consultant, sap-bw-consultant
  • General / unclear module: sap-tutor (classifier) — it redirects to the right specialist and answers cross-module architecture questions

Rule: route general "how does SAP handle X" questions to sap-tutor; route "configure/troubleshoot X in module Y" to the module consultant.

Pitfalls

  • RAG search returns nothing → Cause: index never built or references/ edited since last build. Solution: run python scripts/rag_ingest.py ingest, then retry the search.
  • Action ID unknown to router → Cause: capability phrased as free text, not a mapped action (36 actions mapped). Solution: run python scripts/fallback_engine.py map --action <GUESS> to see the map, or check the module map file for the canonical action name.
  • Wrong module guess for a capability → Cause: overlapping terms (e.g., "invoice" exists in MM, SD, and FI). Solution: disambiguate by document direction — inbound/vendor = MM/FI-AP (MIRO/FB60), outbound/customer = SD/FI-AR (VF01/FB70) — then confirm in the module map.
  • BAPI exists but fails in cloud/S4 → Cause: classic BAPI not released for ABAP Cloud. Solution: check released APIs first (see abap-cloud skill); fall back to OData/RAP equivalents.
  • --module passed to sap_router.py route → Cause: route subcommand has no --module flag. Solution: module context goes to fallback_engine.py execute --module <X>; the router infers module from the action prefix (MM_, SD_, FI_...).

Verification

# Index built and searchable
python scripts/rag_ingest.py search --query "material master" --top 3
# Expect: hits from mm_operations.md and/or tcodes.yaml

# Router resolves a known action
python scripts/sap_router.py route --action MM_CREATE_MATERIAL
# Expect: route decision (arc-1 ADT primary or GUI fallback)

# Fallback map lists tcode/BDC/BAPI alternatives
python scripts/fallback_engine.py map --action MM_CREATE_MATERIAL

Related

  • sap-router-skill — master orchestrator; this skill feeds its routing decisions
  • run-sap-router-skill — smoke-testing the CLI scripts used here
  • abap-code-patterns / sap-bapi-integration — implementing the BAPI once identified
  • abap-cloud — released-API check before using a classic BAPI in cloud context
  • references/module_maps/*.md, references/data/{sap-notes,symptom-index,tcodes}.yaml — the underlying data
Skills enregistrées