From 0ecc119ee934408085b23f54314c5f229171d4cb Mon Sep 17 00:00:00 2001 From: Grzegorz Michalski Date: Mon, 9 Mar 2026 09:31:30 +0100 Subject: [PATCH] Refactor data integrity verification script to use A_ETL_LOAD_SET_FK instead of A_WORKFLOW_HISTORY_KEY --- .../03_MARS_1005_verify_data_integrity.sql | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/MARS_Packages/REL03/MARS-1005/03_MARS_1005_verify_data_integrity.sql b/MARS_Packages/REL03/MARS-1005/03_MARS_1005_verify_data_integrity.sql index cf38a36..16264f0 100644 --- a/MARS_Packages/REL03/MARS-1005/03_MARS_1005_verify_data_integrity.sql +++ b/MARS_Packages/REL03/MARS-1005/03_MARS_1005_verify_data_integrity.sql @@ -51,44 +51,44 @@ EXCEPTION END; / --- Check 2: A_WORKFLOW_HISTORY_KEY distribution across source tables -PROMPT Checking A_WORKFLOW_HISTORY_KEY distribution... +-- Check 2: A_ETL_LOAD_SET_FK distribution across source tables +PROMPT Checking A_ETL_LOAD_SET_FK distribution... DECLARE v1Keys NUMBER := 0; v2Keys NUMBER := 0; v3Keys NUMBER := 0; v4Keys NUMBER := 0; v5Keys NUMBER := 0; v6Keys NUMBER := 0; vDistinctAllKeys NUMBER := 0; BEGIN - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT' INTO v1Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER' INTO v2Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM' INTO v3Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ANNOUNCEMENT' INTO v4Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_FBL_ITEM' INTO v5Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED' INTO v6Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT' INTO v1Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER' INTO v2Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM' INTO v3Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ANNOUNCEMENT' INTO v4Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_FBL_ITEM' INTO v5Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED' INTO v6Keys; SELECT COUNT(DISTINCT wk) INTO vDistinctAllKeys FROM ( - SELECT A_WORKFLOW_HISTORY_KEY AS wk FROM OU_TOP.LEGACY_ALLOTMENT UNION ALL - SELECT A_WORKFLOW_HISTORY_KEY FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER UNION ALL - SELECT A_WORKFLOW_HISTORY_KEY FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM UNION ALL - SELECT A_WORKFLOW_HISTORY_KEY FROM OU_TOP.LEGACY_ANNOUNCEMENT UNION ALL - SELECT A_WORKFLOW_HISTORY_KEY FROM OU_TOP.LEGACY_FBL_ITEM UNION ALL - SELECT A_WORKFLOW_HISTORY_KEY FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED + SELECT A_ETL_LOAD_SET_FK AS wk FROM OU_TOP.LEGACY_ALLOTMENT UNION ALL + SELECT A_ETL_LOAD_SET_FK FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER UNION ALL + SELECT A_ETL_LOAD_SET_FK FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM UNION ALL + SELECT A_ETL_LOAD_SET_FK FROM OU_TOP.LEGACY_ANNOUNCEMENT UNION ALL + SELECT A_ETL_LOAD_SET_FK FROM OU_TOP.LEGACY_FBL_ITEM UNION ALL + SELECT A_ETL_LOAD_SET_FK FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED ); - DBMS_OUTPUT.PUT_LINE('Distinct A_WORKFLOW_HISTORY_KEY values per table:'); + DBMS_OUTPUT.PUT_LINE('Distinct A_ETL_LOAD_SET_FK values per table (source):'); DBMS_OUTPUT.PUT_LINE('- LEGACY_ALLOTMENT : ' || v1Keys); DBMS_OUTPUT.PUT_LINE('- LEGACY_ALLOTMENT_MODIFICATION_HEADER: ' || v2Keys); DBMS_OUTPUT.PUT_LINE('- LEGACY_ALLOTMENT_MODIFICATION_ITEM : ' || v3Keys); DBMS_OUTPUT.PUT_LINE('- LEGACY_ANNOUNCEMENT : ' || v4Keys); DBMS_OUTPUT.PUT_LINE('- LEGACY_FBL_ITEM : ' || v5Keys); DBMS_OUTPUT.PUT_LINE('- LEGACY_FULLBID_ARRAY_COMPILED : ' || v6Keys); - DBMS_OUTPUT.PUT_LINE('- Total distinct workflow keys (all tables): ' || vDistinctAllKeys); + DBMS_OUTPUT.PUT_LINE('- Total distinct ETL load keys (all tables): ' || vDistinctAllKeys); IF vDistinctAllKeys > 0 THEN - DBMS_OUTPUT.PUT_LINE('SUCCESS: Workflow key distribution looks normal'); + DBMS_OUTPUT.PUT_LINE('SUCCESS: ETL load key distribution looks normal'); ELSE - DBMS_OUTPUT.PUT_LINE('ERROR: No workflow keys found in source data'); + DBMS_OUTPUT.PUT_LINE('ERROR: No ETL load keys found in source data'); END IF; END; / @@ -327,18 +327,18 @@ BEGIN -- Workflow Key Analysis DBMS_OUTPUT.PUT_LINE(''); - DBMS_OUTPUT.PUT_LINE('Workflow Key Analysis (distinct A_WORKFLOW_HISTORY_KEY per table):'); + DBMS_OUTPUT.PUT_LINE('ETL Load Key Analysis (distinct A_ETL_LOAD_SET_FK per source table):'); DECLARE v1Keys NUMBER; v2Keys NUMBER; v3Keys NUMBER; v4Keys NUMBER; v5Keys NUMBER; v6Keys NUMBER; BEGIN - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT' INTO v1Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER' INTO v2Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM' INTO v3Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_ANNOUNCEMENT' INTO v4Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_FBL_ITEM' INTO v5Keys; - EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_WORKFLOW_HISTORY_KEY) FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED' INTO v6Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT' INTO v1Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_HEADER' INTO v2Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ALLOTMENT_MODIFICATION_ITEM' INTO v3Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_ANNOUNCEMENT' INTO v4Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_FBL_ITEM' INTO v5Keys; + EXECUTE IMMEDIATE 'SELECT COUNT(DISTINCT A_ETL_LOAD_SET_FK) FROM OU_TOP.LEGACY_FULLBID_ARRAY_COMPILED' INTO v6Keys; DBMS_OUTPUT.PUT_LINE('- LEGACY_ALLOTMENT : ' || v1Keys || ' distinct keys'); DBMS_OUTPUT.PUT_LINE('- LEGACY_ALLOTMENT_MODIFICATION_HEADER: ' || v2Keys || ' distinct keys'); @@ -349,7 +349,7 @@ BEGIN DBMS_OUTPUT.PUT_LINE('- Actual export files registered: ' || vFileCount); EXCEPTION WHEN OTHERS THEN - DBMS_OUTPUT.PUT_LINE('WARNING: Cannot query workflow keys: ' || SQLERRM); + DBMS_OUTPUT.PUT_LINE('WARNING: Cannot query ETL load keys: ' || SQLERRM); END; END; /