技术开发 频道

ORACLEERP开发基础之EBS开发基础

  实现文件夹功能

  1、在客制的Form里面实现Oracle Folder的功能,最终效果如下:

  2、使用TEMPLATE.fmb创建一个Form(名称:FRMSTONE)。

  2.1添加Form Objects 包括一个Window,MY_FOLDER

  一个Canvas, MY_FOLDER 一个Block,MY_FOLDER(可以使用向导创建),并修改其属性。如下图:

  注:使用文件夹的数据块,其名称总长不能超过22字节!

  2.2修改Trigger和ProgramUnits

  Form Level Trigger: PRE-FORM:

  app_window.set_window_position('MYFOLDER', 'FIRST_WINDOW');

  Program Units:APP_CUSTOM:

  if (wnd = 'MYFOLDER') then app_window.close_first_window;

  2.3修改FORM属性设置

  注:须要说明的是:设成第一个导航数据块的blockname必须至少一个item处于canvas中,否则会报FRM-40106的错误。

  2.4其他的具体步骤同一般的FORM开发一样,就不多说了。

  3、添加Folder相关的Objects

  3.1文件夹相关的Window、Canvas、Block、Item…等都包含在Oracle Standard Form APPSTAND.FMB。

  3.2在同一窗口打开标准的Form和我们自己客制的Form,并且选择APPSTAND.FMB 的Object Groups STANDARD_FOLDER然后用鼠标拖动至我们自己的Form的Object Groups。

  3.3此时会弹出对话框:

  选择子类,你会发现Form Builder都会在你的Form里面自动添加很多对象。做完这一步后,请不要关闭APPSTAND.FMB。

  4、增加Attached Libraries

  做完上面的步骤后,检查一下Attached libraries里面有没有APPFLDR。如果没有,我们需要手工添加。

  5、增加Stacked Canvas FOLDER_STACK 这一步是必须的,而且你期望实现Folder拖动功能的那些Item都是放在这个Canvas里面,这个Stacked Canvas又是放在前面我们建立的Canvas:MY_FOLDER上面的。

  5.1增加Stacked Canvas 双击打开Canvas MY_FOLDER,在左侧工具条里面选择Stacked Canvas,然后在Canvas MY_FOLDER里面拖动即可。

  5.2设置Stacked Canvas属性

  6、更改数据块MY_FOLDER中的Item属性

6
相关文章