Advertisement
aadddrr

Untitled

Aug 8th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE FUNCTION in_submit_claim_note(bigint, character varying, character varying)
  2.   RETURNS void AS
  3. $BODY$
  4. DECLARE
  5.     pTenantId           ALIAS FOR $1;
  6.     pSessionId          ALIAS FOR $2;
  7.     pProcessNo          ALIAS FOR $3;
  8.  
  9.     vProcessId          bigint;
  10.     vClaimNoteId        bigint;
  11.     vUserId             bigint;
  12.     vDatetime           character varying(14);
  13.     vFlagInvoice        character varying(1);
  14.     vEmptyId            bigint;
  15.     vStatusRelease      character varying(1);
  16.     vStatusDraft        character varying(1);  
  17.     vStatusFinal        character varying(1);
  18.     vFlagYes            character varying(1);
  19.     vFlagNo             character varying(1);
  20.     vEmptyString        character varying(1);  
  21.     vJournalType        character varying(20);
  22.     vSignDebit          character varying(1);
  23.     vSignCredit         character varying(1);
  24.     vTypeRate           character varying(3);
  25.     vProductCOA         character varying(10);
  26.     vSystemCOA          character varying(10);
  27.     vParentOuId         bigint;
  28.     vJournalTrxId       bigint;
  29.     vOuId               bigint;
  30.     vOuWarehouseId      bigint;
  31.  
  32.     vDocJournal                 DOC_JOURNAL%ROWTYPE;
  33.     vOuStructure                OU_BU_STRUCTURE%ROWTYPE;
  34.     vOuStructureJournalItem     OU_BU_STRUCTURE%ROWTYPE;
  35.     result                      RECORD;
  36.    
  37.     vClaimNoteDocTypeId bigint;
  38.     vRoundingModeNonTax character varying(5);
  39. BEGIN
  40.    
  41.     vFlagInvoice := 'N';
  42.     vEmptyId := -99;
  43.     vStatusRelease := 'R';
  44.     vStatusFinal := 'F';
  45.     vStatusDraft := 'D';   
  46.     vFlagYes := 'Y';
  47.     vFlagNo := 'N';
  48.     vEmptyString := ' ';
  49.     vSignDebit := 'D';
  50.     vSignCredit := 'C';
  51.     vTypeRate := 'COM';
  52.     vProductCOA := 'PRODUCT';
  53.     vSystemCOA := 'SYSTEM';
  54.    
  55.     vClaimNoteDocTypeId := 511;
  56.     SELECT f_get_value_system_config_by_param_code(pTenantId, 'rounding.mode.non.tax') INTO vRoundingModeNonTax;
  57.    
  58.     SELECT A.process_message_id INTO vProcessId
  59.     FROM t_process_message A
  60.     WHERE A.tenant_id = pTenantId AND
  61.         A.process_name = 'in_submit_claim_note' AND
  62.         A.process_no = pProcessNo;
  63.        
  64.     SELECT CAST(A.process_parameter_value AS bigint) INTO vClaimNoteId
  65.     FROM t_process_parameter A
  66.     WHERE A.process_message_id = vProcessId AND
  67.         A.process_parameter_key = 'claimNoteId';
  68.    
  69.     SELECT CAST(A.process_parameter_value AS bigint) INTO vUserId
  70.     FROM t_process_parameter A
  71.     WHERE A.process_message_id = vProcessId AND
  72.         A.process_parameter_key = 'userId';
  73.  
  74.     SELECT CAST(A.process_parameter_value AS character varying(14)) INTO vDatetime
  75.     FROM t_process_parameter A
  76.     WHERE A.process_message_id = vProcessId AND
  77.         A.process_parameter_key = 'datetime';
  78.  
  79.     DELETE FROM tt_in_po_balance_item WHERE session_id = pSessionId;   
  80.     DELETE FROM tt_journal_trx_item WHERE session_id = pSessionId; 
  81.     /*
  82.      * 1. update status doc in_inventory
  83.      * 2.insert data ke in_log_product_balance_stock
  84.      * 3.update data pu_po_balance_item
  85.      * 4.insert data pu_log_po_balance_item
  86.      * 5.insert data pu_po_balance_invoice
  87.      * 6.insert data pu_po_balance_invoice_tax
  88.      * 7.update data in_balance_receive_goods_item
  89.      *
  90.      * ini di tambahin untuk penambahan doc type id invoice
  91.      * 8. add pu_po_balance_invoice_ext_invoice_doc_type
  92.      * 9. add pu_po_balance_invoice_tax_ext
  93.      */
  94.        
  95.     SELECT f_get_ou_bu_structure(A.ou_from_id) AS ou, f_get_document_journal(A.doc_type_id) as doc
  96.     FROM in_inventory A
  97.     WHERE A.inventory_id = vClaimNoteId INTO result;
  98.    
  99.     vOuStructure := result.ou;
  100.     vDocJournal := result.doc; 
  101.    
  102.     UPDATE in_inventory SET status_doc = vStatusRelease, version = version + 1, update_datetime = vDatetime, update_user_id = vUserId
  103.     WHERE inventory_id = vClaimNoteId;
  104.    
  105.     /*
  106.      * insert data in_log_product_balance_stock
  107.      */    
  108.     INSERT INTO in_log_product_balance_stock
  109.     (tenant_id, ou_id, doc_type_id, ref_id, doc_no, doc_date, partner_id,
  110.      product_id, product_balance_id, warehouse_id, product_status, base_uom_id, qty,
  111.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  112.     SELECT A.tenant_id, C.ou_id, A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date, A.partner_id,
  113.         B.product_id, B.product_balance_id, A.warehouse_from_id, B.product_status, B.base_uom_id, SUM(B.qty_realization) * -1,
  114.         0, vDatetime, vUserId, vDatetime, vUserId
  115.     FROM in_inventory A, in_inventory_item B, m_warehouse_ou C
  116.     WHERE A.inventory_id = vClaimNoteId AND
  117.         A.inventory_id = B.inventory_id AND
  118.         C.warehouse_id = A.warehouse_from_id
  119.     GROUP BY A.tenant_id, C.ou_id, A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date, A.partner_id,
  120.         B.product_id, B.product_balance_id, A.warehouse_from_id, B.product_status, B.base_uom_id;
  121.        
  122.     /*
  123.      * insert data temporer tt_in_po_balance_item
  124.      */
  125.     INSERT INTO tt_in_po_balance_item
  126.     (session_id, tenant_id, ou_id, doc_type_id,
  127.     doc_no, doc_date, inventory_id, partner_id,
  128.     inventory_item_id, po_id, receive_goods_id, receive_goods_item_id,
  129.     qty_return, base_uom_id, remark,
  130.     po_item_id, curr_code, price,
  131.     flg_tax_amount, qty_po, qty_int_po,
  132.     po_uom_id, tax_id, tax_percentage)
  133.     SELECT pSessionId, A.tenant_id, A.ou_from_id, A.doc_type_id,
  134.             A.doc_no, A.doc_date, A.inventory_id, A.partner_id,
  135.             B.inventory_item_id, A.ref_id, B.ref_id, B.ref_item_id,
  136.             SUM(B.qty_realization), B.base_uom_id, A.remark,
  137.             D.po_item_id, D.curr_code, D.gross_price_po - D.discount_amount,
  138.             D.flg_tax_amount, D.qty_po, D.qty_int,
  139.             D.po_uom_id, D.tax_id, D.tax_percentage
  140.     FROM in_inventory A, in_inventory_item B, in_balance_receive_goods_item C, pu_po_item D
  141.     WHERE A.inventory_id = vClaimNoteId AND
  142.           A.inventory_id = B.inventory_id AND
  143.           B.ref_item_id = C.receive_goods_item_id AND
  144.           C.po_item_id = D.po_item_id
  145.     GROUP BY A.tenant_id, A.ou_from_id, A.doc_type_id,
  146.             A.doc_no, A.doc_date, A.inventory_id, A.partner_id,
  147.             B.inventory_item_id, A.ref_id, B.ref_id, B.ref_item_id,
  148.             B.base_uom_id, D.po_item_id, D.curr_code, D.nett_price_po, D.qty_po, D.qty_int, D.po_uom_id, D.tax_id ;
  149.            
  150.     /*
  151.      * update qty return di data pu_po_balance_item
  152.      */        
  153.     UPDATE pu_po_balance_item SET qty_return = pu_po_balance_item.qty_return + ((A.qty_return * A.qty_po) / A.qty_int_po), qty_int_return = pu_po_balance_item.qty_int_return + A.qty_return, update_datetime = vDatetime, update_user_id = vUserId
  154.     FROM tt_in_po_balance_item A
  155.     WHERE A.session_id = pSessionId AND
  156.         pu_po_balance_item.po_item_id = A.po_item_id;
  157.            
  158.     /*
  159.      * buat data pu_log_po_balance_item
  160.      */
  161.     INSERT INTO pu_log_po_balance_item
  162.     (tenant_id, po_id, po_item_id, ref_doc_type_id, ref_id, ref_item_id,
  163.      qty_trx, trx_uom_id, qty_int, base_uom_id, remark,
  164.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  165.     SELECT A.tenant_id, A.po_id, A.po_item_id, A.doc_type_id, A.inventory_id, A.inventory_item_id,
  166.         ((A.qty_return * A.qty_po) / A.qty_int_po ), A.po_uom_id, A.qty_return, A.base_uom_id, A.remark,
  167.         0, vDatetime, vUserId, vDatetime, vUserId
  168.     FROM tt_in_po_balance_item A
  169.     WHERE A.session_id = pSessionId;
  170.          
  171.     /*
  172.      * buat data pu_po_balance_invoice
  173.      */
  174.     INSERT INTO pu_po_balance_invoice
  175.     (tenant_id, ou_id, partner_id, po_id,
  176.     ref_doc_type_id, ref_id, ref_doc_no, ref_doc_date, ref_item_id, qty_rcv_po, po_uom_id,
  177.     curr_code, price_po, item_amount, flg_invoice, invoice_id,
  178.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  179.     SELECT A.tenant_id, A.ou_id, A.partner_id, A.po_id,
  180.         A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date, A.receive_goods_item_id, SUM((A.qty_return * A.qty_po) / A.qty_int_po), A.po_uom_id,
  181.         A.curr_code, A.price,
  182.         SUM(f_get_amount_before_tax((A.qty_return * A.qty_po * A.price) / A.qty_int_po, A.flg_tax_amount, A.tax_percentage, f_get_digit_decimal_doc_curr(vClaimNoteDocTypeId, A.curr_code), vRoundingModeNonTax)),     
  183.         vFlagInvoice, vEmptyId,
  184.         0, vDatetime, vUserId, vDatetime, vUserId
  185.     FROM tt_in_po_balance_item A
  186.     WHERE A.session_id = pSessionId
  187.     GROUP BY A.tenant_id, A.ou_id, A.partner_id, A.po_id, A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date, A.receive_goods_item_id, A.po_uom_id, A.curr_code, A.price;
  188.          
  189.     /*
  190.      * buat data pu_po_balance_invoice
  191.      */
  192.     INSERT INTO pu_po_balance_invoice_tax
  193.     (tenant_id, ou_id, partner_id, po_id,
  194.     ref_doc_type_id, ref_id, ref_item_id, tax_id, flg_amount,
  195.     tax_percentage, curr_code, base_amount, tax_amount, flg_invoice, invoice_id,
  196.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  197.     SELECT A.tenant_id, A.ou_id, A.partner_id, A.po_id,
  198.         A.doc_type_id, A.inventory_id, A.receive_goods_item_id, A.tax_id, D.flg_amount,
  199.         A.tax_percentage, A.curr_code,
  200.         SUM(f_get_amount_before_tax((A.qty_return * A.qty_po * A.price) / A.qty_int_po, A.flg_tax_amount, A.tax_percentage, f_get_digit_decimal_doc_curr(vClaimNoteDocTypeId, A.curr_code), vRoundingModeNonTax)),
  201.         f_tax_rounding(A.tenant_id, SUM(f_get_amount_before_tax((A.qty_return * A.qty_po * A.price) / A.qty_int_po, A.flg_tax_amount, A.tax_percentage, f_get_digit_decimal_doc_curr(vClaimNoteDocTypeId, A.curr_code), vRoundingModeNonTax)), A.tax_percentage),
  202.         vFlagInvoice, vEmptyId,
  203.         0, vDatetime, vUserId, vDatetime, vUserId
  204.     FROM tt_in_po_balance_item A, m_tax D
  205.     WHERE A.session_id = pSessionId AND
  206.           A.tax_id = D.tax_id
  207.     GROUP BY A.tenant_id, A.ou_id, A.partner_id, A.po_id, A.doc_type_id, A.inventory_id, A.receive_goods_item_id, A.tax_id,
  208.         D.flg_amount, A.tax_percentage, A.curr_code;
  209.    
  210.     UPDATE in_balance_receive_goods_item SET status_item = vStatusFinal
  211.     FROM tt_in_po_balance_item A
  212.     WHERE A.session_id = pSessionId AND
  213.         in_balance_receive_goods_item.receive_goods_item_id = A.receive_goods_item_id AND
  214.         in_balance_receive_goods_item.qty_rcv -in_balance_receive_goods_item.qty_return <= 0;
  215.  
  216.     UPDATE in_balance_receive_goods_item SET status_item = vStatusRelease
  217.     FROM tt_in_po_balance_item A
  218.     WHERE A.session_id = pSessionId AND
  219.         in_balance_receive_goods_item.receive_goods_item_id = A.receive_goods_item_id AND
  220.         in_balance_receive_goods_item.qty_rcv -in_balance_receive_goods_item.qty_return > 0;
  221.        
  222.     /*
  223.      * @author TKP, 9 Jun 2016
  224.      * Cek jika OU pada warehouse sama dengan OU pada dokumen maka nilai ou_bu_id dan ou_sub_bu_id =-99
  225.      * jika OU pada warehouse tidak sama dengan OU pada dokumen maka nilai ou_bu_id dan ou_sub_bu_id didapat pada f_get_ou_bu_structure;
  226.      */
  227.  
  228.     SELECT A.ou_from_id, B.ou_id INTO vOuId, vOuWarehouseId
  229.     FROM in_inventory A
  230.     INNER JOIN m_warehouse_ou B ON A.warehouse_from_id = B.warehouse_id
  231.     WHERE A.inventory_id = vClaimNoteId;
  232.    
  233.     IF (vOuId <> vOuWarehouseId) THEN
  234.         SELECT f_get_ou_bu_structure(vOuWarehouseId) as ou_structure INTO result;
  235.         vOuStructureJournalItem := result.ou_structure;
  236.     ELSE
  237.         vOuStructureJournalItem := ROW(-99, -99, -99);
  238.     END IF;
  239.        
  240.     /*
  241.      * journal claim note
  242.      * Credit Inventory = dari nilai COGS
  243.      * Debit BiayaReturPembelian = dari nilai po
  244.      */
  245.        
  246.     /*
  247.      * membuat data transaksi jurnal :
  248.      * 1. buat admin
  249.      * 2. buat temlate jurnal
  250.      */    
  251.     PERFORM gl_manage_admin_journal_trx(A.tenant_id, (vOuStructure).ou_bu_id, A.ou_from_id, (vDocJournal).journal_type, (vDocJournal).ledger_code, f_get_year_month_date(A.doc_date), 'DAILY', vDatetime, vUserId)
  252.     FROM in_inventory A
  253.     WHERE A.inventory_id = vClaimNoteId;
  254.        
  255.     SELECT NEXTVAL('gl_journal_trx_seq') INTO vJournalTrxId;
  256.    
  257.     INSERT INTO gl_journal_trx
  258.     (journal_trx_id, tenant_id, journal_type, doc_type_id, doc_id, doc_no, doc_date,
  259.     ou_bu_id, ou_branch_id, ou_sub_bu_id, partner_id, cashbank_id, warehouse_id, ext_doc_no, ext_doc_date,  
  260.     ref_doc_type_id, ref_id, due_date, curr_code, remark, status_doc, workflow_status,
  261.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  262.     SELECT vJournalTrxId, A.tenant_id, (vDocJournal).journal_type, A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date,
  263.         (vOuStructure).ou_bu_id, (vOuStructure).ou_branch_id, (vOuStructure).ou_sub_bu_id, A.partner_id, vEmptyId, A.warehouse_from_id, A.ext_doc_no, A.ext_doc_date,
  264.         A.ref_doc_type_id, A.ref_id, A.doc_date, f_get_value_system_config_by_param_code(pTenantId, 'ValutaBuku'), A.remark, vStatusDraft, 'DRAFT',
  265.         0, vDatetime, vUserId, vDatetime, vUserId
  266.     FROM in_inventory A
  267.     WHERE A.inventory_id = vClaimNoteId;
  268.    
  269.     INSERT INTO tt_journal_trx_item
  270.     (session_id, tenant_id, journal_trx_id, line_no,
  271.     ref_doc_type_id, ref_id,
  272.     partner_id, product_id, cashbank_id, ou_rc_id,
  273.     segmen_id, sign_journal, flg_source_coa, activity_gl_id,
  274.     coa_id, curr_code, qty, uom_id,
  275.     amount, journal_date, type_rate,
  276.     numerator_rate, denominator_rate, journal_desc, remark)
  277.     SELECT pSessionId, A.tenant_id, vJournalTrxId, 1,
  278.         A.doc_type_id, B.inventory_item_id,
  279.         A.partner_id, B.product_id, vEmptyId, vEmptyId,
  280.         vEmptyId, vSignCredit, vProductCOA, vEmptyId,
  281.         f_get_product_coa_group_product(A.tenant_id, B.product_id), f_get_value_system_config_by_param_code(pTenantId, 'ValutaBuku'), B.qty_realization, B.base_uom_id,
  282.         f_get_amount_before_tax((A.qty_return * A.qty_po * A.price) / A.qty_int_po, A.flg_tax_amount, A.tax_percentage, f_get_digit_decimal_doc_curr(vClaimNoteDocTypeId, A.curr_code), vRoundingModeNonTax),
  283.         C.doc_date, vTypeRate,
  284.         1, 1, 'PRODUCT_STOCK', B.remark
  285.     FROM tt_in_po_balance_item A, in_inventory_item B, pu_receive_goods C
  286.     WHERE A.inventory_id = vClaimNoteId AND
  287.         A.inventory_item_id = B.inventory_item_id AND
  288.         A.receive_goods_id = C.receive_goods_id;
  289.        
  290.     INSERT INTO tt_journal_trx_item
  291.     (session_id, tenant_id, journal_trx_id, line_no,
  292.     ref_doc_type_id, ref_id,
  293.     partner_id, product_id, cashbank_id, ou_rc_id,
  294.     segmen_id, sign_journal, flg_source_coa, activity_gl_id,
  295.     coa_id, curr_code, qty, uom_id,
  296.     amount, journal_date, type_rate,
  297.     numerator_rate, denominator_rate, journal_desc, remark)
  298.     SELECT pSessionId, A.tenant_id, vJournalTrxId, 1,
  299.         A.doc_type_id, A.inventory_item_id,
  300.         A.partner_id, C.product_id, vEmptyId, vEmptyId,
  301.         vEmptyId, vSignDebit, vSystemCOA, vEmptyId,
  302.         f_get_system_coa_by_group_coa(A.tenant_id, 'HutangHarusDibayar'), A.curr_code, A.qty_return, A.base_uom_id,
  303.         f_get_amount_before_tax((A.qty_return * A.qty_po * A.price) / A.qty_int_po, A.flg_tax_amount, A.tax_percentage, f_get_digit_decimal_doc_curr(vClaimNoteDocTypeId, A.curr_code), vRoundingModeNonTax),
  304.         A.doc_date, vTypeRate,
  305.         1, 1, 'ACCR_AP', A.remark
  306.     FROM tt_in_po_balance_item A, in_inventory_item C
  307.     WHERE A.session_id = pSessionId AND
  308.         A.inventory_item_id = C.inventory_item_id;
  309.  
  310.     INSERT INTO gl_journal_trx_item
  311.     (tenant_id, journal_trx_id, line_no,
  312.     ref_doc_type_id, ref_id,
  313.     partner_id, product_id, cashbank_id, ou_rc_id,
  314.     segmen_id, sign_journal, flg_source_coa, activity_gl_id,
  315.     coa_id, curr_code, qty, uom_id,
  316.     amount, journal_date, type_rate,
  317.     numerator_rate, denominator_rate, journal_desc, remark,
  318.     "version", create_datetime, create_user_id, update_datetime, update_user_id,
  319.     ou_branch_id, ou_sub_bu_id)
  320.     SELECT A.tenant_id, A.journal_trx_id, ROW_NUMBER() OVER ( PARTITION BY A.journal_trx_id),
  321.         A.ref_doc_type_id, A.ref_id,
  322.         A.partner_id, A.product_id, A.cashbank_id, A.ou_rc_id,
  323.         A.segmen_id, A.sign_journal, A.flg_source_coa, A.activity_gl_id,
  324.         A.coa_id, A.curr_code, A.qty, A.uom_id,
  325.         A.amount, A.journal_date, A.type_rate,
  326.         A.numerator_rate, A.denominator_rate, A.journal_desc, A.remark,
  327.         0, vDatetime, vUserId, vDatetime, vUserId,
  328.         (vOuStructureJournalItem).ou_branch_id, (vOuStructureJournalItem).ou_sub_bu_id
  329.     FROM tt_journal_trx_item A
  330.     WHERE A.session_id = pSessionId AND
  331.         A.journal_desc = 'PRODUCT_STOCK';
  332.        
  333.     INSERT INTO gl_journal_trx_mapping
  334.     (tenant_id, journal_trx_id, line_no,
  335.     ref_doc_type_id, ref_id,
  336.     partner_id, product_id, cashbank_id, ou_rc_id,
  337.     segmen_id, sign_journal, flg_source_coa, activity_gl_id,
  338.     coa_id, curr_code, qty, uom_id,
  339.     amount, journal_date, type_rate,
  340.     numerator_rate, denominator_rate, journal_desc, remark,
  341.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  342.     SELECT A.tenant_id, A.journal_trx_id, ROW_NUMBER() OVER ( PARTITION BY A.journal_trx_id),
  343.         A.ref_doc_type_id, A.ref_id,
  344.         A.partner_id, A.product_id, A.cashbank_id, A.ou_rc_id,
  345.         A.segmen_id, A.sign_journal, A.flg_source_coa, A.activity_gl_id,
  346.         A.coa_id, A.curr_code, A.qty, A.uom_id,
  347.         A.amount, A.journal_date, A.type_rate,
  348.         A.numerator_rate, A.denominator_rate, A.journal_desc, A.remark,
  349.         0, vDatetime, vUserId, vDatetime, vUserId
  350.     FROM tt_journal_trx_item A
  351.     WHERE A.session_id = pSessionId AND
  352.         A.journal_desc = 'ACCR_AP';
  353.        
  354.      /*
  355.      * Modify Sarah, 27 Des 2016
  356.      * table:pu_po_balance_invoice_ext_invoice_doc_type dan pu_po_balance_invoice_tax_ext =>  add data ke table baru
  357.      *
  358.      */
  359.    
  360.     INSERT INTO pu_po_balance_invoice_ext_invoice_doc_type
  361.     (tenant_id, ou_id, po_id, ref_doc_type_id, ref_id,
  362.     ref_item_id, invoice_id, invoice_doc_type_id,
  363.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  364.     SELECT A.tenant_id, A.ou_id, A.po_id, A.doc_type_id, A.inventory_id,
  365.         A.receive_goods_item_id, vEmptyId, vEmptyId,
  366.         0, vDatetime, vUserId, vDatetime, vUserId
  367.     FROM tt_in_po_balance_item A
  368.     WHERE A.session_id = pSessionId
  369.     GROUP BY A.tenant_id, A.ou_id, A.partner_id, A.po_id, A.doc_type_id, A.inventory_id, A.doc_no, A.doc_date,
  370.         A.receive_goods_item_id, A.po_uom_id, A.curr_code, A.price;
  371.          
  372.     INSERT INTO pu_po_balance_invoice_tax_ext
  373.     (tenant_id, ou_id, po_id, ref_doc_type_id, ref_id,
  374.     ref_item_id, tax_id, invoice_id, invoice_doc_type_id,
  375.     "version", create_datetime, create_user_id, update_datetime, update_user_id)
  376.     SELECT A.tenant_id, A.ou_id, A.po_id, A.doc_type_id, A.inventory_id,
  377.         A.receive_goods_item_id, A.tax_id, vEmptyId, vEmptyId,
  378.         0, vDatetime, vUserId, vDatetime, vUserId
  379.     FROM tt_in_po_balance_item A, m_tax D
  380.     WHERE A.session_id = pSessionId AND
  381.           A.tax_id = D.tax_id
  382.     GROUP BY A.tenant_id, A.ou_id, A.partner_id, A.po_id, A.doc_type_id, A.inventory_id, A.receive_goods_item_id, A.tax_id,
  383.         D.flg_amount, A.tax_percentage, A.curr_code;
  384.  
  385.     DELETE FROM tt_journal_trx_item WHERE session_id = pSessionId;     
  386.     DELETE FROM tt_in_po_balance_item WHERE session_id = pSessionId;         
  387. END;
  388. $BODY$
  389.   LANGUAGE plpgsql VOLATILE
  390.   COST 100;
  391.   /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement