Oracle EBS Interface/API(5)--AR Invoices 原创 2015年11月20日 09:24:21 1393 系统版本: RDBMS : 9.2.0.

29 篇文章 0 订阅
7 篇文章 0 订阅

摘自:http://blog.csdn.net/chenxianping/article/details/49933011?locationNum=7&fps=1


Oracle EBS Interface/API(5)--AR Invoices

原创  2015年11月20日 09:24:21

系统版本:
          RDBMS : 9.2.0.6.0
         Oracle 应用产品 : 11.5.10.2  

快速参考
API:AR_INVOICE_API_PUB.CREATE_INVOICE
参数说明默认值
p_api_versionAPI版本1.0
p_init_msg_list是否初始化信息列表FND_API.G_FALSE
p_commit是否Commit(Oracle事务处理)FND_API.G_FALSE
p_batch_source_recAR事务处理批 
p_trx_header_tblAR事务处理题头 
p_trx_lines_tblAR事务处理行 
p_trx_dist_tblAR事务处理分配 
p_trx_salescredits_tblAR事务处理销售贷项 
x_return_status返回值,执行结果返回标志S表志成功,E表示错误
x_msg_count返回值,消息记录条数 
x_msg_data返回值,消息数据 

创建手工AR事务事,实例代码:

[sql]  view plain  copy
  1. DECLARE  
  2.   l_return_status        varchar2(1);  
  3.   l_msg_count            number;  
  4.   l_msg_data             varchar2(2000);  
  5.   l_batch_id             number := 1;  
  6.   l_batch_source_rec     ar_invoice_api_pub.batch_source_rec_type;  
  7.   l_trx_header_tbl       ar_invoice_api_pub.trx_header_tbl_type;  
  8.   l_trx_lines_tbl        ar_invoice_api_pub.trx_line_tbl_type;  
  9.   l_trx_dist_tbl         ar_invoice_api_pub.trx_dist_tbl_type;  
  10.   l_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type;  
  11.   CURSOR cBatch IS  
  12.     select customer_trx_id  
  13.       from ra_customer_trx_all  
  14.      where batch_id = l_batch_id;  
  15.   CURSOR cValidTxn IS  
  16.     SELECT trx_header_id  
  17.       From ar_trx_header_gt  
  18.      WHERE trx_header_id not in  
  19.            (SELECT trx_header_id FROM ar_trx_errors_gt);  
  20. BEGIN  
  21.   fnd_client_info.set_org_context(114);  
  22.   --1.  Set applications context if not already set.   
  23.   fnd_global.apps_initialize(user_id      => 1110,  
  24.                              resp_id      => 50268,  
  25.                              resp_appl_id => 222); --1318, 50559, 222);  
  26.   --2.  Populate header information.  
  27.   l_trx_header_tbl(1).trx_header_id := 1;  
  28.   --AR事务处理编号  
  29.   l_trx_header_tbl(1).trx_number := 'CXP151020_002';   
  30.   --客户收单方 地点ID  
  31.   l_trx_header_tbl(1).bill_to_customer_id := 1253;   
  32.   --AR事务处理类型CUST_TRX_TYPE_ID-  
  33.   l_trx_header_tbl(1).cust_trx_type_id := 1002;   
  34.   l_trx_header_tbl(1).trx_date :=trunc(sysdate);  
  35.   --3.  Populate batch source information.  
  36.   --批处理源  
  37.   l_batch_source_rec.batch_source_id := 1002;   
  38.   --4.  Populate line 1 information.  
  39.   l_trx_lines_tbl(1).trx_header_id := l_trx_header_tbl(1).trx_header_id;  
  40.   l_trx_lines_tbl(1).trx_line_id := 1;  
  41.   --摘要  
  42.   l_trx_lines_tbl(1).DESCRIPTION := '手工AR事务处理';   
  43.   l_trx_lines_tbl(1).line_number := 1;  
  44.   --l_trx_lines_tbl(1).memo_line_id := 1;  
  45.   l_trx_lines_tbl(1).QUANTITY_INVOICED:=1;  
  46.   l_trx_lines_tbl(1).UNIT_SELLING_PRICE :=200;  
  47.   l_trx_lines_tbl(1).line_type := 'LINE';  
  48.     
  49.   --分配行明细,主要设置会计会机科目为项目时,一定要指定分配行明细的分录帐户  
  50.   l_trx_dist_tbl(1).trx_dist_id :=1;  
  51.  l_trx_dist_tbl(1).trx_header_id :=1;  
  52.   l_trx_dist_tbl(1).trx_LINE_ID :=1;  
  53.   l_trx_dist_tbl(1).ACCOUNT_CLASS:='REC';  
  54.   l_trx_dist_tbl(1).AMOUNT:= 200;  
  55.   l_trx_dist_tbl(1).acctd_amount:=200;  
  56.   l_trx_dist_tbl(1).PERCENT :=100;  
  57.   l_trx_dist_tbl(1).CODE_COMBINATION_ID := 1494;  
  58.     
  59.   l_trx_dist_tbl(1).trx_dist_id :=2;  
  60.  l_trx_dist_tbl(1).trx_header_id :=1;  
  61.   l_trx_dist_tbl(1).trx_LINE_ID :=1;  
  62.   l_trx_dist_tbl(1).ACCOUNT_CLASS:='REV';  
  63.   l_trx_dist_tbl(1).AMOUNT:= 200;  
  64.   l_trx_dist_tbl(1).acctd_amount:=200;  
  65.   l_trx_dist_tbl(1).PERCENT :=100;  
  66.   l_trx_dist_tbl(1).CODE_COMBINATION_ID := 12814;  
  67.   
  68.   AR_INVOICE_API_PUB.create_invoice(p_api_version          => 1.0,  
  69.                                     p_batch_source_rec     => l_batch_source_rec,  
  70.                                     p_trx_header_tbl       => l_trx_header_tbl,  
  71.                                     p_trx_lines_tbl        => l_trx_lines_tbl,  
  72.                                     p_trx_dist_tbl         => l_trx_dist_tbl,  
  73.                                     p_trx_salescredits_tbl => l_trx_salescredits_tbl,  
  74.                                     x_return_status        => l_return_status,  
  75.                                     x_msg_count            => l_msg_count,  
  76.                                     x_msg_data             => l_msg_data);  
  77.   Dbms_Output.put_line('x_msg_data=' || l_msg_data);  
  78.   Dbms_Output.put_line('x_return_status=' || l_return_status);  
  79.   IF l_return_status = fnd_api.g_ret_sts_error OR  
  80.      l_return_status = fnd_api.g_ret_sts_unexp_error THEN  
  81.     dbms_output.put_line('unexpected errors found!');  
  82.   ELSE  
  83.     commit;  
  84.     For cValidTxnRec IN cvalidTxn loop  
  85.       IF (ar_invoice_api_pub.g_api_outputs.batch_id IS NOT NULLTHEN  
  86.         dbms_output.put_line('Invoice(s) suceessfully created!');  
  87.         dbms_output.put_line('Batch ID: ' ||  
  88.                              ar_invoice_api_pub.g_api_outputs.batch_id);  
  89.         l_batch_id := ar_invoice_api_pub.g_api_outputs.batch_id;  
  90.         for cBatchRec in cBatch loop  
  91.           dbms_output.put_line('Cust Trx Id ' || cBatchRec.customer_trx_id);  
  92.         end loop;  
  93.       ELSE  
  94.         dbms_output.put_line('Errors found!');  
  95.       END IF;  
  96.       
  97.     End loop;  
  98.     commit;  
  99.   END IF;  
  100.   dbms_output.put_line('l_return_status: ' || l_return_status);  
  101. END;  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的DECLARE示例,用于在ORACLE EBS 12.1.0.2.0版本中处理物料搬运单,并自动生成分配行: ``` DECLARE l_header_id NUMBER; l_line_id NUMBER; l_shipment_id NUMBER; l_qty_shipped NUMBER; BEGIN -- 在此处添加您的代码,用于获取物料搬运单头ID(l_header_id)和行ID(l_line_id) -- 获取物料搬运单头ID和行ID后,使用API进行物料搬运单处理 l_shipment_id := wsh_delivery_details_pub.ship_confirm_deliveries( p_delivery_id => l_header_id, p_delivery_assignment_id => l_line_id, p_shipment_number => NULL, p_transaction_header_id => NULL, p_transaction_line_id => NULL, p_shipped_quantity => l_qty_shipped, p_return_status => NULL, p_error_msg => NULL ); -- 如果物料搬运单处理成功,则自动生成分配行 IF l_shipment_id IS NOT NULL THEN wsh_delivery_assignments_pub.create_delivery_assignment( p_delivery_id => l_header_id, p_delivery_assignment_id => l_line_id, p_shipment_id => l_shipment_id, p_transaction_header_id => NULL, p_transaction_line_id => NULL, p_quantity => l_qty_shipped, p_error_msg => NULL ); END IF; END; ``` 在此示例中,我们使用ORACLE EBS提供的API `wsh_delivery_details_pub.ship_confirm_deliveries` 来处理物料搬运单,并将处理结果赋值给变量 `l_shipment_id`。如果物料搬运单处理成功,则使用 `wsh_delivery_assignments_pub.create_delivery_assignment` API自动生成分配行。 当然,这只是一个简单的示例,实际情况下,您需要根据您的具体业务需求进行进一步的开发和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值