Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 26.85 KB | None | 0 0
  1.  
  2.  
  3. DECLARE @FROM_DATE AS DATE = '20180701'
  4.     ,@TO_DATE AS DATE = '20180731'
  5.  
  6. --------------------------------------------------------------------------------
  7. -- SELECT DATA UNTUK PA
  8. --------------------------------------------------------------------------------
  9. SELECT COMPANY
  10.         ,PA_ID
  11.         ,PA_DATE
  12.         ,PA_YEAR
  13.         ,PA_MONTH
  14.         ,PA_DESC
  15.         ,PA_RUPIAH
  16.         ,PA_ACCOUNT
  17.         ,PA_BRANCH
  18.         ,PA_PEMOHON
  19.         ,PA_STRUKTUR_UNIT
  20.         ,PA_CREATED_BY
  21.         ,PA_REKANAN
  22.         ,PA_INVOICE
  23.         ,PV_ID
  24.         ,PV_DATE
  25.         ,PV_RUPIAH
  26.         ,PA_WEEK
  27.         ,PA_OUSTANDING = PA_RUPIAH - PV_RUPIAH
  28.         ,PAYMENT_CLASS = CASE paymentclass_id
  29.             WHEN 110
  30.                 THEN 'Advance'
  31.             WHEN 120
  32.                 THEN 'Invoice(PV)'
  33.             ELSE ''
  34.             END
  35.         ,PA_AGING = CASE
  36.             WHEN PV_DATE IS NULL
  37.                 THEN DATEDIFF(D, PA_DATE, GETDATE())
  38.             ELSE DATEDIFF(D, PA_DATE, PV_DATE)
  39.             END
  40.         ,PV_POSTING
  41.     INTO #TEMP_PA
  42.     FROM (
  43.         SELECT COMPANY = 'PKAL'
  44.             ,PA_ID = pa_hdr.paymentreq_id
  45.             ,PA_DATE = paymentreq_date
  46.             ,PA_YEAR = YEAR(paymentreq_date)
  47.             ,PA_MONTH = SUBSTRING('01.JAN 02.FEB 03.MAR 04.APR 05.MAY 06.JUN 07.JUL 08.AUG 09.SEP 10.OCT 11.NOV 12.DEC ', (MONTH(paymentreq_date) * 7) - 6, 6)
  48.             ,PA_DESC = paymentreq_descr
  49.             ,PA_RUPIAH = pa_dtl.paymentreqterm_idr
  50.             ,PA_ACCOUNT = acc.acc_name
  51.             ,PA_BRANCH = branch.branch_name
  52.             ,PA_PEMOHON = pa_hdr.paymentreq_pemohon
  53.             ,PA_STRUKTUR_UNIT = unit.strukturunit_name
  54.             ,PA_CREATED_BY = pa_hdr.paymentreq_createby
  55.             ,PA_REKANAN = rekanan.rekanan_name
  56.             ,PA_INVOICE = pa_hdr.paymentreq_invoice
  57.             ,pa_hdr.paymentclass_id
  58.             ,PV_ID = ISNULL((
  59.                     SELECT x.jurnal_id
  60.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal x
  61.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil y ON x.jurnal_id = y.jurnal_id
  62.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  63.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  64.                         AND x.jurnaltype_id = 'PV'
  65.                     ),'')
  66.             ,PV_DATE = (
  67.                 SELECT MIN(x.jurnal_bookdate)
  68.                 FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal x
  69.                 JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil y
  70.                     ON y.jurnal_id = x.jurnal_id
  71.                 WHERE y.ref_id = pa_hdr.paymentreq_id
  72.                     AND y.ref_line = pa_dtl.paymentreqterm_line
  73.                     AND LEFT(y.jurnal_id, 2) = 'PV'
  74.                     --AND x.jurnal_isposted = 1
  75.                 )
  76.             ,PV_POSTING = ISNULL((
  77.                     SELECT MIN(x.jurnal_isposted)
  78.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal x
  79.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil y
  80.                         ON y.jurnal_id = x.jurnal_id
  81.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  82.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  83.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  84.                         --AND x.jurnal_isposted = 1
  85.                     ), 0)
  86.             ,PV_RUPIAH = ISNULL((
  87.                     SELECT SUM(y.jurnaldetil_idr)
  88.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal x
  89.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil y
  90.                         ON y.jurnal_id = x.jurnal_id
  91.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  92.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  93.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  94.                         --AND x.jurnal_isposted = 1
  95.                     ), 0)
  96.             ,PA_WEEK = 'M' + CONVERT(NVARCHAR(1), datediff(week, dateadd(week, datediff(week, 0, dateadd(MONTH, datediff(MONTH, 0, paymentreq_date), 0)), 0), paymentreq_date - 1) + 1)
  97.         FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_paymentreq pa_hdr
  98.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_paymentreqterm pa_dtl
  99.             ON pa_dtl.paymentreq_id = pa_hdr.paymentreq_id
  100.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_acc acc
  101.             ON acc.acc_id = pa_hdr.acc_id
  102.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_branch branch
  103.             ON branch.branch_id = pa_hdr.branch_id
  104.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_rekanan rekanan
  105.             ON rekanan.rekanan_id = pa_hdr.rekanan_id
  106.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_strukturunit unit
  107.             ON unit.strukturunit_id = pa_hdr.strukturunit_id
  108.         WHERE pa_hdr.paymentreq_date BETWEEN @FROM_DATE
  109.                 AND @TO_DATE
  110.             AND pa_hdr.paymentreq_descr LIKE '%#HCGA%'
  111.        
  112.         UNION ALL
  113.        
  114.         SELECT COMPANY = 'KAL'
  115.             ,PA_ID = pa_hdr.paymentreq_id
  116.             ,PA_DATE = paymentreq_date
  117.             ,PA_YEAR = YEAR(paymentreq_date)
  118.             ,PA_MONTH = SUBSTRING('01.JAN 02.FEB 03.MAR 04.APR 05.MAY 06.JUN 07.JUL 08.AUG 09.SEP 10.OCT 11.NOV 12.DEC ', (MONTH(paymentreq_date) * 7) - 6, 6)
  119.             ,PA_DESC = paymentreq_descr
  120.             ,PA_RUPIAH = pa_dtl.paymentreqterm_idr
  121.             ,PA_ACCOUNT = acc.acc_name
  122.             ,PA_BRANCH = branch.branch_name
  123.             ,PA_PEMOHON = pa_hdr.paymentreq_pemohon
  124.             ,PA_STRUKTUR_UNIT = unit.strukturunit_name
  125.             ,PA_CREATED_BY = pa_hdr.paymentreq_createby
  126.             ,PA_REKANAN = rekanan.rekanan_name
  127.             ,PA_INVOICE = pa_hdr.paymentreq_invoice
  128.             ,pa_hdr.paymentclass_id
  129.             ,PV_ID = ISNULL((
  130.                     SELECT x.jurnal_id
  131.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal x
  132.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil y ON x.jurnal_id = y.jurnal_id
  133.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  134.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  135.                         AND x.jurnaltype_id = 'PV'
  136.                     ),'')
  137.             ,PV_DATE = (
  138.                 SELECT MIN(x.jurnal_bookdate)
  139.                 FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal x
  140.                 JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil y
  141.                     ON y.jurnal_id = x.jurnal_id
  142.                 WHERE y.ref_id = pa_hdr.paymentreq_id
  143.                     AND y.ref_line = pa_dtl.paymentreqterm_line
  144.                     AND LEFT(y.jurnal_id, 2) = 'PV'
  145.                     --AND x.jurnal_isposted = 1
  146.                 )
  147.             ,PV_POSTING = ISNULL((
  148.                     SELECT MIN(x.jurnal_isposted)
  149.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal x
  150.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil y
  151.                         ON y.jurnal_id = x.jurnal_id
  152.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  153.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  154.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  155.                         --AND x.jurnal_isposted = 1
  156.                     ), 0)
  157.             ,PV_RUPIAH = ISNULL((
  158.                     SELECT SUM(y.jurnaldetil_idr)
  159.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal x
  160.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil y
  161.                         ON y.jurnal_id = x.jurnal_id
  162.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  163.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  164.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  165.                         --AND x.jurnal_isposted = 1
  166.                     ), 0)
  167.             ,PA_WEEK = 'M' + CONVERT(NVARCHAR(1), datediff(week, dateadd(week, datediff(week, 0, dateadd(MONTH, datediff(MONTH, 0, paymentreq_date), 0)), 0), paymentreq_date - 1) + 1)
  168.         FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_paymentreq pa_hdr
  169.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_paymentreqterm pa_dtl
  170.             ON pa_dtl.paymentreq_id = pa_hdr.paymentreq_id
  171.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_acc acc
  172.             ON acc.acc_id = pa_hdr.acc_id
  173.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_branch branch
  174.             ON branch.branch_id = pa_hdr.branch_id
  175.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_rekanan rekanan
  176.             ON rekanan.rekanan_id = pa_hdr.rekanan_id
  177.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_strukturunit unit
  178.             ON unit.strukturunit_id = pa_hdr.strukturunit_id
  179.         WHERE pa_hdr.paymentreq_date BETWEEN @FROM_DATE
  180.                 AND @TO_DATE
  181.             AND pa_hdr.paymentreq_descr LIKE '%#HCGA%'
  182.        
  183.         UNION ALL
  184.        
  185.         SELECT COMPANY = 'KHM'
  186.             ,PA_ID = pa_hdr.paymentreq_id
  187.             ,PA_DATE = paymentreq_date
  188.             ,PA_YEAR = YEAR(paymentreq_date)
  189.             ,PA_MONTH = SUBSTRING('01.JAN 02.FEB 03.MAR 04.APR 05.MAY 06.JUN 07.JUL 08.AUG 09.SEP 10.OCT 11.NOV 12.DEC ', (MONTH(paymentreq_date) * 7) - 6, 6)
  190.             ,PA_DESC = paymentreq_descr
  191.             ,PA_RUPIAH = pa_dtl.paymentreqterm_idr
  192.             ,PA_ACCOUNT = acc.acc_name
  193.             ,PA_BRANCH = branch.branch_name
  194.             ,PA_PEMOHON = pa_hdr.paymentreq_pemohon
  195.             ,PA_STRUKTUR_UNIT = unit.strukturunit_name
  196.             ,PA_CREATED_BY = pa_hdr.paymentreq_createby
  197.             ,PA_REKANAN = rekanan.rekanan_name
  198.             ,PA_INVOICE = pa_hdr.paymentreq_invoice
  199.             ,pa_hdr.paymentclass_id
  200.             ,PV_ID = ISNULL((
  201.                     SELECT x.jurnal_id
  202.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal x
  203.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil y ON x.jurnal_id = y.jurnal_id
  204.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  205.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  206.                         AND x.jurnaltype_id = 'PV'
  207.                     ),'')
  208.             ,PV_DATE = (
  209.                 SELECT MIN(x.jurnal_bookdate)
  210.                 FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal x
  211.                 JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil y
  212.                     ON y.jurnal_id = x.jurnal_id
  213.                 WHERE y.ref_id = pa_hdr.paymentreq_id
  214.                     AND y.ref_line = pa_dtl.paymentreqterm_line
  215.                     AND LEFT(y.jurnal_id, 2) = 'PV'
  216.                     --AND x.jurnal_isposted = 1
  217.                 )
  218.             ,PV_POSTING = ISNULL((
  219.                     SELECT MIN(x.jurnal_isposted)
  220.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal x
  221.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil y
  222.                         ON y.jurnal_id = x.jurnal_id
  223.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  224.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  225.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  226.                         --AND x.jurnal_isposted = 1
  227.                     ), 0)
  228.             ,PV_RUPIAH = ISNULL((
  229.                     SELECT SUM(y.jurnaldetil_idr)
  230.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal x
  231.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil y
  232.                         ON y.jurnal_id = x.jurnal_id
  233.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  234.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  235.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  236.                         --AND x.jurnal_isposted = 1
  237.                     ), 0)
  238.             ,PA_WEEK = 'M' + CONVERT(NVARCHAR(1), datediff(week, dateadd(week, datediff(week, 0, dateadd(MONTH, datediff(MONTH, 0, paymentreq_date), 0)), 0), paymentreq_date - 1) + 1)
  239.         FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_paymentreq pa_hdr
  240.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_paymentreqterm pa_dtl
  241.             ON pa_dtl.paymentreq_id = pa_hdr.paymentreq_id
  242.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_acc acc
  243.             ON acc.acc_id = pa_hdr.acc_id
  244.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_branch branch
  245.             ON branch.branch_id = pa_hdr.branch_id
  246.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_rekanan rekanan
  247.             ON rekanan.rekanan_id = pa_hdr.rekanan_id
  248.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_strukturunit unit
  249.             ON unit.strukturunit_id = pa_hdr.strukturunit_id
  250.         WHERE pa_hdr.paymentreq_date BETWEEN @FROM_DATE
  251.                 AND @TO_DATE
  252.             AND pa_hdr.paymentreq_descr LIKE '%#HCGA%'
  253.        
  254.         UNION ALL
  255.        
  256.         SELECT COMPANY = 'LSS'
  257.             ,PA_ID = pa_hdr.paymentreq_id
  258.             ,PA_DATE = paymentreq_date
  259.             ,PA_YEAR = YEAR(paymentreq_date)
  260.             ,PA_MONTH = SUBSTRING('01.JAN 02.FEB 03.MAR 04.APR 05.MAY 06.JUN 07.JUL 08.AUG 09.SEP 10.OCT 11.NOV 12.DEC ', (MONTH(paymentreq_date) * 7) - 6, 6)
  261.             ,PA_DESC = paymentreq_descr
  262.             ,PA_RUPIAH = pa_dtl.paymentreqterm_idr
  263.             ,PA_ACCOUNT = acc.acc_name
  264.             ,PA_BRANCH = branch.branch_name
  265.             ,PA_PEMOHON = pa_hdr.paymentreq_pemohon
  266.             ,PA_STRUKTUR_UNIT = unit.strukturunit_name
  267.             ,PA_CREATED_BY = pa_hdr.paymentreq_createby
  268.             ,PA_REKANAN = rekanan.rekanan_name
  269.             ,PA_INVOICE = pa_hdr.paymentreq_invoice
  270.             ,pa_hdr.paymentclass_id
  271.             ,PV_ID = ISNULL((
  272.                     SELECT x.jurnal_id
  273.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal x
  274.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil y ON x.jurnal_id = y.jurnal_id
  275.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  276.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  277.                         AND x.jurnaltype_id = 'PV'
  278.                     ),'')
  279.             ,PV_DATE = (
  280.                 SELECT MIN(x.jurnal_bookdate)
  281.                 FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal x
  282.                 JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil y
  283.                     ON y.jurnal_id = x.jurnal_id
  284.                 WHERE y.ref_id = pa_hdr.paymentreq_id
  285.                     AND y.ref_line = pa_dtl.paymentreqterm_line
  286.                     AND LEFT(y.jurnal_id, 2) = 'PV'
  287.                     --AND x.jurnal_isposted = 1
  288.                 )
  289.             ,PV_POSTING = ISNULL((
  290.                     SELECT MIN(x.jurnal_isposted)
  291.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal x
  292.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil y
  293.                         ON y.jurnal_id = x.jurnal_id
  294.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  295.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  296.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  297.                         --AND x.jurnal_isposted = 1
  298.                     ), 0)
  299.             ,PV_RUPIAH = ISNULL((
  300.                     SELECT SUM(y.jurnaldetil_idr)
  301.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal x
  302.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil y
  303.                         ON y.jurnal_id = x.jurnal_id
  304.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  305.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  306.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  307.                         --AND x.jurnal_isposted = 1
  308.                     ), 0)
  309.             ,PA_WEEK = 'M' + CONVERT(NVARCHAR(1), datediff(week, dateadd(week, datediff(week, 0, dateadd(MONTH, datediff(MONTH, 0, paymentreq_date), 0)), 0), paymentreq_date - 1) + 1)
  310.         FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_paymentreq pa_hdr
  311.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_paymentreqterm pa_dtl
  312.             ON pa_dtl.paymentreq_id = pa_hdr.paymentreq_id
  313.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_acc acc
  314.             ON acc.acc_id = pa_hdr.acc_id
  315.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_branch branch
  316.             ON branch.branch_id = pa_hdr.branch_id
  317.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_rekanan rekanan
  318.             ON rekanan.rekanan_id = pa_hdr.rekanan_id
  319.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_strukturunit unit
  320.             ON unit.strukturunit_id = pa_hdr.strukturunit_id
  321.         WHERE pa_hdr.paymentreq_date BETWEEN @FROM_DATE
  322.                 AND @TO_DATE
  323.             AND pa_hdr.paymentreq_descr LIKE '%#HCGA%'
  324.        
  325.         UNION ALL
  326.        
  327.         SELECT COMPANY = 'MHM'
  328.             ,PA_ID = pa_hdr.paymentreq_id
  329.             ,PA_DATE = paymentreq_date
  330.             ,PA_YEAR = YEAR(paymentreq_date)
  331.             ,PA_MONTH = SUBSTRING('01.JAN 02.FEB 03.MAR 04.APR 05.MAY 06.JUN 07.JUL 08.AUG 09.SEP 10.OCT 11.NOV 12.DEC ', (MONTH(paymentreq_date) * 7) - 6, 6)
  332.             ,PA_DESC = paymentreq_descr
  333.             ,PA_RUPIAH = pa_dtl.paymentreqterm_idr
  334.             ,PA_ACCOUNT = acc.acc_name
  335.             ,PA_BRANCH = branch.branch_name
  336.             ,PA_PEMOHON = pa_hdr.paymentreq_pemohon
  337.             ,PA_STRUKTUR_UNIT = unit.strukturunit_name
  338.             ,PA_CREATED_BY = pa_hdr.paymentreq_createby
  339.             ,PA_REKANAN = rekanan.rekanan_name
  340.             ,PA_INVOICE = pa_hdr.paymentreq_invoice
  341.             ,pa_hdr.paymentclass_id
  342.             ,PV_ID = ISNULL((
  343.                     SELECT x.jurnal_id
  344.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal x
  345.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil y ON x.jurnal_id = y.jurnal_id
  346.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  347.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  348.                         AND x.jurnaltype_id = 'PV'
  349.                     ),'')
  350.             ,PV_DATE = (
  351.                 SELECT MIN(x.jurnal_bookdate)
  352.                 FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal x
  353.                 JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil y
  354.                     ON y.jurnal_id = x.jurnal_id
  355.                 WHERE y.ref_id = pa_hdr.paymentreq_id
  356.                     AND y.ref_line = pa_dtl.paymentreqterm_line
  357.                     AND LEFT(y.jurnal_id, 2) = 'PV'
  358.                     --AND x.jurnal_isposted = 1
  359.                 )
  360.             ,PV_POSTING = ISNULL((
  361.                     SELECT MIN(x.jurnal_isposted)
  362.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal x
  363.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil y
  364.                         ON y.jurnal_id = x.jurnal_id
  365.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  366.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  367.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  368.                         --AND x.jurnal_isposted = 1
  369.                     ), 0)
  370.             ,PV_RUPIAH = ISNULL((
  371.                     SELECT SUM(y.jurnaldetil_idr)
  372.                     FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal x
  373.                     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil y
  374.                         ON y.jurnal_id = x.jurnal_id
  375.                     WHERE y.ref_id = pa_hdr.paymentreq_id
  376.                         AND y.ref_line = pa_dtl.paymentreqterm_line
  377.                         AND LEFT(y.jurnal_id, 2) = 'PV'
  378.                         --AND x.jurnal_isposted = 1
  379.                     ), 0)
  380.             ,PA_WEEK = 'M' + CONVERT(NVARCHAR(1), datediff(week, dateadd(week, datediff(week, 0, dateadd(MONTH, datediff(MONTH, 0, paymentreq_date), 0)), 0), paymentreq_date - 1) + 1)
  381.         FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_paymentreq pa_hdr
  382.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_paymentreqterm pa_dtl
  383.             ON pa_dtl.paymentreq_id = pa_hdr.paymentreq_id
  384.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_acc acc
  385.             ON acc.acc_id = pa_hdr.acc_id
  386.         JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_branch branch
  387.             ON branch.branch_id = pa_hdr.branch_id
  388.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_rekanan rekanan
  389.             ON rekanan.rekanan_id = pa_hdr.rekanan_id
  390.         LEFT JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_strukturunit unit
  391.             ON unit.strukturunit_id = pa_hdr.strukturunit_id
  392.         WHERE pa_hdr.paymentreq_date BETWEEN @FROM_DATE
  393.                 AND @TO_DATE
  394.             AND pa_hdr.paymentreq_descr LIKE '%#HCGA%'
  395.         ) x
  396.        
  397. --------------------------------------------------------------------------------
  398. -- SELECT DATA UNTUK PV
  399. --------------------------------------------------------------------------------
  400.        
  401.     SELECT
  402.         company = 'PKAL'
  403.         ,a.channel_id
  404.         ,pv_id = a.jurnal_id
  405.         ,pv_line = b.jurnaldetil_line
  406.         ,pv_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  407.         ,pv_idr = SUM(b.jurnaldetil_idr)
  408.         ,pv_desc = MIN(b.jurnaldetil_descr)
  409.         ,rekanan = MIN(c.rekanan_name)
  410.         ,account = MIN(d.acc_name)
  411.     INTO #TEMP_PV
  412.     FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal A
  413.     INNER JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil B
  414.         ON A.jurnal_id = B.jurnal_id
  415.             AND B.jurnaldetil_idr > 0
  416.             AND A.jurnal_isposted = 1
  417.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_rekanan c
  418.         ON c.rekanan_id = a.rekanan_id
  419.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.master_acc d
  420.         ON d.acc_id = b.acc_id
  421.     WHERE a.jurnaltype_id = 'PV'
  422.         AND A.jurnal_bookdate BETWEEN @FROM_DATE
  423.             AND @TO_DATE
  424.         AND B.acc_id IN (
  425.             SELECT acc_id
  426.             FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.view_master_accaging_ar
  427.             WHERE accaging_type <> 'OUTLET'
  428.             )
  429.         AND b.jurnaldetil_descr LIKE '%#HCGA%'
  430.     GROUP BY a.channel_id
  431.         ,a.jurnal_id
  432.         ,b.jurnaldetil_line
  433.    
  434.     UNION ALL
  435.    
  436.     SELECT company = 'KAL'
  437.         ,a.channel_id
  438.         ,pv_id = a.jurnal_id
  439.         ,pv_line = b.jurnaldetil_line
  440.         ,pv_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  441.         ,pv_idr = SUM(b.jurnaldetil_idr)
  442.         ,pv_desc = MIN(b.jurnaldetil_descr)
  443.         ,rekanan = MIN(c.rekanan_name)
  444.         ,account = MIN(d.acc_name)
  445.     FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal A
  446.     INNER JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil B
  447.         ON A.jurnal_id = B.jurnal_id
  448.             AND B.jurnaldetil_idr > 0
  449.             AND A.jurnal_isposted = 1
  450.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_rekanan c
  451.         ON c.rekanan_id = a.rekanan_id
  452.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.master_acc d
  453.         ON d.acc_id = b.acc_id
  454.     WHERE a.jurnaltype_id = 'PV'
  455.         AND A.jurnal_bookdate BETWEEN @FROM_DATE
  456.             AND @TO_DATE
  457.         AND B.acc_id IN (
  458.             SELECT acc_id
  459.             FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.view_master_accaging_ar
  460.             WHERE accaging_type <> 'OUTLET'
  461.             )
  462.         AND b.jurnaldetil_descr LIKE '%#HCGA%'
  463.     GROUP BY a.channel_id
  464.         ,a.jurnal_id
  465.         ,b.jurnaldetil_line
  466.    
  467.     UNION ALL
  468.    
  469.     SELECT company = 'KHM'
  470.         ,a.channel_id
  471.         ,pv_id = a.jurnal_id
  472.         ,pv_line = b.jurnaldetil_line
  473.         ,pv_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  474.         ,pv_idr = SUM(b.jurnaldetil_idr)
  475.         ,pv_desc = MIN(b.jurnaldetil_descr)
  476.         ,rekanan = MIN(c.rekanan_name)
  477.         ,account = MIN(d.acc_name)
  478.     FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal A
  479.     INNER JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil B
  480.         ON A.jurnal_id = B.jurnal_id
  481.             AND B.jurnaldetil_idr > 0
  482.             AND A.jurnal_isposted = 1
  483.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_rekanan c
  484.         ON c.rekanan_id = a.rekanan_id
  485.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.master_acc d
  486.         ON d.acc_id = b.acc_id
  487.     WHERE a.jurnaltype_id = 'PV'
  488.         AND A.jurnal_bookdate BETWEEN @FROM_DATE
  489.             AND @TO_DATE
  490.         AND B.acc_id IN (
  491.             SELECT acc_id
  492.             FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.view_master_accaging_ar
  493.             WHERE accaging_type <> 'OUTLET'
  494.             )
  495.         AND b.jurnaldetil_descr LIKE '%#HCGA%'
  496.     GROUP BY a.channel_id
  497.         ,a.jurnal_id
  498.         ,b.jurnaldetil_line
  499.    
  500.     UNION ALL
  501.    
  502.     SELECT company = 'LSS'
  503.         ,a.channel_id
  504.         ,pv_id = a.jurnal_id
  505.         ,pv_line = b.jurnaldetil_line
  506.         ,pv_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  507.         ,pv_idr = SUM(b.jurnaldetil_idr)
  508.         ,pv_desc = MIN(b.jurnaldetil_descr)
  509.         ,rekanan = MIN(c.rekanan_name)
  510.         ,account = MIN(d.acc_name)
  511.     FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal A
  512.     INNER JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil B
  513.         ON A.jurnal_id = B.jurnal_id
  514.             AND B.jurnaldetil_idr > 0
  515.             AND A.jurnal_isposted = 1
  516.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_rekanan c
  517.         ON c.rekanan_id = a.rekanan_id
  518.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.master_acc d
  519.         ON d.acc_id = b.acc_id
  520.     WHERE a.jurnaltype_id = 'PV'
  521.         AND A.jurnal_bookdate BETWEEN @FROM_DATE
  522.             AND @TO_DATE
  523.         AND B.acc_id IN (
  524.             SELECT acc_id
  525.             FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.view_master_accaging_ar
  526.             WHERE accaging_type <> 'OUTLET'
  527.             )
  528.         AND b.jurnaldetil_descr LIKE '%#HCGA%'
  529.     GROUP BY a.channel_id
  530.         ,a.jurnal_id
  531.         ,b.jurnaldetil_line
  532.    
  533.     UNION ALL
  534.    
  535.     SELECT company = 'MHM'
  536.         ,a.channel_id
  537.         ,pv_id = a.jurnal_id
  538.         ,pv_line = b.jurnaldetil_line
  539.         ,pv_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  540.         ,pv_idr = SUM(b.jurnaldetil_idr)
  541.         ,pv_desc = MIN(b.jurnaldetil_descr)
  542.         ,rekanan = MIN(c.rekanan_name)
  543.         ,account = MIN(d.acc_name)
  544.     FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal A
  545.     INNER JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil B
  546.         ON A.jurnal_id = B.jurnal_id
  547.             AND B.jurnaldetil_idr > 0
  548.             AND A.jurnal_isposted = 1
  549.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_rekanan c
  550.         ON c.rekanan_id = a.rekanan_id
  551.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.master_acc d
  552.         ON d.acc_id = b.acc_id
  553.     WHERE a.jurnaltype_id = 'PV'
  554.         AND A.jurnal_bookdate BETWEEN @FROM_DATE
  555.             AND @TO_DATE
  556.         AND B.acc_id IN (
  557.             SELECT acc_id
  558.             FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.view_master_accaging_ar
  559.             WHERE accaging_type <> 'OUTLET'
  560.             )
  561.         AND b.jurnaldetil_descr LIKE '%#HCGA%'
  562.     GROUP BY a.channel_id
  563.         ,a.jurnal_id
  564.         ,b.jurnaldetil_line
  565.        
  566. --------------------------------------------------------------------------------
  567. -- SELECT DATA UNTUK ST
  568. --------------------------------------------------------------------------------
  569.  
  570.     SELECT
  571.         c.pv_id
  572.         ,c.pv_line
  573.         ,channel_id = MIN(a.channel_id)
  574.         ,st_id = MIN(a.jurnal_id)
  575.         ,st_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  576.         ,deklarasi = SUM(- b.jurnaldetil_idr)
  577.     INTO #TEMP_ST
  578.     FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnal A
  579.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.transaksi_jurnaldetil B
  580.         ON A.jurnal_id = B.jurnal_id
  581.             AND B.jurnaldetil_idr < 0
  582.             AND A.jurnal_isposted = 1
  583.     JOIN #TEMP_PV c
  584.         ON c.channel_id = a.channel_id
  585.             AND c.pv_id = b.ref_id
  586.             AND c.pv_line = b.ref_line
  587.     WHERE B.acc_id IN (
  588.             SELECT acc_id
  589.             FROM [172.26.1.5\MSSQLProd].E_FRM3_PKAL.dbo.view_master_accaging_ar
  590.             WHERE accaging_type <> 'OUTLET'
  591.             )
  592.     GROUP BY c.pv_id
  593.     ,c.pv_line
  594.    
  595.     UNION ALL
  596.    
  597.     SELECT c.pv_id
  598.         ,c.pv_line
  599.         ,channel_id = MIN(a.channel_id)
  600.         ,st_id = MIN(a.jurnal_id)
  601.         ,st_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  602.         ,deklarasi = SUM(- b.jurnaldetil_idr)
  603.     FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnal A
  604.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.transaksi_jurnaldetil B
  605.         ON A.jurnal_id = B.jurnal_id
  606.             AND B.jurnaldetil_idr < 0
  607.             AND A.jurnal_isposted = 1
  608.     JOIN #TEMP_PV c
  609.         ON c.channel_id = a.channel_id
  610.             AND c.pv_id = b.ref_id
  611.             AND c.pv_line = b.ref_line
  612.     WHERE B.acc_id IN (
  613.             SELECT acc_id
  614.             FROM [172.26.1.5\MSSQLProd].E_FRM3_KAL.dbo.view_master_accaging_ar
  615.             WHERE accaging_type <> 'OUTLET'
  616.             )
  617.     GROUP BY c.pv_id
  618.     ,c.pv_line
  619.    
  620.     UNION ALL
  621.    
  622.     SELECT c.pv_id
  623.         ,c.pv_line
  624.         ,channel_id = MIN(a.channel_id)
  625.         ,st_id = MIN(a.jurnal_id)
  626.         ,st_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  627.         ,deklarasi = SUM(- b.jurnaldetil_idr)
  628.     FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnal A
  629.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.transaksi_jurnaldetil B
  630.         ON A.jurnal_id = B.jurnal_id
  631.             AND B.jurnaldetil_idr < 0
  632.             AND A.jurnal_isposted = 1
  633.     JOIN #TEMP_PV c
  634.         ON c.channel_id = a.channel_id
  635.             AND c.pv_id = b.ref_id
  636.             AND c.pv_line = b.ref_line
  637.     WHERE B.acc_id IN (
  638.             SELECT acc_id
  639.             FROM [172.26.1.5\MSSQLProd].E_FRM3_KHM.dbo.view_master_accaging_ar
  640.             WHERE accaging_type <> 'OUTLET'
  641.             )
  642.     GROUP BY c.pv_id
  643.     ,c.pv_line
  644.    
  645.     UNION ALL
  646.    
  647.     SELECT c.pv_id
  648.         ,c.pv_line
  649.         ,channel_id = MIN(a.channel_id)
  650.         ,st_id = MIN(a.jurnal_id)
  651.         ,st_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  652.         ,deklarasi = SUM(- b.jurnaldetil_idr)
  653.     FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnal A
  654.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.transaksi_jurnaldetil B
  655.         ON A.jurnal_id = B.jurnal_id
  656.             AND B.jurnaldetil_idr < 0
  657.             AND A.jurnal_isposted = 1
  658.     JOIN #TEMP_PV c
  659.         ON c.channel_id = a.channel_id
  660.             AND c.pv_id = b.ref_id
  661.             AND c.pv_line = b.ref_line
  662.     WHERE B.acc_id IN (
  663.             SELECT acc_id
  664.             FROM [172.26.1.5\MSSQLProd].E_FRM3_LSS.dbo.view_master_accaging_ar
  665.             WHERE accaging_type <> 'OUTLET'
  666.             )
  667.     GROUP BY c.pv_id
  668.     ,c.pv_line
  669.    
  670.     UNION ALL
  671.    
  672.     SELECT c.pv_id
  673.         ,c.pv_line
  674.         ,channel_id = MIN(a.channel_id)
  675.         ,st_id = MIN(a.jurnal_id)
  676.         ,st_date = CONVERT(DATE, MIN(a.jurnal_bookdate))
  677.         ,deklarasi = SUM(- b.jurnaldetil_idr)
  678.     FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnal A
  679.     JOIN [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.transaksi_jurnaldetil B
  680.         ON A.jurnal_id = B.jurnal_id
  681.             AND B.jurnaldetil_idr < 0
  682.             AND A.jurnal_isposted = 1
  683.     JOIN #TEMP_PV c
  684.         ON c.channel_id = a.channel_id
  685.             AND c.pv_id = b.ref_id
  686.             AND c.pv_line = b.ref_line
  687.     WHERE B.acc_id IN (
  688.             SELECT acc_id
  689.             FROM [172.26.1.5\MSSQLProd].E_FRM3_MHM.dbo.view_master_accaging_ar
  690.             WHERE accaging_type <> 'OUTLET'
  691.             )
  692.     GROUP BY c.pv_id
  693.     ,c.pv_line
  694.    
  695.     --SELECT * FROM #TEMP_PA
  696.     --SELECT * FROM #TEMP_PV
  697.     --SELECT * FROM #TEMP_ST
  698.    
  699.     SELECT A.COMPANY
  700.     ,A.PA_ID
  701.     ,A.PA_DATE
  702.     ,A.PA_REKANAN
  703.     ,A.PA_DESC
  704.     ,A.PA_RUPIAH
  705.     ,ISNULL(B.pv_id, '') AS PV_ID
  706.     ,ISNULL(B.pv_date, '') AS PV_DATE
  707.     ,ISNULL(B.pv_idr, 0) AS PV_IDR
  708.     ,ISNULL(C.st_id, '') AS ST_ID
  709.     ,ISNULL(C.st_date, '') AS ST_DATE
  710.     ,ISNULL(C.deklarasi, 0) AS ST_IDR
  711.     ,PA_AGING = (
  712.         CASE
  713.             WHEN B.pv_date IS NULL THEN DATEDIFF(DAY, A.PA_DATE, GETDATE())
  714.             ELSE DATEDIFF(DAY, A.PA_DATE, B.pv_date)
  715.         END
  716.     )
  717.     ,PV_AGING = (
  718.         CASE
  719.             WHEN C.st_date IS NULL THEN DATEDIFF(DAY, A.PA_DATE, GETDATE())
  720.             ELSE DATEDIFF(DAY, B.PV_DATE, C.ST_DATE)
  721.         END
  722.     )
  723. INTO #TEMP_AGING_FINAL
  724. FROM #TEMP_PA A
  725. LEFT JOIN #TEMP_PV B ON A.PV_ID = B.pv_id
  726. LEFT JOIN #TEMP_ST C ON A.PV_ID = C.pv_id
  727.    
  728.     DROP TABLE #TEMP_PA
  729.     DROP TABLE #TEMP_PV
  730.     DROP TABLE #TEMP_ST
  731.    
  732.  
  733.  
  734.  
  735.  
  736. SELECT
  737. PA_ID,
  738. PA_DATE=CONVERT(DATE,PA_DATE),
  739. PA_AGING,
  740. PV_ID,
  741. PV_DATE,
  742. PV_AGING,
  743. ST_ID,
  744. ST_DATE,
  745. ST_IDR
  746. FROM #TEMP_AGING_FINAL
  747. ORDER BY PA_DATE ASC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement