pipekit/config/modules/sop10102.json
Paul Trowbridge 0f30c4b921 Export config to match the database
config/ had drifted from pipekit.db: group memberships and three
schedules existed only in the DB, cjobdr and cjobh had no sidecars at
all, and ab.{json,sql} was left over from a module no longer in the DB
(an apply would have recreated it). pipekit apply --dry-run now reports
that the database matches config.

Two real inconsistencies fixed in ffpdglr1.json: it was missing the
ffpdglr1_hot watermark added with the rollover hot set, so an apply from
files would have deleted the watermark while the committed SQL still
referenced {ffpdglr1_hot}; and its period resolver had been edited in the
UI without an export, so the file carried a stale format('%L', ...)
variant.

Purchasing members were all run_order 0, which happened to sort
poh, poh_deleted, poi alphabetically and satisfy the real constraints by
accident. Now explicit: poh 1, poi 2, poh_deleted 3 -- poi resolves its
watermark off cms.poh, and poh_deleted's first hook reads cms.poh.

Also describes eight GP modules that had no description (dest_description
is the half the sidecar format carries; the module-level description
lives only in the DB).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 00:43:10 -04:00

128 lines
3.0 KiB
JSON

{
"name": "sop10102",
"source_connection": "sqlserver",
"dest_connection": "usmidsap02",
"dest_table": "gp.sop10102",
"staging_table": "pipekit_staging.sop10102",
"merge_strategy": "incremental",
"merge_key": "dex_row_id",
"enabled": 1,
"dest_description": "Dynamics GP sales distributions",
"columns": [
{
"source_name": "SOPTYPE",
"source_type": "SMALLINT",
"dest_name": "soptype",
"dest_type": "smallint",
"description": null
},
{
"source_name": "SOPNUMBE",
"source_type": "CHAR(21)",
"dest_name": "sopnumbe",
"dest_type": "text",
"description": null
},
{
"source_name": "SEQNUMBR",
"source_type": "INT",
"dest_name": "seqnumbr",
"dest_type": "integer",
"description": null
},
{
"source_name": "DISTTYPE",
"source_type": "SMALLINT",
"dest_name": "disttype",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DistRef",
"source_type": "CHAR(31)",
"dest_name": "distref",
"dest_type": "text",
"description": null
},
{
"source_name": "ACTINDX",
"source_type": "INT",
"dest_name": "actindx",
"dest_type": "integer",
"description": null
},
{
"source_name": "DEBITAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "debitamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "ORDBTAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "ordbtamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "CRDTAMNT",
"source_type": "NUMERIC(19,5)",
"dest_name": "crdtamnt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "ORCRDAMT",
"source_type": "NUMERIC(19,5)",
"dest_name": "orcrdamt",
"dest_type": "numeric(19,5)",
"description": null
},
{
"source_name": "CURRNIDX",
"source_type": "SMALLINT",
"dest_name": "currnidx",
"dest_type": "smallint",
"description": null
},
{
"source_name": "TRXSORCE",
"source_type": "CHAR(13)",
"dest_name": "trxsorce",
"dest_type": "text",
"description": null
},
{
"source_name": "POSTED",
"source_type": "TINYINT",
"dest_name": "posted",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Contract_Exchange_Rate",
"source_type": "NUMERIC(19,7)",
"dest_name": "contract_exchange_rate",
"dest_type": "numeric(19,7)",
"description": null
},
{
"source_name": "DEX_ROW_ID",
"source_type": "INT",
"dest_name": "dex_row_id",
"dest_type": "integer",
"description": null
}
],
"watermarks": [
{
"name": "row_id",
"connection": "usmidsap02",
"resolver_sql": "SELECT MAX(dex_row_id) FROM gp.sop10102",
"default_value": null
}
],
"hooks": []
}