Oracle EBS Interface/API(15)-AR Receipt收款創建並且覈銷

有時,開發需求需要創建AR收款並且覈銷AR事務處理一起完成,Oracle EBS官方提供如API方法:Ar_Receipt_Api_Pub.Create_And_Apply。

實例代碼如下:

DECLARE
  Lv_Ret_Status      VARCHAR2(1);
  Ln_Msg_Count       NUMBER;
  Lv_Msg_Data        VARCHAR2(240);
  Ln_Cash_Receipt_Id NUMBER; --收款標識
  --收款說明彈性域
  Lt_Rec_Att Ar_Receipt_Api_Pub.Attribute_Rec_Type;
  --收款全局說明彈性域
  Lt_Rec_Gatt Ar_Receipt_Api_Pub.Global_Attribute_Rec_Type;
  --覈銷行說明彈性域
  Lt_App_Att Ar_Receipt_Api_Pub.Attribute_Rec_Type;
  --覈銷行全局說明彈性域
  Lt_App_Gatt Ar_Receipt_Api_Pub.Global_Attribute_Rec_Type;
BEGIN

  -- 1) Set the applications context
  Fnd_Global.Apps_Initialize(User_Id      => 18585
                            ,Resp_Id      => 50660
                            ,Resp_Appl_Id => 222);
  Mo_Global.Init('AR');
  Mo_Global.Set_Policy_Context('S', 81);
  --Call Api
  Ar_Receipt_Api_Pub.Create_And_Apply(p_Api_Version                  => 1.0
                                     ,p_Init_Msg_List                => Fnd_Api.g_False
                                     ,p_Commit                       => Fnd_Api.g_False
                                     ,p_Validation_Level             => Fnd_Api.g_Valid_Level_Full
                                     ,x_Return_Status                => Lv_Ret_Status
                                     ,x_Msg_Count                    => Ln_Msg_Count
                                     ,x_Msg_Data                     => Lv_Msg_Data
                                     ,p_Usr_Currency_Code            => NULL
                                     ,p_Currency_Code                => 'CNY' --收款幣種
                                     ,p_Usr_Exchange_Rate_Type       => NULL --
                                     ,p_Exchange_Rate_Type           => NULL --收款匯率類型
                                     ,p_Exchange_Rate                => NULL --收款匯率
                                     ,p_Exchange_Rate_Date           => NULL --收款匯率日期
                                     ,p_Amount                       => 933.39 --收款金額  
                                     ,p_Factor_Discount_Amount       => NULL --折扣金額
                                     ,p_Receipt_Number               => 'CXP2019091604'
                                     ,p_Receipt_Date                 => To_Date('2019/09/16'
                                                                               ,'yyyy/mm/dd') --收款日期
                                     ,p_Gl_Date                      => To_Date('2019/09/16'
                                                                               ,'yyyy/mm/dd') --GL日期
                                     ,p_Maturity_Date                => To_Date('2019/09/16'
                                                                               ,'yyyy/mm/dd') --到期日期
                                     ,p_Postmark_Date                => NULL --郵戳日期
                                     ,p_Customer_Id                  => NULL --客戶ID
                                     ,p_Customer_Name                => NULL --客戶名稱
                                     ,p_Customer_Number              => 'A08-01' --客戶編號
                                     ,p_Customer_Bank_Account_Id     => NULL --客戶銀行帳戶ID
                                     ,p_Customer_Bank_Account_Num    => NULL --客戶銀行帳戶號
                                     ,p_Customer_Bank_Account_Name   => NULL --客戶銀行帳戶名稱
                                     ,p_Payment_Trxn_Extension_Id    => NULL
                                     ,p_Location                     => 6442 --地點
                                     ,p_Customer_Site_Use_Id         => 6441 --客戶收單方
                                     ,p_Default_Site_Use             => NULL --默認客戶收單方地點 默認值爲Y
                                     ,p_Customer_Receipt_Reference   => '18249-963742' --參考
                                     ,p_Override_Remit_Account_Flag  => NULL --
                                     ,p_Remittance_Bank_Account_Id   => NULL --收款銀行帳戶ID
                                     ,p_Remittance_Bank_Account_Num  => NULL --收款銀行帳戶號
                                     ,p_Remittance_Bank_Account_Name => NULL --收款銀行帳戶名稱
                                     ,p_Deposit_Date                 => NULL --存款日期
                                     ,p_Receipt_Method_Id            => 1000 --收款方法ID
                                     ,p_Receipt_Method_Name          => NULL --收款方法名稱
                                     ,p_Doc_Sequence_Value           => NULL --單據編號 
                                     ,p_Ussgl_Transaction_Code       => NULL
                                     ,p_Anticipated_Clearing_Date    => NULL
                                     ,p_Called_From                  => NULL
                                     ,p_Attribute_Rec                => Lt_Rec_Att
                                     ,p_Global_Attribute_Rec         => Lt_Rec_Gatt
                                     ,p_Receipt_Comments             => 'sdfasdddddddddddddd' --備註
                                     ,p_Issuer_Name                  => NULL
                                     ,p_Issue_Date                   => NULL
                                     ,p_Issuer_Bank_Branch_Id        => NULL
                                     ,p_Cr_Id                        => Ln_Cash_Receipt_Id
                                     ,p_Customer_Trx_Id              => 963742 --AR事務處理ID
                                     ,p_Trx_Number                   => '18249' --AR事務處理編號
                                     ,p_Installment                  => NULL
                                     ,p_Applied_Payment_Schedule_Id  => NULL
                                     ,p_Amount_Applied               => 933.39 --覈銷金額
                                     ,p_Amount_Applied_From          => NULL --
                                     ,p_Trans_To_Receipt_Rate        => NULL
                                     ,p_Discount                     => NULL
                                     ,p_Apply_Date                   => To_Date('2019/09/16'
                                                                               ,'yyyy/mm/dd') --覈銷日期
                                     ,p_Apply_Gl_Date                => To_Date('2019/09/16'
                                                                               ,'yyyy/mm/dd') --覈銷GL日期
                                     ,App_Ussgl_Transaction_Code     => NULL
                                     ,p_Customer_Trx_Line_Id         => NULL --AR事務處理行ID
                                     ,p_Line_Number                  => NULL --AR事務處理行
                                     ,p_Show_Closed_Invoices         => NULL
                                     ,p_Move_Deferred_Tax            => NULL
                                     ,p_Link_To_Trx_Hist_Id          => NULL
                                     ,App_Attribute_Rec              => Lt_App_Att --覈銷說明彈性域
                                     ,App_Global_Attribute_Rec       => Lt_App_Gatt --覈銷全局說明彈性域
                                     ,App_Comments                   => 'TEST_Comments' --覈銷備註
                                     ,p_Call_Payment_Processor       => NULL
                                     ,p_Org_Id                       => NULL);

  -- 3) Review the API output
  Dbms_Output.Put_Line('Status ' || Lv_Ret_Status);
  Dbms_Output.Put_Line('Message count ' || Ln_Msg_Count);
  IF (Lv_Ret_Status = Fnd_Api.g_Ret_Sts_Success) THEN
    IF Ln_Msg_Count = 1 THEN
      Dbms_Output.Put_Line('lv_Msg_Data ' || Lv_Msg_Data);
    ELSIF Ln_Msg_Count > 1 THEN
      FOR i IN 1 .. Ln_Msg_Count LOOP
        Lv_Msg_Data := Fnd_Msg_Pub.Get(Fnd_Msg_Pub.g_Next, Fnd_Api.g_False);
        IF Lv_Msg_Data IS NULL THEN
          Continue;
        END IF;
        Dbms_Output.Put_Line('Message ' || i || '. ' || Lv_Msg_Data);
      END LOOP;
    END IF;
  ELSE
    Dbms_Output.Put_Line('Cash Receipt ID ' || Ln_Cash_Receipt_Id);
  END IF;
END;

官方參考文檔:Oracle Receivables: Receipts API Overview, Setup, Sample Scripts and Troubleshooting (文檔 ID 1361075.1)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章