EBS开发_验证AP发票

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013711561/article/details/82926284

--以下代码于20181002在Tony环境实现
DECLARE
  p_invoice_id        NUMBER := 10104; -- 'TXXTEST01'
  p_org_id            NUMBER := 82; -- '动物研究所'
  l_approval_status   VARCHAR2(20);
  l_holds_count       NUMBER;
  l_funds_return_code VARCHAR2(100);
  l_cancel_count      NUMBER;

  --  l_Hold_Count Number;
  l_Funds_Code Varchar2(30);

   l_Approve_Status Varchar2(120);  

BEGIN
  /*  apps.fnd_global.apps_initialize(user_id => 1466, resp_id => 50370, resp_appl_id => 200);
  mo_global.set_policy_context('S', p_org_id);*/

  BEGIN
    --mo_global.init('SQLAP');
    apps.fnd_global.apps_initialize(user_id      => 1110,
                                    resp_id      => 50597,
                                    resp_appl_id => 20003);
    --mo_global.set_policy_context('S', 0);
    mo_global.init('M'); --务必加上这个语句
  END;

  SELECT COUNT(1)
    INTO l_cancel_count
    FROM ap_invoice_distributions_all
   WHERE invoice_id = p_invoice_id
     AND cancellation_flag = 'Y';

  IF l_cancel_count > 0 THEN
    dbms_output.put_line('AP_INV_CANCELLED_ONCE');
  
  ELSE
    --11i
    /*    ap_approval_pkg.approve(p_run_option         => NULL,
    p_invoice_batch_id   => NULL,
    p_begin_invoice_date => NULL,
    p_end_invoice_date   => NULL,
    p_vendor_id          => NULL,
    p_pay_group          => NULL,
    p_invoice_id         => p_invoice_id,
    p_entered_by         => NULL,
    p_set_of_books_id    => NULL,
    p_trace_option       => NULL,
    p_conc_flag          => 'N',
    p_holds_count        => l_holds_count,
    p_approval_status    => l_approval_status,
    p_calling_sequence   => ' api');*/
    --r12
    Ap_Approval_Pkg.Approve(p_Run_Option         => Null,
                            p_Invoice_Batch_Id   => Null,
                            p_Begin_Invoice_Date => Null,
                            p_End_Invoice_Date   => Null,
                            p_Vendor_Id          => Null,
                            p_Pay_Group          => Null,
                            p_Invoice_Id         => p_invoice_id,
                            p_Entered_By         => Null,
                            p_Set_Of_Books_Id    => Null,
                            p_Trace_Option       => Null,
                            p_Conc_Flag          => 'N',
                            p_Holds_Count        => l_holds_count,
                            p_Approval_Status    => l_Approve_Status,
                            p_Calling_Mode       => Null,
                            p_Calling_Sequence   => 'CUX_3_AR_INTER_PKG',
                            p_Funds_Return_Code  => l_Funds_Code,
                            p_Debug_Switch       => Null,
                            p_Budget_Control     => Null,
                            p_Commit             => 'N');
  
    dbms_output.put_line('p_holds_count[' || l_holds_count || ']');
    dbms_output.put_line('p_approval_status[' || l_approval_status || ']');
  END IF;

  If l_Holds_Count > 0 Then
    null;
  End If;

  --dbms_output.put_line('p_funds_return_code[' || l_funds_return_code || ']');
END;

/*SELECT ap_invoices_pkg.get_holds_count(aia.invoice_id),
       ap_invoices_pkg.get_approval_status(aia.invoice_id,
                                           aia.invoice_amount,
                                           aia.payment_status_flag,
                                           aia.invoice_type_lookup_code)
  FROM ap_invoices_all aia
 WHERE aia.invoice_id = 10104; */ -- p_invoice_id;
 

猜你喜欢

转载自blog.csdn.net/u013711561/article/details/82926284