pipekit/config/modules/iv00101.json
Paul Trowbridge 217177b3a7 Carry module description through config export/apply
config_io handled dest_description but never the module's own
description field: it was absent from export_config, from both
repo.create_module and repo.update_module calls in apply_config, and
from the change-detection watch tuple. Descriptions set via the web
form were therefore invisible to the config tree — `pipekit apply`
silently ignored a description in a module's JSON, and `pipekit export`
would have dropped all 127 existing ones on a round-trip.

Adding "description" to the watch tuple means a module file without the
key now reads as a change to NULL, so backfill the key into all 131
existing module files from the DB. Without this, the next apply would
have wiped every description it was meant to preserve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-04 00:05:57 -04:00

640 lines
15 KiB
JSON

{
"name": "iv00101",
"source_connection": "sqlserver",
"dest_connection": "usmidsap02",
"dest_table": "gp.iv00101",
"staging_table": "pipekit_staging.iv00101",
"merge_strategy": "full",
"merge_key": null,
"enabled": 1,
"dest_description": "GP customer/salesperson/item master (broadened, migrated from /opt/sync 2026-07-21)",
"description": "Dynamics GP item master",
"columns": [
{
"source_name": "ITEMNMBR",
"source_type": "CHAR(31)",
"dest_name": "itemnmbr",
"dest_type": "text",
"description": null
},
{
"source_name": "ITEMDESC",
"source_type": "CHAR(101)",
"dest_name": "itemdesc",
"dest_type": "text",
"description": null
},
{
"source_name": "ITMSHNAM",
"source_type": "CHAR(15)",
"dest_name": "itmshnam",
"dest_type": "text",
"description": null
},
{
"source_name": "ITMCLSCD",
"source_type": "CHAR(11)",
"dest_name": "itmclscd",
"dest_type": "text",
"description": null
},
{
"source_name": "UOMSCHDL",
"source_type": "CHAR(11)",
"dest_name": "uomschdl",
"dest_type": "text",
"description": null
},
{
"source_name": "CURRCOST",
"source_type": "NUMERIC(19,5)",
"dest_name": "currcost",
"dest_type": "numeric",
"description": null
},
{
"source_name": "STNDCOST",
"source_type": "NUMERIC(19,5)",
"dest_name": "stndcost",
"dest_type": "numeric",
"description": null
},
{
"source_name": "NOTEINDX",
"source_type": "NUMERIC(19,5)",
"dest_name": "noteindx",
"dest_type": "numeric",
"description": null
},
{
"source_name": "ITEMTYPE",
"source_type": "SMALLINT",
"dest_name": "itemtype",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMGEDSC",
"source_type": "CHAR(11)",
"dest_name": "itmgedsc",
"dest_type": "text",
"description": null
},
{
"source_name": "ITEMSHWT",
"source_type": "INT",
"dest_name": "itemshwt",
"dest_type": "integer",
"description": null
},
{
"source_name": "DECPLQTY",
"source_type": "SMALLINT",
"dest_name": "decplqty",
"dest_type": "smallint",
"description": null
},
{
"source_name": "DECPLCUR",
"source_type": "SMALLINT",
"dest_name": "decplcur",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMTSHID",
"source_type": "CHAR(15)",
"dest_name": "itmtshid",
"dest_type": "text",
"description": null
},
{
"source_name": "TAXOPTNS",
"source_type": "SMALLINT",
"dest_name": "taxoptns",
"dest_type": "smallint",
"description": null
},
{
"source_name": "IVIVINDX",
"source_type": "INT",
"dest_name": "ivivindx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVIVOFIX",
"source_type": "INT",
"dest_name": "ivivofix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVCOGSIX",
"source_type": "INT",
"dest_name": "ivcogsix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLSIDX",
"source_type": "INT",
"dest_name": "ivslsidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLDSIX",
"source_type": "INT",
"dest_name": "ivsldsix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSLRNIX",
"source_type": "INT",
"dest_name": "ivslrnix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINUSIX",
"source_type": "INT",
"dest_name": "ivinusix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINSVIX",
"source_type": "INT",
"dest_name": "ivinsvix",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVDMGIDX",
"source_type": "INT",
"dest_name": "ivdmgidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVVARIDX",
"source_type": "INT",
"dest_name": "ivvaridx",
"dest_type": "integer",
"description": null
},
{
"source_name": "DPSHPIDX",
"source_type": "INT",
"dest_name": "dpshpidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "PURPVIDX",
"source_type": "INT",
"dest_name": "purpvidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "UPPVIDX",
"source_type": "INT",
"dest_name": "uppvidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVRETIDX",
"source_type": "INT",
"dest_name": "ivretidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ASMVRIDX",
"source_type": "INT",
"dest_name": "asmvridx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ITMTRKOP",
"source_type": "SMALLINT",
"dest_name": "itmtrkop",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTTYPE",
"source_type": "CHAR(11)",
"dest_name": "lottype",
"dest_type": "text",
"description": null
},
{
"source_name": "KPERHIST",
"source_type": "TINYINT",
"dest_name": "kperhist",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPTRXHST",
"source_type": "TINYINT",
"dest_name": "kptrxhst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPCALHST",
"source_type": "TINYINT",
"dest_name": "kpcalhst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "KPDSTHST",
"source_type": "TINYINT",
"dest_name": "kpdsthst",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ALWBKORD",
"source_type": "TINYINT",
"dest_name": "alwbkord",
"dest_type": "smallint",
"description": null
},
{
"source_name": "VCTNMTHD",
"source_type": "SMALLINT",
"dest_name": "vctnmthd",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ALTITEM1",
"source_type": "CHAR(31)",
"dest_name": "altitem1",
"dest_type": "text",
"description": null
},
{
"source_name": "ALTITEM2",
"source_type": "CHAR(31)",
"dest_name": "altitem2",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_1",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_1",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_2",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_2",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_3",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_3",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_4",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_4",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_5",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_5",
"dest_type": "text",
"description": null
},
{
"source_name": "USCATVLS_6",
"source_type": "CHAR(11)",
"dest_name": "uscatvls_6",
"dest_type": "text",
"description": null
},
{
"source_name": "MSTRCDTY",
"source_type": "SMALLINT",
"dest_name": "mstrcdty",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MODIFDT",
"source_type": "DATETIME",
"dest_name": "modifdt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "CREATDDT",
"source_type": "DATETIME",
"dest_name": "creatddt",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "WRNTYDYS",
"source_type": "SMALLINT",
"dest_name": "wrntydys",
"dest_type": "smallint",
"description": null
},
{
"source_name": "PRCLEVEL",
"source_type": "CHAR(11)",
"dest_name": "prclevel",
"dest_type": "text",
"description": null
},
{
"source_name": "LOCNCODE",
"source_type": "CHAR(11)",
"dest_name": "locncode",
"dest_type": "text",
"description": null
},
{
"source_name": "PINFLIDX",
"source_type": "INT",
"dest_name": "pinflidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "PURMCIDX",
"source_type": "INT",
"dest_name": "purmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVINFIDX",
"source_type": "INT",
"dest_name": "ivinfidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "INVMCIDX",
"source_type": "INT",
"dest_name": "invmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "CGSINFLX",
"source_type": "INT",
"dest_name": "cgsinflx",
"dest_type": "integer",
"description": null
},
{
"source_name": "CGSMCIDX",
"source_type": "INT",
"dest_name": "cgsmcidx",
"dest_type": "integer",
"description": null
},
{
"source_name": "ITEMCODE",
"source_type": "CHAR(15)",
"dest_name": "itemcode",
"dest_type": "text",
"description": null
},
{
"source_name": "TCC",
"source_type": "CHAR(31)",
"dest_name": "tcc",
"dest_type": "text",
"description": null
},
{
"source_name": "PriceGroup",
"source_type": "CHAR(11)",
"dest_name": "pricegroup",
"dest_type": "text",
"description": null
},
{
"source_name": "PRICMTHD",
"source_type": "SMALLINT",
"dest_name": "pricmthd",
"dest_type": "smallint",
"description": null
},
{
"source_name": "PRCHSUOM",
"source_type": "CHAR(9)",
"dest_name": "prchsuom",
"dest_type": "text",
"description": null
},
{
"source_name": "SELNGUOM",
"source_type": "CHAR(9)",
"dest_name": "selnguom",
"dest_type": "text",
"description": null
},
{
"source_name": "KTACCTSR",
"source_type": "SMALLINT",
"dest_name": "ktacctsr",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LASTGENSN",
"source_type": "CHAR(21)",
"dest_name": "lastgensn",
"dest_type": "text",
"description": null
},
{
"source_name": "ABCCODE",
"source_type": "SMALLINT",
"dest_name": "abccode",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Revalue_Inventory",
"source_type": "TINYINT",
"dest_name": "revalue_inventory",
"dest_type": "smallint",
"description": null
},
{
"source_name": "Tolerance_Percentage",
"source_type": "INT",
"dest_name": "tolerance_percentage",
"dest_type": "integer",
"description": null
},
{
"source_name": "Purchase_Item_Tax_Schedu",
"source_type": "CHAR(15)",
"dest_name": "purchase_item_tax_schedu",
"dest_type": "text",
"description": null
},
{
"source_name": "Purchase_Tax_Options",
"source_type": "SMALLINT",
"dest_name": "purchase_tax_options",
"dest_type": "smallint",
"description": null
},
{
"source_name": "ITMPLNNNGTYP",
"source_type": "SMALLINT",
"dest_name": "itmplnnngtyp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "STTSTCLVLPRCNTG",
"source_type": "SMALLINT",
"dest_name": "sttstclvlprcntg",
"dest_type": "smallint",
"description": null
},
{
"source_name": "CNTRYORGN",
"source_type": "CHAR(7)",
"dest_name": "cntryorgn",
"dest_type": "text",
"description": null
},
{
"source_name": "INACTIVE",
"source_type": "TINYINT",
"dest_name": "inactive",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINSHELF1",
"source_type": "SMALLINT",
"dest_name": "minshelf1",
"dest_type": "smallint",
"description": null
},
{
"source_name": "MINSHELF2",
"source_type": "SMALLINT",
"dest_name": "minshelf2",
"dest_type": "smallint",
"description": null
},
{
"source_name": "INCLUDEINDP",
"source_type": "TINYINT",
"dest_name": "includeindp",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTEXPWARN",
"source_type": "TINYINT",
"dest_name": "lotexpwarn",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LOTEXPWARNDAYS",
"source_type": "SMALLINT",
"dest_name": "lotexpwarndays",
"dest_type": "smallint",
"description": null
},
{
"source_name": "LASTGENLOT",
"source_type": "CHAR(21)",
"dest_name": "lastgenlot",
"dest_type": "text",
"description": null
},
{
"source_name": "Lot_Split_Quantity",
"source_type": "NUMERIC(19,5)",
"dest_name": "lot_split_quantity",
"dest_type": "numeric",
"description": null
},
{
"source_name": "UseQtyOverageTolerance",
"source_type": "TINYINT",
"dest_name": "useqtyoveragetolerance",
"dest_type": "smallint",
"description": null
},
{
"source_name": "UseQtyShortageTolerance",
"source_type": "TINYINT",
"dest_name": "useqtyshortagetolerance",
"dest_type": "smallint",
"description": null
},
{
"source_name": "QtyOverTolerancePercent",
"source_type": "INT",
"dest_name": "qtyovertolerancepercent",
"dest_type": "integer",
"description": null
},
{
"source_name": "QtyShortTolerancePercent",
"source_type": "INT",
"dest_name": "qtyshorttolerancepercent",
"dest_type": "integer",
"description": null
},
{
"source_name": "IVSCRVIX",
"source_type": "INT",
"dest_name": "ivscrvix",
"dest_type": "integer",
"description": null
},
{
"source_name": "DEX_ROW_TS",
"source_type": "DATETIME",
"dest_name": "dex_row_ts",
"dest_type": "timestamp without time zone",
"description": null
},
{
"source_name": "DEX_ROW_ID",
"source_type": "INT",
"dest_name": "dex_row_id",
"dest_type": "integer",
"description": null
}
],
"watermarks": [],
"hooks": []
}