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)

猜你喜欢

转载自blog.csdn.net/chenxianping/article/details/102679792