深入浅出Oracle 之Form开发
  • 推荐0
  • 收藏1
  • 浏览1.7K

深入浅出Oracle 之Form开发

黄建华 , 曹良峰 , 蔡兴云 (作者) 

  • 书  号:978-7-121-30822-2
  • 出版日期:2017-03-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:安娜
纸质版 ¥59.00
Oracle EBS(E-Business Suite)是甲骨文公司的一套大型ERP应用产品,在这套产品中,大量的功能实现是基于Oracle的Form表单,可以说EBS系统开发最基础、最重要的就是Form开发。Form是Oracle EBS系统搭载在Java插件上可实现对数据库插入、查询、删除、更新等操作的交互式界面。开发者可以利用Oracle开发套件提供的Forms Builder开发工具进行Form的开发或者修改。为了更好地引导、帮助读者理解学习Form开发,作者以循序渐进的方式精心创作了这本书。本书采用了渐进的方式对Form开发涉及的内容进行组织,对知识进行最小化分割,为读者提供循序渐进的学习思路;在深入本质的层面上对Form开发以及EBS架构进行讲解;对开发中涉及的关键环节进行深入剖析;包含了大量的实例供读者学习及开发参考。
这是一本讲解Oracle Form开发的中文书籍。
本书对Form中的主要知识点及开发流程进行了详细讲解,并且对Form开发中的关键环节进行了深度剖析,为读者提供了一条清晰完整的学习路线。
前 言

EBS 12.X.X系统架构主要分为三层:桌面层、应用层和数据库层,Form属于应用层。我们设计Form、编写相应的代码部署在系统应用服务器,当在EBS中运行Form文件时会将其转化为Java Applet,并在Jinitiator这个JVM中运行。
想深入理解并开发Form需分三步走。首先,你必须理解Oracle EBS 的基础系统架构以及Form在EBS系统中的运行、工作原理;其次,你需要逐步熟悉并且实现Form基础功能开发、复杂功能实现、特殊功能开发、个性化实现等;最后,当你掌握上述这些独立的功能之后,还必须学会如何将这些独立的功能组合到一起,构建实现更加复杂的Form开发。我希望这本书能够帮助大家学习如何有效并且高效地开发Form。
本书目的
本书涵盖了大量Form知识点和开发实例,使读者有迹可循,能够从基础架构的认知、基础功能的实现到复杂功能的深入理解、特殊功能的开发和个性化实现等方面逐步理解和深入学习EBS系统以及实现Form的客户化开发。
本书结构
本书共分为14章,每章都包含多个知识点和可用于开发的实例。本书对Form中的主要知识点及开发流程进行了详细讲解,并且对Form开发中的关键环节进行了深度剖析,为读者提供了一条清晰完整的学习路线,如下表所示。
第1章 开发背景与基础 第8章 说明性弹性域、键弹性域、键弹性域查询
第2章 基于EBS的Form开发 第9章 Folder、JTF Grid开发
第3章 触发器、变量、参数、内部子程序 第10章 多语言开发
第4章 List、LOV、字段和记录控制、日历 第11章 附件开发
第5章 行指示符、主从块、滚动条、Stacked&Tab画布、多行文本 第12章 JavaBean
第6章 LOV查询、块查询、Button 第13章 Form个性化
第7章 触发器层次关系、常用触发器编写规范 第14章 Form开发规范(建议)及常用代码参考
本书特点
? 国内第一本讲解Oracle Form开发的中文书籍。
? 细致地讲解了EBS系统概要、Form基础进阶知识、开发实例,给读者提供全面的储备知识和完整的学习路线。
? 适合初学者系统地学习Form开发,同时也适合从事与Form开发相关的专业人士进行深入学习和拓展。
读者定位
? 从事或者即将从事Oracle EBS的开发人员。
? 从事或者即将从事Oracle DBA的开发人员。
? 对Oracle有强烈兴趣的学习者。
致谢
本书是以上海汉得信息技术股份有限公司副总裁黄建华老师的《深入浅出Oracle之Form开发指南》文档为基础,根据作者多年一线实战经验总结梳理而来的。在对书籍的校对过程中得到了上海汉得信息技术股份有限公司Oracle技术中心总经理曹良峰老师的指导,以及很多汉得牛人们的指导和建议,在此一并表示感谢。由于作者水平有限,书中疏漏之处在所难免,还望各位读者朋友批评指正。

目录

目 录
第1部分 开发基础知识
Chapter 01
开发背景与基础 1
1.1 读者基础要求 2
1.2 认识EBS架构 2
1.2.1 R12.X.X版本架构 2
1.2.2 桌面层 3
1.2.3 应用层 4
1.2.4 数据库层 4
1.3 用户和常用工具 5
1.3.1 区分三类用户 5
1.3.2 Form开发使用的用户和工具 5
1.4 AOL开发框架 6
1.4.1 导航菜单 6
1.4.2 EBS功能安全性基本原理 7
1.4.3 Form开发模板文件Template.fmb 7
1.4.4 EBS文件系统 8
1.5 多组织支持 11
1.6 主要示例 12
1.6.1 销售订单 12
1.6.2 开发需求分析 12
1.6.3 其他说明 13
第2部分 Form开发基础
Chapter 02
基于EBS的Form开发 14
2.1 Form文件类型 15
2.2 开发工具Forms Builder安装 15
2.2.1 开发工具版本 15
2.2.2 Oracle Home 16
2.2.3 基本安装过程 16
2.2.4 配置TNSNAME 20
2.2.5 配置FORMS_PATH 20
2.2.6 配置NLS_LANG 21
2.3 下载Template相关文件 22
2.3.1 下载Template模板 22
2.3.2 启动Forms Builder开发工具 22
2.3.3 打开TEMPLATE.fmb及报错分析 23
2.3.4 下载必要的文件到FORMS_PATH对应目录 24
2.4 开发工具Forms Builder 25
2.4.1 快速认识Forms Builder环境 25
2.4.2 进入Form设计界面 26
2.4.3 对象导航器 27
2.4.4 布局编辑器 30
2.4.5 属性选项板 31
2.4.6 Form中常用对象介绍 32
2.4.7 其他Form设计工具 35
2.5 案例:创建数据库对象 36
2.5.1 创建数据量对象 36
2.5.2 注册表和字段 40
2.5.3 创建用户开发Form使用的视图 42
2.5.4 创建表操作API 44
2.6 案例:从模板开始设计 45
2.6.1 复制TEMPLATE.fmb 45
2.6.2 删除多余对象 45
2.6.3 修改Windows名称 46
2.6.4 修改2个触发器、1个程序单元 46
2.6.5 创建Block数据块 47
2.6.6 设置Block属性及其Subclass 49
2.6.7 设置Item属性及其Subclass 49
2.6.8 创建Canvas画布 51
2.6.9 设置画布属性和子类、调整布局 53
2.6.10 调整布局 55
2.6.11 调整Prompt提示 55
2.6.12 设置Window属性 56
2.6.13 设置Form属性 56
2.7 案例:编写数据库操作触发器 57
2.7.1 编写数据库操作Program Unit 57
2.7.2 编写数据库块ON-触发器 64
2.8 案例:上传和编译 65
2.9 案例:在EBS中注册运行 67
2.9.1 登录EBS 67
2.9.2 注册Form 67
2.9.3 定义Function 67
2.9.4 加入Menu 68
2.9.5 运行Form 69
Chapter 03
触发器、变量、参数、内部子程序 70
3.1 触发器 71
3.1.1 触发器的定义 71
3.1.2 触发器的类型 71
3.1.3 触发器中的代码 71
3.1.4 触发器的作用范围 72
3.1.5 触发器事件 72
3.1.6 常用触发器 73
3.2 变量 75
3.2.1 Form变量 75
3.2.2 PL/SQL变量 76
3.2.3 Form系统变量 76
3.3 参数 77
3.3.1 Parameter参数 77
3.3.2 创建Parameter参数 78
3.3.3 初始化Parameter参数 78
3.3.4 使用Parameter参数 78
3.4 内部子程序 79
3.4.1 内部子程序的定义 79
3.4.2 使用内部子程序 80
3.4.3 常用内部子程序 81
Chapter 04
List、LOV、字段和记录控制、日历 82
4.1 案例:List值列表 83
4.1.1 关于List 83
4.1.2 创建List 83
4.1.3 删除List条目 85
4.1.4 运行实例 85
4.1.5 列表风格List Style 85
4.2 案例:LOV窗口式值列表 86
4.2.1 关于LOV 86
4.2.2 创建LOV 87
4.2.3 改进LOV 91
4.2.4 完善实例 92
4.2.5 运行实例 93
4.2.6 常用LOV属性设置 93
4.3 案例:字段和记录控制 95
4.3.1 关于字段属性 95
4.3.2 设置字段属性 101
4.3.3 字段控制 102
4.3.4 记录控制 102
4.3.5 运行实例 103
4.4 案例:日历 104
4.4.1 日历控件 104
4.4.2 运行实例 104
4.5 总结 105
Chapter 05
行指示符、主从块、滚动条、Stacked&Tab画布、多行文本 106
5.1 案例:销售订单行 107
5.1.1 创建数据库对象 107
5.1.2 创建数据库块ORDER_LINES 107
5.1.3 增加行指示Item 107
5.1.4 设置Item属性及其Subclass 108
5.1.5 创建Canvas画布 108
5.1.6 调整布局、Prompt提示 109
5.1.7 设置头行块互为前后导航块 110
5.1.8 创建LOV 110
5.1.9 创建行块增/删/改ON-触发器 111
5.1.10 运行实例 112
5.2 案例:Master-Detial主从块 112
5.2.1 关于主从块 112
5.2.2 创建主从关系 113
5.2.3 关于删除记录行为的说明 114
5.2.4 运行实例 115
5.3 案例:滚动条 115
5.3.1 关于滚动条 115
5.3.2 设置滚动条 116
5.3.3 运行实例 116
5.4 案例:Stacked(堆叠)画布 117
5.4.1 创建堆叠画布 117
5.4.2 设置Item到新建的堆叠画布 118
5.4.3 调整堆叠画布 119
5.4.4 调整堆叠画布在主画布上的位置 120
5.4.5 运行实例 122
5.5 画布小结 123
5.5.1 子类与画布 123
5.5.2 从UI角度看对象关系 124
5.6 案例:Tab画布 125
5.6.1 创建Tab画布和标签页 125
5.6.2 设置Item到标签页并调整布局 125
5.6.3 调整主画布布局 126
5.6.4 运行实例 128
5.7 案例:控制Tab画布 128
5.7.1 控制思路 128
5.7.2 控制代码 129
5.7.3 运行实例 131
5.8 案例:多行文本框 132
5.8.1 关于多行文本框 132
5.8.2 运行实例 132
第3部分 Form开发进阶
Chapter 06
LOV查询、块查询、Button 133
6.1 查询原理 134
6.1.1 【F11】查询原理 134
6.1.2 理解其他查询 134
6.2 案例:LOV查询 135
6.2.1 什么是LOV查询 135
6.2.2 创建LOV查询 135
6.2.3 运行实例 136
6.3 案例:块查询 137
6.3.1 什么是块查询 137
6.3.2 复制标准查询块 137
6.3.3 修改标准查询块 138
6.3.4 创建查询条件Item 139
6.3.5 修改块触发器 139
6.3.6 修改目标Item查询长度 140
6.3.7 对于几个内置查询子程序的说明 140
6.3.8 运行实例 141
6.4 案例:Button 141
Chapter 07
触发器层次关系、常用触发器编写规范 143
7.1 理解层次关系 144
7.1.1 说明 144
7.1.2 WHEN-VALIDATE-ITEM例子 144
7.2 触发器原理 145
7.2.1 触发器堆栈 145
7.2.2 常用触发器及其执行顺序 146
7.3 基于EBS模板开发的触发器 146
7.4 对触发器的一些理解 148
7.4.1 On-Lock 148
7.4.2 Pre-Form和When-New-Form-Instance 148
7.4.3 Post-Query和When-New-Record-Instance 149
7.4.4 When-Validate-Item和When-Validate-Record 149
Chapter 08
说明性弹性域、键弹性域、键弹性域查询 150
8.1 说明性弹性域开发 151
8.1.1 关于说明性弹性域 151
8.1.2 基表要求:基表中需含有1个结构字段和若干个自定义字段 151
8.1.3 注册要求:注册表和字段到EBS中 152
8.1.4 字段要求:一个非数据库项 156
8.1.5 触发器要求:Form级 157
8.1.6 触发器要求:块级 157
8.1.7 触发器要求:Item级 157
8.1.8 启用弹性域 158
8.1.9 运行实例 159
8.2 键弹性域开发 159
8.2.1 关于键弹性域 159
8.2.2 基表要求:基表中需含有1个ID字段 160
8.2.3 字段要求:一个键代码组合字段+一个可选的键描述组合字段 160
8.2.4 触发器要求:Form级 161
8.2.5 触发器要求:块级 162
8.2.6 触发器要求:Item级 162
8.2.7 运行实例 163
8.2.8 开发客户化键弹性域 163
第4部分 Folder和JTF Grid
Chapter 09
Folder、JTF Grid开发 164
9.1 Folder开发步骤(从头开始) 165
9.1.1 什么是Folder 165
9.1.2 创建数据库对象 165
9.1.3 复制TEMPLATE.fmb开发Form 167
9.1.4 复制标准Folder对象 167
9.1.5 引用Folder的PLL库 167
9.1.6 创建Folder块 168
9.1.7 修改Folder块 169
9.1.8 创建Prompt块 170
9.1.9 修改Prompt块和Folder块 171
9.1.10 Folder自动布局原理 172
9.1.11 创建堆叠画布、内容画布、窗口 172
9.1.12 布局Item到画布 173
9.1.13 调整画布布局及位置 174
9.1.14 追加Form级触发器 175
9.1.15 设置Form第一导航块 177
9.1.16 运行实例 177
9.1.17 高级Folder功能 178
9.2 Folder开发步骤(基于模板) 178
9.2.1 基于模板新建Form 178
9.2.2 创建数据块 178
9.2.3 创建标题块 179
9.2.4 修改数据块 179
9.2.5 修改标题块 179
9.2.6 修改触发器 179
9.3 JTF Grid开发步骤 180
9.3.1 关于JTF Grid 180
9.3.2 复制TEMPLATE.fmb开发Form 180
9.3.3 复制标准JTF Grid对象 180
9.3.4 引用JTF Grid的PLL库 181
9.3.5 创建数据库对象 181
9.3.6 定义CRM电子表格 182
9.3.7 创建Grid块 183
9.3.8 修改Grid块 183
9.3.9 布局Item到画布 183
9.3.10 追加Form级触发器 184
9.3.11 编写Find Button触发器 184
9.3.12 处理选择事件 185
9.3.13 运行实例 186
第5部分 多语言开发和附件开发
Chapter 10
多语言开发 187
10.1 国际化支持 188
10.2 Form自身的多语言版本 188
10.3 数据多语言开发步骤 189
10.3.1 数据库对象的要求:基表B 189
10.3.2 数据库对象的要求:多语言表TL 190
10.3.3 数据库对象的要求:视图VL 190
10.3.4 数据库对象的要求:表操作API 191
10.3.5 Form对象的要求:2个Form级触发器 193
10.3.6 Form对象的要求:5个Block级触发器 193
10.3.7 Form对象的要求:多语言字段在画布的显示 194
10.4 EBS启用新语言时的考虑 195
10.4.1 EBS启用新语言的过程 195
10.4.2 Maintain Multi-lingual Tables核心过程 195
10.4.3 如何客户化 196
Chapter 11
附件开发 197
11.1 关于附件 198
11.2 标准附件设置 198
11.2.1 表及其关系 198
11.2.2 定义Entity实体 198
11.2.3 定义Categories类别 199
11.2.4 定义Attachement Function 200
11.2.5 定义Function和Category关联 201
11.2.6 定义启用附件的Block 202
11.2.7 定义Block-Entity关系 203
11.2.8 定义关键字 204
11.2.9 使用过程 205
第6部分 JavaBean
Chapter 12
JavaBean 206
12.1 Form与Java 207
12.1.1 Form就是Java 207
12.1.2 关于Implementation Class 207
12.1.3 Form中的Java类规范 208
12.1.4 Form与Java类的交互 208
12.1.5 Form中使用自定义JavaBean 209
12.2 案例:Hello World 210
12.2.1 功能 210
12.2.2 按规范编写Java类:BeanTemplate.java 210
12.2.3 编译:BeanTemplate.class 212
12.2.4 制作JAR认证文件 213
12.2.5 打包JAR 214
12.2.6 认证JAR 214
12.2.7 服务器配置JavaBean程序 214
12.2.8 Form中使用BeanTemplate 215
12.3 案例:CSV通用导入 217
12.3.1 功能 217
12.3.2 设计思路 217
12.3.3 表设计 217
12.3.4 设置Form 219
12.3.5 导入Form 219
12.3.6 通用导入安装 221
12.3.7 具体开发使用 221
第7部分 个性化
Chapter 13
Form个性化 223
13.1 Form个性化概述 224
13.1.1 个性化与客户化 224
13.1.2 个性化原理 225
13.2 案例:修改字段Prompt 225
13.2.1 打开欲个性化的Form,调出个性化定义界面 225
13.2.2 输入个性化条件、个性化内容 226
13.3 案例:有条件显示消息 227
13.3.1 打开欲个性化的Form,调出个性化定义界面 227
13.3.2 输入个性化条件 227
13.3.3 输入个性化Action 228
13.4 案例:调用数据库Package 228
13.4.1 条件中调用Package 228
13.4.2 Action中调用Package 228
13.5 案例:添加菜单 229
13.5.1 打开欲个性化的Form,调出个性化定义界面 229
13.5.2 输入个性化Action 229
13.6 案例:打开功能 230
13.6.1 打开欲个性化的Form,调出个性化定义界面 230
13.6.2 输入个性化条件 230
13.6.3 输入个性化Action 231
13.7 案例:执行查询 231
13.7.1 打开欲个性化的Form,调出个性化定义界面 231
13.7.2 输入个性化条件 232
13.7.3 输入个性化Action 232
13.8 案例:其他应用 233
13.9 CUSTOM.PLL实现个性化 233
13.9.1 建议使用的方法 233
13.9.2 编译脚本 234
13.9.3 CUSTOM中的Function和Procedure简介 234
13.10 个性化迁移 237
第8部分 Form开发规范及常用代码参考
Chapter 14
Form开发规范(建议)及常用代码参考 238
14.1 命名规约 239
14.1.1 文件命名规约 239
14.1.2 Form对象命名规约 239
14.2 Form按钮常用快捷键 242
14.3 Form程序单元命名规则 243
14.4 编程规范及常用代码 244
14.4.1 布局规范 244
14.4.2 Form各对象的布局要求 245
14.4.3 子类属性 246
14.4.4 触发器编程规范 248
14.4.5 WHO字段的维护 253
14.4.6 基于视图块的数据更新 253
14.4.7 动态控制Item属性 258
14.4.8 消息的输出 259
14.4.9 日历的使用 259
14.4.10 菜单和工具条的使用 260
14.4.11 Window的打开 265
14.4.12 Window的关闭 266
14.4.13 Window的标题设定 266
14.4.14 异常处理 266
14.4.15 Form中的变量 267
14.4.16 Item的初始值属性 267
14.4.17 库存组织访问 267
14.4.18 树形Form开发 268
14.4.19 其他注意事项 269
附录 273

读者评论

  • 在哪里买?

    jet_xu发表于 2017/3/28 22:49:52
    • 读者朋友你好,您可以在京东、当当、亚马逊等网店平台进行购买。

      博文小编发表于 2017/3/29 14:55:57

下载资源

相关图书

Python统计可视化之Altair探索分析实践指南

刘大成 (作者)

本书以Altair为核心工具,通过认识数据、理解数据和探索数据全方位地探索分析数据集的统计可视化形式,以应用数据和案例研究为实践场景,使用Altair数据加工箱...

 

实用推荐系统

Kim Falk (作者) 李源 朱罡罡 温睿 (译者)

要构建一个实用的“智能”推荐系统,不仅需要有好的算法,还需要了解接收推荐的用户。本书分为两部分,第一部分侧重于基础架构,主要介绍推荐系统的工作原理,展示如何创建...

¥119.00

Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)

龚正 吴治辉 闫健勇 (作者)

Kubernetes是由谷歌开源的容器集群管理系统,为容器化应用提供了资源调度、部署运行、服务发现、扩缩容等一整套功能。Kubernetes也是将“一切以服务(...

 

Harbor权威指南

张海宁 邹佳 王岩 尹文开 任茂盛 等 (作者)

在云原生生态中,容器镜像和其他云原生制品的管理与分发是至关重要的一环。本书对开源云原生制品仓库Harbor展开全面讲解,由Harbor开源项目维护者和贡献者倾力...

 

集成学习:基础与算法

Zhi-Hua Zhou (作者) 李楠 (译者)

集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功。<br>全书分为三部分。第一部分主要介绍集成学...

¥89.00

Kubernetes源码剖析

郑东旭 (作者)

本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码...