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