ariswb22

[CFMAST] Detail query

Jul 5th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 5.12 KB | None | 0 0
  1. SELECT DISTINCT * FROM (
  2.     SELECT DISTINCT TO_CHAR(SRC_STM_ID) AS SRCID, TO_CHAR(CFCIF) AS CONTRACTNO, TO_CHAR(CFSNME) AS NAME, TO_CHAR(CFCIF) AS CIFNO, TO_CHAR(TIME_SK) AS TIME_SK, 'CFMAST' AS SourceTable
  3.     FROM BMSTGCBSPS.CFMAST WHERE SRC_STM_ID = 1
  4.  
  5.     UNION
  6.  
  7.     SELECT DISTINCT TO_CHAR(COR.SRC_STM_ID) AS SRCID,
  8.                     TO_CHAR(COR.CUSTID) AS CONTRACTNO,
  9.                     TO_CHAR(CUST.CUSTNAME) AS NAME,
  10.                     TO_CHAR(COR.CUSTID) AS CIFNO,
  11.                     TO_CHAR(COR.TIME_SK) AS TIME_SK,
  12.                     'CORACCOUNT' AS SourceTable
  13.     FROM BMSTGCAPPS.CORACCOUNT COR
  14.  
  15.     LEFT OUTER JOIN (
  16.         SELECT C.*
  17.         FROM BMSTGCAPPS.CORACCOUNTDETAIL C
  18.         INNER JOIN (SELECT NOREK, MAX(CORDT.CICILDATE) MAXCICILDATE FROM BMSTGCAPPS.CORACCOUNTDETAIL CORDT GROUP BY NOREK) TMP
  19.         ON C.NOREK = TMP.NOREK AND C.CICILDATE = TMP.MAXCICILDATE
  20.     ) CORDT ON COR.NOREK = CORDT.NOREK AND COR.SRC_STM_ID = CORDT.SRC_STM_ID
  21.  
  22.     LEFT OUTER JOIN (
  23.         SELECT D.*
  24.         FROM BMSTGCAPPS.CORACCOUNTDETAIL D
  25.         INNER JOIN (SELECT NOREK, MIN(CORDTMIN.CICILDATE) AS MINCICILDATE FROM BMSTGCAPPS.CORACCOUNTDETAIL CORDTMIN GROUP BY NOREK) TMP
  26.         ON D.NOREK = TMP.NOREK AND D.CICILDATE = TMP.MINCICILDATE
  27.     ) CORDTMIN ON COR.NOREK = CORDTMIN.NOREK AND COR.SRC_STM_ID = CORDTMIN.SRC_STM_ID
  28.  
  29.     LEFT OUTER JOIN BMSTGCAPPS.GENCUSTOMER CUST ON COR.CUSTID = CUST.CUSTID AND COR.SRC_STM_ID = CUST.SRC_STM_ID
  30.  
  31.     LEFT OUTER JOIN (
  32.         SELECT C.*
  33.         FROM BMSTGCAPPS.MFACCRUAL C
  34.         INNER JOIN (SELECT NOREK, MAX(ACCRUEDDATE) MAXACCRUEDDATE FROM BMSTGCAPPS.MFACCRUAL WHERE SOURCE = 'M' GROUP BY NOREK) TMP
  35.         ON C.NOREK = TMP.NOREK AND C.ACCRUEDDATE = TMP.MAXACCRUEDDATE AND C.SOURCE = 'M'
  36.     ) MFACCRUAL ON COR.NOREK = MFACCRUAL.NOREK AND COR.SRC_STM_ID = MFACCRUAL.SRC_STM_ID
  37.  
  38.     LEFT OUTER JOIN BMSTGCAPPS.MIRRMFUPLOAD MIRRMFUPLOAD ON COR.NOREK = MIRRMFUPLOAD.NOREK AND MIRRMFUPLOAD.SRC_STM_ID = COR.SRC_STM_ID
  39.     LEFT OUTER JOIN BMSTGCAPPS.CORACCOUNTJOIN CORACCOUNTJOIN ON COR.NOREK = CORACCOUNTJOIN.NOREK AND CORACCOUNTJOIN.SRC_STM_ID = COR.SRC_STM_ID
  40.     LEFT OUTER JOIN BMSTGCAPPS.CORJOINFINANCE CORJOINFINANCE ON CORACCOUNTJOIN.JOINFINANCEID = CORJOINFINANCE.JOINFINANCEID AND CORJOINFINANCE.SRC_STM_ID = COR.SRC_STM_ID
  41.     LEFT OUTER JOIN BMSTGCAPPS.MIRRWRITEOFF MIRRWRITEOFF ON MIRRWRITEOFF.NOREK = COR.NOREK AND MIRRWRITEOFF.SRC_STM_ID = COR.SRC_STM_ID
  42.     LEFT OUTER JOIN BMSTGCAPPS.V_MFACCOUNTDETAIL V_MFACCOUNTDETAIL ON V_MFACCOUNTDETAIL.NOREK = COR.NOREK AND V_MFACCOUNTDETAIL.SRC_STM_ID = COR.SRC_STM_ID
  43.     LEFT OUTER JOIN BMSTGCAPPS.MFBALANCEEOM V_MFBALANCEEOM ON COR.NOREK=V_MFBALANCEEOM.NOREK AND COR.SRC_STM_ID=V_MFBALANCEEOM.SRC_STM_ID
  44.  
  45.     WHERE
  46.         COR.SRC_STM_ID IN (4,14)
  47.         --AND CORJOINFINANCE.groupid NOT IN ('EXECUTING')
  48.  
  49.     AND (
  50.         COR.CLOSETYPE = 0
  51.         OR (COR.CLOSETYPE !=0 AND COR.CLOSEDATE IS NOT NULL AND TO_CHAR(COR.CLOSEDATE, 'YYYYMM') = SUBSTR(COR.TIME_SK, 1, 6))
  52.     )
  53.  
  54.     UNION
  55.  
  56.     SELECT DISTINCT TO_CHAR(cnpa.SRC_STM_ID) AS SRCID,
  57.                     TO_CHAR(CNPA.CONTRACT_NO)   AS CONTRACTNO,
  58.                     TO_CHAR(CUST.CUSTOMER_NAME) AS NAME,
  59.                     TO_CHAR(CNPA.CUSTOMER_NO) AS CIFNO,
  60.                     TO_CHAR(CNPA.TIME_SK) AS TIME_SK,
  61.                     'T_CNP_ACCOUNT_WB' AS SourceTable
  62.  
  63.     FROM BMSTGCAPPS.T_CNP_ACCOUNT_WB CNPA
  64.     LEFT OUTER JOIN (
  65.     SELECT CONTRACT_NO, SUM(PRINCIPAL) PRINCIPAL, SUM(PRINCIPAL_PAID) PRINCIPAL_PAID, MAX(SUBSTR(DUE_DATE, 1, 2)) DUE_DATE FROM BMSTGCAPPS.T_CNP_ACCOUNT_DTL_WB GROUP BY CONTRACT_NO
  66.     ) CNPADT ON CNPA.CONTRACT_NO = CNPADT.CONTRACT_NO
  67.     LEFT OUTER JOIN BMSTGCAPPS.T_IRSRS_JF_MUF_DAILY T_IRSRS_JF_MUF_DAILY ON CONCAT(CNPA.NOREK,'001') = TRIM(T_IRSRS_JF_MUF_DAILY.ACCOUNTNO)
  68.     LEFT OUTER JOIN BMSTGCAPPS.AR_MST_CUSTOMER CUST ON TRIM(CNPA.CUSTOMER_NO) = TRIM(CUST.CUSTOMER_ID) AND CUST.SRC_STM_ID = CNPA.SRC_STM_ID
  69.     LEFT OUTER JOIN BMSTGCAPPS.T_IRSRS_JF_MUF T_IRSRS_JF_MUF ON TRIM(CNPA.CONTRACT_NO) = TRIM(T_IRSRS_JF_MUF.INITIALAGREEMENTNUMBER) AND TRIM(CNPA.CUSTOMER_NO) = TRIM(T_IRSRS_JF_MUF.CUSTOMERID) AND T_IRSRS_JF_MUF.SRC_STM_ID = CNPA.SRC_STM_ID
  70.     LEFT OUTER JOIN BMSTGCAPPS.T_IRSRS_JF_MUF_F46 T_IRSRS_JF_MUF_F46 ON TRIM(CNPA.CONTRACT_NO) = TRIM(T_IRSRS_JF_MUF_F46.INITIALAGREEMENTNUMBER) AND TRIM(CNPA.CUSTOMER_NO) = TRIM(T_IRSRS_JF_MUF_F46.CUSTOMERID) AND T_IRSRS_JF_MUF_F46.SRC_STM_ID = CNPA.SRC_STM_ID
  71.     LEFT OUTER JOIN BMSTGCAPPS.AR_AP_ORDER AR_AP_ORDER ON CNPA.CONTRACT_NO = AR_AP_ORDER.ORDER_NO AND AR_AP_ORDER.SRC_STM_ID = CNPA.SRC_STM_ID
  72.     LEFT OUTER JOIN (
  73.     SELECT C.*
  74.     FROM BMSTGCAPPS.T_CNP_ACCOUNT_DTL_WB C
  75.     INNER JOIN (SELECT CONTRACT_NO, MAX(CNPADT.DUE_DATE) MAXDUEDATE FROM BMSTGCAPPS.T_CNP_ACCOUNT_DTL_WB CNPADT GROUP BY CONTRACT_NO) TMP
  76.     ON TRIM(C.CONTRACT_NO) = TRIM(TMP.CONTRACT_NO) AND C.DUE_DATE = TMP.MAXDUEDATE
  77.     ) CNPADT ON TRIM(CNPA.CONTRACT_NO) = TRIM(CNPADT.CONTRACT_NO) AND CNPA.SRC_STM_ID = CNPADT.SRC_STM_ID
  78.     WHERE
  79.         CNPA.CLOSE_TYPE IN (0,2)
  80.         AND T_IRSRS_JF_MUF_DAILY.NOMINALORI > 0
  81.  
  82.  ) CIF_TABLE
  83.  
  84. WHERE TIME_SK = (SELECT MAX(TIME_SK) FROM BMSTGCBSPS.CFMAST)
  85.  
  86. SELECT *
Add Comment
Please, Sign In to add comment