0% found this document useful (0 votes)
23 views

Type Z Base SQL

The document outlines steps to query various databases and tables to gather component information. It includes selecting data from tables, filtering on specific criteria, grouping, ordering and determining minimum dates. The steps will retrieve component attributes, contract and signing details, and identify negative balances at the component or project level.

Uploaded by

Gabriel Pessine
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Type Z Base SQL

The document outlines steps to query various databases and tables to gather component information. It includes selecting data from tables, filtering on specific criteria, grouping, ordering and determining minimum dates. The steps will retrieve component attributes, contract and signing details, and identify negative balances at the component or project level.

Uploaded by

Gabriel Pessine
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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