open_form、call_form 和 new_form 在 oracle 表单中有什么区别
What are differences among open_form, call_form and new_form in oracle forms
oracle 表单中的open_form
、call_form
和new_form
有什么区别?详细。
多表单应用程序旨在在单个表单运行时会话期间打开多个表单模块。每个表单的运行时会话都以相同的方式开始——将单个表单模块加载到内存中。一旦第一个表单模块开始执行,它就可以以编程方式调用任意数量的附加表单模块,这些模块又可以调用其他表单。
当一个表单模块以编程方式调用另一个表单模块时,Oracle Forms 在适当的目录中查找新模块,然后将其加载到内存中。
让我们看看以下三个内置函数,以从一个表单调用另一个表单。
OPEN_FORM内置
此内置程序打开指定的表单。使用OPEN_FORM
创建多窗体应用,即同时打开多个窗体的应用。
进入查询模式:否
语法:
PROCEDURE OPEN_FORM
(formmodule_name VARCHAR2,
activate_mode NUMBER,
session_mode NUMBER,
data_mode NUMBER,
paramlist_id PARAMLIST);
其中:
formmodule_name:
- 要打开的表单的名称。数据类型为 VARCHAR2。必需
activate_mode:
- ACTIVATE:(默认设置。)将焦点设置到表单以使其成为应用程序中的活动表单。
- NO_ACTIVATE:打开窗体但不将焦点设置到窗体。当前表格保持最新状态。
session_mode:
- NO_SESSION(默认值。):指定打开的表单应与当前表单共享相同的数据库会话。
- 会话:指定应该为打开的表单创建一个新的、单独的数据库会话。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_id:
- Oracle Forms 在创建参数列表时分配给参数列表的唯一 ID。
CALL_FORM 内置:
运行指定的表单,同时保持父表单处于活动状态。 Oracle Forms 运行 调用的窗体与父窗体具有相同的运行窗体首选项。当被调用的表单退出时,Oracle Forms 处理在您发起对 CALL_FORM.
的调用的点处在调用表单中恢复
进入查询模式:是
语法:
PROCEDURE CALL_FORM
(formmodule_name VARCHAR2,
display NUMBER,
switch_menu NUMBER,
query_mode NUMBER,
data_mode NUMBER,
paramlist_name VARCHAR2);
其中:
formmodule_name:
- 被调用表单的名称(必须用单引号引起来)。数据类型为 VARCHAR2。
显示:
- HIDE(默认设置。):Oracle Forms 将在绘制被调用窗体之前隐藏调用窗体。
- NO_HIDE: Oracle Forms 将显示被调用的表单而不隐藏调用表单。
switch_menu:
- NO_REPLACE(默认值。):Oracle Forms 将为被调用窗体保持调用窗体的默认菜单模块处于活动状态。
- DO_REPLACE: Oracle Forms 会将调用窗体的默认菜单模块替换为被调用窗体的默认菜单模块。
query_mode:
- NO_QUERY_ONLY(默认值。):Oracle Forms 将在正常模式下 运行 指示的表单,允许最终用户从被调用的表单中执行插入、更新和删除。
- QUERY_ONLY: Oracle Forms 将 运行 指定的表单处于仅查询模式,允许最终用户查询,但不能插入、更新或删除记录。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_name:
- 您在定义参数列表对象时为其指定的名称。数据类型为 VARCHAR2。
NEW_FORM内置
退出当前表格并进入指定表格。调用窗体作为父窗体终止。如果调用表单已被更高级别的表单调用,Oracle Forms 会保持更高级别的调用处于活动状态,并将其视为对新表单的调用。 Oracle Forms 释放终止表单正在使用的内存(例如数据库游标)。 Oracle Forms 运行 是具有与父窗体相同的运行窗体选项的新窗体。如果父表单是被调用的表单,Oracle Forms 运行s 新表单具有与父表单相同的选项。
进入查询模式:否
语法:
PROCEDURE NEW_FORM
(formmodule_name VARCHAR2,
rollback_mode NUMBER,
query_mode NUMBER,
data_mode NUMBER,
paramlist_name VARCHAR2);
其中:
formmodule_name:
- 然后是被调用表单的名称(必须用单引号引起来)。数据类型为 VARCHAR2。
rollback_mode:
- TO_SAVEPOINT(默认值。):Oracle Forms 会将所有未提交的更改(包括已发布的更改)回滚到当前表单的保存点。
- NO_ROLLBACK: Oracle Forms 将退出当前表单而不回滚到保存点。
- FULL_ROLLBACK:Oracle Forms 回滚在当前 Runform 会话期间所做的所有未提交的更改(包括已发布的更改)。
query_mode:
- NO_QUERY_ONLY(默认值。)正常运行指示的表单,允许最终用户在表单中执行插入、更新和删除操作。
- QUERY_ONLY 以仅查询模式运行指示的表单;最终用户可以查询记录,但不能执行插入、更新或删除。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_name:
- 您在定义参数列表对象时为其指定的名称。数据类型为 VARCHAR2。
来源here
oracle 表单中的open_form
、call_form
和new_form
有什么区别?详细。
多表单应用程序旨在在单个表单运行时会话期间打开多个表单模块。每个表单的运行时会话都以相同的方式开始——将单个表单模块加载到内存中。一旦第一个表单模块开始执行,它就可以以编程方式调用任意数量的附加表单模块,这些模块又可以调用其他表单。
当一个表单模块以编程方式调用另一个表单模块时,Oracle Forms 在适当的目录中查找新模块,然后将其加载到内存中。
让我们看看以下三个内置函数,以从一个表单调用另一个表单。
OPEN_FORM内置
此内置程序打开指定的表单。使用OPEN_FORM
创建多窗体应用,即同时打开多个窗体的应用。
进入查询模式:否
语法:
PROCEDURE OPEN_FORM
(formmodule_name VARCHAR2,
activate_mode NUMBER,
session_mode NUMBER,
data_mode NUMBER,
paramlist_id PARAMLIST);
其中:
formmodule_name:
- 要打开的表单的名称。数据类型为 VARCHAR2。必需
activate_mode:
- ACTIVATE:(默认设置。)将焦点设置到表单以使其成为应用程序中的活动表单。
- NO_ACTIVATE:打开窗体但不将焦点设置到窗体。当前表格保持最新状态。
session_mode:
- NO_SESSION(默认值。):指定打开的表单应与当前表单共享相同的数据库会话。
- 会话:指定应该为打开的表单创建一个新的、单独的数据库会话。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_id:
- Oracle Forms 在创建参数列表时分配给参数列表的唯一 ID。
CALL_FORM 内置:
运行指定的表单,同时保持父表单处于活动状态。 Oracle Forms 运行 调用的窗体与父窗体具有相同的运行窗体首选项。当被调用的表单退出时,Oracle Forms 处理在您发起对 CALL_FORM.
的调用的点处在调用表单中恢复进入查询模式:是
语法:
PROCEDURE CALL_FORM
(formmodule_name VARCHAR2,
display NUMBER,
switch_menu NUMBER,
query_mode NUMBER,
data_mode NUMBER,
paramlist_name VARCHAR2);
其中:
formmodule_name:
- 被调用表单的名称(必须用单引号引起来)。数据类型为 VARCHAR2。
显示:
- HIDE(默认设置。):Oracle Forms 将在绘制被调用窗体之前隐藏调用窗体。
- NO_HIDE: Oracle Forms 将显示被调用的表单而不隐藏调用表单。
switch_menu:
- NO_REPLACE(默认值。):Oracle Forms 将为被调用窗体保持调用窗体的默认菜单模块处于活动状态。
- DO_REPLACE: Oracle Forms 会将调用窗体的默认菜单模块替换为被调用窗体的默认菜单模块。
query_mode:
- NO_QUERY_ONLY(默认值。):Oracle Forms 将在正常模式下 运行 指示的表单,允许最终用户从被调用的表单中执行插入、更新和删除。
- QUERY_ONLY: Oracle Forms 将 运行 指定的表单处于仅查询模式,允许最终用户查询,但不能插入、更新或删除记录。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_name:
- 您在定义参数列表对象时为其指定的名称。数据类型为 VARCHAR2。
NEW_FORM内置
退出当前表格并进入指定表格。调用窗体作为父窗体终止。如果调用表单已被更高级别的表单调用,Oracle Forms 会保持更高级别的调用处于活动状态,并将其视为对新表单的调用。 Oracle Forms 释放终止表单正在使用的内存(例如数据库游标)。 Oracle Forms 运行 是具有与父窗体相同的运行窗体选项的新窗体。如果父表单是被调用的表单,Oracle Forms 运行s 新表单具有与父表单相同的选项。
进入查询模式:否
语法:
PROCEDURE NEW_FORM
(formmodule_name VARCHAR2,
rollback_mode NUMBER,
query_mode NUMBER,
data_mode NUMBER,
paramlist_name VARCHAR2);
其中:
formmodule_name:
- 然后是被调用表单的名称(必须用单引号引起来)。数据类型为 VARCHAR2。
rollback_mode:
- TO_SAVEPOINT(默认值。):Oracle Forms 会将所有未提交的更改(包括已发布的更改)回滚到当前表单的保存点。
- NO_ROLLBACK: Oracle Forms 将退出当前表单而不回滚到保存点。
- FULL_ROLLBACK:Oracle Forms 回滚在当前 Runform 会话期间所做的所有未提交的更改(包括已发布的更改)。
query_mode:
- NO_QUERY_ONLY(默认值。)正常运行指示的表单,允许最终用户在表单中执行插入、更新和删除操作。
- QUERY_ONLY 以仅查询模式运行指示的表单;最终用户可以查询记录,但不能执行插入、更新或删除。
data_mode:
- NO_SHARE_LIBRARY_DATA(默认值。):在 运行 时,Oracle Forms 将不会在附加了相同库的表单之间共享数据(在设计时)。
- SHARE_LIBRARY_DATA:在 运行 时,Oracle Forms 将在附加了相同库的表单之间共享数据(在设计时)。
paramlist_name:
- 您在定义参数列表对象时为其指定的名称。数据类型为 VARCHAR2。
来源here