注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Memory extender

Beautiful Day..

 
 
 

日志

 
 

FRM-40741: Unable to locate record %d on block %s.  

2011-01-04 17:23:26|  分类: EBS Form |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

FRM-40741:  Unable to locate record %d on block %s.
Cause:        You attempted to get or set record properties for an invalid record number for the given block.
Action:        Verify your Get/Set record property parameters.

举例:
Query_Find类型的Form,Result为两个Block,Master-Detail关联(Master Block不可新增记录)。

为了实现“当光标在Detail Block的时候,点击Master Block的新记录处,Detail Block不会清空(一般情况下,当这样操作的时候,会报
FRM-41051: You cannot create records here.同时,Detail Block记录被清掉)”,

在Master Block的ON-CLEAR-DETAILS Trigger里加了条件

IF :system.cursor_block=Master Block THEN

  Clear_All_Master_Details;
END IF;

同时将此Trigger的Execution Hierarchy设置为Override.

但是却带来了另外一个问题:
例如Master有两条记录,其下各有N条Detail记录
当光标在第一条Master的第N(N>1)条Detail记录时,光标移到第二条Master记录Master记录,

会报错:FRM-40741: Unable to locate record N on block xxx.

  
FRM-40741: Unable to locate record d on block s. - Gabriel - Gabriel
如图:光标从M1的D2移动到M2
 
原因:在光标切换的时候,由于:system.cursor_block=Detail Block,因此不会执行Clear_All_Master_Details,

而其后执行的ON-POPULATE-DETAILS Trigger中获取的start item会是Detail Block的第N条记录(即之前光标所在的记录):startitm := :System.cursor_item;  

因此第一条Master中没有N条这么多的数据,就会报错,因为它无法定位到第N条。

Solution:之前的IF条件中增加ELSE处理:

              IF :system.cursor_block=Master Block THEN

                 Clear_All_Master_Details;

              ELSE

                  First_Record;
              END IF;

----------------------------------------------------------------------------------------------------------------------------------------------------

在系统标准的Form中一般不会遇到开题所说的需求,因为标准Form如果是Master-Detail关系的,一般情况下Master一次只显示一条记录,而客户化的Form,往往会用到Master及Detail都为表格形式显示,因此为了不给某些不熟悉系统的User造成困扰,可能就需要开题那样的处理。

  评论这张
 
阅读(1246)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017