oracle form 文件夹,Oracle Form开发之folder(文件夹)功能开发(一)

一、模板制作:YSFOLDER.FMB

打开TEMPLATE.FMB,如果打开的是APPSTAND.FMB,以下步骤省略:

1、FORM级触发器:

1、在WHEN-NEW-FORM-INSTANCE后面添加以下代码:

--定义文件夹数据块

app_folder.define_folder_block(

object_name => ' DETAILBLOCK _FOLDER' ,

folder_block_name => 'DETAILBLOCK',

prompt_block_name => 'DETAILBLOCK_PROMPT',

folder_canvas_name => 'DETAILBLOCK_STACKED',

folder_window_name => 'BLOCKNAME',

disabled_functions => '');

--以上参数均为VARCHAR2,长度不得超过20个字符

2、增加FORM级触发器:FOLDER_ACTION,PL/SQL代码如下:

app_folder.event(:global.folder_action);

3、增加FORM级触发器:FOLDER_RETURN_ACTION,PL/SQL代码如下:

null;

--

-- action code is in :global.folder_action

-- affected field is in :global.folder_field

--

2、Attached Libraries:

添加文件:APPFLDR.PLL

来源:ERP安装目录下,AU目录下查找该类文件所在的目录

3、Object Groups

继承一个对象组:STANDARD_FOLDER

做法:复制APPSTAND.FMB中的同名对象,粘贴到模板对象组中,选择“Refence”(继承),路径方式选择“Remove path”(不要路经)。

结果:将会把对象组中的所有对象映射添加到相应的对象节点中。

二、模板例子的制作

1、修改WHEN-NEW-FORM-INSTANCE中文件夹数据块定义语句中的参数,确定对象名称(一般为form对象名称)、文件夹数据块名称、标题块名称、堆叠画布名称、窗口名称。

2、定义窗口(windows),win_main:继承属性WINDOW_NORMAL

3、定义堆叠画布(stacked canvas-views), cv_detail_stacked:继承属性类CANVAS_STACKED

4、定义文件夹数据块(folder block),blk_detail:继承属性类BLOCK

(1)触发器:

·KEY-EXEQRY:

app_folder.event('KEY-EXEQRY');

·KEY-NEXT-ITEM

app_folder.event('KEY-NEXT-ITEM');

·KEY-PREV-ITEM

app_folder.event('KEY-PREV-ITEM');

·POST-BLOCK

app_folder.event('POST-BLOCK');

·PRE-BLOCK

app_folder.event('PRE-BLOCK');

·WHEN-NEW-BLOCK-INSTANCE

App_folder.event('WHEN-NEW-BLOCK-INSTANCE');

·KEY_CLRBLK

App_folder.event(' KEY_CLRBLK ');

·KEY_ENTQRY

App_folder.event(' KEY_ENTQRY ');

·KEY_NXTREC

App_folder.event(' KEY_NXTREC ');

·KEY_PRVREC

App_folder.event(' KEY_PRVREC ');

·PRE_QUERY

App_folder.event(' PRE_QUERY ');

·WHEN-NEW-RECORD-INSTANCE

App_folder.event('WHEN-NEW-RECORD-INSTANCE');

(2)定义数据项,可以是表项,也可以是非基表项,确定哪些项需要放在堆叠画布上,注意只有在堆叠画布上的项才能使用文件夹功能

(3)注意:数据项的类型不能是:Display Item、List Item等;

可以是:Text Item、Check Box等;

如果打开folder时出现错误:“Set_Item_Property没有这样的属性”,说明erp标准程序中用到的属性在个别项中不存在,出现几次就有几个缺乏这个属性的Item;是否拥有这个属性,是由Item的类型确定的,因此有些Item类型不能用于folder功能。

(4)确定各个项在画布中的位置

5、定义标题数据块(prompt block), blk_detail_prompt:继承属性类BLOCK_DIALOG

便捷的做法:先复制文件夹数据块blk_detail,改名称,再删去新块下的全部触发器,然后除去不需要的项,修改剩下所有项的属性继承FOLDER_PROMPT_MULTRIROW,最后将各个项的default

value属性值写入对应的中文或英文标题

(1)触发器:无

(2)标题项,来自文件夹数据块blk_detail,属性继承自FOLDER_PROMPT_MULTIROW,default value属性值写入相应的中英文标题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值