--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. 第十五章-class类文件结构

    参考博文: (1)关于class的签名Signature (2)关于访问标识 (3)关于Class中的Signature属性 (4)附录1 常量池解析 (5)附录2 方法解析 (6)Class文件结构 ...

  2. 【JAVA】内部类,内部接口

    内部类: 内部类可以很好的实现隐藏,一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 内部类拥有外围类的所有元素的访问权限 可是实现多重继承 可以避免修改接口而实现 ...

  3. apache 的 配置项

    一.主服务器部分 1.ServerName 指令 定义Apache默认主机名,(默认注释掉的),后面跟站点名,或是IP 例如:ServerName www.jone.com  或者 ServerNam ...

  4. Android so 文件进阶<三> so文件的简单加密

    0x00  前言 之前的两篇文章从链接视图和执行视图分析了elf文件的大致结构,这篇文章主要内容是对于so文件进行简单的加密工作,针对Ida等静态分析工具的分析,一旦开始动态调试就应该很容易就可以du ...

  5. sqoop部署及使用

    一.概述 sqoop是hive.hdfs.hbase等与RDMBS(mysql等)之间的沟通桥梁,主要通过JDBC与RDMBS进行交互.有两个版本sqoop1和sqoop2,sqoop1架构简单,使用 ...

  6. new image的使用

    在看别人的程序,用到了new image()这种方法,然而怎么看也不是很明白: 于是就上网搜,然而却没有一个人能够解开我心中的疑惑,因为没有一个人的程序是完整的, 即使我知道怎么用,但是我看不到效果就 ...

  7. 读jQuery源码释疑笔记3

    1.在jQuery.fn=jQuery.prototype中定义了方法:init, map, each , toArray, get, pushStack,   ready,  slice,first ...

  8. What is AMQP? and the architecture

    What is AMQP? (Advanced Message Queuing Protocol) When two applications need to communicate there ar ...

  9. tomcat 防火墙如何设置

    tomcat 防火墙能够有效的防护我们电脑,那么我们要怎么样去设置呢?下面由学习啦小编给你做出详细的tomcat 防火墙设置方法介绍!希望对你有帮助! tomcat 防火墙设置方法一: 1.为tomc ...

  10. Java开发中常用的设计模式(二)---单例模式

    一. 懒汉式单例 //懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static Sing ...