You are on page 1of 7

----------------------------------------------------------------------

-- 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
<< PROVIDE CRITERIA THAT IDENTIFIES COMPONENT(S) IN QUESTION >>
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 (
<< LIST COMPONENT KEY(S) >>
)
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 (
<< LIST COMPONENT KEY(S) >>
)
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 << CS.CRET_TMS FROM PREVIOUS STEP >>
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 >
<< GEO RUN HISTORY TIMESTAMP FROM STEP 4 >>
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 IN (
<< LIST COMPONENT KEY(S) >>
)
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 >
<< GEO RUN HISTORY TIMESTAMP FROM STEP 4 >>
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 IN (
<< LIST COMPONENT KEY(S) >>
)
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'
<< GET VALUE FROM SDSF JOB SBCTYPZ OR USE START TIMESTAMP >>
<< FROM JOB SBCDW02. >>
<< >>
<< EXAMPLE FROM SDSF: LAST RUN DATE: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 =
<< FINANCIAL COUNTRY NUMBER FROM STEP 1 >>
AND CS1.LDGR_CD = '00'
<< LEDGER CODE FROM STEP 1 >>
AND CW.LGL_CNTRCT_ID = 'CFTJ57S'
<< LEGAL CONTRACT ID FROM STEP 1 >>
AND CW.PROJ_ID = 'WDRFW-1'
<< PROJECT ID FROM STEP 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'
<< FINANCIAL COUNTRY NUMBER FROM STEP 1 >>
AND CW.LDGR_CD = '00'
<< LEDGER CODE FROM STEP 1 >>
AND CW.LGL_CNTRCT_ID = 'CFTJ57S'
<< LEGAL CONTRACT ID FROM STEP 1 >>
AND CW.PROJ_ID = 'WDRFW-1'
<< PROJECT ID FROM STEP 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'
<< FINANCIAL COUNTRY NUMBER FROM STEP 1 >>
AND CW.LDGR_CD = '00'
<< LEDGER CODE FROM STEP 1 >>
AND CW.LGL_CNTRCT_ID = 'CFTJ57S'
<< LEGAL CONTRACT ID FROM STEP 1 >>
AND CW.PROJ_ID = 'WDRFW-1'
<< PROJECT ID FROM STEP 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('YYYY-MM-DD') + 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'
<< FINANCIAL COUNTRY NUMBER FROM STEP 1 >>
AND CW.LDGR_CD = '00'
<< LEDGER CODE FROM STEP 1 >>
AND CW.LGL_CNTRCT_ID = 'CFTJ57S'
<< LEGAL CONTRACT ID FROM STEP 1 >>
AND CW.PROJ_ID = 'WDRFW-1'
<< PROJECT ID FROM STEP 1 >>
AND CW.BUS_MEASMT_DIV_ID = 'W4'
<< BUSINESS MEASUREMENT ID FROM STEP 1 >>
AND CS.CRET_TMS > '2019-12-14-01.08.03.243161'
<< GEO RUN TIMESTAMP FROM STEP 4 OR >>
<< FROM SDSF JOB SBCTYPZ OUTPUT >>
<< SDSF EXAMPLE: >>
<< GEO RUN START TIMESTAMP: 2019-12-14-01.08.03.243161 >>
AND CS.CRET_TMS <
<< FROM SDSF OUTPUT FOR JOB SBCTYPZ STARTING TIMESTAMP >>
<< SDSF EXAMPLE: >>
<< CDW ETL SBCTYPZ PROGRAM STARTED: 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 =
<< WW ACCOUNT KEY FROM STEP 1 >>
AND A.MINOR_ACCT_NUM NOT IN
(SELECT MINOR_ACCT_NUM FROM IGSSTG.EXCLD_TYPZ_MINOR_V
WHERE 'YYYY-MM-DD'
<< SIGNING DATE FROM STEP 3 >>
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 =
<< COMPONENT KEY FROM STEP 1 >>
AND CS.CRET_TMS >=
<< GEO RUN TIMESTAMP FROM STEP 4 OR >>
<< FROM SDSF JOB SBCTYPZ OUTPUT >>
<< SDSF EXAMPLE: >>
<< GEO RUN START TIMESTAMP: 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 =
<< COMPONENT KEY FROM STEP 1 >>
AND CS.CMPNT_KEY = CW.CMPNT_KEY
AND CS.CRET_TMS >=
<< GEO RUN TIMESTAMP FROM STEP 4 OR >>
<< FROM SDSF JOB SBCTYPZ OUTPUT >>
<< SDSF EXAMPLE: >>
<< GEO RUN START TIMESTAMP: 2019-12-14-01.08.03.243161 >>
WITH UR;

You might also like