<
不要删除
此文本,因为它是在浏览器中运行时生成的“主要”标题列表的占位符>
本教程将向您介绍如何将 Oracle Forms 应用程序(包括菜单和报表)转换为 Oracle Application Express 3.2。
大约 60 分钟
Oracle Application Express 3.2 中提供了一个新的实用程序,用于将 Oracle 表单、菜单、报表、PL/SQL 库和对象库转换为 Oracle Application Express 应用程序。下图概述了 Oracle Forms 应用程序的转换过程:
为了转换您的 Oracle Forms 应用程序,需要执行以下步骤:
安装
Oracle Database 11g
。
安装
Oracle Application Express 3.2 版
。
下载
forms_conversion.zip
文件并将其解压缩到您的工作目录。
创建 Application Express 工作区和用户。
在 SQL*Plus 中,以工作区用户身份执行
forms_conversion_ddl.sql
文件来创建 Forms 数据库对象
。
在 SQL*Plus 中,以工作区用户身份执行
forms_conversion_data_insert.sql
文件,以便将数据加载到 Forms 数据库对象中。
在本部分中,您创建并更新转换项目。执行以下步骤:
已经上载了所有文件。尽管该项目页面中显示了所有文件,但只有交互式报表的大部分列与 _fmb.xml 文件有关。例如,除 _fmb.xml 文件外,所有其他文件 Blocks、DB Blocks 列的值将始终为 0。在本教程的稍后部分中,您将看到多个文件的部分对象。
注意该报表中每行的最后一列 Percent Complete。这个百分比由两个因素决定:适用性和完成状态。如果某项的 Applicable 设置为 Yes,则该项适用于该转换过程,并且还要对项目转换的完成状态进行评价。如果 Applicable 设置为 No,则该项不适用于该转换过程。如果 Complete 设置为 Yes,则该项的 Percent Complete 为 100%。如果 Applicable 设置为 Yes,而 Complete 设置为 No,则该项就会关系到 Percent Complete。
您会注意到,两个警报的 Applicable 均设为 No。单击
Project:<项目名称>
路径式导航栏。例如,本例中为
Project:Forms Conversion OBE
。
在下一部分中,您将查看创建应用程序时生成的对象。
在窗口的左侧,您可以查看该块的各种信息。您可以定义具体的批注,如 Applicable、Priority、Complete,以及将该块分配给开发团队中特定的某个人,以便在该块生成后人工对其进行更详细地检查或进一步的实现。另外,许多块的 Notes 部分已经自动填充了 Incorporating Enhanced Query,用于指示已经对 POST_QUERY 触发器进行了询问,并且已经将它列为生成应用程序时将使用的查询。单击
Application Express Page Query
。如果您处于 Show All 模式,则向下滚动到 Application Express Page Query 部分。
为 Use Query 选择
Custom Query
,然后将 SELECT 语句中的下列内容复制到 Custom Query 区域。然后单击
Apply Changes
。
select
"S_CUSTOMER"."ID",
"S_CUSTOMER"."NAME",
"S_CUSTOMER"."PHONE",
"S_CUSTOMER"."ADDRESS",
"S_CUSTOMER"."CITY",
"S_CUSTOMER"."STATE",
"S_CUSTOMER"."COUNTRY",
"S_CUSTOMER"."ZIP_CODE",
"S_CUSTOMER"."CREDIT_RATING",
"S_CUSTOMER"."SALES_REP_ID",
"S_CUSTOMER"."REGION_ID",
"S_CUSTOMER"."COMMENTS",
"S_EMP"."FIRST_NAME"||' '||"LAST_NAME" "SALES_REP_NAME"
from "S_CUSTOMER" "S_CUSTOMER",
"S_EMP" "S_EMP"
where "S_EMP".ID (+) = "S_CUSTOMER".SALES_REP_ID
上边的 SQL 语句将该增强查询更改为正则联接表达式而不是内部选择。
注意,该验证将实施检查以确保订购日期早于发货日期。即使不能生成验证,您仍可以对验证进行批注来指定生成应用程序后需要完成的任务以及由谁来完成这些任务。
Applicable 是指该组件是重要 (Yes) 还是可以忽略 (No)。在本例中,该触发器非常重要,因此应将 Applicable 保持为
Yes
。
Complete 指示是否已经将该组件实现为 Application Express 应用程序。在本例中,您指定了生成后需要进行的工作。因此,只有在开发人员实现了该验证后才能将 Complete 设置为 yes。这里,应将 Complete 保持为
No
。
为 Assignee 选择一个不同的用户,并向该 Assignee 添加一条 Note,说明为何指定他/她负责该对象的工作。
您还可以设置标记,通过该标记您可以搜索到带有该标记的全部对象。这里,您将为该触发器分配一个标记,以便在应用程序生成并将该触发器实现为 Application Express 中的一个验证后,您可以将该触发器更新为完成。在 Tags 域中输入
VALIDATION
,然后单击
Apply Changes
。
将 Priority 更改为
4
,在 Notes 中输入
Implement buttons to replicate wizard functionality on Page 0
,在 Tags 中输入
BUTTON, PAGE 0
。然后单击
Apply Changes
。
在下一部分中,您将添加一些其他文件(菜单、报表和对象库),然后查看这些文件。
在 Query 区域中输入以下 SELECT 语句,然后单击
Create List of Values
。
select distinct e.FIRST_NAME||' '||e.LAST_NAME display_value,
e.ID return_value
from S_EMP e, S_DEPT d
where e.DEPT_ID = d.ID
and d.NAME = 'Sales'
order by 1
您会注意到,由于您之前创建了该验证,将出现一个错误。还会看到 Sales Representative 现在已经是一个下拉列表了。单击开发人员工具栏中的
Home
链接。
现在,您可以按照您的特定需求更新生成的 Application Express 应用程序,或者修改迁移项目并生成新的 Application Express 应用程序。
在下一部分中,您将检查转换项目以及的应用程序创建后会有哪些改变。
在窗口的左侧,您可以查看项目的详细信息。注意 Associated Application 域,通过在 Project Details 区域中单击 List of Values 图标可以修改该域的值。
现在,您已经在 Application Express 应用程序中将 WHEN-VALIDATE_RECORD 触发器作为一个验证实现了,因此您可以将该触发器的 Complete 域设为 Yes 了。单击
Application Migrations
路径式导航栏。