下载此文档

oracleform开发之调用form.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
oracleform开发之调用form
Oracle Form二次开发实战总结 调用Form Form开发中经常会用到Form间相互调用的功能,总结了以下,大概有以下3种方法:
方法1
PROCEDURE shot_plan_new IS
fm_id FormModule;
BEGIN
fm_id := Find_Form('TVSNPMPSCRNMT');
if id_null(fm_id) then
('TVSN','TVSNPMPSCRNMT');
--Application Name --Function Name
else
go_form('TVSNPMPSCRNMT');
end if;
END;
实现思路:首先检测是否已经打开了目标Form,是的话就是目标Form成为当前窗体,否的话就新打开一个目标Form。假如在目标Form需要随源Form自动查询出数据,须将代码写在when-window-actived trigger中。
注意:go_form会引起源Form的when-window-deactived和目标form的when-window-actived trigger,when-window-actived trigger在form切换时都会被触发,因此目标form如果有弹出日历等调用新窗体的操作时,需要设置是否是第一次触发标识作判断,否则可能达不到设计的效果,,否则会引起死锁。另外此种go_form方法如需要传递参数的话,只能依靠:,关闭窗体时需要在close-windows或WHEN-WINDOW-CLOSED事件中清除,否则可能导致不需要的后果。

方法2
declare pl_id ParamList;
fm_id FormModule;
BEGIN
pl_id := Get_Parameter_List('SCRNMTPL');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('SCRNMTPL');
Add_Parameter(pl_id,'SHOT_DATE',TEXT_PARAMETER,to_char(d_from,'YYYY-MM-DD'));
Add_Parameter(pl_id,'CHANNEL_TYPE_ID', TEXT_PARAMETER,:);
Add_Parameter(pl_id,'CHANNEL_TYPE_NAME', TEXT_PARAMETER,:);

fm_id := Find_Form('TVSNPMPSCRNMT');

oracleform开发之调用form 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人好用的文档
  • 文件大小35 KB
  • 时间2021-07-26