☰ Contents
AISA v2.0 / Technical documentation / write-shape.valid.json

write-shape.valid.json

JSON · 26 lines · 1,606 bytes · wiki path 10 Architecture/contracts/fixtures/write-shape.valid.json · download the raw file · cited from Contracts

Same folder: configuration-change.valid.json · connector-capability.broken.json · connector-capability.valid.json · eval-set.broken.json · eval-set.valid.json · execution-obligations.examples.json · handover-packet.valid.json · ledger-record.broken.json · ledger-record.valid.json · message-envelope.broken.json · message-envelope.valid.json · model-turn.broken.json · model-turn.valid.json · runtime-state.broken.json · runtime-state.valid.json · tool-package.examples.json · write-shape.broken.json · write-shape.packet.broken.json · write-shape.packet.valid.json

{
  "object": "write_shape",
  "shape_key": "ipal.pr_cover_def.insert_for_product",
  "version": 1,
  "module": "configuration",
  "customer_code": "BULSTRAD",
  "operation_id": "oracle-ipal.write_a",
  "connector": "oracle-ipal",
  "template": "INSERT INTO SRD_IPROD.PR_BASIC_COVER_DEF (PRODUCT_ID, COVER_CODE, OBJECT_CODE, COVER_ORDER, DESCR_LINK) SELECT {{product_id}}, c.code, c.object_code, c.cover_order, c.descr_link FROM JSON_TABLE({{covers_json}}, '$[*]' COLUMNS (code PATH '$.code', object_code PATH '$.object', cover_order PATH '$.order', descr_link PATH '$.descr_link')) c",
  "parameters": [
    { "name": "product_id", "type": "identifier", "bound_from": "returned_id" },
    { "name": "covers_json", "type": "list", "bound_from": "specification" }
  ],
  "target_class": "working",
  "effect_class": "transactional",
  "write_class": "W1",
  "expected_counts": "covers.length",
  "assertions": [
    { "name": "every specified cover exists once", "query": "SELECT COUNT(*) FROM SRD_IPROD.PR_BASIC_COVER_DEF WHERE PRODUCT_ID = {{product_id}}", "expect": "== covers.length" },
    { "name": "no cover without a description link", "query": "SELECT COUNT(*) FROM SRD_IPROD.PR_BASIC_COVER_DEF WHERE PRODUCT_ID = {{product_id}} AND DESCR_LINK IS NULL", "expect": "== 0" }
  ],
  "teardown_template": "DELETE FROM SRD_IPROD.PR_BASIC_COVER_DEF WHERE PRODUCT_ID = {{product_id}} AND COVER_CODE IN (SELECT code FROM JSON_TABLE({{covers_json}}, '$[*]' COLUMNS (code PATH '$.code')))",
  "case_types": ["new product", "packaging change"],
  "state": "approved",
  "expires_on": "2026-12-03T00:00:00Z"
}