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_version API版本 1.0
p_init_msg_list 是否初始化信息列表 FND_API.G_FALSE
p_commit 是否Commit(Oracle事务处理) FND_API.G_FALSE
p_batch_source_rec AR事务处理批  
p_trx_header_tbl AR事务处理题头  
p_trx_lines_tbl AR事务处理行  
p_trx_dist_tbl AR事务处理分配  
p_trx_salescredits_tbl AR事务处理销售贷项  
x_return_status 返回值,执行结果返回标志 S表志成功,E表示错误
x_msg_count 返回值,消息记录条数  
x_msg_data 返回值,消息数据  

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

DECLARE
  l_return_status        varchar2(1);
  l_msg_count            number;
  l_msg_data             varchar2(2000);
  l_batch_id             number := 1;
  l_batch_source_rec     ar_invoice_api_pub.batch_source_rec_type;
  l_trx_header_tbl       ar_invoice_api_pub.trx_header_tbl_type;
  l_trx_lines_tbl        ar_invoice_api_pub.trx_line_tbl_type;
  l_trx_dist_tbl         ar_invoice_api_pub.trx_dist_tbl_type;
  l_trx_salescredits_tbl ar_invoice_api_pub.trx_salescredits_tbl_type;
  CURSOR cBatch IS
    select customer_trx_id
      from ra_customer_trx_all
     where batch_id = l_batch_id;
  CURSOR cValidTxn IS
    SELECT trx_header_id
      From ar_trx_header_gt
     WHERE trx_header_id not in
           (SELECT trx_header_id FROM ar_trx_errors_gt);
BEGIN
  fnd_client_info.set_org_context(114);
  --1.  Set applications context if not already set. 
  fnd_global.apps_initialize(user_id      => 1110,
                             resp_id      => 50268,
                             resp_appl_id => 222); --1318, 50559, 222);
  --2.  Populate header information.
  l_trx_header_tbl(1).trx_header_id := 1;
  --AR事务处理编号
  l_trx_header_tbl(1).trx_number := 'CXP151020_002'; 
  --客户收单方 地点ID
  l_trx_header_tbl(1).bill_to_customer_id := 1253; 
  --AR事务处理类型CUST_TRX_TYPE_ID-
  l_trx_header_tbl(1).cust_trx_type_id := 1002; 
  l_trx_header_tbl(1).trx_date :=trunc(sysdate);
  --3.  Populate batch source information.
  --批处理源
  l_batch_source_rec.batch_source_id := 1002; 
  --4.  Populate line 1 information.
  l_trx_lines_tbl(1).trx_header_id := l_trx_header_tbl(1).trx_header_id;
  l_trx_lines_tbl(1).trx_line_id := 1;
  --摘要
  l_trx_lines_tbl(1).DESCRIPTION := '手工AR事务处理'; 
  l_trx_lines_tbl(1).line_number := 1;
  --l_trx_lines_tbl(1).memo_line_id := 1;
  l_trx_lines_tbl(1).QUANTITY_INVOICED:=1;
  l_trx_lines_tbl(1).UNIT_SELLING_PRICE :=200;
  l_trx_lines_tbl(1).line_type := 'LINE';
  
  --分配行明细,主要设置会计会机科目为项目时,一定要指定分配行明细的分录帐户
  l_trx_dist_tbl(1).trx_dist_id :=1;
 l_trx_dist_tbl(1).trx_header_id :=1;
  l_trx_dist_tbl(1).trx_LINE_ID :=1;
  l_trx_dist_tbl(1).ACCOUNT_CLASS:='REC';
  l_trx_dist_tbl(1).AMOUNT:= 200;
  l_trx_dist_tbl(1).acctd_amount:=200;
  l_trx_dist_tbl(1).PERCENT :=100;
  l_trx_dist_tbl(1).CODE_COMBINATION_ID := 1494;
  
  l_trx_dist_tbl(1).trx_dist_id :=2;
 l_trx_dist_tbl(1).trx_header_id :=1;
  l_trx_dist_tbl(1).trx_LINE_ID :=1;
  l_trx_dist_tbl(1).ACCOUNT_CLASS:='REV';
  l_trx_dist_tbl(1).AMOUNT:= 200;
  l_trx_dist_tbl(1).acctd_amount:=200;
  l_trx_dist_tbl(1).PERCENT :=100;
  l_trx_dist_tbl(1).CODE_COMBINATION_ID := 12814;

  AR_INVOICE_API_PUB.create_invoice(p_api_version          => 1.0,
                                    p_batch_source_rec     => l_batch_source_rec,
                                    p_trx_header_tbl       => l_trx_header_tbl,
                                    p_trx_lines_tbl        => l_trx_lines_tbl,
                                    p_trx_dist_tbl         => l_trx_dist_tbl,
                                    p_trx_salescredits_tbl => l_trx_salescredits_tbl,
                                    x_return_status        => l_return_status,
                                    x_msg_count            => l_msg_count,
                                    x_msg_data             => l_msg_data);
  Dbms_Output.put_line('x_msg_data=' || l_msg_data);
  Dbms_Output.put_line('x_return_status=' || l_return_status);
  IF l_return_status = fnd_api.g_ret_sts_error OR
     l_return_status = fnd_api.g_ret_sts_unexp_error THEN
    dbms_output.put_line('unexpected errors found!');
  ELSE
    commit;
    For cValidTxnRec IN cvalidTxn loop
      IF (ar_invoice_api_pub.g_api_outputs.batch_id IS NOT NULL) THEN
        dbms_output.put_line('Invoice(s) suceessfully created!');
        dbms_output.put_line('Batch ID: ' ||
                             ar_invoice_api_pub.g_api_outputs.batch_id);
        l_batch_id := ar_invoice_api_pub.g_api_outputs.batch_id;
        for cBatchRec in cBatch loop
          dbms_output.put_line('Cust Trx Id ' || cBatchRec.customer_trx_id);
        end loop;
      ELSE
        dbms_output.put_line('Errors found!');
      END IF;
    
    End loop;
    commit;
  END IF;
  dbms_output.put_line('l_return_status: ' || l_return_status);
END;


 

 

相关文章推荐

Oracle EBS APIs

API To Find Sales Order's Subtotal,discount,charges and Tax (OE_OE_TOTALS_SUMMARY.ORDER_TOTALS)API f...
  • pan_tian
  • pan_tian
  • 2012年07月17日 11:22
  • 15782

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Oracle EBS OM 主要API示例

1, Book order Oe_Order_Pub.Process_Order ( 1 , Fnd_Api.G_FALSE , Fnd_Api.G_FALSE...

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

AR事务处理“贷项通知单”接口API。

ORACLE EBS Sales Order销售订单【Open Interface、Open API】

Oracle EBS 常用接口开发参考 之 销售订单

Oracle EBS订单的流程(Order->AR)

转自:http://blog.csdn.net/pan_tian/article/details/7693447 基本流程 创建订单 路径:Order Managemen...

Oracle EBS INV, PO,SO,GL, AR, AP 常用数据表

INV库存 organization 两个含义: 1. 经营单位,A/B/C分公司,A下面有A1,A2等工厂,主题目标是为了独立核算此组织 ORG,ORG_ID; 2. 库存组织,例如制造商的...

Oracle EBS AP,PO,WIP,AR 如何月结、对账 .

在Oracle系统处理月结业务时,需要遵循一定的操作顺序。 这些业务,牵涉到相应的模块,包括:应付模块、采购模块、库存模块、应收模块、薪资模块、固定资产和总帐模块等 在Oracle系统中,总帐...

利用Receiving Open Interface批量导入Oracle EBS接收表单实例

准备: 1.    创建采购订单。请确认: a)    订单创建结束后,其审批状态应为‘Approved’; b)    请填写Shipments中的Distribution,确认其中的Subi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle EBS Interface/API(5)--AR Invoices
举报原因:
原因补充:

(最多只允许输入30个字)