Oracle EBS AP 创建贷项通知单并核销到相应发票
--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 创建贷项通知单并核销到相应发票的更多相关文章
- Oracle EBS AR 贷项通知单核销取值
SELECT cm.trx_number ,fnd_flex_ext.get_segs('SQLGL', 'GL#', gcc.chart_of_accounts_id, ad.code_combin ...
- Oracle EBS 贷项通知单核销
SELECT cm.trx_number ,fnd_flex_ext.get_segs('SQLGL', 'GL#', gcc.chart_of_accounts_id, ad.code_combin ...
- 使用API创建AR 贷项通知单
DECLARE --8000000063 l_dummy varchar2(240); l_customer_trx_id ra_customer_trx.customer_trx_id%type; ...
- EBS AP 创建会计科目失败
路径:应付款系统管理员/发票/发票 问题描述: 在AP发票界面录入一笔发票,验证发票,撤销发票,然后在AP发票界面的“活动”中创建会计科目,发现带出的并发请求“创建会计科目”正常跑完,但是通过“报表/ ...
- ORACLE EBS AP invoice 到付款的数据流
--1.Invoice创建时生成数据如下表 --Invoice主表 SELECT * FROM AP_INVOICES_ALL A WHERE A.INVOICE_NUM = '20111213001 ...
- Oracle EBS OPM 创建生产批
--创建生产批 --created by jenrry DECLARE x_message_count NUMBER; x_message_list VARCHAR2 (2000); x_return ...
- Oracle EBS AP取消核销
--取消核销 created by jenrry 20170425 DECLARE l_result BOOLEAN; l_msg_count NUMBER; l_result_n varchar2( ...
- Oracle EBS AP 供应商API
--创建供应商地址上的电话号码 created by jenrry 20170419 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; ...
- Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款
1>找出相应的发票; SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num, pv.segment1 vendor_num, pv. ...
随机推荐
- SHELL脚本编程的常识和VI常用技巧
来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...
- 装饰者模式——Java设计模式
装饰模式 1.概念 动态地为对象附加上额外的职责 其目的是包装一个对象,从而可以在运行时动态添加新的职责.每个装饰器都可以包装另一个装饰器,这样理论上来说可以对目标对象进行无限次的装饰. 2.装饰器类 ...
- 30-hadoop-hbase-安装squirrel工具
如果您的工作要求您在一天之中连接许多不同的数据库 (oracle.DB2.mysql.postgresql.Sql Server等等),或者你经常需要在多个不同种类的数据库之间进行数导入导出.那么SQ ...
- Tomcat学习总结(6)——Tomca常用配置详解
注:Tomcat 8需要JRE7以上的JRE 1. Tomcat环境变量设置 1.1 Java环境变量设置 右键计算机—属性—高级系统设置—环境变量,在”系统环境变量”,设置如下三个变量(如果变量已有 ...
- k8s服务网关ambassador部署
1.ambassador是datawire开源的服务网关,很好的支持kubernetes.具体详细介绍参考官网:https://www.getambassador.io/about/why-ambas ...
- SpringMvc RequestMappingHandlerMapping
RequestMappingHandlerMapping是SpringMvc中一个比较核心的类,查看下它的类结构图: InitializingBean是个很神奇的接口,在Spring每个容器的bean ...
- SpringMVC源码阅读:拦截器
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...
- UIKit 框架之UIView二
下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...
- 使用EntityManager批量保存数据
@PersistenceContext EntityManager em; 从别的系统中定期同步某张表的数据,由于数据量较大,采用批量保存 JPA EntityManager的四个主要方法 ① pub ...
- 使用Docker调试Asp.Net Core
使用 Docker 进行部署 目前还是使用将发布出来的文件打包进docker镜像的形式 $ docker build -t pims . $ docker run --name pims --rm - ...