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

转自: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_name API名称,随给个名称
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_rec AR事务处理批
p_header_rec AR事务处理题头
p_receivable_gl_date GL日期 p_header_rec.trx_date必须与它同一天
p_commitment_rec
p_lines_tbl AR事务处理行
p_tax_lines_tbl AR事务处理税行
p_freight_lines_tbl AR事务处理运费行
p_salescredit_lines_tbl AR事务处理贷项发票
p_dist_tbl AR事务处理分配行
p_return_status 返回值,执行结果返回标志 S表志成功,E表示错误
p_msg_count 返回值,消息记录条数
p_msg_data 返回值,消息数据
p_errors 返回值,错误集
p_customer_trx_id 返回值,AR事务处理标识ID


例实代码如下:

  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;"font-family:Arial, Helvetica, sans-serif;">"white-space: normal;"
  148.  




请使用浏览器的分享功能分享到微信等