← ClaudeAtlas

rap-bo-designlisted

Design a complete RAP business object end-to-end and create it via the official SAP ABAP MCP. Use when the user asks to design, scaffold, generate, or create a new RAP BO, OData service, Fiori UI service, or RAP managed/unmanaged behavior. Prefers the MCP x-ui-service / ui-service / webapi-service generators; falls back to hand-crafted CDS/BDEF skeletons when no generator fits. Applies the ABAP Cloud / RAP overlay rules in ../CLAUDE.md (loaded on invocation). Targets BTP ABAP Environment and S/4HANA on-prem in the ABAP Cloud development model.
matt1as/claude-abap-skills · ★ 9 · Web & Frontend · score 77
Install: claude install-skill matt1as/claude-abap-skills
# abap-cloud-rap:rap-bo-design Design a new RAP business object end-to-end and create it via the SAP ABAP MCP Server. ## What this command does You are designing a complete RAP business object from a short spec, then creating it in the connected ABAP system. The official ADT MCP Server (in `SAPSE.adt-vscode`) exposes three RAP **generators** that bootstrap a conformant stack in one call — that is the primary path. You then validate the generated stack against the rules in `../CLAUDE.md` and refine it. The "hand-crafted skeleton" path is a **fallback** for cases the generators do not fit. ## Inputs to collect Before doing anything, confirm or ask for each of the following. If anything is ambiguous, ask — do not silently pick a default. Bundle the questions in one short turn rather than multi-turn interrogation. 1. **Project name** — short label that becomes the SAP Object Type / Service Definition / Service Binding name (max 24 chars). E.g. `Flight`, `Travel`, `WorkOrder`. 2. **Artifact prefix and suffix** — used for the generated CDS / BDEF / table names. E.g. prefix `Z` → `ZR_Flight`, `ZI_Flight`, `ZFlight` table. 3. **Application type** — `readOnly`, `withDraft`, or `withoutDraft` (transactional). `withDraft` is the default for editable BOs. 4. **Entities** — for each entity: - Entity alias (e.g. `Flight`) - Composition parent (if a child entity) and cardinality (`toOne` / `toMany`) - Field list with: - field name - data type (`uuid`, `char`, `numc