Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款
1>找出相应的发票;
SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num,
pv.segment1 vendor_num, pv.vendor_name vendor_name,
'The fully Paid invoice should be closed!' status
FROM ap.ap_invoices_all ai,
po.po_vendors pv,
ap.ap_payment_schedules_all aps
WHERE ai.invoice_id = aps.invoice_id
AND ai.set_of_books_id = &sob
AND ai.invoice_amount = ai.amount_paid
AND ai.cancelled_date IS NULL
AND ai.vendor_id = pv.vendor_id
AND ( ai.payment_status_flag <> 'Y'
OR aps.payment_status_flag <> 'Y'
)
2>更新相应flag以符合实际业务;
update ap_invoices_all
set payment_status_flag='Y'
where invoice_id=&invoice_id;
update ap_payment_schedules_all
set payment_status_flag='Y'
where invoice_id=&invoice_id;
结论: 测试发现
1>两表中的payment_status_flag任一一个为Y,另一个取值N或P,在付款工作台会选择不到发票;
2>两表中的payment_status_flag均不为Y,两者不管取N或P,在付款工作台上都能选择到发票.
Metalink反馈[SR:7571908.994]
CAUSE DETERMINATION
====================
The cause of the issue is invalid / incorrect data in AP_PAYMENT_SCHEDULES_ALL and AP_Invoices_All tables
Extra row(s) with AMOUNT_REMAINING, BATCH_ID, DUE_DATE ,GROSS_AMOUNT fields should not be null in
AP_PAYMENT_SCHEDULES_ALL table PAYMENT_STATUS_ FLAG should not be P in AP_Invoices_All table
SOLUTION / ACTION PLAN
======================
To implement the solution, please execute the following steps:
1. Ensure that you have taken a backup of your system before applying the recommended s
olution.
2. Run the following scripts in a TEST environment first:
Create table TAR_7571908_994_APSA as
Select * from ap_payment_schedules_all
Where amount_remaining is null and
batch_id is null and
due_date is null and
gross_amount is null and
payment_status_flag='P';
Create table TAR_7571908_994_AIA as
Select * from AP_Invoices_All
Where INVOICE_ID in (485237, 492065) and
PAYMENT_STATUS_FLAG = 'P';
Delete from ap_payment_schedules_all
Where amount_remaining is null and
batch_id is null and
due_date is null and
gross_amount is null and
payment_status_flag='P';
--This should delete all extra row(s) rows with null values fields in ap_payment_schedules_all
Update AP_Invoices_All
Set PAYMENT_STATUS_FLAG = 'Y'
Where INVOICE_ID in (485237, 492065);
--This should update PAYMENT_STATUS_FLAG field in the invoices specified
Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款的更多相关文章
- Oracle EBS AP 发票放弃行
-- purpose: 应付发票放弃发票行 -- 12.2.6 环境 -- author:jenrry create_date: 2017-06-07 declare l_dummy_msg VARC ...
- Oracle EBS AP 取消发票
--取消发票 created by jenrry 20170425 declare l_result BOOLEAN; l_message_name VARCHAR2(240); l_invoice_ ...
- Oracle EBS AP 取消付款
--取消付款 created by jenrry 20170425 declare l_return_status varchar2(50); l_msg_count number; l_msg_da ...
- Oracle EBS AP 创建贷项通知单并核销到相应发票
--1.0 生成与发票一样的贷项通知单 created by jenrry 20170423 DECLARE L_CUSTOMER_TRX_ID NUMBER; L_INVOICE_NUMBER VA ...
- ORACLE EBS AP invoice 到付款的数据流
--1.Invoice创建时生成数据如下表 --Invoice主表 SELECT * FROM AP_INVOICES_ALL A WHERE A.INVOICE_NUM = '20111213001 ...
- Oracle EBS AP 应付核销到确定一行预付款
-- purpose: 应付标准发票核销预付款发票中的一行 -- 12.2.6 环境 -- author:jenrry create_date: 2017-06-08 declare l_error_ ...
- Oracle EBS AP取消核销
--取消核销 created by jenrry 20170425 DECLARE l_result BOOLEAN; l_msg_count NUMBER; l_result_n varchar2( ...
- Oracle EBS AP 供应商取值
SELECT --nvl(substr(po.vendor_name,1,instr(po.vendor_name,',',1)-1),po.vendor_name) vendor_name, po. ...
- Oracle EBS AP 供应商API
--创建供应商地址上的电话号码 created by jenrry 20170419 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; ...
随机推荐
- ASP.NET 负载均衡 StateServer Session共享问题(经验记录)
(源地址:http://www.cnblogs.com/ryhan/p/3748976.html) 最近在改造公司的一个系统 支持F5硬件负载,由于系统后面还跟了个异步工具,需要将Admin上传的文件 ...
- docker 创建基础镜像
docker 安装卸妆官方说明: https://docs.docker.com/install/linux/docker-ee/centos/#os-requirements 本系列基于cento ...
- HDFS:分布式文件系统
HDFS是GFS的简化版,它同一时刻只允许一个用户对同一文件进行追加写操作(GFS允许并发写).它适合存储大文件,并提供高吞吐量的顺序读/写访问. 它的早期版本两大问题,例如:单点失效和水平扩展不佳. ...
- double类型转换为int类型四舍五入工具类
package com.qiyuan.util; import java.math.BigDecimal; import java.text.DecimalFormat; public class G ...
- SpringMVC源码阅读:Controller中参数解析
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...
- C语言——打印“Hello World!”,这么简单?
打印Hello World! #inculde <stdio.h> int main(){ printf("Hello World!"); return 0; } 第一 ...
- 【转】外国朋友出的js题目,你能对几道
原文地址 http://perfectionkills.com/javascript-quiz/ 中文地址加解释:by Aaron:http://www.cnblogs.com/aaronjs/p/3 ...
- 快排,归并和Shell排序
快速排序 快速排序的执行流程: (1) 先从数列中取出一个数作为基准数. (2) 将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边. (3)再对左右区间重复第二步,直到各区间只有一个数. ...
- Node.js之HTPP URL
几乎每门编程语言都会包括网络这块,Node.js也不例外.今天主要是熟悉下Node.js中HTTP服务.其实HTTP模块是相当低层次的,它不提供路由.cookie.缓存等,像Web开发中不会直接使用, ...
- composer如何自动验证并获取gitlab的私有库?
近期购买了Laravel的nova以后,需要对它的核心代码做一些修改,为方便与团队其他成员分享,以及在nova官方库更新后方便对差异管理.便将nova库挂在自己的gitlab,通过compos ...