-- WE HAVE RECEIVED A QUESTION ON ONE OF THE COBALT ADJUSTMENT. AS PER -- MY UNDERSTAND MANUAL ADJUSTMENTS SHOULD NOT TRIGGER ANY 180 DAY RULE -- IN SBLIW. -- -- PROJECT ID - 'WDRFW-1' IS CREATED IN COBALT WITH NEGATIVE AMOUNT. -- BUT IT TRIGGER 180 RULE IN SBLIW. CAN YOU PLEASE SUGGEST WHY IT HAS -- TRIGGERED 180 DAY RULE -- ---------------------------------------------------------------------- -- STEP 1: -- SELECT INFORMATION FROM TABLE IGSSTG.CMPNT_WRK -- THIS INFORMATION IS TO GATHER INFORMATION FOR THE COMPONENT -- IN QUESTION. -- -- EDIT THE "WHERE" CLAUSE WITH ANY INFORMATION IDENTIFYING THE -- COMPONENT(S) IN QUESTION. ---------------------------------------------------------------------- SELECT CW.FINL_CTRY_NUM,CW.LDGR_CD, CW.LGL_CNTRCT_ID,CW.PROJ_ID,CW.BUS_MEASMT_DIV_ID,CW.CMPNT_KEY, CW.CMPNT_SRC_PK1_DAT,CW.CMPNT_SRC_PK2_DAT,CW.CMPNT_SRC_PK3_DAT, CW.CMPNT_SRC_PK4_DAT,CW.CMPNT_SRC_PK5_DAT,CW.CMPNT_SRC_PK6_DAT, CW.CMPNT_SRC_PK7_DAT,CW.CMPNT_SRC_SYS_CD ,CW.MIGRTD_CMPNT_IND, CW.WW_ACCT_ID,CW.WW_ACCT_KEY,CW.CMPNT_CRNCY_AMT FROM IGSSTG.CMPNT_WRK CW WHERE PROJ_ID = 'WDRFW-1' WITH UR; ---------------------------------------------------------------------- -- STEP 2: -- WITH INFORMATION FROM STEP 1 SELECT INFORMATION FROM TABLE -- IGSEDW.CNTRCT_CMPNT. NOTE THAT DIFFERENT COLUMNS MAY BE SELECTED -- DEPENDING UPON PROBLEM DETERMINATION. -- -- EDIT THE "WHERE" CLAUSE WITH COMPONENT KEY(S) FROM STEP 1 ---------------------------------------------------------------------- SELECT ECC.CMPNT_CRNCY_AMT,ECC.CRET_TMS, ECC.CMPNT_SRC_PK1_DAT,ECC.CMPNT_SRC_PK2_DAT, ECC.CMPNT_SRC_PK3_DAT,ECC.CMPNT_SRC_PK4_DAT, ECC.CMPNT_SRC_PK5_DAT,ECC.CMPNT_SRC_PK6_DAT, ECC.CMPNT_SRC_PK7_DAT,ECC.CMPNT_SRC_SYS_CD FROM IGSSTG.CMPNT_WRK CW,IGSEDW.CNTRCT_CMPNT ECC WHERE CW.CMPNT_SRC_PK1_DAT = ECC.CMPNT_SRC_PK1_DAT AND CW.CMPNT_SRC_PK2_DAT = ECC.CMPNT_SRC_PK2_DAT AND CW.CMPNT_SRC_PK3_DAT = ECC.CMPNT_SRC_PK3_DAT AND CW.CMPNT_SRC_PK4_DAT = ECC.CMPNT_SRC_PK4_DAT AND CW.CMPNT_SRC_PK5_DAT = ECC.CMPNT_SRC_PK5_DAT AND CW.CMPNT_SRC_PK6_DAT = ECC.CMPNT_SRC_PK6_DAT AND CW.CMPNT_SRC_PK7_DAT = ECC.CMPNT_SRC_PK7_DAT AND CW.CMPNT_SRC_SYS_CD = ECC.CMPNT_SRC_SYS_CD AND CW.CMPNT_KEY IN (325547029 ) ORDER BY ECC.CMPNT_SRC_PK1_DAT,ECC.CMPNT_SRC_PK2_DAT, ECC.CMPNT_SRC_PK3_DAT,ECC.CMPNT_SRC_PK4_DAT, ECC.CMPNT_SRC_PK5_DAT,ECC.CMPNT_SRC_PK6_DAT, ECC.CMPNT_SRC_PK7_DAT,ECC.CMPNT_SRC_SYS_CD , ECC.CRET_TMS WITH UR; ---------------------------------------------------------------------- -- STEP 3: -- WITH INFORMATION FROM STEP 1 SELECT INFORMATION FROM TABLE -- IGSCDW.CMPNT_SGNG. NOTE THAT DIFFERENT COLUMNS MAY BE SELECTED -- DEPENDING UPON PROBLEM DETERMINATION. -- -- EDIT THE "WHERE" CLAUSE WITH COMPONENT KEY(S) FROM STEP 1 ---------------------------------------------------------------------- SELECT ST.SGNG_TYP_CD,DP.DY_DT AS SGNG_DT,CS.SGNG_CMPNT_AMT, CS.CMPNT_KEY,CS.CRET_TMS FROM IGSCDW.CMPNT_SGNG CS, IGSSTG.CMPNT_WRK CW, IGSCDW.SGNG_TYP ST, IGSCDW.DAT_PER DP WHERE CW.CMPNT_KEY = CS.CMPNT_KEY AND CS.SGNG_DT_KEY = DP.DAT_PER_KEY AND CS.SGNG_TYP_KEY = ST.SGNG_TYP_KEY AND CW.CMPNT_KEY IN (325547029 ) ORDER BY CS.CMPNT_KEY,CS.CRET_TMS WITH UR; ---------------------------------------------------------------------- -- STEP 4: -- USING THE TYPE Z CREATE TIMESTAMP FROM STEP 3, -- SELECT THE GEO RUN START TIMESTAMP FROM TABLE IGSSTG.GEO_RUN_HIST ---------------------------------------------------------------------- SELECT * FROM IGSSTG.GEO_RUN_HIST WHERE '2019-12-14-02.19.48.365947' BETWEEN GEO_RUN_STRT_TMS AND GEO_RUN_END_TMS WITH UR; ---------------------------------------------------------------------- -- STEP 5: -- DETERMINE IF THE CONTRACT SIGNING UNIT IS NEGATIVE -- ---------------------------------------------------------------------- SELECT CW.FINL_CTRY_NUM, COALESCE(CW.LDGR_CD,'NU'),CW.LGL_CNTRCT_ID FROM IGSSTG.CMPNT_WRK CW, IGSCDW.CMPNT_SGNG CS, IGSCDW.SGNG_TYP ST, IGSSTG.SRC_SYS SS, IGSCDW.ACCT A WHERE CW.CMPNT_KEY = CS.CMPNT_KEY AND CS.SGNG_TYP_KEY = ST.SGNG_TYP_KEY AND ST.SGNG_TYP_CD <> 'R' AND ST.SGNG_TYP_CD <> 'Z' AND ST.SA_TYP_IND = 'N' AND CW.CMPNT_SRC_SYS_CD = SS.SRC_SYS_CD AND SS.SGNG_ADJMT_IND = 'Y' AND CS.CRET_TMS > '2019-12-14-01.08.03.243161' AND CW.WW_ACCT_KEY = A.ACCT_KEY AND A.MINOR_ACCT_NUM NOT IN (SELECT MINOR_ACCT_NUM FROM IGSSTG.EXCLD_TYPZ_MINOR WHERE CURRENT DATE BETWEEN ACTV_DT AND INACTV_DT AND ACTV_IND = 'Y') -- AND CW.CMPNT_KEY = 325547029 -- GROUP BY CW.FINL_CTRY_NUM,CW.LDGR_CD, CW.LGL_CNTRCT_ID HAVING SUM(SGNG_CMPNT_AMT) < -1 WITH UR; ---------------------------------------------------------------------- -- STEP 6: -- DETERMINE IF THE PROJECT SIGNING UNIT IS NEGATIVE -- ---------------------------------------------------------------------- SELECT CW.FINL_CTRY_NUM,CW.LDGR_CD, CW.LGL_CNTRCT_ID,CW.PROJ_ID,CW.BUS_MEASMT_DIV_ID FROM IGSSTG.CMPNT_WRK CW, IGSCDW.CMPNT_SGNG CS, IGSCDW.SGNG_TYP ST, IGSSTG.SRC_SYS SS, IGSCDW.ACCT A WHERE CW.CMPNT_KEY = CS.CMPNT_KEY AND CS.SGNG_TYP_KEY = ST.SGNG_TYP_KEY AND ST.SGNG_TYP_CD <> 'R' AND ST.SGNG_TYP_CD <> 'Z' AND ST.SA_TYP_IND = 'N' AND CW.CMPNT_SRC_SYS_CD = SS.SRC_SYS_CD AND SS.SGNG_ADJMT_IND = 'Y' AND CS.CRET_TMS > '2019-12-14-01.08.03.243161' AND CW.WW_ACCT_KEY = A.ACCT_KEY AND A.MINOR_ACCT_NUM NOT IN (SELECT MINOR_ACCT_NUM FROM IGSSTG.EXCLD_TYPZ_MINOR WHERE CURRENT DATE BETWEEN ACTV_DT AND INACTV_DT AND ACTV_IND = 'Y') AND CW.CMPNT_KEY = 325547029 GROUP BY CW.FINL_CTRY_NUM,CW.LDGR_CD, CW.LGL_CNTRCT_ID,CW.PROJ_ID,CW.BUS_MEASMT_DIV_ID HAVING SUM(SGNG_CMPNT_AMT) < -1 WITH UR; ---------------------------------------------------------------------- -- STEP 7: -- SIGNING REFERENCE DATE FOR NON-MIGRATED COMPONENTS -- ---------------------------------------------------------------------- SELECT MIN(DP1.DY_DT) FROM IGSCDW.CMPNT_SGNG CS1, IGSCDW.SGNG_TYP ST1, IGSCDW.SGNG_TYP ST3, IGSCDW.DAT_PER DP1, IGSSTG.CMPNT_WRK CW WHERE CS1.SGNG_TYP_KEY = ST1.SGNG_TYP_KEY AND CS1.SGNG_DT_KEY = DP1.DAT_PER_KEY AND CS1.CRET_TMS <= '2019-12-13-02.24.03.009000' AND CW.CMPNT_KEY = CS1.CMPNT_KEY AND ST1.SGNG_TYP_CD <> 'R' AND CW.FINL_CTRY_NUM = '897' AND CS1.LDGR_CD = '00' AND CW.LGL_CNTRCT_ID = 'CFTJ57S' AND CW.PROJ_ID = 'WDRFW-1' AND CW.MIGRTD_CMPNT_IND <> 'Y' AND ST3.SGNG_TYP_CD = 'D' AND ( ( ST3.SGNG_TYP_KEY IN (SELECT DISTINCT SGNG_TYP_KEY FROM IGSCDW.CMPNT_SGNG CS3 WHERE CS3.CMPNT_KEY = CS1.CMPNT_KEY) AND DP1.DY_DT > (SELECT MAX(DP2.DY_DT) FROM IGSCDW.CMPNT_SGNG CS2 , IGSCDW.DAT_PER DP2 , IGSCDW.SGNG_TYP ST2 WHERE CS2.CMPNT_KEY = CS1.CMPNT_KEY AND CS2.SGNG_DT_KEY = DP2.DAT_PER_KEY AND CS2.SGNG_TYP_KEY = ST2.SGNG_TYP_KEY AND ST2.SGNG_TYP_CD = 'D' ) ) OR (ST3.SGNG_TYP_KEY NOT IN (SELECT DISTINCT SGNG_TYP_KEY FROM IGSCDW.CMPNT_SGNG CS3 WHERE CS3.CMPNT_KEY = CS1.CMPNT_KEY) ) ) WITH UR; ---------------------------------------------------------------------- -- STEP 8: -- SIGNING REFERENCE DATE FOR MIGRATED COMPONENTS -- ---------------------------------------------------------------------- SELECT MIN(CW.CNTRCT_SIG_DT) FROM IGSSTG.CMPNT_WRK CW WHERE CW.FINL_CTRY_NUM = '897' AND CW.LDGR_CD = '00' AND CW.LGL_CNTRCT_ID = 'CFTJ57S' AND CW.PROJ_ID = 'WDRFW-1' AND CW.MIGRTD_CMPNT_IND = 'Y' WITH UR; ---------------------------------------------------------------------- -- STEP 9: -- SIGNING REFERENCE DATE IF BOTH NON-MIGRATED AND MIGRATED REFERENCE -- DATES ARE NULL. ---------------------------------------------------------------------- SELECT MIN(CW.CNTRCT_SIG_DT) FROM IGSSTG.CMPNT_WRK CW WHERE CW.FINL_CTRY_NUM = '897' AND CW.LDGR_CD = '00' AND CW.LGL_CNTRCT_ID = 'CFTJ57S' AND CW.PROJ_ID = 'WDRFW-1' WITH UR; ---------------------------------------------------------------------- -- STEP 10: -- DETERMINE WHICH SIGNING REFERENCE DATE TO USE. -- SELECT THE EARLIEST DATE FROM THE NON-MIGRATED AND MIGRATED -- DATES. IF BOTH ARE NULL THEN USE THE CONTRACT SIGNATURE DATE FROM -- THE PREVIOUS STEP. -- -- ADD 180 DAYS TO THE SIGNING REFERENCE DATE. ---------------------------------------------------------------------- SELECT DATE('2019-04-29') + 180 DAYS FROM SYSIBM.SYSDUMMY1 WITH UR; ---------------------------------------------------------------- -- THE FOLLOWING IS COPIED FROM SDSF FOR JOB SBCTYPZ NORTH AMERICA -- RUN ON DECEMBER 14, 2019. -- -- NOTE THAT THE "PUT SKIPS" CONFIRM THE ABOVE QUERY RESULTS -- -- REPORT NAME . . : SBCTYPZ JCL OUTPUT - FORM3805 -- REPORT TIMESTAMP: 2019-12-14-11.18.20 -- -- ----+----1----+----2----+----3----+----4----+----5----+--- -- SU_ADJ_REF_DT_NONMIG -1 -- SU_ADJ_REF_DT_NONMIG -- SU_ADJ_REF_DT_MIG -1 -- SU_ADJ_REF_DT_MIG -- SU_ADJ_REF_DT:2019-04-29 -- SU ADJ CUTOFF DT : 10262019 -- CURR SIGNING DATE : 2019-12-14 -- SU ADJ CUTOFF DT : 2019-10-26 ------------------------------------------------------------------- -- -- THE CURRENT SIGNING DATE (2019-12-14) IS GREATER THAN THE -- SIGNING UNIT ADJUSTED CUTOFF DATE (2019-10-26). THEREFORE, -- TYPE Z SIGNINGS SHOULD BE CREATED FOR ALL QUALIFIED COMPONENTS. -------------------------------------------------------------------- ---------------------------------------------------------------------- -- STEP 11: -- SELECT THE COMPONENTS THAT WILL HAVE TYPE Z SIGNINGS CREATED. -- ---------------------------------------------------------------------- SELECT CS.SGNG_DT_KEY , CW.SGNG_REF_DT_KEY, CW.CMPNT_KEY , CW.CMPNT_HIST_KEY , CW.CNTRCT_CUST_KEY, CW.CMPNT_CUST_KEY , CW.FINL_CTRY_KEY , CW.ISO_CTRY_KEY , CW.ISO_CTRY_HIST_KEY, CW.OFFRG_KEY , CW.OFFRG_HIST_KEY , CW.OWNG_ORG_KEY , CW.BILG_BSIS_TYP_KEY , CW.PRCTC_KEY , CW.BUS_MEASMT_DIV_KEY, CW.LDGR_CD , CW.LCL_ACCT_KEY , CW.WW_ACCT_KEY , CW.RSO_KEY , CW.ISA_KEY , CW.LCL_DIV_ID , CW.CMPNT_CRNCY_KEY , CW.CTRY_CRNCY_KEY , CS.SGNG_CMPNT_AMT , CS.SGNG_CTRY_AMT , CS.SGNG_PLNRT_US_AMT , CS.SGNG_ACTLRT_US_AMT FROM IGSSTG.CMPNT_WRK CW, IGSCDW.CMPNT_SGNG CS, IGSCDW.SGNG_TYP ST, IGSSTG.SRC_SYS SS, IGSCDW.ACCT A WHERE CW.CMPNT_KEY = CS.CMPNT_KEY AND CS.SGNG_TYP_KEY = ST.SGNG_TYP_KEY AND ST.SGNG_TYP_CD <> 'R' AND ST.SGNG_TYP_CD <> 'D' AND ST.SGNG_TYP_CD <> 'Z' AND ST.SA_TYP_IND = 'N' AND CW.CMPNT_SRC_SYS_CD = SS.SRC_SYS_CD AND SS.SGNG_ADJMT_IND = 'Y' AND CW.FINL_CTRY_NUM = '897' AND CW.LDGR_CD = '00' AND CW.LGL_CNTRCT_ID = 'CFTJ57S' AND CW.PROJ_ID = 'WDRFW-1' AND CW.BUS_MEASMT_DIV_ID = 'W4' AND CS.CRET_TMS > '2019-12-14-01.08.03.243161' AND CS.CRET_TMS < '2019-12-14-02.19.27.398000' AND CW.WW_ACCT_KEY = A.ACCT_KEY AND A.MINOR_ACCT_NUM NOT IN (SELECT MINOR_ACCT_NUM FROM IGSSTG.EXCLD_TYPZ_MINOR WHERE CURRENT DATE BETWEEN ACTV_DT AND INACTV_DT AND ACTV_IND = 'Y') WITH UR; -- ---------------------------------------------------------------------- -- STEP 12: -- CONFIRM REFERENCE TABLE JOINS FOR THE TYPE Z SIGNING COMPONENT(S). -- ---------------------------------------------------------------------- -- STEP 12A: VERIFY ACCOUNT MINOR IS NOT IN -- TABLE IGSSTG.EXCLD_TYPZ_MINOR ---------------------------------------------------------------------- SELECT COUNT(*) FROM IGSCDW.ACCT A WHERE A.ACCT_KEY = 3319 AND A.MINOR_ACCT_NUM NOT IN (SELECT MINOR_ACCT_NUM FROM IGSSTG.EXCLD_TYPZ_MINOR_V WHERE '2019-12-14' BETWEEN ACTV_DT AND INACTV_DT AND ACTV_IND = 'Y') WITH UR; ---------------------------------------------------------------------- -- STEP 12B: VERIFY SIGNING TYPE IS NOT 'R' OR 'Z' -- AND THAT THE SIGNING TYPE INDICATOR IS 'N' ---------------------------------------------------------------------- SELECT ST.SGNG_TYP_KEY,ST.SGNG_TYP_CD,ST.SA_TYP_IND,CS.CMPNT_KEY FROM IGSCDW.SGNG_TYP ST,IGSCDW.CMPNT_SGNG CS WHERE ST.SGNG_TYP_KEY = CS.SGNG_TYP_KEY AND CS.CMPNT_KEY = 325547029 AND CS.CRET_TMS >= '2019-12-14-01.08.03.243161' AND ST.SGNG_TYP_CD NOT IN ('R','Z') WITH UR; ---------------------------------------------------------------------- -- STEP 12C: VERIFY SOURCE SYSTEM SIGNING ADJUSTMENT INDICATOR IS 'Y' ---------------------------------------------------------------------- SELECT SS.SRC_SYS_CD,SS.SGNG_ADJMT_IND,CS.CMPNT_KEY FROM IGSCDW.SRC_SYS SS,IGSCDW.SGNG_TYP ST,IGSCDW.CMPNT_SGNG CS, IGSSTG.CMPNT_WRK CW WHERE SS.SRC_SYS_CD = CW.CMPNT_SRC_SYS_CD AND ST.SGNG_TYP_KEY = CS.SGNG_TYP_KEY AND ST.SGNG_TYP_CD NOT IN ('R','Z') AND CS.CMPNT_KEY = 325547029 AND CS.CMPNT_KEY = CW.CMPNT_KEY AND CS.CRET_TMS >= '2019-12-14-01.08.03.243161' WITH UR;