Form练习问题大杂汇

23 篇文章 0 订阅
1. 1)
现象:Folder Form打开时报告“找不到项的引用” ,进一步提示为“XXX块.XX项”无效引用
分析:发现其他Item都可以移动,就其中某个item移动无效,对比发现Prompt块中该Item对应的DataBlock中的Item拼写错误,导致找不到匹配的item.
解决方法:把Data块中的item拼写更正,保持与Prompt块中对应的item一致即可。

2. 2)
现象:当同时存在content画布和 堆叠画布的时候,发现有时content画布上的内容没有显示。
分析:有时第一个导航item存在与promot画布上,且在window中又未设置主画布为content画布时,会出现这种情况。
解决方法:设置window的primary canvas 为对应的content画布即可。

3. 3)
现象:Form编写一切按照教程进行,但在EBS中运行时,一片空白,什么都不显示。
分析:这可能是在服务器上编译时,路径不在$AU_TOP/forms/US的原因。
解决方法:确保编译时路径在$AU_TOP/forms/US;

4. 4)
现象:手电筒查询按钮,点一次查询后就变灰了,查询完成后也没有恢复成亮的,导致不能第二次查询
分析:这是主数据块(被查询的数据块)上When-new-record-instance触发器的执行层次问题
解决:改一下主data block的触发器WHEN-NEW-RECORD-INSTANCE ,把属性execution hierarchy改为after。

5. 5)
现象:Folder的Form 点开后什么显示也没有,但在when-new-form-instance中使用fnd_message.debug('kk1');有显示。
分析:有同学调试发现如果第一个导航快设置为prompt块可能导致该问题
解决方法:把主块设置为第一个导航块(在formbuilder中放在prompt块上方)

6)
6. 问题现象描述:今天在项目上碰到的一个问题,打开时不断报告错误,诸如“invalid object name”,“invalid block name”,“找不到XXX canvas” 等等,总是有点不完的错误。
问题分析:这时可能是运用define_folder_block(,,,,省略,)定义FOLDER时,第一个参数已经存在,或者其余的参数拼写错误,导致FORM找不到合适的BLOCK,CANVAS等等。
解决方法:检查FORM级TRIGER----->WHEN-NEW-FORM-INSTANCE,检查define_folder_block(),下面给出该过程的详细定义:
define_folder_block(object_name varchar2, --唯一对象名,自己定义,不能与已存在的重复
folder_block_name varchar2 default 'FOLDER', --FOLDER BLOCK 的名称,注意拼写,最好用大写,下同
prompt_block_name varchar2 default 'PROMPT', --PROMPT BLOCK 的名称
folder_canvas_name varchar2 default 'FOLDER', --用于显示FOLDER BLOCK的画布名称
folder_window_name varchar2 default 'FOLDER', --用于显示上述画布的窗口名称
disabled_functions varchar2 default null, --是否要屏蔽某些FOLDER功能,如移动prompt项,修改等,不需要屏蔽则null
tab_canvas_name varchar2 default null, --若是TAB FOLDER,这里填写tab画布名称,非某一page
fixed_canvas_name varchar2 default NULL) --若是TAB FOLDER,这里填写像非TAB中,用于显示固定item所处的canvas名称

7)
7. 现象:执行HAND_PLSQL_UTOCREATE.pck显示有编译错误
解决方法:使用apps登陆后再执行就好了

8)
8. 现象:基于view的form开发时,自动生成代码的函数需要一个主键和sequence 但原来的表上没有主键,也缺少sequence;所以执行报错;
解决方法:原来表上规划了主键:SUB_CONTRACT_PATH_ID,只是没有建立,同学可以自己建主键 和sequence:
1、在cux下建立主键和sequence:
ALTER TABLE SYF_CONTRACT_PATH ADD CONSTRAINT SYF_CONTRACT_PATH_PK1 PRIMARY KEY(SUB_CONTRACT_PATH_ID);
create sequence SYF_CONTRACT_PATH_S;
2、在APPS下建立sequence的同义词:
create synonym SYF_CONTRACT_PATH_S for cux.SYF_CONTRACT_PATH_S;
创建视图:create or replace view SYF_CONTRACT_PATH_V as
select SYF_CONTRACT_PATH.rowid ROW_ID, SYF_CONTRACT_PATH.*
from SYF_CONTRACT_PATH

9. 问题现象描述:运行FOLDER form时,发现stacked canvas横向滚动条微微压住最后一行,无论怎么调也调不好
问题分析:因为folder有自动排版功能,stacked canvas显示的高度=prompt显示项的高度+标题与文本项之间距离+(folder文本项的高度+固定行距)*行数,所以当你手动拖动stacked canvas画布布局时,“标题与文本项之间距离”就不精确了,导致最后一行被压住。
解决方法:提供一个美观的数值,prompt显示项的高度(0.25),坐标(X,Y)=(0,0);folder文本项的高度(0.25),坐标(0,0.25);

10. 7、现象:Form在本地和服务器编译正常,但在运行时报错误:无法解决对项:folder_tools.open的引用; 无法解决对项:folder_tools.save ,folder_tools.new,folder_tools.delete的引用;
分析:folder_tools.save 在form中实际是存在的,但运行时错误可能是因为引用的绝对路径问题,有些同学在form builder 的个人偏好设置中,在subclass Tab页-〉subclassing path 设置keep,导致fmb中保留了绝对路径引用,从而导致该问题。
解决方法:
把设置修改成Remove,然后重新subclass 对象组即可。

11. 8、现象:有同学在开发弹性域的时候DF未能显示,且报" 不能解决对项:S_XXX_CONTRACT_PATH.DF的引用,检查主数据库及prompt块上均已设置DFitem,且均设置为非数据库项的,这是怎么回事呢?
分析:经检查发现是同学对FND_DESCR_FLEX.DEFINE() 中的参数理解有误,第一个参数应该是BLOCK的名称,有同学误写成Table的名称,导致该错误。
解决方法:正确理解参数的含义并使用之,该函数的具体参数解释可参考120devg.pdf 第287页。

12. 9、现象:有同学在开发弹性域的时候,什么错误都没有,但DF就是没有显示出来。
分析:检查发现该同学在运行时已经保存了多个folder, 且每次打开Form都会打开一个默认的Foder,而该Folder在保存的时候还没有加DF,所以这些Folder都没有包含DF 。
解决方法:删除该Form的所有Folder,重新打开该Form即可。

13. 现象:在第一个TAB页中添加了弹性域,然后运行时第一个TAB页只显示了一个字段。
分析:TAB页中的弹性域的ITEM字段位置顺序有问题,DF和第二个TAB页的ITEM放在了一起。
解决方法:把DF放在第一个TAB的那些ITEM后。


14. 现象:修改一个form时运行时出现提示 :
FRM-30047: Cannot resolve item reference PRINT_BANK_APY.TEMPLATE_MEANING.
LOV PRINT_BANK_APY_C
Form: CUXBTBILL
FRM-30085: Unable to adjust form for output.
分析:form 是通过选择性复制过来的,所以LOV对应的return item 没有改变或被删掉了。
解决方法:重新设置该LOV的属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值