writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
sap-cloudThis skill handles SAP S/4HANA Cloud Public Edition tasks including Clean Core principles, Key User Extensibility (Custom Logic, Custom Fields, Custom CDS Views, Custom Business Objects), 3-Tier Extension Model (Tier 1 Key User, Tier 2 Side-by-Side, Tier 3 On-Stack), Fit-to-Standard workshops, Cloud ALM (Application Lifecycle Management), Feature Scope Desc…
Independent GitHub snapshot · Automated classification · Original documentation governs
When any Cloud PE issue or extension task is reported, collect before answering:
SAP S/4HANA Cloud PE enforces Clean Core — no modifications to SAP standard code or tables.
| Activity | On-Premise (ECC/S/4HANA OP) | Cloud PE |
|---|---|---|
| ABAP Modifications (SE38) | ✓ Allowed | ✗ FORBIDDEN |
| Function Module Enhancements (SMOD/CMOD) | ✓ Allowed | ✗ FORBIDDEN |
| Workflow Customizing (SWDD) | ✓ Allowed | △ Limited (no code exits) |
| IMG Configuration | ✓ Full (SPRO) | △ Limited (Manage Your Solution) |
| BAdI Implementation | ✓ Standard (SE19) | ✗ FORBIDDEN (use RAP instead) |
| Enhancement Spots | ✓ Full (BADI_DEF) | ✗ FORBIDDEN |
| Standard Table Modifications | ✓ Allowed (append structures) | ✗ FORBIDDEN |
| Transport Mechanism | ✓ TMS (TP/TP4) | ✗ Direct upload to Cloud ALM |
Forbidden T-codes in Cloud PE:
Enable end users (non-developers) to add business fields without coding.
How to Create Custom Fields:
ZZ_CUSTOM_FIELD (naming convention)Limitations:
Example: Add "승인 요청 코드" (approval code) to PO header:
For business logic beyond custom fields — use Restricted ABAP Programming (RAP) on released SAP APIs.
What is RAP (Restful ABAP Programming)?
Tier 1 Custom Logic Entry Points (Key User-friendly):
Calculations/Derivations — Automatic field computation
Validations — Block invalid data
Default Values — Pre-fill fields on creation
ABAP Cloud Restrictions:
Example: Validate PO quantity vs. contract
CDS View: ZC_PO_CUSTOM
element ZZ_CONTRACT_QTY : Contract Qty;
Validation Rule:
if (PO_QTY > ZZ_CONTRACT_QTY) {
raise_severity(error, 'Qty exceeds contract');
}
Expose custom data models for reporting without modifying SAP tables.
Use Case: Create custom analytics on top of SAP data.
Steps:
Limitations:
For completely new entities (not extending existing SAP objects).
Example: "Internal Service Request" (separate from Purchase Order)
Technology: ABAP Cloud Business Objects (BO, OData)
Development Steps:
START
↓
Does your need fit Cloud PE standard?
├─→ YES → Use Standard Configuration (no extension needed)
├─→ NO → Does it require custom fields only?
│ ├─→ YES → TIER 1 (Custom Fields only, end-user self-service)
│ ├─→ NO → Does it require business logic (validation, calc) OR analytics?
│ ├─→ YES → TIER 1 (Custom Logic via RAP / CDS Views)
│ ├─→ NO → Do you need external integration (non-SAP APIs)?
│ ├─→ YES → TIER 2 (BTP side-by-side app)
│ ├─→ NO → Do you need classic ABAP OR table modifications?
│ ├─→ YES → TIER 3 (On-Stack ABAP Cloud)
│ └─→ NO → Evaluate Tier 2 (cleaner architecture)
| Capability | Tier 1 | Delivery | Ownership |
|---|---|---|---|
| Custom Fields | ✓ | Immediate (Fiori UI) | End User / Functional consultant |
| Custom Validations | ✓ | 1-2 days (CDS Validation) | Functional consultant (no ABAP needed) |
| Custom Calculations | ✓ | 1-2 days (CDS Calculation) | Functional consultant |
| Custom CDS Views | ✓ | 3-5 days | ABAP Cloud developer |
| Standard APIs | ✓ | 3-5 days (RAP event handler) | ABAP Cloud developer |
| Custom UI (Fiori) | ✓ | 1-2 weeks | SAP Fiori developer (low-code) |
*No Classic ABAP (SE38); ABAP Cloud is light-weight, CDS-centric.
Release Cycle: Delivered in next Cloud PE Monthly Release (no need to wait for quarterly)
For use cases requiring:
Technology Stack:
Architecture:
Cloud PE SAP
↓
APIs (OData)
↓
BTP CAP App ← Custom Logic
↓
External Services (3rd-party APIs)
↓
Custom UI (Fiori, Mobile, Web)
Example: Integration with vendor procurement system
Cloud PE → API Gateway → BTP CAP Service → Vendor System
↑_________________________↓
(async: purchase order created → notify vendor)
Development Effort: 4-8 weeks (includes BTP setup, CAP, testing, deployment)
Release Cycle: Flexible (deployed directly to BTP, not tied to Cloud PE quarterly release)
For use cases requiring:
Constraints:
/IWBEP/SBCO_APPL_TYPES)Technology:
Example: Complex PO validation
ABAP Cloud Event Handler (Tier 3):
CLASS zcl_po_validation DEFINITION FINAL CREATE PRIVATE
...
METHODS validate( po_data TYPE STRUCT ) RAISING EXCEPTION;
IF po_data-qty > contract_qty THEN
RAISE EXCEPTION ...
ENDIF.
IF po_data-price > price_limit THEN
RAISE EXCEPTION ...
ENDIF.
END CLASS.
Release Cycle: Deployed via Cloud ALM (can be mid-cycle if urgent, coordinated with SAP)
Goal: Minimize custom extensions by adapting business process to SAP Cloud PE standard.
Participants: Business analyst, functional consultant, IT lead, SAP solution architect
Phase 1: Current State (Day 1)
Phase 2: Future State — Standard SAP (Day 2)
Phase 3: Gap Analysis (Day 2-3)
Example Gap Resolution:
| Current (Legacy) | SAP Standard | Decision |
|---|---|---|
| "Approval workflow must go to 3 approvers" | SAP workflows support multi-level approval | Fit — use standard SAP workflow (no custom code) |
| "Cost center must be auto-filled from cost center master" | Standard provides default values | Fit — configure default values (no custom logic) |
| "Invoice must reject if VAT% doesn't match contract" | SAP validation engine (CDS) exists | Extend — Tier 1 Custom Logic (1-2 days) |
| "System must call legacy SMTP gateway for email" | SAP Cloud PE cannot call legacy on-premise | Workaround — use BTP Email Service or Tier 2 |
Create document (delivered to customer):
DELTA DESIGN DOCUMENT
====================
1. Processes Fitting Standard (0 extensions needed)
- Purchasing (PO to GR to IV)
- Accounts Payable
- Sales Order to Invoice
2. Required Extensions (Tier 1/2/3)
a) Custom Field: Cost Center Sub-Division (Tier 1)
Effort: 2 days
Release: Next monthly release
b) Custom Logic: PO Approval Workflow (Tier 1, CDS validation)
Effort: 5 days
Release: Next monthly release
c) Side-by-Side: Vendor Portal (Tier 2, BTP CAP)
Effort: 6 weeks
Deployment: Separate BTP tenant
3. Workarounds (Manual Steps)
- Monthly reconciliation report generation (IT manual export)
- Legacy data migration (via LSMW, one-time)
TOTAL EXTENSION EFFORT: 7 weeks (vs. 6 months if no Fit-to-Standard)
CUSTOM CODE FOOTPRINT: 2 Tier 1 + 1 Tier 2 (minimal maintenance)
SAP's governance tool for Cloud PE updates, extensions, and quality assurance.
IMPLEMENTATION PHASE (Go-Live Preparation)
├─ Test cycles (SIT, UAT)
├─ Regression testing
├─ Go-live cutover planning
└─ Data load validation
OPERATIONS PHASE (Post Go-Live)
├─ Quarterly SAP release upgrades (automatic)
├─ Custom extensions deployment
├─ Hotfix management
└─ Issue management & change requests
CSP = deliverable unit for Tier 1 / Tier 3 custom extensions.
Contents:
Deployment Process:
SAP releases Cloud PE updates every month (for security/minor features) and major release every quarter (functional features, UI updates).
| Activity | Frequency | Your Action |
|---|---|---|
| Security patches | Monthly (1st Tuesday) | Auto-applied by SAP (0 downtime) |
| Feature releases | Quarterly | Review FSD (Feature Scope Description) |
| Custom extension re-validation | Monthly | Check if your custom code still works |
| Regression testing | Quarterly | Full regression suite (Cloud ALM) |
Key: Cloud PE upgrades are mandatory and happen overnight (UTC). Plan testing for next day.
Before each quarterly release, SAP publishes FSD — detailed list of new features, deprecations, and breaking changes.
How to Use FSD:
Example FSD Entry:
Feature: Enhanced PO Approval Workflow
Status: NEW
Availability: 2405 release (May 2024)
Industry: Manufacturing
Description: New approval levels, delegation support, email notifications
Business Impact: Can now retire custom approval system (Tier 2 BTP)
Action Required: Review current PO approval process, consider migration
Custom Code Impact: RAP validations will continue to work (backward compatible)
SAP Cloud PE for Korea runs in 서울 Region (ap-northeast-2) on AWS.
Implication for Extensions:
| Process | SAP Standard | Korean Adaptation | Extension Needed? |
|---|---|---|---|
| 부가세 (VAT) | EU VAT standard | 한국식 3단계 부가세 (조기환급, 선수금) | NO (standard config) |
| 원천세 (Withholding Tax) | Generic withholding tax | 한국 근로소득, 이자, 배당 세율 | NO (standard config) |
| 원가마감 (Period-End Cost Close) | Monthly/Quarterly | 한국 회사는 월마감 필수 | NO (standard config) |
| 자산회계 (Fixed Assets) | Standard depreciation | 한국식 감가상각법 (정액법, 정률법, 년수합계법) | NO (standard config) |
| 보조금 회계 (Subsidy Accounting) | Not standard | 정부지원금 추적 필요 (기업 특성) | YES (Tier 1 custom logic) |
| 관세 (Customs) | Not standard | 해외 수입/수출 관세 | YES (Tier 2 for customs broker integration) |
| 외환 (Foreign Exchange) | Standard FX module | 한국 은행 환율 & 선물환 | NO (standard config + daily exchange rate upload) |
| Feature | ECC 6.0 | S/4HANA On-Prem | RISE (Managed) | Cloud PE |
|---|---|---|---|---|
| Extensibility | ||||
| Custom ABAP (SE38) | ✓ Unlimited | ✓ Unlimited | ✓ Limited | ✗ Forbidden |
| Function Exits (SMOD) | ✓ | ✓ | ✓ | ✗ Forbidden |
| Table Append | ✓ | ✓ | ✓ | ✗ (use Custom Fields) |
| RAP / ABAP Cloud | ✗ | ✓ (S/4 2020+) | ✓ | ✓ (Tier 1/3) |
| Custom CDS Views | ✗ | ✓ | ✓ | ✓ (Tier 1) |
| Integration | ||||
| RFC (synchronous) | ✓ | ✓ | ✓ | ✗ (use OData) |
| RFC (asynchronous) | ✓ | ✓ | ✓ | △ (Event Mesh) |
| Message Queue (MQ) | ✓ | ✓ | ✓ | ✓ (BTP Event Mesh) |
| EDI (IDOC) | ✓ | ✓ | ✓ | △ (Custom code needed) |
| Operations | ||||
| OS-level patching | ✓ (customer) | ✓ (customer) | ✓ (SAP) | ✓ (SAP) |
| DB patching | ✓ (customer) | ✓ (customer) | ✓ (SAP) | ✓ (SAP) |
| Backup frequency | ✓ (customer decides) | ✓ (customer decides) | ✓ (SAP decides) | ✓ (SAP automated daily) |
| High Availability | ✓ (customer config) | ✓ (customer config) | ✓ (SAP-managed) | ✓ (SAP-managed) |
| Disaster Recovery | ✓ (customer setup) | ✓ (customer setup) | ✓ (SAP-managed) | ✓ (SAP-managed, Korea region) |
| Release Management | ||||
| Major version cycle | ~3-4 years | Annual (S/4 2020→2021→2022...) | Continuous (SAP chooses) | Monthly + Quarterly feature release |
| Customization preservation | ✓ | ✓ | △ (some breakage risk) | ✗ (no custom code, so no breakage) |
| Upgrade planning window | 6-12 months | 3-6 months | 1-2 weeks (notice) | 0 weeks (automatic overnight) |
| Aspect | ECC | S/4HANA On-Prem | Cloud PE |
|---|---|---|---|
| Development Environment | Same hardware (DEV/TEST/PROD separate) | Same hardware | Managed by SAP (separate DEV/Test/Prod tenants) |
| Code Promotion | TMS (Transport Management System) | TMS | Cloud ALM (cloud-native) |
| Zero-Downtime Deploy | ✗ (system restarts) | △ (with planning) | ✓ (built-in, no restart) |
| Rollback Capability | ✓ (backup restore, slow) | ✓ (backup restore, slow) | ✓ (instant, green/blue deployment) |
All answers follow this structure:
Issue (사용자 보고사항 재정의) → Environment (Cloud PE 버전, extension tier, current state) → Root Cause (가능한 원인) → Check (Fiori UI path / Cloud ALM check / T-code in dev tenantif applicable) → Fix (단계별 해결 방법) → Prevention (설정/governance 권장) → References (관련 SAP docs / FSD / Cloud ALM best practices)
plugins/sap-cloud/skills/sap-cloud/references/img/overview.md — Cloud ALM IMG 구조plugins/sap-cloud/skills/sap-cloud/references/img/key-user-extensibility.md — Custom Fields/Logic/CDS 구성plugins/sap-cloud/skills/sap-cloud/references/img/fit-to-standard.md — 워크숍 절차plugins/sap-cloud/skills/sap-cloud/references/best-practices/operational.md — Cloud PE 일상 운영 BPplugins/sap-cloud/skills/sap-cloud/references/best-practices/period-end.md — 기간마감 BPplugins/sap-cloud/skills/sap-cloud/references/best-practices/governance.md — 거버넌스 (릴리즈, 확장 통제)plugins/sap-cloud/skills/sap-cloud/references/ko/quick-guide.md — 한국어 퀵가이드