Create Customizing Rows
customizing_createCreate customizing table rows from explicit field/value maps with full or composite keys and per-row values, without a source row to copy. Runs dry by default; set commit to write via SM30.
Instructions
Create new customizing rows from explicit field/value maps — full keys (including COMPOSITE keys) and distinct per-row values, with NO source row to copy from. This is what customizing_apply (a single-key copy) can't express: e.g. storage locations T001L (key WERKS+LGORT) each with their own LGOBE description.
Each entry in rows is one row as a { FIELD: value } object and must include all key fields. Rows are written through the SM30 view runtime (VIEW_MAINTENANCE_SINGLE_ENTRY, INS→UPD fallback) so FK checks, events, change docs and transport recording run the standard way; INITIAL/blank non-key fields are allowed.
DRY RUN by default — returns the planned rows. Set commit: true to write. onlyMissing (default true) skips rows whose key already exists — idempotent create. recordTransport: false → direct write, no transport (sandbox/test data); omit transport then. Delivery class C/G/E records onto a Customizing request (provide transport or createTransport); class A writes directly. Enforces S_TABU_DIS on the table.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"table": "<table>",
"rows": "<rows>"
},
"name": "customizing_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Array of rows; each a { FIELD: value } object including ALL key fields, e.g. [{ WERKS: "GHDC", LGORT: "0001", LGOBE: "Goods Receipt" }]. | |
| table | Yes | Table name (e.g. T001L, T001W). Its generated SM30 maintenance view is resolved automatically for recorded writes. | |
| commit | No | Actually write (default: false = dry run returning the planned rows) | |
| icfPath | No | SICF path of the engine (default: /sap/bc/zmcp_cust) | |
| workItem | No | Name of the piece of work (e.g. HPM, a ticket). Keeps using the same transport for it across calls and sessions until you pass another. | |
| transport | No | Existing open Customizing request to record into (used as-is, no prompt). If omitted on a recorded commit and createTransport is not set, the tool returns an interactive prompt. | |
| autoDeploy | No | Auto-deploy/update the engine class if missing or outdated (default: true) | |
| onlyMissing | No | Only create rows whose key is absent (default: true = idempotent). false also updates existing rows. | |
| connectionId | No | SAP system connection ID | |
| transportText | No | Short description for the engine-created Customizing request (only used with createTransport: true). | |
| createTransport | No | Create a NEW Customizing request at commit (only when you mean it; existing requests are preferred). Combine with transportText to name it. | |
| recordTableKeys | No | For a table with no maintenance view (e.g. T006/T006A, normally CUNI): write it directly and record the row keys as R3TR TABU on the transport. Skips the dedicated transaction's checks — supply complete rows. | |
| recordTransport | No | Record the write on a transport (default: true for C/G/E). Set false for a direct, untransported sandbox write — transport must be omitted then. | |
| showAllTransports | No | When prompting for a transport, list ALL users' open requests instead of only your own (default: false). |