PA模块报错-实际返回的行数超出请求的行数(分析标准FORM报错解决思路)
录入预算报错时报错:
分析:这个错误是select into 语句返回多行的结果,但具体在哪?
两种方法查找,trace 或者debug
1.trace
启用调试
获取trace文件
TKPROF: Release 11.2.0.2.0 - Development on Mon Jul 28 11:21:34 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
分析trace文件
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Trace file: ERPDEV_ora_7532_RICK.trc
Sort options: default
********************************************************************************
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
********************************************************************************
SQL ID: ga9j9xk5cy9s0 Plan Hash: 467424113
select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length,piece
from
idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by piece#
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 8 0.00 0.00 0 0 0 0
Execute 8 0.00 0.01 0 0 0 0
Fetch 22 0.01 0.15 12 66 0 14
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 38 0.01 0.17 12 66 0 14
...........
内容太多找不到出错点
用debug
分析保存时触发器执行顺序
(1)WHEN-V ALIDA TE-RECORD(将页面上的所有数据提交到数据库,若页面上有重复的数据,则提交
第一次时成功但只是将数据先写到数据库中一类似临时表的地方,在提交第二条重复记录的时候报错,执
行事务回滚,原来执行成功的指令也将被撤消)
(2) PRE-INSER T
(3) ON-INSER T
(4) POST-INSER T
(5) POST-FORMS-COMMIT
(6) PRE-BLOCK(BLOCK 级)
(7) KEY-COMMIT
(8) WHEN-NEW-ITEM-INST ANCE
做界面跟踪
好像是在WHEN-V ALIDA TE-RECORD 里面
备份AU_TOP下的fmb文件以及PA_TOP下的fmx文件
在form触发器里debug
发现不是 WHEN-V ALIDA TE-RECORD 里面
在pre-insert以及on-insert外层定位
matrix1.when_validate_record;
FND_MESSAGE.DEBUG('end validate');
matrix5.validate_resource_level;
FND_MESSAGE.DEBUG('on-insert -1');
matrix.insert_update_record;
FND_MESSAGE.DEBUG('end on-insert');
发现是在on-insert里面的matrix.insert_update_record;报错
做精确定位
--{
l_period_type_code := null;
fnd_message.debug(' insert_update_record 3');
fnd_message.debug(' :matrix_control.p1 3:'||:matrix_control.p1);
select period_type_code into l_period_type_code
from pa_budget_periods_v where period_name = :matrix_control.p1;
fnd_message.debug(' insert_update_record 4');
找到问题,form被以前开发中修改过,取期间code时没加模块限制,返回多行数据
解决,加模块限制
select period_type_code into l_period_type_code
from pa_budget_periods_v where period_name = :matrix_control.p1
and period_type_m = 'PA Period';
PA模块报错-实际返回的行数超出请求的行数(分析标准FORM报错解决思路)的更多相关文章
- oracle:ORACLE 实际返回的行数超出请求的行数
写的存储过程,执行后一直报实际返回的行数超出请求的行数的错误. 原因:select prdt_id into prdt_id from.... 两个变量名称相同造成的..哎 第一个变量换成大写..问 ...
- LoadXml 加载XML时,报错:“根级别上的数据无效。 行1,位置1“
==XML=================================== <?xml version="1.0" encoding="utf-8" ...
- MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG)20180502
错误提示:ORA-00001: 违反唯一约束条件 (ABPPMGR.C0248833319_6192)ORA-06512: 在 "STG.FP_MO_SPLIT", line 19 ...
- vs报错“以下文件中的行尾不一致,是否将行尾标准化”
vs报错"以下文件中的行尾不一致,是否将行尾标准化" 分析: 通过读取源文件,发现换行都使用的是"\n" Windows和Unix不同的标准引起的...即& ...
- C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法
最近在做项目的时候需要操作ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候总 ...
- post数据时报错:远程服务器返回错误: (400) 错误的请求。
网上查了多种方法,有不少说法,报400说是传的数据格式不对,最后的结论确实是数据格式不对. Content_Type为:application/json,配的数据格式有些麻烦,特别数多层,单层还好.例 ...
- linux 终端报错 Out of memory: Kill process[PID] [process name] score问题分析
从Out of memory来看是内存超出了,后面的 Kill process[PID] [process name] score好像和进程有关了,下面我们就一起来看看linux 终端报错 Out o ...
- ObsoleteAttribute 可适用于除程序集、模块、参数或返回值以外的所有程序元素。 将元素标记为过时可以通知用户:该元素在产品的未来版本中将被移除。
官方文档:https://msdn.microsoft.com/zh-cn/library/system.obsoleteattribute(v=vs.110).aspx 备注 ObsoleteAtt ...
- phpize命令在安装AMQP插件是报错phpize:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF envir的解决方法
phpize命令在安装AMQP插件是报错phpize:Cannot find autoconf. Please check your autoconf installation and the $PH ...
随机推荐
- Database Design Guidelines
Database Design Guidelines Principles Support popular databases Name Style Table Name Style: Pascal ...
- 借助Bodymovin播放svg动画
svg动画,截取工具有点不忍直视了~~~ 为了实现上面的svg动画,可以使用bodymovin插件,简单配置之后,就可以直接可以实现在 AE(可视化操作,不用码代码)上面导出 svg的json数据,在 ...
- Nginx+tomcat配置集群负载均衡
开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...
- c++ 深入理解虚函数
为什么使用虚函数?什么是虚函数?虚函数是为了解决什么问题? 面向对象的三大特征: 封装 多态 继承 普通虚函数 虚析构函数 纯虚函数 抽象类 接口类 隐藏 vs 覆盖 隐藏与覆盖之间的关系 早绑定和晚 ...
- OpenCv error :unresolved external symbol(链接库没有加上)
Error 如下:Linking...: error LNK2001: unresolved external symbol _cvDestroyWindow: error LNK2001: unre ...
- Unity CommandBuffer的一些学习整理
1.前言 近期在整理CommandBuffer这块资料,之前的了解一直较为混乱. 算不上新东西了,但个人觉得有些时候要比加一个摄像机再转RT廉价一些,至少省了深度排序这些操作. 本文使用两个例子讲解C ...
- 酷伯伯实时免费HTTP代理ip爬取(端口图片显示+document.write)
分析 打开页面http://www.coobobo.com/free-http-proxy/,端口数字一看就不对劲,老规律ctrl+shift+c选一下: 这就很悲剧了,端口数字都是用图片显示的: 不 ...
- ACM 今年暑假不AC
"今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" "@#$%^&*%... ...
- jQuery 遍历 – 后代
后代是子.孙.曾孙等等. 通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代. 向下遍历 DOM 树 下面是两个用于向下遍历 DOM 树的 jQuery 方法: children() f ...
- hbase大规模数据写入的优化历程
业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的 ...