Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Open pRefDetail FOR
  2.         EXECUTE
  3.         'WITH sl_inv_sub_cat AS (
  4.             SELECT a.invoice_id, a.doc_type_id,
  5.                 f_get_sub_ctgr_product_name(d.sub_ctgr_product_id) AS sub_ctgr_product_name,
  6.                 f_get_sub_ctgr_product_code(d.sub_ctgr_product_id) AS sub_ctgr_product_code
  7.             FROM tt_sl_invoice a
  8.                 INNER JOIN sl_invoice_item b ON a.invoice_id = b.invoice_id AND b.ref_doc_type_id = $1
  9.                 INNER JOIN sl_do_item c ON b.ref_item_id = c.do_item_id
  10.                 INNER JOIN m_product d ON c.product_id = d.product_id
  11.             WHERE a.doc_type_id = $2
  12.                 AND a.session_id = $3
  13.             GROUP BY a.invoice_id, a.doc_type_id, d.sub_ctgr_product_id
  14.         ), sls_inv_temp_sub_cat AS (
  15.             SELECT a.invoice_id, a.doc_type_id,
  16.                 f_get_sub_ctgr_product_name(d.sub_ctgr_product_id) AS sub_ctgr_product_name,
  17.                 f_get_sub_ctgr_product_code(d.sub_ctgr_product_id) AS sub_ctgr_product_code
  18.             FROM tt_sl_invoice a
  19.                 INNER JOIN sl_invoice_temp_item b ON a.invoice_id = b.invoice_temp_id AND b.ref_doc_type_id = $1
  20.                 INNER JOIN sl_do_item c ON b.ref_item_id = c.do_item_id
  21.                 INNER JOIN m_product d ON c.product_id = d.product_id
  22.             WHERE a.doc_type_id = $5
  23.                 AND a.session_id = $3
  24.             GROUP BY a.invoice_id, a.doc_type_id, d.sub_ctgr_product_id
  25.         ), sls_order_sub_cat AS (
  26.             SELECT a.invoice_id, a.doc_type_id,
  27.                 f_get_sub_ctgr_product_name(c.sub_ctgr_product_id) AS sub_ctgr_product_name,
  28.                 f_get_sub_ctgr_product_code(c.sub_ctgr_product_id) AS sub_ctgr_product_code
  29.             FROM tt_sl_invoice a
  30.                 INNER JOIN sl_so_item b ON a.invoice_id = b.so_id
  31.                 INNER JOIN m_product c ON b.product_id = c.product_id
  32.             WHERE a.doc_type_id = $12
  33.                 AND a.session_id = $3
  34.             GROUP BY a.invoice_id, a.doc_type_id, c.sub_ctgr_product_id
  35.         ), return_sls_sub_cat AS (
  36.             SELECT a.invoice_id, a.doc_type_id,
  37.                 f_get_sub_ctgr_product_name(e.sub_ctgr_product_id) AS sub_ctgr_product_name,
  38.                 f_get_sub_ctgr_product_code(e.sub_ctgr_product_id) AS sub_ctgr_product_code
  39.             FROM tt_sl_invoice a
  40.                 INNER JOIN sl_invoice_item b ON a.invoice_id = b.invoice_id AND b.ref_doc_type_id = $15
  41.                 INNER JOIN in_inventory c ON b.ref_id = c.inventory_id AND b.ref_doc_type_id = c.doc_type_id
  42.                 INNER JOIN in_inventory_item d ON c.inventory_id = d.inventory_id
  43.                 INNER JOIN m_product e ON d.product_id = e.product_id
  44.             WHERE a.doc_type_id = $14
  45.                 AND a.session_id = $3
  46.             GROUP BY a.invoice_id, a.doc_type_id, e.sub_ctgr_product_id
  47.         ), category_invoice AS (
  48.             SELECT a.invoice_id, a.doc_type_id,
  49.                 string_agg(a.sub_ctgr_product_name, '', '') AS sub_ctgr_product_name,
  50.                 string_agg(a.sub_ctgr_product_code, '', '') AS sub_ctgr_product_code
  51.             FROM sl_inv_sub_cat a
  52.             GROUP BY a.invoice_id, a.doc_type_id
  53.             UNION
  54.             SELECT a.invoice_id, a.doc_type_id,
  55.                 string_agg(a.sub_ctgr_product_name, '', '') AS sub_ctgr_product_name,
  56.                 string_agg(a.sub_ctgr_product_code, '', '') AS sub_ctgr_product_code
  57.             FROM sls_inv_temp_sub_cat a
  58.             GROUP BY a.invoice_id, a.doc_type_id
  59.             UNION
  60.             SELECT a.invoice_id, a.doc_type_id,
  61.                 string_agg(a.sub_ctgr_product_name, '', '') AS sub_ctgr_product_name,
  62.                 string_agg(a.sub_ctgr_product_code, '', '') AS sub_ctgr_product_code
  63.             FROM sls_order_sub_cat a
  64.             GROUP BY a.invoice_id, a.doc_type_id
  65.             UNION
  66.             SELECT a.invoice_id, a.doc_type_id,
  67.                 string_agg(a.sub_ctgr_product_name, '', '') AS sub_ctgr_product_name,
  68.                 string_agg(a.sub_ctgr_product_code, '', '') AS sub_ctgr_product_code
  69.             FROM return_sls_sub_cat a
  70.             GROUP BY a.invoice_id, a.doc_type_id
  71.             UNION
  72.             SELECT a.invoice_id, a.doc_type_id,
  73.                 ''-'' AS sub_ctgr_product_name,
  74.                 ''-'' AS sub_ctgr_product_code
  75.             FROM tt_sl_invoice a
  76.             WHERE a.doc_type_id IN ($6, $7 )
  77.             AND a.session_id = $3
  78.             GROUP BY a.invoice_id, a.doc_type_id
  79.         )
  80.         SELECT f_get_partner_code(a.partner_id) AS partner_code, f_get_partner_name(a.partner_id) AS partner_name,
  81.             f_get_city_by_partner(a.partner_id) AS city, a.doc_no AS invoice_no, c.sub_ctgr_product_name, COALESCE(f.doc_no, ''-'') AS mou_no,
  82.             a.doc_date AS invoice_date, a.due_date, a.total_amount, d.add_amount AS ongkir, d.retur_amount AS retur,
  83.             d.payment_amount, a.tax_amount AS pot_bayar, (a.total_amount+a.tax_amount)-d.payment_amount AS sisa, a.invoice_status, d.no_resi,
  84.             d.ref_doc_no, a.so_date, COALESCE(g.promo_code, ''-'') AS promo, COALESCE(h.promo_code, ''-'') AS launching
  85.         FROM tt_sl_invoice a
  86.             INNER JOIN category_invoice c ON a.invoice_id = c.invoice_id AND a.doc_type_id = c.doc_type_id '||vFilterSubCtgr||'
  87.             INNER JOIN tt_report_sales_journal d ON a.invoice_id = d.sales_invoice_id AND a.doc_type_id = d.doc_type_id AND d.session_id = $3
  88.             LEFT OUTER JOIN sl_mou f ON a.mou_id = f.mou_id
  89.             LEFT OUTER JOIN m_promo g ON a.promo_id = g.promo_id
  90.             LEFT OUTER JOIN m_promo h ON a.product_launching_id = h.promo_id
  91.         WHERE a.session_id = $3
  92.             AND ((a.total_amount+a.tax_amount)-d.payment_amount) = $13
  93.         ORDER BY f_get_partner_name(a.partner_id), a.doc_date, a.invoice_status'
  94.         USING vDocTypeDo,vDocTypeSalesInvoice,pSessionId,vDocTypeConvExcOut,vDocTypeSalesInvoiceTemp,vDocTypeDNAR,vDocTypeCNAR,pTenantId,pUserId,pRoleId,vOne,vDocTypeSoByBrand,vNolAmount,vDocTypeRSIB,vDocTypeRN;
  95.         RETURN NEXT pRefDetail;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement