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

来源:互联网 发布:51单片机蜂鸣器程序 编辑:程序博客网 时间:2024/05/08 14:51

摘自: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_FALSEp_commit是否Commit(Oracle事务处理)FND_API.G_FALSEp_validation_level验证层级(100)FND_API.G_VALID_LEVEL_FULL=100p_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
  1. Declare  
  2.   l_batch_rec             ra_batches%rowtype;  
  3.     l_header_rec            ra_customer_trx%rowtype;  
  4.     l_customer_trx_id       Number;  
  5.     l_commitment_rec        arp_process_commitment.commitment_rec_type;  
  6.     l_lines_tbl             ar_transaction_pub.Line_Tbl_Type;  
  7.     l_tax_lines_tbl         ar_transaction_pub.Line_Tbl_Type;  
  8.     l_freight_lines_tbl     ar_transaction_pub.Line_Tbl_Type;  
  9.     l_salescredit_lines_tbl ar_transaction_pub.Salescredit_Tbl_Type;  
  10.     l_dist_tbl              ar_transaction_pub.Dist_Tbl_Type;  
  11.     l_return_status         varchar2(2000);  
  12.     l_msg_count             NUMBER;  
  13.     l_msg_data              varchar2(4000);  
  14.     l_errors                arp_trx_validate.Message_Tbl_Type;  
  15.     i                       Number;  
  16.   Begin  
  17.       
  18.     l_errors.delete;  
  19.     fnd_global.apps_initialize(user_id      => 1110,  
  20.                                resp_id      => 50268,  
  21.                                resp_appl_id => 222); --1318, 50559, 222);  
  22.     fnd_client_info.set_org_context(114);  
  23.     --事务处理来源  
  24.     l_batch_rec.BATCH_SOURCE_ID := 1002;  
  25.     --AR事务处理题头  
  26.     --事务处理编号  
  27.     l_header_rec.TRX_NUMBER := 'CXP151026_001';  
  28.     --来源ID  
  29.     l_header_rec.BATCH_SOURCE_ID := l_batch_rec.batch_source_id;  
  30.     --事务处理类型  
  31.     l_header_rec.CUST_TRX_TYPE_ID := 1080;  
  32.     --OU 标识  
  33.     l_header_rec.ORG_ID := 114;  
  34.     --事务处理日期  
  35.     l_header_rec.TRX_DATE := sysdate;  
  36.     /****收单方***/  
  37.     --客户ID  
  38.     l_header_rec.BILL_TO_CUSTOMER_ID := 1253;  
  39.     --客户地点ID  
  40.     l_header_rec.BILL_TO_SITE_USE_ID := 1210;  
  41.     --联系人ID  
  42.     l_header_rec.BILL_TO_CONTACT_ID := 6058;  
  43.     /****付款客户***/  
  44.     --客户ID  
  45.     l_header_rec.PAYING_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;  
  46.     --客户地点ID  
  47.     l_header_rec.PAYING_SITE_USE_ID := l_header_rec.BILL_TO_SITE_USE_ID;  
  48.     --采购方  
  49.     l_header_rec.SOLD_TO_CUSTOMER_ID := l_header_rec.BILL_TO_CUSTOMER_ID;  
  50.     --业务员或销售员ID  
  51.     l_header_rec.PRIMARY_SALESREP_ID := 100000049;  
  52.     ---币种  
  53.     l_header_rec.INVOICE_CURRENCY_CODE := 'CNY';  
  54.     l_header_rec.SET_OF_BOOKS_ID       := 1001;  
  55.     --其它-状态  
  56.     l_header_rec.STATUS_TRX := 'OP';  
  57.     --其它-打印选项  
  58.     l_header_rec.PRINTING_PENDING := 'Y';  
  59.     --完成标志  
  60.     l_header_rec.COMPLETE_FLAG := 'N';  
  61.     --AR事务处理行项目  
  62.     l_lines_tbl(1).ORG_ID := l_header_rec.ORG_ID;  
  63.     l_lines_tbl(1).EXTENDED_AMOUNT := -300;  
  64.     l_lines_tbl(1).REVENUE_AMOUNT := -300;  
  65.     --行号  
  66.     l_lines_tbl(1).LINE_NUMBER := 1;  
  67.     l_lines_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  
  68.     --行摘要  
  69.     l_lines_tbl(1).DESCRIPTION := '测试行1';  
  70.     l_lines_tbl(1).LINE_TYPE := 'LINE';  
  71.     --自动税标识  
  72.     l_lines_tbl(1).AUTOTAX := 'N';  
  73.     --AR事务处理--分配行--应收帐款  
  74.     --分类  
  75.     l_dist_tbl(1).ACCOUNT_CLASS := 'REC';  
  76.     l_dist_tbl(1).ACCOUNT_SET_FLAG := 'N';  
  77.     --收入帐户标识ID  
  78.     l_dist_tbl(1).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  
  79.     l_dist_tbl(1).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  
  80.     --应收帐款帐户标识ID  
  81.     l_dist_tbl(1).CODE_COMBINATION_ID := 1494;  
  82.     --GL日期  
  83.     l_dist_tbl(1).GL_DATE := l_header_rec.TRX_DATE;  
  84.     --OU标识ID  
  85.     l_dist_tbl(1).ORG_ID := l_header_rec.ORG_ID;  
  86.     --百分比  
  87.     l_dist_tbl(1).PERCENT := 100;  
  88.     --帐薄标识ID  
  89.     l_dist_tbl(1).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  
  90.     --AR事务处理--分配行--收入  
  91.     --事务处理行  
  92.     l_dist_tbl(2).line_index := 1;   
  93.     --分类  
  94.     l_dist_tbl(2).ACCOUNT_CLASS := 'REV';  
  95.     l_dist_tbl(2).ACCOUNT_SET_FLAG := 'N';  
  96.     --金额  
  97.     l_dist_tbl(2).ACCTD_AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  
  98.     l_dist_tbl(2).AMOUNT := l_lines_tbl(1).EXTENDED_AMOUNT;  
  99.     --收入帐户标识ID  
  100.     l_dist_tbl(2).CODE_COMBINATION_ID := 12814;   
  101.     --GL日期  
  102.     l_dist_tbl(2).GL_DATE := l_header_rec.TRX_DATE;  
  103.     --OU标识ID  
  104.     l_dist_tbl(2).ORG_ID := l_header_rec.ORG_ID;  
  105.     --百分比  
  106.     l_dist_tbl(2).PERCENT := 100;  
  107.     --帐薄标识ID  
  108.     l_dist_tbl(2).SET_OF_BOOKS_ID := l_header_rec.SET_OF_BOOKS_ID;  
  109.     
  110.     ar_transaction_pub.Create_Transaction(p_api_name              => 'ARXTWMAI',  
  111.                                           p_api_version           => 1,  
  112.                                           p_init_msg_list         => FND_API.G_FALSE,  
  113.                                           p_commit                => FND_API.G_FALSE,  
  114.                                           p_validation_level      => FND_API.G_VALID_LEVEL_FULL,  
  115.                                           p_batch_rec             => l_batch_rec,  
  116.                                           p_header_rec            => l_header_rec,  
  117.                                           p_receivable_gl_date    => l_header_rec.TRX_DATE,--必须要与TRX_DATE一致  
  118.                                           p_commitment_rec        => l_commitment_rec,  
  119.                                           p_lines_tbl             => l_lines_tbl,  
  120.                                           p_tax_lines_tbl         => l_tax_lines_tbl,  
  121.                                           p_freight_lines_tbl     => l_freight_lines_tbl,  
  122.                                           p_salescredit_lines_tbl => l_salescredit_lines_tbl,  
  123.                                           p_dist_tbl              => l_dist_tbl,  
  124.                                           p_return_status         => l_return_status,  
  125.                                           p_msg_count             => l_msg_count,  
  126.                                           p_msg_data              => l_msg_data,  
  127.                                           p_errors                => l_errors,  
  128.                                           p_customer_trx_id       => l_customer_trx_id);  
  129.     
  130.     dbms_output.put_line('p_return_status=' || l_return_status);  
  131.     dbms_output.put_line('l_msg_data=' || l_msg_data);  
  132.     dbms_output.put_line('l_errors=' || l_errors.count);  
  133.     For i In 1 .. l_errors.count Loop  
  134.       dbms_output.put_line('customer_trx_id:' || l_errors(i)  
  135.                            .customer_trx_id);  
  136.       dbms_output.put_line('message_name:' || l_errors(i).message_name);  
  137.       dbms_output.put_line('token_name_1:' || l_errors(i).token_name_1);  
  138.       dbms_output.put_line('token_1:' || l_errors(i).token_1);  
  139.       dbms_output.put_line('token_name_2:' || l_errors(i).token_name_2);  
  140.       dbms_output.put_line('token_2:' || l_errors(i).token_2);  
  141.       dbms_output.put_line('encoded_message:' || l_errors(i)  
  142.                            .encoded_message);  
  143.       dbms_output.put_line('translated_message:' || l_errors(i)  
  144.                            .translated_message);  
  145.     End Loop;  
  146.     dbms_output.put_line('p_customer_trx_id=' || l_customer_trx_id);  
  147. End;<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">  
  148. </span></span>  

阅读全文
0 0
原创粉丝点击