您的位置:首页 > 数据库 > Oracle

Oracle EBS Interface/API(4)--AR贷项通知单

2017-11-28 16:37 477 查看
摘自:http://blog.csdn.net/chenxianping/article/details/49513683

系统版本:

          RDBMS : 9.2.0.6.0

         Oracle 应用产品 : 11.5.10.2        

         上篇文章:Oracle
EBS AR 客户返利和坏帐准备事务处理类型设置, 用户提到“贷项-坏帐准备”和“贷项-客户返利”事务处理要做AR中操作,根据客户需求可用用AR事务处理接口或API来实现批量导入AR事务处理。但是,网上并没有找到AR贷项通知单的API或接口实例文献。

         通过以查看AR事务下功能Form源代码和后台相关于AR事务处理的包,找到一个比较合适包:ar_transaction_pub.Create_Transaction。但是,希望有大神帮助验证或提供建议!

快速参考

API:ar_transaction_pub.Create_Transaction

参数说明默认值
p_api_nameAPI名称,随给个名称 
p_api_version版本号 
p_init_msg_list是否初始化信息列表FND_API.G_FALSE
p_commit是否Commit(Oracle事务处理)FND_API.G_FALSE
p_validation_level验证层级(100)FND_API.G_VALID_LEVEL_FULL=100
p_batch_recAR事务处理批 
p_header_recAR事务处理题头 
p_receivable_gl_dateGL日期p_header_rec.trx_date必须与它同一天
p_commitment_rec  
p_lines_tblAR事务处理行 
p_tax_lines_tblAR事务处理税行 
p_freight_lines_tblAR事务处理运费行 
p_salescredit_lines_tblAR事务处理贷项发票 
p_dist_tblAR事务处理分配行 
p_return_status返回值,执行结果返回标志S表志成功,E表示错误
p_msg_count返回值,消息记录条数 
p_msg_data返回值,消息数据 
p_errors返回值,错误集 
p_customer_trx_id返回值,AR事务处理标识ID 
例实代码如下:

[sql] view
plain copy

Declare  

  l_batch_rec             ra_batches%rowtype;  

    l_header_rec            ra_customer_trx%rowtype;  

    l_customer_trx_id       Number;  

    l_commitment_rec        arp_process_commitment.commitment_rec_type;  

    l_lines_tbl             ar_transaction_pub.Line_Tbl_Type;  

    l_tax_lines_tbl         ar_transaction_pub.Line_Tbl_Type;  

    l_freight_lines_tbl     ar_transaction_pub.Line_Tbl_Type;  

    l_salescredit_lines_tbl ar_transaction_pub.Salescredit_Tbl_Type;  

    l_dist_tbl              ar_transaction_pub.Dist_Tbl_Type;  

    l_return_status         varchar2(2000);  

    l_msg_count             NUMBER;  

    l_msg_data              varchar2(4000);  

    l_errors                arp_trx_validate.Message_Tbl_Type;  

    i                       Number;  

  Begin  

      

    l_errors.delete;  

    fnd_global.apps_initialize(user_id      => 1110,  

                               resp_id      => 50268,  

                               resp_appl_id => 222); --1318, 50559, 222);  

    fnd_client_info.set_org_context(114);  

    --事务处理来源  

    l_batch_rec.BATCH_SOURCE_ID := 1002;  

    --AR事务处理题头  

    --事务处理编号  

    l_header_rec.TRX_NUMBER := 'CXP151026_001';  

    --来源ID  

    l_header_rec.BATCH_SOURCE_ID := l_batch_rec.batch_source_id;  

    --事务处理类型  

    l_header_rec.CUST_TRX_TYPE_ID := 1080;  

    --OU 标识  

    l_header_rec.ORG_ID := 114;  

    --事务处理日期  

    l_header_rec.TRX_DATE := sysdate;  

    /****收单方***/  

    --客户ID  

    l_header_rec.BILL_TO_CUSTOMER_ID := 1253;  

    --客户地点ID  

    l_header_rec.BILL_TO_SITE_USE_ID := 1210;  

    --联系人ID  

    l_header_rec.BILL_TO_CONTACT_ID := 6058;  

    /****付款客户***/  

    --客户ID  

    l_header_rec.PAYING_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;  

    --客户地点ID  

    l_header_rec.PAYING_SITE_USE_ID := l_header_rec.BILL_TO_SITE_USE_ID;  

    --采购方  

    l_header_rec.SOLD_TO_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;  

    --业务员或销售员ID  

    l_header_rec.PRIMARY_SALESREP_ID := 100000049;  

    ---币种  

    l_header_rec.INVOICE_CURRENCY_CODE := 'CNY';  

    l_header_rec.SET_OF_BOOKS_ID       := 1001;  

    --其它-状态  

    l_header_rec.STATUS_TRX := 'OP';  

    --其它-打印选项  

    l_header_rec.PRINTING_PENDING := 'Y';  

    --完成标志  

    l_header_rec.COMPLETE_FLAG := 'N';  

    --AR事务处理行项目  

    l_lines_tbl(1).ORG_ID := l_header_rec.ORG_ID;  

    l_lines_tbl(1).EXTENDED_AMOUNT := -300;  

    l_lines_tbl(1).REVENUE_AMOUNT := -300;  

    --行号  

    l_lines_tbl(1).LINE_NUMBER := 1;  

    l_lines_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  

    --行摘要  

    l_lines_tbl(1).DESCRIPTION := '测试行1';  

    l_lines_tbl(1).LINE_TYPE := 'LINE';  

    --自动税标识  

    l_lines_tbl(1).AUTOTAX := 'N';  

    --AR事务处理--分配行--应收帐款  

    --分类  

    l_dist_tbl(1).ACCOUNT_CLASS := 'REC';  

    l_dist_tbl(1).ACCOUNT_SET_FLAG := 'N';  

    --收入帐户标识ID  

    l_dist_tbl(1).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  

    l_dist_tbl(1).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  

    --应收帐款帐户标识ID  

    l_dist_tbl(1).CODE_COMBINATION_ID := 1494;  

    --GL日期  

    l_dist_tbl(1).GL_DATE := l_header_rec.TRX_DATE;  

    --OU标识ID  

    l_dist_tbl(1).ORG_ID := l_header_rec.ORG_ID;  

    --百分比  

    l_dist_tbl(1).PERCENT := 100;  

    --帐薄标识ID  

    l_dist_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  

    --AR事务处理--分配行--收入  

    --事务处理行  

    l_dist_tbl(2).line_index := 1;   

    --分类  

    l_dist_tbl(2).ACCOUNT_CLASS := 'REV';  

    l_dist_tbl(2).ACCOUNT_SET_FLAG := 'N';  

    --金额  

    l_dist_tbl(2).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  

    l_dist_tbl(2).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  

    --收入帐户标识ID  

    l_dist_tbl(2).CODE_COMBINATION_ID := 12814;   

    --GL日期  

    l_dist_tbl(2).GL_DATE := l_header_rec.TRX_DATE;  

    --OU标识ID  

    l_dist_tbl(2).ORG_ID := l_header_rec.ORG_ID;  

    --百分比  

    l_dist_tbl(2).PERCENT := 100;  

    --帐薄标识ID  

    l_dist_tbl(2).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  

    

    ar_transaction_pub.Create_Transaction(p_api_name              => 'ARXTWMAI',  

                                          p_api_version           => 1,  

                                          p_init_msg_list         => FND_API.G_FALSE,  

                                          p_commit                => FND_API.G_FALSE,  

                                          p_validation_level      => FND_API.G_VALID_LEVEL_FULL,  

                                          p_batch_rec             => l_batch_rec,  

                                          p_header_rec            => l_header_rec,  

                                          p_receivable_gl_date    => l_header_rec.TRX_DATE,--必须要与TRX_DATE一致  

                                          p_commitment_rec        => l_commitment_rec,  

                                          p_lines_tbl             => l_lines_tbl,  

                                          p_tax_lines_tbl         => l_tax_lines_tbl,  

                                          p_freight_lines_tbl     => l_freight_lines_tbl,  

                                          p_salescredit_lines_tbl => l_salescredit_lines_tbl,  

                                          p_dist_tbl              => l_dist_tbl,  

                                          p_return_status         => l_return_status,  

                                          p_msg_count             => l_msg_count,  

                                          p_msg_data              => l_msg_data,  

                                          p_errors                => l_errors,  

                                          p_customer_trx_id       => l_customer_trx_id);  

    

    dbms_output.put_line('p_return_status=' || l_return_status);  

    dbms_output.put_line('l_msg_data=' || l_msg_data);  

    dbms_output.put_line('l_errors=' || l_errors.count);  

    For i In 1 .. l_errors.count Loop  

      dbms_output.put_line('customer_trx_id:' || l_errors(i)  

                           .customer_trx_id);  

      dbms_output.put_line('message_name:' || l_errors(i).message_name);  

      dbms_output.put_line('token_name_1:' || l_errors(i).token_name_1);  

      dbms_output.put_line('token_1:' || l_errors(i).token_1);  

      dbms_output.put_line('token_name_2:' || l_errors(i).token_name_2);  

      dbms_output.put_line('token_2:' || l_errors(i).token_2);  

      dbms_output.put_line('encoded_message:' || l_errors(i)  

                           .encoded_message);  

      dbms_output.put_line('translated_message:' || l_errors(i)  

                           .translated_message);  

    End Loop;  

    dbms_output.put_line('p_customer_trx_id=' || l_customer_trx_id);  

End;<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">  

</span></span>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  API EBS运维 AR