pipekit/config/modules/poi.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

668 lines
16 KiB
JSON

{
"name": "poi",
"source_connection": "S78030956",
"dest_connection": "usmidsap02",
"dest_table": "cms.poi",
"staging_table": "pipekit_staging.poi",
"merge_strategy": "incremental",
"merge_key": "kbpo#",
"enabled": 1,
"dest_description": "Purchase Order Items 6.0",
"description": "Purchase order line items",
"columns": [
{
"source_name": "KBPO#",
"source_type": "NUMERIC(9,0)",
"dest_name": "kbpo#",
"dest_type": "numeric(9,0)",
"description": "Purchase Order Number"
},
{
"source_name": "KBITM#",
"source_type": "NUMERIC(3,0)",
"dest_name": "kbitm#",
"dest_type": "numeric(3,0)",
"description": "P/O Item #"
},
{
"source_name": "KBQTYO",
"source_type": "DECIMAL(11,2)",
"dest_name": "kbqtyo",
"dest_type": "numeric(11,2)",
"description": "Quantity Ordered"
},
{
"source_name": "KBQTYR",
"source_type": "DECIMAL(15,5)",
"dest_name": "kbqtyr",
"dest_type": "numeric(15,5)",
"description": "Quantity Received"
},
{
"source_name": "KBQTYA",
"source_type": "DECIMAL(15,5)",
"dest_name": "kbqtya",
"dest_type": "numeric(15,5)",
"description": "Quantity Approved"
},
{
"source_name": "KBQTYJ",
"source_type": "DECIMAL(15,5)",
"dest_name": "kbqtyj",
"dest_type": "numeric(15,5)",
"description": "Quantity Rejected"
},
{
"source_name": "KBOUNT",
"source_type": "CHAR(3)",
"dest_name": "kbount",
"dest_type": "text",
"description": "Order Unit"
},
{
"source_name": "KBPT#",
"source_type": "CHAR(20)",
"dest_name": "kbpt#",
"dest_type": "text",
"description": "Part Number"
},
{
"source_name": "KBVPT#",
"source_type": "CHAR(30)",
"dest_name": "kbvpt#",
"dest_type": "text",
"description": "Vendor Part Number"
},
{
"source_name": "KBUPRC",
"source_type": "DECIMAL(13,5)",
"dest_name": "kbuprc",
"dest_type": "numeric(13,5)",
"description": "Unit Price"
},
{
"source_name": "KBPUNT",
"source_type": "CHAR(3)",
"dest_name": "kbpunt",
"dest_type": "text",
"description": "Price Unit"
},
{
"source_name": "KBRDAT",
"source_type": "DATE",
"dest_name": "kbrdat",
"dest_type": "date",
"description": "Date Required"
},
{
"source_name": "KBCDAT",
"source_type": "DATE",
"dest_name": "kbcdat",
"dest_type": "date",
"description": "Date Confirmed"
},
{
"source_name": "KBREQR",
"source_type": "CHAR(10)",
"dest_name": "kbreqr",
"dest_type": "text",
"description": "Requisitioner"
},
{
"source_name": "KBREQ#",
"source_type": "NUMERIC(9,0)",
"dest_name": "kbreq#",
"dest_type": "numeric(9,0)",
"description": "P/O Requisition Number"
},
{
"source_name": "KBGL#",
"source_type": "NUMERIC(10,0)",
"dest_name": "kbgl#",
"dest_type": "numeric(10,0)",
"description": "G/L Account Number"
},
{
"source_name": "KBJOB#",
"source_type": "CHAR(10)",
"dest_name": "kbjob#",
"dest_type": "text",
"description": "Job Number"
},
{
"source_name": "KBSEQ#",
"source_type": "NUMERIC(3,0)",
"dest_name": "kbseq#",
"dest_type": "numeric(3,0)",
"description": "Job Sequence Number"
},
{
"source_name": "KBPRJ#",
"source_type": "CHAR(20)",
"dest_name": "kbprj#",
"dest_type": "text",
"description": "Project Number"
},
{
"source_name": "KBDEPT",
"source_type": "CHAR(2)",
"dest_name": "kbdept",
"dest_type": "text",
"description": "Department Number"
},
{
"source_name": "KBCGST",
"source_type": "CHAR(1)",
"dest_name": "kbcgst",
"dest_type": "text",
"description": "OBSOLETE - DO NOT USE"
},
{
"source_name": "KBCPST",
"source_type": "CHAR(1)",
"dest_name": "kbcpst",
"dest_type": "text",
"description": "OBSOLETE - DO NOT USE"
},
{
"source_name": "KBISTS",
"source_type": "CHAR(1)",
"dest_name": "kbists",
"dest_type": "text",
"description": "Status - O-Open,B-Backordered,C-Complete"
},
{
"source_name": "KBITYP",
"source_type": "CHAR(1)",
"dest_name": "kbityp",
"dest_type": "text",
"description": "Type - -Normal,D-Description,O-Outside Service,S-"
},
{
"source_name": "KBISTR",
"source_type": "CHAR(6)",
"dest_name": "kbistr",
"dest_type": "text",
"description": "Inventory Stockroom"
},
{
"source_name": "KBOSTR",
"source_type": "CHAR(3)",
"dest_name": "kbostr",
"dest_type": "text",
"description": "OBSOLETE FIELD"
},
{
"source_name": "KBEXTN",
"source_type": "DECIMAL(11,2)",
"dest_name": "kbextn",
"dest_type": "numeric(11,2)",
"description": "Total Including Taxes"
},
{
"source_name": "KBGSTA",
"source_type": "DECIMAL(11,2)",
"dest_name": "kbgsta",
"dest_type": "numeric(11,2)",
"description": "Recoverable Tax Amount"
},
{
"source_name": "KBPSTA",
"source_type": "DECIMAL(11,2)",
"dest_name": "kbpsta",
"dest_type": "numeric(11,2)",
"description": "Non-Recov Tax Amount"
},
{
"source_name": "KBPRGR",
"source_type": "CHAR(1)",
"dest_name": "kbprgr",
"dest_type": "text",
"description": "Progressive Release Y/N"
},
{
"source_name": "KBCRCM",
"source_type": "CHAR(1)",
"dest_name": "kbcrcm",
"dest_type": "text",
"description": "1-Current,2-Complete"
},
{
"source_name": "KBOTYP",
"source_type": "CHAR(1)",
"dest_name": "kbotyp",
"dest_type": "text",
"description": "S-Standard, B-blanket"
},
{
"source_name": "KBTOS",
"source_type": "CHAR(1)",
"dest_name": "kbtos",
"dest_type": "text",
"description": "Transferred Outside Service"
},
{
"source_name": "KBTAXG",
"source_type": "CHAR(3)",
"dest_name": "kbtaxg",
"dest_type": "text",
"description": "Tax Group Code"
},
{
"source_name": "KBTAXR",
"source_type": "CHAR(1)",
"dest_name": "kbtaxr",
"dest_type": "text",
"description": "Tax Rate Code"
},
{
"source_name": "KBDPRC",
"source_type": "CHAR(1)",
"dest_name": "kbdprc",
"dest_type": "text",
"description": "Dynamic Price Flag"
},
{
"source_name": "KBPLNT",
"source_type": "CHAR(3)",
"dest_name": "kbplnt",
"dest_type": "text",
"description": "Plant Code"
},
{
"source_name": "KBFUT1",
"source_type": "CHAR(1)",
"dest_name": "kbfut1",
"dest_type": "text",
"description": "FUTURE 1"
},
{
"source_name": "KBFUT2",
"source_type": "CHAR(1)",
"dest_name": "kbfut2",
"dest_type": "text",
"description": "FUTURE 2"
},
{
"source_name": "KBFUT3",
"source_type": "CHAR(1)",
"dest_name": "kbfut3",
"dest_type": "text",
"description": "FUTURE 3"
},
{
"source_name": "KBFUT4",
"source_type": "CHAR(1)",
"dest_name": "kbfut4",
"dest_type": "text",
"description": "FUTURE 4"
},
{
"source_name": "KBFUT5",
"source_type": "CHAR(1)",
"dest_name": "kbfut5",
"dest_type": "text",
"description": "FUTURE 5"
},
{
"source_name": "KBFUT6",
"source_type": "CHAR(1)",
"dest_name": "kbfut6",
"dest_type": "text",
"description": "FUTURE 6"
},
{
"source_name": "KBFUT7",
"source_type": "CHAR(1)",
"dest_name": "kbfut7",
"dest_type": "text",
"description": "FUTURE 7"
},
{
"source_name": "KBFUT8",
"source_type": "CHAR(1)",
"dest_name": "kbfut8",
"dest_type": "text",
"description": "Initialized Min. Shipment Completion %"
},
{
"source_name": "KBFUT9",
"source_type": "CHAR(1)",
"dest_name": "kbfut9",
"dest_type": "text",
"description": "FUTURE 9"
},
{
"source_name": "KBFUT10",
"source_type": "CHAR(1)",
"dest_name": "kbfut10",
"dest_type": "text",
"description": "Update Last Actual"
},
{
"source_name": "KBFUT11",
"source_type": "CHAR(10)",
"dest_name": "kbfut11",
"dest_type": "text",
"description": "FUTURE 11"
},
{
"source_name": "KBFUT12",
"source_type": "CHAR(10)",
"dest_name": "kbfut12",
"dest_type": "text",
"description": "Revision Level"
},
{
"source_name": "KBFUT13",
"source_type": "CHAR(10)",
"dest_name": "kbfut13",
"dest_type": "text",
"description": "FUTURE 13"
},
{
"source_name": "KBFUT14",
"source_type": "CHAR(10)",
"dest_name": "kbfut14",
"dest_type": "text",
"description": "FUTURE 14"
},
{
"source_name": "KBFUT15",
"source_type": "CHAR(10)",
"dest_name": "kbfut15",
"dest_type": "text",
"description": "FUTURE 15"
},
{
"source_name": "KBFUT16",
"source_type": "CHAR(10)",
"dest_name": "kbfut16",
"dest_type": "text",
"description": "FUTURE 16"
},
{
"source_name": "KBFUT17",
"source_type": "CHAR(10)",
"dest_name": "kbfut17",
"dest_type": "text",
"description": "FUTURE 17"
},
{
"source_name": "KBFUT18",
"source_type": "CHAR(10)",
"dest_name": "kbfut18",
"dest_type": "text",
"description": "FUTURE 18"
},
{
"source_name": "KBFUT19",
"source_type": "CHAR(10)",
"dest_name": "kbfut19",
"dest_type": "text",
"description": "FUTURE 19"
},
{
"source_name": "KBFUT20",
"source_type": "CHAR(10)",
"dest_name": "kbfut20",
"dest_type": "text",
"description": "FUTURE 20"
},
{
"source_name": "KBFUT21",
"source_type": "CHAR(20)",
"dest_name": "kbfut21",
"dest_type": "text",
"description": "FUTURE 21"
},
{
"source_name": "KBFUT22",
"source_type": "CHAR(20)",
"dest_name": "kbfut22",
"dest_type": "text",
"description": "FUTURE 22"
},
{
"source_name": "KBFUT23",
"source_type": "CHAR(20)",
"dest_name": "kbfut23",
"dest_type": "text",
"description": "FUTURE 23"
},
{
"source_name": "KBFUT24",
"source_type": "CHAR(20)",
"dest_name": "kbfut24",
"dest_type": "text",
"description": "FUTURE 24"
},
{
"source_name": "KBFUT25",
"source_type": "CHAR(20)",
"dest_name": "kbfut25",
"dest_type": "text",
"description": "FUTURE 25"
},
{
"source_name": "KBFUT26",
"source_type": "CHAR(21)",
"dest_name": "kbfut26",
"dest_type": "text",
"description": "FUTURE 26"
},
{
"source_name": "KBFUT27",
"source_type": "CHAR(22)",
"dest_name": "kbfut27",
"dest_type": "text",
"description": "FUTURE 27"
},
{
"source_name": "KBFUT28",
"source_type": "CHAR(23)",
"dest_name": "kbfut28",
"dest_type": "text",
"description": "FUTURE 28"
},
{
"source_name": "KBFUT29",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut29",
"dest_type": "numeric(15,5)",
"description": "Allowed Over-shipment Percent"
},
{
"source_name": "KBFUT30",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut30",
"dest_type": "numeric(15,5)",
"description": "Minimum Shipment Completion %"
},
{
"source_name": "KBFUT31",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut31",
"dest_type": "numeric(15,5)",
"description": "FUTURE 31"
},
{
"source_name": "KBFUT32",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut32",
"dest_type": "numeric(15,5)",
"description": "FUTURE 32"
},
{
"source_name": "KBFUT33",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut33",
"dest_type": "numeric(15,5)",
"description": "FUTURE 33"
},
{
"source_name": "KBFUT34",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut34",
"dest_type": "numeric(15,5)",
"description": "FUTURE 34"
},
{
"source_name": "KBFUT35",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut35",
"dest_type": "numeric(15,5)",
"description": "FUTURE 35"
},
{
"source_name": "KBFUT36",
"source_type": "NUMERIC(15,5)",
"dest_name": "kbfut36",
"dest_type": "numeric(15,5)",
"description": "FUTURE 36"
},
{
"source_name": "KBUSR1",
"source_type": "CHAR(10)",
"dest_name": "kbusr1",
"dest_type": "text",
"description": "User 1"
},
{
"source_name": "KBUSR2",
"source_type": "CHAR(10)",
"dest_name": "kbusr2",
"dest_type": "text",
"description": "User 2"
},
{
"source_name": "KBUSR3",
"source_type": "CHAR(10)",
"dest_name": "kbusr3",
"dest_type": "text",
"description": "User 3"
},
{
"source_name": "KBUSR4",
"source_type": "CHAR(10)",
"dest_name": "kbusr4",
"dest_type": "text",
"description": "User 4"
},
{
"source_name": "KBUSR5",
"source_type": "CHAR(10)",
"dest_name": "kbusr5",
"dest_type": "text",
"description": "User 5"
},
{
"source_name": "KBUSR6",
"source_type": "CHAR(10)",
"dest_name": "kbusr6",
"dest_type": "text",
"description": "User 6"
},
{
"source_name": "KBUSR7",
"source_type": "CHAR(10)",
"dest_name": "kbusr7",
"dest_type": "text",
"description": "User 7"
},
{
"source_name": "KBCORG",
"source_type": "CHAR(3)",
"dest_name": "kbcorg",
"dest_type": "text",
"description": "Country Of Origin (Code)"
},
{
"source_name": "KBROHD",
"source_type": "CHAR(1)",
"dest_name": "kbrohd",
"dest_type": "text",
"description": "Put Receipt on Hold For Voucher Creation"
},
{
"source_name": "KBORDN",
"source_type": "NUMERIC(9,0)",
"dest_name": "kbordn",
"dest_type": "numeric(9,0)",
"description": "Customer Order Number"
},
{
"source_name": "KBOITM",
"source_type": "NUMERIC(3,0)",
"dest_name": "kboitm",
"dest_type": "numeric(3,0)",
"description": "Ref. Sales Ord. Item#"
},
{
"source_name": "KBPPRT",
"source_type": "CHAR(20)",
"dest_name": "kbpprt",
"dest_type": "text",
"description": "Project Part Number"
},
{
"source_name": "KBCSTC",
"source_type": "CHAR(2)",
"dest_name": "kbcstc",
"dest_type": "text",
"description": "Project Cost Code"
},
{
"source_name": "KBCSTT",
"source_type": "CHAR(1)",
"dest_name": "kbcstt",
"dest_type": "text",
"description": "Project Cost Type"
},
{
"source_name": "KBSRIN",
"source_type": "CHAR(1)",
"dest_name": "kbsrin",
"dest_type": "text",
"description": "Surcharge Indicator"
},
{
"source_name": "KBUNTFR",
"source_type": "NUMERIC(11,2)",
"dest_name": "kbuntfr",
"dest_type": "numeric(11,2)",
"description": "Per-Unit Freight Cost"
},
{
"source_name": "KBSRGPC",
"source_type": "NUMERIC(8,5)",
"dest_name": "kbsrgpc",
"dest_type": "numeric(8,5)",
"description": "Surcharge Percentage"
},
{
"source_name": "KBFFRTC",
"source_type": "NUMERIC(11,2)",
"dest_name": "kbffrtc",
"dest_type": "numeric(11,2)",
"description": "Flat Freight Cost"
},
{
"source_name": "KBPGRP",
"source_type": "CHAR(20)",
"dest_name": "kbpgrp",
"dest_type": "text",
"description": "Commodity Category Code"
}
],
"watermarks": [
{
"name": "poi_wm",
"connection": "usmidsap02",
"resolver_sql": "SELECT TO_CHAR(LEAST(COALESCE(MAX(NULLIF(kafut20, ''))::DATE, DATE '1900-01-01'), CURRENT_DATE) - 7, 'YYYY-MM-DD') FROM cms.poh",
"default_value": null
}
],
"hooks": []
}