The WHERE clause was comparing Code to itself instead of the aliased table reference, which would always be true.
19 KiB
Data Sync Configuration Report
This document describes all data synchronization imports from the legacy JDE Scoping Tool (LotFinder) application.
Executive Summary
| Source System | Database Type | Entity Count | Connection |
|---|---|---|---|
| JDE | Oracle (Oracle.ManagedDataAccess) | 21 (16 active + 5 archive) | Config.JDECS |
| CMS | Oracle (DDTek.Oracle) | 1 | Config.CMSCS |
*Note: StatusCode sync uses GIW connection (Config.GIWCS via DDTek.Oracle) instead of standard JDE connection.
Total Syncs: 22
- Active Syncs: 17 (scheduled to run)
- Archive Syncs: 5 (configured but ALL DISABLED)
Cache Files: All syncs have corresponding cache files in CACHED_DB_FILES/ (except StatusCode)
Schedule Legend
| Schedule | Interval (min) | Frequency | PrepurgeData | ReIndexData | Sync Type |
|---|---|---|---|---|---|
| Mass | 10080 | Weekly | Yes | Yes | Full Reload |
| Daily | 1440 | Daily | No | No | Incremental Merge |
| Hourly | 60 | Hourly | No | No | Incremental Merge |
- PrepurgeData=true: Table is truncated before import (full reload)
- PrepurgeData=false: Records are merged/upserted (incremental)
- Filtered Query: Uses date/time parameters to fetch only changed records
Master Sync Table
Active Syncs (17)
| # | Import Name | Source | Dest Table | Mass | Daily | Hourly | Filter | Cache File | Notes |
|---|---|---|---|---|---|---|---|---|---|
| 1 | WorkOrder | JDE | WorkOrder_Curr | Yes | Yes | Yes | Yes | workorder_curr.json.zstd |
|
| 2 | LotUsage | JDE | LotUsage_Curr | Yes | Yes | Yes | Yes | lotusage_curr.json.zstd |
|
| 3 | Item | JDE | Item | Yes | Yes | Yes | Yes | item.json.zstd |
|
| 4 | Lot | JDE | Lot | Yes | Yes | Yes | Yes | lot.json.zstd |
|
| 5 | WorkOrderTime | JDE | WorkOrderTime_Curr | Yes | Yes | Yes | Yes | workordertime_curr.json.zstd |
|
| 6 | WorkOrderComponent | JDE | WorkOrderComponent_Curr | Yes | Yes | Yes | Yes | workordercomponent_curr.json.zstd |
|
| 7 | WorkOrderStep | JDE | WorkOrderStep_Curr | Yes | Yes | Yes | Yes | workorderstep_curr.json.zstd |
|
| 8 | WorkOrderRouting | JDE | WorkOrderRouting | Yes | Yes | Yes | Yes | workorderrouting.json.zstd |
|
| 9 | Branch | JDE | Branch | Yes | Yes | Yes | Yes | branch.json.zstd |
typeCode='BP' |
| 10 | ProfitCenter | JDE | ProfitCenter | Yes | Yes | Yes | Yes | profitcenter.json.zstd |
typeCode='I3' |
| 11 | WorkCenter | JDE | WorkCenter | Yes | Yes | Yes | Yes | workcenter.json.zstd |
typeCode='WC' |
| 12 | StatusCode | JDE | StatusCode | Yes | Yes | Yes | Yes | (none) | GIW connection |
| 13 | JdeUser | JDE | JdeUser | Yes | Yes | Yes | No | jdeuser.json.zstd |
Same query both |
| 14 | OrgHierarchy | JDE | OrgHierarchy | Yes | Yes | Yes | Yes | orghierarchy.json.zstd |
|
| 15 | RouteMaster | JDE | RouteMaster | Yes | Yes | Yes | Yes | routemaster.json.zstd |
|
| 16 | FunctionCode | JDE | FunctionCode | Yes | Yes | Yes | No | functioncode.json.zstd |
Always full reload |
| 17 | MisData | CMS | MisData | Yes | Yes | No | Yes | misdata.json.zstd |
Hourly disabled |
Archive Syncs (5) - ALL DISABLED
| # | Import Name | Source | Dest Table | Mass | Daily | Hourly | Filter | Cache File | Notes |
|---|---|---|---|---|---|---|---|---|---|
| 18 | WorkOrder_Archive | JDE | WorkOrder_Hist | No | No | No | No | workorder_hist.json.zstd |
DISABLED |
| 19 | LotUsage_Archive | JDE | LotUsage_Hist | No | No | No | No | lotusage_hist.json.zstd |
DISABLED |
| 20 | WorkOrderTime_Archive | JDE | WorkOrderTime_Hist | No | No | No | No | workordertime_hist.json.zstd |
DISABLED |
| 21 | WorkOrderComponent_Archive | JDE | WorkOrderComponent_Hist | No | No | No | No | workordercomponent_hist.json.zstd |
DISABLED |
| 22 | WorkOrderStep_Archive | JDE | WorkOrderStep_Hist | No | No | No | No | workorderstep_hist.json.zstd |
DISABLED |
Cache File Location: CACHED_DB_FILES/
Detailed Entity Configurations
1. WorkOrder
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKORDER |
| Destination Table | WorkOrder_Curr |
| Data Fetch Function | Commons.Process.JDE.GetWorkOrders |
| Post Processing | None |
| JDE Table | JDESTAGE.F4801_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_WORKORDERS.sql - Filtered:
JDE/SQL_GET_WORKORDERS_FILTERED.sql - Archive:
JDE_ARCHIVE/SQL_GET_WORKORDERS.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
2. LotUsage
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | LOTUSAGE |
| Destination Table | LotUsage_Curr |
| Data Fetch Function | Commons.Process.JDE.GetLotUsages |
| Post Processing | None |
| JDE Table | JDESTAGE.F4111_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_LOT_USAGES.sql - Filtered:
JDE/SQL_GET_LOT_USAGES_FILTERED.sql - Archive:
JDE_ARCHIVE/SQL_GET_LOT_USAGES.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
3. Item
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | ITEM |
| Destination Table | Item |
| Data Fetch Function | Commons.Process.JDE.GetItems |
| Post Processing | None |
| JDE Table | JDESTAGE.F4101_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_ITEMS.sql - Filtered:
JDE/SQL_GET_ITEMS_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
4. Lot
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | LOT |
| Destination Table | Lot |
| Data Fetch Function | Commons.Process.JDE.GetLots |
| Post Processing | None |
| JDE Table | JDESTAGE.F4108_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_LOTS.sql - Filtered:
JDE/SQL_GET_LOTS_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
5. WorkOrderTime
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKORDERTIME |
| Destination Table | WorkOrderTime_Curr |
| Data Fetch Function | Commons.Process.JDE.GetWorkOrderTimes |
| Post Processing | None |
| JDE Table | JDESTAGE.F31122_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_WORKORDER_TIMES.sql - Filtered:
JDE/SQL_GET_WORKORDER_TIMES_FILTERED.sql - Archive:
JDE_ARCHIVE/SQL_GET_WORKORDER_TIMES.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
6. WorkOrderComponent
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKORDERCOMPONENT |
| Destination Table | WorkOrderComponent_Curr |
| Data Fetch Function | Commons.Process.JDE.GetWorkOrderComponents |
| Post Processing | None |
| JDE Table | JDESTAGE.F3111_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_WORKORDER_COMPONENTS.sql - Filtered:
JDE/SQL_GET_WORKORDER_COMPONENTS_FILTERED.sql - Archive:
JDE_ARCHIVE/SQL_GET_WORKORDER_COMPONENTS.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
7. WorkOrderStep
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKORDERSTEP |
| Destination Table | WorkOrderStep_Curr |
| Data Fetch Function | Commons.Process.JDE.GetWorkOrderSteps |
| Post Processing | None |
| JDE Table | JDESTAGE.F3112_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_WORKORDER_STEP.sql - Filtered:
JDE/SQL_GET_WORKORDER_STEP_FILTERED.sql - Archive:
JDE_ARCHIVE/SQL_GET_WORKORDER_STEP.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
8. WorkOrderRouting
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKORDERROUTING |
| Destination Table | WorkOrderRouting |
| Data Fetch Function | Commons.Process.JDE.GetWorkOrderRoutings |
| Post Processing | None |
| JDE Table | JDESTAGE.F3112Z1_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_WORKORDER_ROUTING.sql - Filtered:
JDE/SQL_GET_WORKORDER_ROUTING_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
Special Processing: Filters out records with invalid dates (year < 1900 or > 2500)
9. Branch
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | BRANCH |
| Destination Table | Branch |
| Data Fetch Function | Commons.Process.JDE.GetBranches |
| Post Processing | None |
| JDE Table | JDESTAGE.F0006_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_BUSINESS_UNITS.sql - Filtered:
JDE/SQL_GET_BUSINESS_UNITS_FILTERED.sql
Filter Parameters: typeCode='BP', dateUpdated, timeUpdated
10. ProfitCenter
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | PROFITCENTER |
| Destination Table | ProfitCenter |
| Data Fetch Function | Commons.Process.JDE.GetProfitCenters |
| Post Processing | None |
| JDE Table | JDESTAGE.F0006_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_BUSINESS_UNITS.sql - Filtered:
JDE/SQL_GET_BUSINESS_UNITS_FILTERED.sql
Filter Parameters: typeCode='I3', dateUpdated, timeUpdated
11. WorkCenter
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | WORKCENTER |
| Destination Table | WorkCenter |
| Data Fetch Function | Commons.Process.JDE.GetWorkCenters |
| Post Processing | None |
| JDE Table | JDESTAGE.F0006_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_BUSINESS_UNITS.sql - Filtered:
JDE/SQL_GET_BUSINESS_UNITS_FILTERED.sql
Filter Parameters: typeCode='WC', dateUpdated, timeUpdated
12. StatusCode
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | STATUSCODE |
| Destination Table | StatusCode |
| Data Fetch Function | Commons.Process.JDE.GetStatusCodes |
| Post Processing | None |
| JDE Table | JDESTAGE.F0005_VIEW |
| Connection | GIW (not JDE) |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_STATUS_CODES.sql - Filtered:
JDE/SQL_GET_STATUS_CODES_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated
Note: This sync uses the GIW connection (Config.GIWCS) via DDTek.Oracle, not the standard JDE connection.
13. JdeUser
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | USER |
| Destination Table | JdeUser |
| Data Fetch Function | Commons.Process.JDE.GetUsers |
| Post Processing | None |
| JDE Tables | JDESTAGE.F0101_VIEW, JDESTAGE.F0092_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_USERS.sql
Note: No filtered query variant exists. The same query is used for both full and incremental syncs (filter parameters are passed but not used in query).
14. OrgHierarchy
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | ORGHIERARCHY |
| Destination Table | OrgHierarchy |
| Data Fetch Function | Commons.Process.JDE.GetOrgHierarchy |
| Post Processing | None |
| JDE Table | JDESTAGE.F30006_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_ORG_HIERARCHY.sql - Filtered:
JDE/SQL_GET_ORG_HIERARCHY_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
15. RouteMaster
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | ROUTEMASTER |
| Destination Table | RouteMaster |
| Data Fetch Function | Commons.Process.JDE.GetRouteMasters |
| Post Processing | None |
| JDE Table | JDESTAGE.F3003_VIEW |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | Yes | 60 | No | No |
Query Files:
- Full:
JDE/SQL_GET_ROUTE_MASTER.sql - Filtered:
JDE/SQL_GET_ROUTE_MASTER_FILTERED.sql
Filter Parameters: dateUpdated, timeUpdated (JDE date/time format)
16. FunctionCode
| Property | Value |
|---|---|
| Source System | JDE |
| Source Data | FUNCTIONCODE |
| Destination Table | FunctionCode |
| Data Fetch Function | Commons.Process.JDE.GetFunctionCodes |
| Post Processing | None |
| JDE Table | PRODDTA.F00192 (direct table, not view) |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 10080 | Yes | Yes |
| Daily | Yes | 1440 | Yes | Yes |
| Hourly | Yes | 60 | Yes | Yes |
Query Files:
- Full:
JDE/SQL_GET_FUNCTION_CODES.sql
Note: No filtered query variant. Always performs full reload (PrepurgeData=true for all schedules). Uses aggregation with LISTAGG to combine multi-row descriptions.
17. MisData
| Property | Value |
|---|---|
| Source System | CMS |
| Source Data | MISDATA |
| Destination Table | MisData |
| Data Fetch Function | Commons.Process.CMS.GetMisData |
| Post Processing | Commons.Process.LotFinderDB.PostProcessMisData |
| CMS Schema | INFODBA |
Schedule Configuration:
| Schedule | Enabled | Interval | Prepurge | ReIndex |
|---|---|---|---|---|
| Mass | Yes | 100800 | Yes | Yes |
| Daily | Yes | 1440 | No | No |
| Hourly | No | 60 | No | No |
Query Files:
- Full:
CMS/SQL_GET_MIS_DATA.sql - Filtered:
CMS/SQL_GET_MIS_DATA_FILTERED.sql
Filter Parameters: lastUpdateDT (standard DateTime)
Note:
- Mass interval is 100800 minutes (~10 weeks), much longer than other syncs
- Hourly sync is disabled
- Has post-processing action for additional data transformation
- Query timeout is extended (1200*50 = 60000 seconds)
- ReleaseDate is converted to local time after fetch
Archive Query Pattern
Archive syncs (#18-22) fetch historical data using UNION ALL from both current and archived schemas:
SELECT ... FROM QADTA.F{table}
UNION ALL
SELECT ... FROM ARCDTAQA.F{table}
Query Files: Located in JDE_ARCHIVE/ folder.
Note: Archive syncs have IsEnabled=true in dsconfig but all schedule types have Enabled=false. They are configured for manual/on-demand execution only.
Source Database Reference
JDE Oracle Connection (Config.JDECS)
- Driver: Oracle.ManagedDataAccess.Client
- Schemas Used:
JDESTAGE- Views for current production dataPRODDTA- Direct table access (FunctionCode only)QADTA- Current data for archive queriesARCDTAQA- Archived historical data
GIW Oracle Connection (Config.GIWCS)
- Driver: DDTek.Oracle
- Used By: StatusCode sync only
- Schema: JDESTAGE
CMS Oracle Connection (Config.CMSCS)
- Driver: DDTek.Oracle
- Schema: INFODBA
- Tables: Complex 11-table join for MIS data
JDE Date/Time Format
JDE uses a special date/time format conversion:
- Dates are converted via
ToJDEDate()helper - Times are converted via
ToJDETime()helper - Filter conditions use:
(date > :dateUpdated) OR (date = :dateUpdated AND time >= :timeUpdated)
Source Files Reference
| File Type | Location |
|---|---|
| dsconfig JSON files | OLD/WorkerService/dsconfig/*.json |
| JDE Source Queries | OLD/WorkerService/bin/UPDATER/JdeQueries/*.sql |
| JDE Archive Queries | OLD/WorkerService/bin/UPDATER/JdeArchivalQueries/*.sql |
| CMS Source Queries | OLD/DataModel/CmsQueries/*.sql |
| C# Data Fetch Code | OLD/DataModel/Process/JDE..cs, CMS..cs |
| Configuration | OLD/DataModel/Config.cs |
| Query Repository | OLD/DataModel/Process/QueryRepository.cs |