视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
s4hana-create-record【文档与办公】Generic create-record fallback for SAP S/4HANA Cloud Public or on-prem private edition. Use when the user wants to create / post / add / generate / seed a record type that does NOT have a dedicated specific skill — for example fixed asset masters, purchase requisitions, purchase contracts / outline agreements, inbound deliveries, sales orders, billin…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Research-on-the-go creator for any SAP S/4HANA entity that doesn't have a dedicated specific skill yet. ⚠️ Unverified path — every record type encountered here should be probed once and confirmed by the user before bulk creation.
Before any API call, before any tool use, do this check. Even if you already know credentials from earlier in the conversation — IGNORE that knowledge and re-check from scratch each invocation.
<current cwd>...".env file at ./.env (in the current working directory — NOT parent dirs, NOT ~/.env, NOT any memory file)SAP_HOST AND SAP_AUTH_MODE both present./.env from the bundled template (curl from https://raw.githubusercontent.com/ilia-inovaflow/s4hana-create-record-skills/main/.env.example), append .env to .gitignore if not already there, tell the user clearly what to fill in (auth mode + host + creds), and wait for them to say "ready" before making any API call. Never overwrite an existing .env.<host> in <auth-mode> mode. Proceeding with [task]."Never use credentials from conversation memory, from another project's .env, or from any tenant the user previously worked with in a different session. Each project gets its own .env. See shared/setup-check.md for the full rationale and edge cases.
Use this skill ONLY when a more specific skill doesn't match. Defer to specific skills first:
| User intent | Use this generic skill? |
|---|---|
| "Create supplier invoice" | ❌ → s4hana-create-invoice |
| "Create PO" / "create purchase order" | ❌ → s4hana-create-po |
| "Create supplier / vendor / customer / BP" | ❌ → s4hana-create-business-partner |
| "Create service entry sheet" | ❌ → s4hana-create-service-entry-sheet |
| "Create PIR / purchasing info record" | ❌ → s4hana-create-pir |
| "Create goods receipt / material document" | ❌ → s4hana-create-goods-receipt |
| "Create PO confirmation / supplier confirmation" | ❌ → s4hana-create-po-confirmation |
| "Update / change / modify any existing record" | ❌ → s4hana-update-record |
| "Create asset master / fixed asset" | ✅ |
| "Create purchase requisition" | ✅ |
| "Create purchase contract / outline agreement" | ✅ |
| "Create inbound delivery / ASN" | ✅ |
| "Create sales order" | ✅ |
| "Create billing document" | ✅ |
| "Create production order / work center / classification" | ✅ |
| Anything else creatable on S/4HANA not in the deferred list above | ✅ |
<cwd>/.s4hana-tmp/create-<entity>-<YYYYMMDD-HHMM>/). Never commit, never modify .env.For a user request "create X":
/sap/opu/odata/sap/ for services whose name contains relevant keywords.API_<DOMAIN>_PROCESS_SRV for process-driven entities (PR, contract, etc.)API_<MASTER> for master data (e.g. API_FIXEDASSET, API_PURCHASEREQ_PROCESS_SRV)GET <host>/sap/opu/odata/sap/<SERVICE>/$metadata?sap-client=<n>
Parse the EntityType definition for the target entity:
Nullable=false and not auto-generated)sap:creatable=false (creation blocked on this entity)If creatable=false on the entity → STOP. Surface to user. Likely needs a different endpoint (SOAP A2X) or a different entity.
Start with ONLY the fields marked Required + the user's specified values. Skip optional fields. SAP error messages are descriptive — let SAP tell you what else is needed.
For dates: OData V2 uses /Date(<ms-since-epoch>)/ not ISO 8601.
For amounts: typically string-decimal in JSON.
../s4hana-create-po/references/csrf-flow.md for the verified pattern).references/error-decoder.md (sweep technique)Once probe succeeds:
Same idempotency pattern as the specific skills (create-log.jsonl).
After successfully posting ≥3 records of an entity type, suggest to the user:
"This entity is now verified. Consider extracting a dedicated
s4hana-create-<entity>skill so future runs skip the probe phase."
The user can then ask for skill extraction → see references/promote-checklist.md for the steps.
<cwd>/.s4hana-tmp/create-<entity>-<YYYYMMDD-HHMM>/
├── metadata-snippet.xml # the EntityType definition
├── probe-attempts.jsonl # iterations of minimal payloads + errors
├── working-envelope.json # the successful payload shape
├── create-log.jsonl # bulk run log
└── results.json # final summary
references/error-decoder.md — common SAP message classes and how to interpret themreferences/promote-checklist.md — when and how to graduate an entity from generic to specific skillTrack which generic-handled entities have been verified ≥3 times. Realistic candidates for future promotion (entities common in procurement / finance demos but not yet covered by a specific skill):
s4hana-create-purchase-requisition (upstream of PO — API_PURCHASEREQ_PROCESS_SRV)s4hana-create-purchase-contract (outline agreements — API_PURCHASECONTRACT_PROCESS_SRV)s4hana-create-inbound-delivery (ASN — API_INBOUND_DELIVERY_SRV)s4hana-create-product-description (master-data overrides; A_ProductDescription PATCH — also covered by s4hana-update-record)s4hana-create-asset-master (fixed asset master)s4hana-create-sales-order (outbound side of order management)Note: s4hana-create-pricing-condition is unlikely to need its own skill — PIRs auto-generate pricing condition records as a side-effect (documented in s4hana-create-pir).