FORMS开发中FOLDER功能的应用详解

需积分: 13 0 下载量 103 浏览量 更新于2024-09-17 收藏 81KB DOC 举报
"FORMS开发中FOLDER(文件夹)功能的使用主要涉及在Oracle Forms中创建和管理文件夹结构,以提供更好的数据组织和用户界面。这一功能通过YSFOLDER.FMB模板来实现,包括定义文件夹数据块、设置FORM级触发器以及使用Attached Libraries中的APPFLDR.PLL库。此外,还需要对ObjectGroups进行配置,以便于继承和自定义文件夹功能。" 在FORMS开发中,FOLDER功能的使用是提高应用用户交互性和数据管理效率的关键步骤。首先,我们需要创建一个名为YSFOLDER.FMB的模板,用于定义文件夹结构。模板的创建过程中,有几个关键步骤: 1. **定义文件夹数据块**:在`WHEN-NEW-FORM-INSTANCE`触发器中,通过调用`app_folder.define_folder_block`过程来初始化文件夹数据块。这个过程需要指定几个参数,如对象名称、文件夹数据块名、提示块名、堆叠画布名和窗口名,这些参数都是VARCHAR2类型,长度限制在20个字符以内。 2. **添加FORM级触发器**:为了处理文件夹的操作,需要添加两个FORM级触发器——`FOLDER_ACTION`和`FOLDER_RETURN_ACTION`。`FOLDER_ACTION`触发器中调用`app_folder.event`来响应用户的操作,而`FOLDER_RETURN_ACTION`则通常用于处理返回操作,但在这个例子中,它被设置为`null`。 3. **添加Attached Libraries**:引入APPFLDR.PLL库,这是Oracle Forms中用于实现文件夹功能的PL/SQL库。这个库通常位于ERP安装目录的特定路径下,需要将其添加到模板中。 4. **ObjectGroups的配置**:通过复制并引用APPSTAND.FMB中的`STANDARD_FOLDER`对象组,实现模板的继承。选择“Reference”以继承属性,并选择“Removepath”来确保对象组中的对象映射直接应用到当前模板中。 接着,我们需要根据具体需求定制模板实例: 1. **修改模板例子**:在`WHEN-NEW-FORM-INSTANCE`触发器中,更新`define_folder_block`调用中的参数,以适应特定表单的需求,例如更改对象名称、数据块名称等。 2. **定义窗口和堆叠画布**:创建或修改窗口(如win_main)以继承特定的窗口属性,如`WINDOW_NORMAL`。堆叠画布(stackedcanvas)用于在文件夹视图中展示数据块内容,需要根据实际设计进行配置。 通过这些步骤,我们可以构建出具有文件夹功能的Oracle Forms应用,使用户能够更有效地浏览和管理数据,提供更直观的界面体验。在实际开发过程中,还可能需要根据业务需求调整触发器逻辑、事件处理以及界面布局,以满足特定的业务场景。