Advertisement
samuel025

Update Data Penjualan

Feb 17th, 2022
1,107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Update data dokumen SO - DO - SI
  2.  
  3. /* A. Update data SO Item */
  4.  
  5. -- tax_id = 10 (Ppn)
  6. -- Update flg_tax
  7. UPDATE sl_so_item B
  8.     SET flg_tax_amount = 'Y', tax_id = 10, tax_percentage = 10.00
  9. FROM sl_so A
  10. INNER JOIN temp_sl_so_progress_show_data_20220218 C ON A.so_id = C.so_id
  11. WHERE A.so_id = B.so_id AND B.so_item_id = C.so_item_id;
  12.  
  13. -- get data rounding mode
  14. SELECT f_get_value_system_config_by_param_code(10, 'rounding.mode.non.tax'); --> 'RHU'
  15.  
  16. -- get data rounding scale
  17. SELECT CAST(f_get_value_system_config_by_param_code(10, 'rounding.scale.print.total') AS integer); --> 2
  18.  
  19. -- update dpp dan ppn
  20. UPDATE sl_so_item B
  21.     SET tax_price = f_calculate_tax_amount_from_gross_price(B.gross_sell_price, 1, 0, B.flg_tax_amount, B.tax_percentage, 2, 'RHU'),
  22.     nett_sell_price = f_calculate_dpp_amount_from_gross_price(B.gross_sell_price, 1, 0, B.flg_tax_amount, B.tax_percentage, 2, 'RHU')
  23. FROM sl_so A
  24. INNER JOIN temp_sl_so_progress_show_data_20220218 C ON A.so_id = C.so_id
  25. WHERE B.so_item_id = C.so_item_id;
  26.  
  27. -- update sub total tax + nett sub total
  28. UPDATE sl_so_item B
  29.     SET tax_amount = B.tax_price * B.qty_so,
  30.     nett_item_amount = B.nett_sell_price * B.qty_so
  31. FROM sl_so A
  32. INNER JOIN temp_sl_so_progress_show_data_20220218 C ON A.so_id = C.so_id
  33. WHERE B.so_item_id = C.so_item_id;
  34.  
  35. /* B. Update data SO Tax */
  36.  
  37. -- get data rounding mode
  38. SELECT f_get_value_system_config_by_param_code(pTenantId, 'rounding.mode.non.tax'); --> 'RHU'
  39.  
  40. WITH get_data_tax AS (
  41.     SELECT Z.tenant_id, Z.so_id, Z.doc_type_id, SUM(f_get_amount_before_tax(
  42.                 (A.qty_so * (A.gross_sell_price - A.discount_amount)), A.flg_tax_amount,
  43.                 A.tax_percentage,f_get_digit_decimal_doc_curr(Z.doc_type_id, A.curr_code),
  44.                 'RHU')) AS data_base_amount,
  45.         f_tax_rounding(
  46.                 Z.tenant_id, SUM(f_get_amount_before_tax(
  47.                     (A.qty_so * (A.gross_sell_price - A.discount_amount)), A.flg_tax_amount,
  48.                     A.tax_percentage,f_get_digit_decimal_doc_curr(Z.doc_type_id, A.curr_code),
  49.                     'RHU')),
  50.                 A.tax_percentage) AS data_tax_amount
  51.     -- SELECT Z.doc_no, Z.doc_date,
  52.     FROM sl_so Z
  53.     INNER JOIN sl_so_item A ON A.so_id = Z.so_id
  54.     INNER JOIN m_tax B ON B.tax_id = A.tax_id
  55.     GROUP BY Z.so_id, Z.doc_type_id, Z.tenant_id, A.tax_percentage
  56. )
  57. UPDATE sl_so_tax X
  58.         SET base_amount = A.data_base_amount,
  59.         tax_amount = data_tax_amount
  60.     FROM get_data_tax A
  61.     INNER JOIN temp_sl_so_progress_show_data_20220218 C ON A.so_id = C.so_id
  62.     WHERE A.so_id = X.so_id
  63.     AND A.tenant_id = X.tenant_id;
  64.  
  65. /* C. Update data DO */
  66.  
  67. -- update sl_so_balance_invoice
  68.     -- 311 --> 311
  69.     -- 'RHU' --> 'RHU'
  70.     UPDATE sl_so_balance_invoice X
  71.         SET price_so = C.nett_sell_price,
  72.             item_amount = f_get_amount_before_tax_and_disc(
  73.             B.qty_dlv_so * C.gross_sell_price, B.qty_dlv_so * C.discount_amount,
  74.             C.flg_tax_amount, C.tax_percentage,
  75.             f_get_digit_decimal_doc_curr(311, C.curr_code),
  76.             'RHU'),
  77.         regular_disc_amount = C.discount_amount * B.qty_dlv_so
  78.  
  79.     -- SELECT A.*
  80.     FROM temp_sl_so_progress_show_data_20220218 A
  81.     INNER JOIN sl_do_item B ON A.do_id = B.do_id AND A.so_item_id = B.ref_id
  82.     INNER JOIN sl_so_item C ON A.so_item_id = C.so_item_id
  83.     -- WHERE A.doc_no = 'MEL-SO21.08.0240';
  84.     WHERE X.so_id = A.so_id AND X.ref_id = A.do_id
  85.     AND X.ref_doc_type_id = 311
  86.     AND X.ref_item_id = B.do_item_id;
  87.  
  88. /* -- Tidak jadi dipakai, karena item SO yang tidak ada tax, tidak akan ada data di sl_so_balance_invoice_tax
  89. -- update sl_so_balance_invoice_tax
  90.     -- 311 --> 311
  91.     -- 'RHU' --> 'RHU'
  92.     UPDATE sl_so_balance_invoice_tax X
  93.         SET tax_id = C.tax_id,
  94.             flg_amount = D.flg_amount,
  95.             tax_percentage = C.tax_percentage,
  96.             base_amount = f_get_amount_before_tax_and_disc(
  97.                 B.qty_dlv_so * C.gross_sell_price, B.qty_dlv_so * C.discount_amount,
  98.                 C.flg_tax_amount, C.tax_percentage, f_get_digit_decimal_doc_curr(311, C.curr_code),
  99.                 'RHU'),
  100.             tax_amount = f_tax_rounding(
  101.                 10, f_get_amount_before_tax(B.qty_dlv_so * (C.gross_sell_price - C.discount_amount),
  102.                     C.flg_tax_amount, C.tax_percentage,
  103.                     f_get_digit_decimal_doc_curr(311, C.curr_code),
  104.                     'RHU'),
  105.                 C.tax_percentage)
  106.     -- SELECT A.*
  107.     FROM temp_sl_so_progress_show_data_20220218 A
  108.     INNER JOIN sl_do_item B ON A.do_id = B.do_id AND A.so_item_id = B.ref_id
  109.     INNER JOIN sl_so_item C ON A.so_item_id = C.so_item_id
  110.     INNER JOIN m_tax D ON C.tax_id = D.tax_id
  111.     -- WHERE A.doc_no = 'MEL-SO21.08.0240';
  112.     WHERE X.so_id = A.so_id AND X.ref_id = A.do_id
  113.     AND X.ref_doc_type_id = 311
  114.     AND X.ref_item_id = B.do_item_id;
  115. */
  116.  
  117. -- insert data ke sl_so_balance_invoice_tax
  118.     INSERT INTO sl_so_balance_invoice_tax
  119.         (tenant_id, ou_id, partner_id, so_id,
  120.         ref_doc_type_id, ref_id, ref_item_id, tax_id, flg_amount,
  121.         tax_percentage, curr_code,
  122.         base_amount,
  123.         tax_amount,
  124.         flg_invoice, invoice_id,
  125.         "version", create_datetime, create_user_id, update_datetime, update_user_id)
  126.     SELECT A.tenant_id, A.ou_id, E.partner_bill_to_id, A.ref_id,
  127.         A.doc_type_id, A.do_id, B.do_item_id, C.tax_id, D.flg_amount,
  128.         C.tax_percentage, C.curr_code,
  129.         f_get_amount_before_tax_and_disc(
  130.             B.qty_dlv_so * C.gross_sell_price, B.qty_dlv_so * C.discount_amount,
  131.             C.flg_tax_amount, C.tax_percentage, f_get_digit_decimal_doc_curr(311, C.curr_code),
  132.             'RHU'),
  133.         f_tax_rounding(
  134.             A.tenant_id, f_get_amount_before_tax(
  135.                 B.qty_dlv_so * (C.gross_sell_price - C.discount_amount),
  136.                 C.flg_tax_amount, C.tax_percentage, f_get_digit_decimal_doc_curr(311, C.curr_code),
  137.                 'RHU'),
  138.             C.tax_percentage),
  139.         'Y', -99,
  140.         0, '20220218101101', -1, '20220218101101', -1
  141.     FROM sl_do A
  142.     INNER JOIN sl_do_item B ON A.do_id = B.do_id
  143.     INNER JOIN sl_so_item C ON B.ref_id = C.so_item_id
  144.     INNER JOIN m_tax D ON C.tax_id = D.tax_id
  145.     INNER JOIN sl_so E ON C.so_id = E.so_id
  146.     WHERE EXISTS (
  147.         SELECT 1
  148.         FROM temp_sl_so_progress_show_data_20220218 X
  149.         WHERE X.so_id = E.so_id AND C.so_item_id = X.so_item_id
  150.         AND X.do_id = A.do_id
  151.     );
  152.  
  153. /* D. Update data Sales Invoice */
  154.  
  155. -- update sl_invoice_item
  156.     UPDATE sl_invoice_item X
  157.         SET ref_item_amount = A.item_amount
  158.     -- SELECT A.*
  159.     FROM sl_so_balance_invoice A
  160.     INNER JOIN sl_do B ON A.ref_id = B.do_id AND B.doc_type_id = A.ref_doc_type_id AND A.so_id = B.ref_id
  161.     INNER JOIN sl_do_item C ON C.do_item_id = A.ref_item_id AND B.do_id = C.do_id
  162.     INNER JOIN temp_sl_so_progress_show_data_20220218 D ON D.do_id = B.do_id AND D.so_item_id = C.ref_id
  163.     -- WHERE D.doc_no = 'MEL-SO21.08.0240';
  164.     WHERE X.invoice_id = D.invoice_id AND X.ref_id = B.do_id AND A.ref_item_id = C.do_item_id;
  165.  
  166.  
  167. -- update sl_invoice_tax
  168.     WITH data_tax AS (
  169.         SELECT A.invoice_id, SUM(D.base_amount) AS base_amount, SUM(D.tax_amount) AS tax_amount,
  170.             ((SUM(C.regular_disc_amount)+SUM(C.promo_disc_amount))*D.tax_percentage/100) AS total_tax_disc_amount
  171.         -- SELECT *
  172.         FROM temp_sl_so_progress_show_data_20220218 A
  173.         INNER JOIN sl_do_item B ON A.do_id = B.do_id --AND B.ref_id = A.so_item_id
  174.         INNER JOIN sl_so_balance_invoice C ON A.so_id = C.so_id AND C.ref_id = B.do_id AND B.do_item_id = C.ref_item_id
  175.         INNER JOIN sl_so_balance_invoice_tax D ON C.so_id = D.so_id AND C.ref_id = D.ref_id AND C.ref_item_id= D.ref_item_id
  176.         WHERE EXISTS (
  177.             SELECT 1
  178.             FROM sl_invoice_tax Z
  179.             WHERE A.invoice_id = Z.invoice_id
  180.         )
  181.         GROUP BY A.invoice_id, D.tax_percentage
  182.     )
  183.     UPDATE sl_invoice_tax X
  184.             SET base_amount = A.base_amount,
  185.             tax_amount = A.tax_amount,
  186.             gov_tax_amount = A.tax_amount,
  187.             total_tax_disc_amount = A.total_tax_disc_amount
  188.     FROM data_tax A
  189.     WHERE A.invoice_id = X.invoice_id;
  190.  
  191. -- insert sl_invoice_tax yang belum ada
  192.     INSERT INTO sl_invoice_tax(
  193.                 invoice_tax_id, tenant_id, invoice_id,
  194.                 tax_id, flg_amount, tax_percentage,
  195.                 base_amount, tax_amount, tax_no,
  196.                 tax_date, tax_curr_code, gov_tax_amount,
  197.                 remark, version, create_datetime, create_user_id, update_datetime, update_user_id,
  198.                 advance_amount, total_tax_disc_amount, flg_gunggung)
  199.     SELECT NEXTVAL('sl_invoice_tax_seq'), A.tenant_id , C.invoice_id,
  200.             A.tax_id, A.flg_amount, A.tax_percentage,
  201.             SUM(A.base_amount), SUM(A.tax_amount), '000.000-00.00000000',
  202.             --CASE WHEN vFlgPkp = vNo THEN vTaxNo ELSE vEmptyString END AS tax_no,
  203.             C.do_doc_date, A.curr_code, SUM(A.tax_amount),
  204.             '', 0,
  205.             TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29,
  206.             0, 0, 'Y'
  207.     -- SELECT A.*
  208.     FROM sl_so_balance_invoice_tax A
  209.     INNER JOIN sl_do_item B ON B.tenant_id = A.tenant_id AND B.do_item_id = A.ref_item_id
  210.     INNER JOIN temp_sl_so_progress_show_data_20220218 C ON C.do_id = B.do_id AND A.so_id = C.so_id
  211.     WHERE NOT EXISTS (
  212.         SELECT 1
  213.         FROM sl_invoice_tax X WHERE C.invoice_id = X.invoice_id )
  214.     GROUP BY A.tenant_id, C.invoice_id, C.do_doc_date, A.tax_id, A.flg_amount, A.tax_percentage, A.curr_code;
  215.  
  216.  
  217. -- update sl_invoice
  218.     WITH tax_amount AS (
  219.         SELECT A.ref_id AS so_id, SUM(B.tax_amount) AS total_tax_amount
  220.         FROM sl_do A
  221.         INNER JOIN sl_so_balance_invoice_tax B ON A.do_id = B.ref_id
  222.             AND A.doc_type_id = B.ref_doc_type_id   AND A.ref_id = B.so_id
  223.         WHERE EXISTS (
  224.             SELECT 1
  225.             FROM temp_sl_so_progress_show_data_20220218 X
  226.             WHERE X.so_id = A.ref_id
  227.         )
  228.         GROUP BY A.ref_id
  229.     ), data_amount AS (
  230.         SELECT A.ref_id AS so_id, ((SUM(B.item_amount)) - (SUM(B.regular_disc_amount)) - (SUM(B.promo_disc_amount))) AS total_amount,
  231.         SUM(B.regular_disc_amount) AS total_reg_disc_amount,
  232.         SUM(B.promo_disc_amount) AS total_promo_disc_amount,
  233.         ((SUM(B.item_amount)) - (SUM(B.regular_disc_amount)) - (SUM(B.promo_disc_amount))) AS gross_amount_exclude_tax
  234.         FROM sl_do A
  235.         INNER JOIN sl_so_balance_invoice B ON A.do_id = B.ref_id AND A.doc_type_id = B.ref_doc_type_id AND A.ref_id = B.so_id
  236.         WHERE EXISTS (
  237.             SELECT 1
  238.             FROM temp_sl_so_progress_show_data_20220218 X
  239.             WHERE X.so_id = A.ref_id
  240.         )
  241.         GROUP BY A.ref_id
  242.     )
  243.     UPDATE sl_invoice X
  244.         SET gross_amount = B.gross_amount_exclude_tax + C.total_tax_amount,
  245.         tax_amount = C.total_tax_amount,
  246.         total_amount = B.total_amount,
  247.         discount_amount = B.total_reg_disc_amount + B.total_promo_disc_amount
  248.     FROM temp_sl_so_progress_show_data_20220218 A
  249.     INNER JOIN data_amount B ON A.so_id = B.so_id
  250.     INNER JOIN tax_amount C ON A.so_id = C.so_id
  251.     WHERE X.ref_id = A.so_id AND X.ref_doc_type_id = 301
  252.     AND X.invoice_id = A.invoice_id;
  253.  
  254. -- update sl_invoice_cost
  255. /* tidak perlu update, karena semua dokumen invoice yang berkaitan tidak ada data invoice cost. Bisa cek di:
  256. *   SELECT A.doc_no, A.invoice_doc_no, B.*
  257. *   FROM temp_sl_so_progress_show_data_20220218 A
  258. *   INNER JOIN sl_invoice_cost B ON A.invoice_id = B.invoice_id;
  259. *
  260. */
  261.  
  262. -- update fi_invoice_ar_balance
  263.  
  264.     UPDATE fi_invoice_ar_balance X
  265.         SET amount = A.total_amount + COALESCE(B.gov_tax_amount, 0)
  266.     FROM sl_invoice A
  267.     LEFT OUTER JOIN sl_invoice_tax B ON A.invoice_id = B.invoice_id
  268.     WHERE EXISTS (
  269.         SELECT 1
  270.         FROM temp_sl_so_progress_show_data_20220218 Z
  271.         WHERE Z.invoice_id = A.invoice_id
  272.         AND A.ref_id = Z.so_id
  273.     ) AND A.invoice_id = X.invoice_ar_id AND A.doc_type_id = X.doc_type_id;
  274.  
  275.  
  276. /* E. Update data jurnal Sales Invoice */
  277. /*
  278. * update gl_journal_trx untuk yang tipenya `SALES_INCOOME` dan `VAT_OUT`
  279. */
  280.  
  281. -- update gl_journal_trx_item untuk item yang tidak ada pajak
  282.  
  283.     UPDATE gl_journal_trx_item X
  284.         SET amount = C.ref_item_amount,
  285.         update_datetime = TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'),
  286.         update_user_id = 29
  287.     --SELECT A.doc_no, C.*
  288.     FROM gl_journal_trx A
  289.     INNER JOIN sl_invoice B ON A.doc_id = B.invoice_id AND A.doc_type_id = B.doc_type_id
  290.     INNER JOIN sl_invoice_item C ON C.invoice_id = B.invoice_id
  291.     WHERE EXISTS (
  292.         SELECT 1
  293.         FROM temp_sl_so_progress_show_data_20220218 D
  294.         INNER JOIN sl_do_item E ON D.do_id = E.do_id AND E.ref_id = D.so_item_id
  295.         WHERE B.invoice_id = D.invoice_id AND C.ref_id = E.do_item_id
  296.     ) AND X.journal_trx_id = A.journal_trx_id AND X.ref_id = C.invoice_item_id
  297.     AND X.journal_desc = 'SALES_INCOME';
  298.  
  299. -- update gl_journal_trx_item untuk data pajak (vat out)
  300.     UPDATE gl_journal_trx_item X
  301.         SET amount = C.gov_tax_amount,
  302.         update_datetime = TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'),
  303.         update_user_id = 29
  304.     --SELECT B.doc_no, COALESCE(C.invoice_tax_id, -99) AS invoice_tax_id, A.*
  305.     FROM gl_journal_trx A
  306.     INNER JOIN sl_invoice B ON A.doc_id = B.invoice_id AND A.doc_type_id = B.doc_type_id
  307.     INNER JOIN sl_invoice_tax C ON C.invoice_id = B.invoice_id
  308.     INNER JOIN temp_sl_so_progress_show_data_20220218 D ON B.invoice_id = D.invoice_id AND B.ref_id = D.so_id
  309.     WHERE X.journal_trx_id = A.journal_trx_id AND X.ref_id = C.invoice_tax_id
  310.     AND X.journal_desc = 'VAT_OUT';
  311.  
  312. -- insert data yang tidak ada pajak
  313.     INSERT INTO gl_journal_trx_item
  314.             (tenant_id, journal_trx_id, line_no,
  315.             ref_doc_type_id, ref_id,
  316.             partner_id, product_id, cashbank_id, ou_rc_id,
  317.             segmen_id, sign_journal, flg_source_coa, activity_gl_id,
  318.             coa_id, curr_code, qty, uom_id,
  319.             amount, journal_date, type_rate,
  320.             numerator_rate, denominator_rate, journal_desc, remark,
  321.             "version", create_datetime, create_user_id, update_datetime, update_user_id)
  322.     SELECT A.tenant_id, A.journal_trx_id, 3,
  323.         C.doc_type_id, D.invoice_tax_id,
  324.         C.partner_id, -99, -99, -99,
  325.         -99, 'C', 'TAX', -99,
  326.         E.create_coa_id, E.tax_curr_code, 0, -99,
  327.         D.gov_tax_amount, C.doc_date, 'COM',
  328.         1, 1, 'VAT_OUT', D.remark,
  329.         0, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29
  330.     --SELECT A.*
  331.     FROM gl_journal_trx A
  332.     INNER JOIN temp_sl_so_progress_show_data_20220218 B ON A.doc_id = B.invoice_id AND A.doc_type_id = 321
  333.     INNER JOIN sl_invoice C ON B.invoice_id = C.invoice_id
  334.     INNER JOIN sl_invoice_tax D ON D.invoice_id = C.invoice_id
  335.     INNER JOIN m_tax E ON D.tax_id = E.tax_id
  336.     WHERE NOT EXISTS (
  337.         SELECT 1
  338.         FROM gl_journal_trx_item X
  339.         WHERE X.journal_trx_id = A.journal_trx_id
  340.         AND X.journal_desc = 'VAT_OUT'
  341.     );
  342.  
  343. -- update fi_vat_out_balance_efaktur_gunggung
  344.     UPDATE fi_vat_out_balance_efaktur_gunggung X
  345.         SET invoice_dpp_amount = B.base_amount,
  346.         invoice_tax_amount = B.tax_amount,
  347.         invoice_gov_tax_amount = B.gov_tax_amount
  348.     FROM sl_invoice A, sl_invoice_tax B
  349.     WHERE A.invoice_id = B.invoice_id
  350.     AND X.invoice_doc_type_id = A.doc_type_id
  351.     AND X.invoice_id = A.invoice_id AND X.invoice_tax_id = B.invoice_tax_id
  352.     AND EXISTS (
  353.         SELECT 1
  354.         FROM temp_sl_so_progress_show_data_20220218 C
  355.         WHERE C.invoice_id = A.invoice_id
  356.         AND A.ref_id = C.so_id
  357.     );
  358.  
  359. -- insert data yang belum ada di fi_vat_out_balance_efaktur_gunggung
  360.     INSERT INTO fi_vat_out_balance_efaktur_gunggung(
  361.         tenant_id, ou_id, invoice_id,
  362.         invoice_doc_type_id, invoice_tax_id, tax_code, tax_percentage,
  363.         doc_no, doc_date, invoice_dpp_amount,
  364.         invoice_tax_amount, invoice_gov_tax_amount,
  365.         flg_gunggung, flg_realization, realization_doc_type_id,
  366.         realization_id, realization_tax_no, realization_tax_date,
  367.         version, create_datetime, create_user_id, update_datetime, update_user_id)
  368.     SELECT A.tenant_id, A.ou_id, A.invoice_id,
  369.         A.doc_type_id, B.invoice_tax_id, C.tax_code, B.tax_percentage,
  370.         A.doc_no, A.doc_date, B.base_amount,
  371.         B.tax_amount, B.gov_tax_amount,
  372.         B.flg_gunggung, 'N', -99,
  373.         -99, '', '',
  374.         0, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'), 29
  375.     FROM sl_invoice A
  376.     INNER JOIN sl_invoice_tax B ON A.invoice_id = B.invoice_id
  377.     INNER JOIN m_tax C ON B.tax_id = C.tax_id
  378.     INNER JOIN temp_sl_so_progress_show_data_20220218 D ON A.invoice_id = D.invoice_id
  379.     WHERE NOT EXISTS (
  380.         SELECT 1
  381.         FROM fi_vat_out_balance_efaktur_gunggung X
  382.         WHERE X.invoice_id = A.invoice_id
  383.     );
  384.  
  385.  
  386. -- hapus & generate ulang vat out efaktur
  387.  
  388. /* tidak jadi dipakai, ada func yang bisa auto backup + generate ulang
  389. *   WITH data_invoice_ar AS (
  390. *       SELECT A.invoice_ar_id, A.doc_type_id, A.ou_id, A.doc_no
  391. *       -- SELECT A.*
  392. *       FROM fi_invoice_ar_balance A --ON A.invoice_ar_id = X.doc_id AND X.doc_type_id = A.doc_type_id
  393. *       INNER JOIN sl_invoice B ON B.doc_type_id = A.doc_type_id AND B.invoice_id = A.invoice_ar_id
  394. *       WHERE EXISTS (
  395. *           SELECT 1
  396. *           FROM temp_sl_so_progress_show_data_20220218 C
  397. *           WHERE C.invoice_id = B.invoice_id
  398. *       )
  399. *   ) DELETE FROM fi_vat_out_for_efaktur A
  400. *   WHERE EXISTS (
  401. *       SELECT 1
  402. *       FROM data_invoice_ar B
  403. *       WHERE A.doc_id = B.invoice_ar_id AND A.doc_type_id = B.doc_type_id
  404. *   );
  405. */
  406.  
  407.     SELECT fi_check_insert_vat_out_for_efaktur(A.tenant_id, 'regenerate_vat_out', A.invoice_ar_balance_id, 29, TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDDHH24MISS'))
  408.     -- SELECT A.*
  409.     FROM fi_invoice_ar_balance A --ON A.invoice_ar_id = X.doc_id AND X.doc_type_id = A.doc_type_id
  410.     INNER JOIN sl_invoice B ON B.doc_type_id = A.doc_type_id AND B.invoice_id = A.invoice_ar_id
  411.     INNER JOIN sl_invoice_tax C ON B.invoice_id = C.invoice_id
  412.     WHERE EXISTS (
  413.         SELECT 1
  414.         FROM temp_sl_so_progress_show_data_20220218 C
  415.         WHERE C.invoice_id = B.invoice_id
  416.     ) AND C.flg_gunggung = 'N';
  417.  
  418.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement