--1.0 生成与发票一样的贷项通知单 created by jenrry 20170423
DECLARE
L_CUSTOMER_TRX_ID NUMBER;
L_INVOICE_NUMBER VARCHAR2(30); 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; L_RETURN_STATUS VARCHAR2(100);
L_MSG_COUNT NUMBER;
L_MSG_DATA VARCHAR2(2000); I NUMBER;
L_MESSAGE_LIST VARCHAR2(1000);
L_MSG_INDEX_OUT NUMBER;
BEGIN
FND_GLOBAL.APPS_INITIALIZE(USER_ID => 1111,
RESP_ID => 50737,
RESP_APPL_ID => 20005);
mo_global.init('AR');
SELECT ra_customer_trx_s.nextval INTO I FROM DUAL; mo_global.set_policy_context(p_access_mode => 'S', p_org_id => 142);
L_BATCH_SOURCE_REC.BATCH_SOURCE_ID := 1001; --事务处理来源ID
L_TRX_HEADER_TBL(1).TRX_HEADER_ID := I;
L_TRX_HEADER_TBL(1).TRX_DATE := fnd_conc_date.string_to_date('2017-03-31');
L_TRX_HEADER_TBL(1).GL_DATE := fnd_conc_date.string_to_date('2017-03-31');
L_TRX_HEADER_TBL(1).TRX_CURRENCY := 'CNY';
--L_TRX_HEADER_TBL(1).EXCHANGE_RATE_TYPE := 'Corporate';
--L_TRX_HEADER_TBL(1).exchange_date := SYSDATE+1;
--L_TRX_HEADER_TBL(1).EXCHANGE_RATE := 7;
L_TRX_HEADER_TBL(1).trx_number := '20170425002'; --创建的贷项通知单的trx_number
L_TRX_HEADER_TBL(1).BILL_TO_CUSTOMER_ID := 1040; --客户
L_TRX_HEADER_TBL(1).CUST_TRX_TYPE_ID := 1001; --创建贷项通知单的类型
L_TRX_HEADER_TBL(1).TERM_ID := NULL; L_TRX_LINES_TBL(1).TRX_HEADER_ID := I;
L_TRX_LINES_TBL(1).TRX_LINE_ID := ra_customer_trx_lines_s.nextval;
L_TRX_LINES_TBL(1).LINE_NUMBER := 1; --行
L_TRX_LINES_TBL(1).DESCRIPTION := '从高级全球公司间系统导入的发票';--行项目上的摘要
L_TRX_LINES_TBL(1).QUANTITY_INVOICED := 11; --开票数量
L_TRX_LINES_TBL(1).UNIT_SELLING_PRICE := -11; --开票单单价
L_TRX_LINES_TBL(1).LINE_TYPE := 'LINE'; L_TRX_DIST_TBL(1).TRX_DIST_ID := ra_cust_trx_line_gl_dist_s.nextval;
L_TRX_DIST_TBL(1).TRX_HEADER_ID := I;
L_TRX_DIST_TBL(1).TRX_LINE_ID := NULL; --账户类别=“应收账款”时,分配行上不能有TRX_LINE_ID
L_TRX_DIST_TBL(1).ACCOUNT_CLASS := 'REV';
L_TRX_DIST_TBL(1).AMOUNT := NULL;
L_TRX_DIST_TBL(1).ACCTD_AMOUNT := NULL;
L_TRX_DIST_TBL(1).PERCENT := 100; --指百分之百的核销
L_TRX_DIST_TBL(1).CODE_COMBINATION_ID := 3010; --应收账款的CCID L_TRX_DIST_TBL(2).TRX_DIST_ID := ra_cust_trx_line_gl_dist_s.nextval;
L_TRX_DIST_TBL(2).TRX_HEADER_ID := I;
--L_TRX_DIST_TBL(1).TRX_LINE_ID := 100;
L_TRX_DIST_TBL(2).ACCOUNT_CLASS := 'REC';
L_TRX_DIST_TBL(2).AMOUNT := NULL;
L_TRX_DIST_TBL(2).ACCTD_AMOUNT := NULL;
L_TRX_DIST_TBL(2).PERCENT := 100;
L_TRX_DIST_TBL(2).CODE_COMBINATION_ID := 3004;--收入的CCID -- mo_global.set_policy_context('S', fnd_global.org_id); --R12要单OU AR_INVOICE_API_PUB.CREATE_SINGLE_INVOICE(
P_API_VERSION => 1.0
,P_INIT_MSG_LIST => 'F'
,P_COMMIT => 'F'
,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_CUSTOMER_TRX_ID => L_CUSTOMER_TRX_ID
,X_RETURN_STATUS => L_RETURN_STATUS
,X_MSG_COUNT => L_MSG_COUNT
,X_MSG_DATA => L_MSG_DATA);
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
DBMS_OUTPUT.PUT_LINE(L_CUSTOMER_TRX_ID); SELECT TRX_NUMBER
INTO L_INVOICE_NUMBER
FROM RA_CUSTOMER_TRX_ALL
WHERE CUSTOMER_TRX_ID = L_CUSTOMER_TRX_ID;
DBMS_OUTPUT.PUT_LINE(L_INVOICE_NUMBER);*/
END IF;
DBMS_OUTPUT.PUT_LINE(L_RETURN_STATUS); FOR l_r IN (SELECT * FROM ar_trx_errors_gt)
LOOP
DBMS_OUTPUT.PUT_LINE(l_r.error_message);
END LOOP;
END;
/
--2.0 贷项通知单和发票的核销 DECLARE
l_cm_app_rec ar_cm_api_pub.cm_app_rec_type;
l_out_rec_application_id NUMBER;
l_acctd_amount_applied_from NUMBER;
l_acctd_amount_applied_to NUMBER;
l_return_status varchar2(1);
l_msg_count number;
l_msg_data varchar2(1000);
BEGIN
FND_GLOBAL.APPS_INITIALIZE(USER_ID => 1111,
RESP_ID => 50737,
RESP_APPL_ID => 20005);
mo_global.init('AR');
mo_global.set_policy_context(p_access_mode => 'S', p_org_id => 142); l_cm_app_rec.cm_customer_trx_id := 3019;--贷项通知单customer_trx_id
l_cm_app_rec.inv_customer_trx_id := 1001;--发票customer_trx_id
l_cm_app_rec.amount_applied := 121;--金额 --inv_line_number ra_customer_trx_lines.line_number%TYPE
ar_cm_api_pub.apply_on_account(p_api_version => 1,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_false,
p_cm_app_rec => l_cm_app_rec,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_out_rec_application_id => l_out_rec_application_id,
x_acctd_amount_applied_from => l_acctd_amount_applied_from,
x_acctd_amount_applied_to => l_acctd_amount_applied_to,
p_org_id => 142);
dbms_output.put_line('l_return_status:' || l_return_status);
dbms_output.put_line('l_msg_count:' || l_msg_count);
dbms_output.put_line('l_out_rec_application_id:' || l_out_rec_application_id);
END;

  

Oracle EBS AP 创建贷项通知单并核销到相应发票的更多相关文章

  1. Oracle EBS AR 贷项通知单核销取值

    SELECT cm.trx_number ,fnd_flex_ext.get_segs('SQLGL', 'GL#', gcc.chart_of_accounts_id, ad.code_combin ...

  2. Oracle EBS 贷项通知单核销

    SELECT cm.trx_number ,fnd_flex_ext.get_segs('SQLGL', 'GL#', gcc.chart_of_accounts_id, ad.code_combin ...

  3. 使用API创建AR 贷项通知单

    DECLARE --8000000063 l_dummy varchar2(240); l_customer_trx_id ra_customer_trx.customer_trx_id%type; ...

  4. EBS AP 创建会计科目失败

    路径:应付款系统管理员/发票/发票 问题描述: 在AP发票界面录入一笔发票,验证发票,撤销发票,然后在AP发票界面的“活动”中创建会计科目,发现带出的并发请求“创建会计科目”正常跑完,但是通过“报表/ ...

  5. ORACLE EBS AP invoice 到付款的数据流

    --1.Invoice创建时生成数据如下表 --Invoice主表 SELECT * FROM AP_INVOICES_ALL A WHERE A.INVOICE_NUM = '20111213001 ...

  6. Oracle EBS OPM 创建生产批

    --创建生产批 --created by jenrry DECLARE x_message_count NUMBER; x_message_list VARCHAR2 (2000); x_return ...

  7. Oracle EBS AP取消核销

    --取消核销 created by jenrry 20170425 DECLARE l_result BOOLEAN; l_msg_count NUMBER; l_result_n varchar2( ...

  8. Oracle EBS AP 供应商API

    --创建供应商地址上的电话号码 created by jenrry 20170419 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; ...

  9. Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款

    1>找出相应的发票; SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num, pv.segment1 vendor_num, pv. ...

随机推荐

  1. What does -> do in clojure?

    https://stackoverflow.com/questions/4579226/what-does-do-in-clojure

  2. windows下通过VNC图形化访问Ubuntu桌面环境

    要在windows下图形化访问Ubuntu或其它Linux系统桌面环境有很多方法,我比较喜欢的是使用VNC服务,需要在Ubuntu下安装vncserver和在windows下安装客户端访问工具. 1. ...

  3. GoogLeNetv2 论文研读笔记

    Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 原文链接 摘要 ...

  4. sip (gb28181)信令交互-视频点播与回播

    客户端发起的实时点播消息示范:(请求视频信令与断开视频信息 和 回播基本无差别) .请求视频流 INVITE sip:@ SIP/2.0 Via: SIP/;rport;branch=z9hG4bK2 ...

  5. 使用gitlab, jenkins搭建CI(持续集成)系统(4) 灰度发布publish

    publish环境是正式环境,和dev, test, prepublish环境不同的是,正式环境一般要更加谨慎一些,发布的时候需要有一个灰度过程,即:分多次部署,每次部署几个服务器节点,验证没有问题以 ...

  6. 【SpringBoot系列2】SpringBoot整合Redis

    前言: 真的越来越喜欢SpringBoot了,这是SpringBoot学习系列之一. 正文: 1:首先在pom文件中添加依赖,记得是spring-boot-starter-data-redis,不是s ...

  7. 拥抱HTML5

    HTNL5是2014年10月W3C推出的新标准,引入新的特性并对移动端更加友好. canvas <canvas>标签用于标记画布元素, 使用js脚本可以在画布上绘制自定义图形. 绘制矩形; ...

  8. dom操作------获取元素的若干方法

    // 1,getElementById:返回元素节点document.getElementById(); // 2,getElementsByClassName:返回HTMLCollection对象( ...

  9. AngularJS学习笔记(一)走近AngularJS

    什么是AngularJS AngularJS是一款优秀的前端JS框架,是Google多款产品之一,简称ng. ng有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入 ...

  10. 选择ORACLE数据库字符集

    如何选择数据库的字符集是一个有争议的话题,字符集本身涉及的范围很广,它与应用程序.客户的本地环境.操作系统.服务器等关系很密切,因此要做出合适的 选择,需要明白这些因素之间的关系.另外对字符集的基本概 ...