Advertisement
ariswb22

CAP-cashflow

Sep 20th, 2019
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.91 KB | None | 0 0
  1. SELECT
  2.  
  3.     :ReportingDate AS TIME_SK
  4.  
  5. FROM
  6. BMSTGCAPPS.CORACCOUNT COR
  7.  
  8. LEFT OUTER
  9. JOIN (
  10.    SELECT C.*
  11.    FROM BMSTGCAPPS.CORACCOUNTDETAIL C
  12.    INNER JOIN (SELECT NOREK, MAX(CORDT.CICILDATE) MAXCICILDATE FROM BMSTGCAPPS.CORACCOUNTDETAIL CORDT GROUP BY NOREK) TMP
  13.    ON C.NOREK = TMP.NOREK AND C.CICILDATE = TMP.MAXCICILDATE
  14. ) CORDT ON COR.NOREK = CORDT.NOREK AND COR.SRC_STM_ID = CORDT.SRC_STM_ID AND CORDT.TIME_SK = :ReportingDate
  15.  
  16. LEFT OUTER
  17. JOIN (
  18.    SELECT D.*
  19.    FROM BMSTGCAPPS.CORACCOUNTDETAIL D
  20.    INNER JOIN (SELECT NOREK, MIN(CORDTMIN.CICILDATE) AS MINCICILDATE FROM BMSTGCAPPS.CORACCOUNTDETAIL CORDTMIN GROUP BY NOREK) TMP
  21.    ON D.NOREK = TMP.NOREK AND D.CICILDATE = TMP.MINCICILDATE
  22. ) CORDTMIN ON COR.NOREK = CORDTMIN.NOREK AND COR.SRC_STM_ID = CORDTMIN.SRC_STM_ID AND CORDTMIN.TIME_SK = :ReportingDate
  23.  
  24. LEFT OUTER
  25. JOIN BMSTGCAPPS.GENCUSTOMER CUST ON COR.CUSTID = CUST.CUSTID AND COR.SRC_STM_ID = CUST.SRC_STM_ID
  26. AND CUST.TIME_SK = :ReportingDate
  27.  
  28. LEFT OUTER
  29. JOIN (
  30.     SELECT C.*
  31.     FROM BMSTGCAPPS.MFACCRUAL C
  32.     INNER JOIN (SELECT NOREK, MAX(ACCRUEDDATE) MAXACCRUEDDATE FROM BMSTGCAPPS.MFACCRUAL WHERE SOURCE = 'M' GROUP BY NOREK) TMP
  33.     ON C.NOREK = TMP.NOREK AND C.ACCRUEDDATE = TMP.MAXACCRUEDDATE AND C.SOURCE = 'M'
  34. ) MFACCRUAL ON COR.NOREK = MFACCRUAL.NOREK AND COR.SRC_STM_ID = MFACCRUAL.SRC_STM_ID --AND MFACCRUAL.TIME_SK = :ReportingDate
  35.  
  36. LEFT OUTER
  37. JOIN BMSTGCAPPS.MIRRMFUPLOAD MIRRMFUPLOAD ON COR.NOREK = MIRRMFUPLOAD.NOREK AND MIRRMFUPLOAD.SRC_STM_ID = COR.SRC_STM_ID
  38. --AND MIRRMFUPLOAD.TIME_SK = :ReportingDate
  39.  
  40. LEFT OUTER
  41. JOIN BMSTGCAPPS.CORACCOUNTJOIN CORACCOUNTJOIN ON COR.NOREK = CORACCOUNTJOIN.NOREK AND CORACCOUNTJOIN.SRC_STM_ID = COR.SRC_STM_ID
  42. AND CORACCOUNTJOIN.TIME_SK = :ReportingDate
  43.  
  44. LEFT OUTER
  45. JOIN BMSTGCAPPS.CORJOINFINANCE CORJOINFINANCE ON CORACCOUNTJOIN.JOINFINANCEID = CORJOINFINANCE.JOINFINANCEID AND CORJOINFINANCE.SRC_STM_ID = COR.SRC_STM_ID
  46. AND CORJOINFINANCE.TIME_SK = :ReportingDate
  47.  
  48. LEFT OUTER
  49. JOIN BMSTGCAPPS.MIRRWRITEOFF MIRRWRITEOFF ON MIRRWRITEOFF.NOREK = COR.NOREK AND MIRRWRITEOFF.SRC_STM_ID = COR.SRC_STM_ID
  50. --AND MIRRWRITEOFF.TIME_SK = :ReportingDate
  51.  
  52. LEFT OUTER
  53. JOIN BMSTGCAPPS.V_MFACCOUNTDETAIL V_MFACCOUNTDETAIL ON V_MFACCOUNTDETAIL.NOREK = COR.NOREK AND V_MFACCOUNTDETAIL.SRC_STM_ID = COR.SRC_STM_ID
  54. AND V_MFACCOUNTDETAIL.TIME_SK = :ReportingDate
  55.  
  56. WHERE
  57.     COR.SRC_STM_ID = 14 AND COR.TIME_SK = :ReportingDate
  58.     AND COALESCE(COR.CURPOKOK,0) + COALESCE(V_MFACCOUNTDETAIL.TUNGGAKANPOKOK,0) > 0
  59.     AND (
  60.     COR.CLOSETYPE = 0
  61.     OR (COR.CLOSETYPE != 0 AND COR.CLOSEDATE IS NOT NULL AND TO_CHAR(COR.CLOSEDATE, 'YYYYMM') = SUBSTR(COR.TIME_SK, 1, 6))
  62.     --COR.CLOSETYPE IN (0, 6)
  63.     --OR (COR.CLOSETYPE = 7 AND COR.WRITEOFFDATE IS NOT NULL AND TO_CHAR(COR.WRITEOFFDATE, 'YYYYMM') = SUBSTR(COR.TIME_SK, 1, 6))
  64.     --OR (COR.CLOSETYPE NOT IN (0,6,7) AND COR.CLOSEDATE IS NOT NULL AND TO_CHAR(COR.CLOSEDATE, 'YYYYMM') = SUBSTR(COR.TIME_SK, 1, 6))
  65.     )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement