




免费预览已结束,剩余27页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
秘密公司机密 北京大唐兴竹软件技术有限公司 FORM BUILEDER 开发速成开发速成 作者 作者 高晓峰 版本 版本 1 1 状态 状态 Draft 最后修改日期 最后修改日期 February 11 2003 Version 1 1 Status Draft 修改记录修改记录修改记录修改记录 版本版本修改内容修改内容修改人修改人审核人审核人日期日期 签名签名签名签名 职务职务姓名姓名签字签字日期日期 Version 1 1ii Status Draft 内容索引内容索引内容索引内容索引 1简介简介 1 1 1目标 1 1 2范围 1 1 3如何得到这个文档 1 2FORM BUILDER 安装和开发环境配置安装和开发环境配置 1 2 1FORM BUILDER及其补丁程序安装 1 2 2开发环境配置 4 2 2 1字符集配置 4 2 2 2资源目录的配置 6 2 3安装工具的获得 7 3FORM BUILDER 开发开发 7 3 1技术背景 7 3 2开发模板介绍 8 3 3FORM开发环境及OBJECT NAVIGATOR介绍 8 3 4开发实例 11 3 4 1简单数据表维护FORM的制作 11 3 4 1 1利用向导制作数据块 11 3 4 1 2利用向导排放数据块 14 3 4 1 3日历框的使用 15 3 4 1 4利用向导制作 LOV LOV 返回项的设定及 LOV 与 record group 的关系 16 3 4 1 5Form 的退出 app custom 包的使用 20 3 4 1 6画布 canvas 的类型及与窗口 window 的关系 21 3 4 1 7基于视图数据块的增 删 改 22 3 4 1 8关联块 主细块 的制作 24 3 4 1 9五个历史字段的维护 26 3 4 1 10基表主键的维护 26 3 4 2带folder功能FORM的制作 26 3 4 3带object group继承界面FORM的制作 27 3 5ERP FORM 的剖析 27 3 6测试题 27 4FORM 程序开发技巧程序开发技巧 27 4 1数据块控制 27 4 2树控件的控制 27 4 3画布 窗口显示 27 4 3 1窗口的居中显示 27 5术语说明术语说明 28 1 1 1 简介简介简介简介 1 11 1目标目标 此文档是 Form 开发的入门级教程大纲 利用此教程并配合老师专门教授 解答问题 可 以使公司新来的开发人员 快速了解 Form 开发模式 对 Form 开发有良好的感性认识 并具有 初级的开发能力 1 21 2范围范围 公司内部培训使用 1 31 3如何得到这个文档如何得到这个文档 结合以往积累的开发经验并参考相关文档整理而成 2 2 2 FORMFORMFORM BUILDERBUILDERBUILDER 安装和开发环境配置安装和开发环境配置安装和开发环境配置安装和开发环境配置 2 12 1formform builderbuilder 及其补丁程序安装及其补丁程序安装 form builder 的安装比较简单 无特殊步骤 双击安装光盘上的 setup 后 一直默认 下一 步 即可安装成功 安装过程及安装完成后 注意以下几点即可 1 language 选择 english 兴竹公司约定所有的 Form 程序在英文版的基础上开发 公司员工必须都遵守这个约 定 因为不同语言版本 Form 环境下开发出来的程序是不通用的 其中的中文字符在另外 一种语言环境会变为乱码 经混合语言环境编译的 form 源程序 无法恢复正确显示中文 字符 选择 Oracle Forms Developer 一直默认安装即可 Form Builder 程序安装完成后应紧接着安装其补丁程序 其补丁程序与 Form Buileder 安装 类似 一直默认安装即可成功 如果不安装补丁程序 开发环境可能会不太稳定 尤其是经常 出现打不开画布的情况 强烈建议 安装 Form Builder 补丁程序 2 重命名 symc dll 文件 如果是奔腾 4 的机器 安装完成后 需要搜索安装目录 这里是 d orant 中的 symc dll 把其重命名为 symc dll bak 使其不可用 如是不是奔腾 4 机器则无需这步操作 对于 oracle 开发套件的其它产品也需要这种重命名 一般情况下这个文件全名为 symcjit dll 还有一种处理方式 把安装光盘拷至本地磁盘 搜索安装目录 在安装前重命名 symc dll 文件 与安装后重命名的作用是一样的 3 Tnsnames ora 配置 新建 TNS ADMIN 环境变量 指向 oracle home NET80 ADMIN 具体作法 右键我的电脑 属性 高级 环境变量 新建 系统变量 以后 所有的 Oracle 工具的数据链接都会指向此这个路径 以后统一配置此路径下的 tnsnames ora 文件即可 Tnsnames ora 文件维护与数据的挂接 Form builder 安装完成后默认情况下 oracle for windowsNT Oracle Net8 Easy Config 也可以安装成功 Oracle Net8 Easy Config 是图形化配置 Tnsnames ora 文件的方式 也可以用记事本 打开来自己来修改这个文件 这种方式往往更加有效 该文件位于 oracle home NET80 ADMIN 或 oracle home NETWORK ADMIN 下 在这里是 DTXZ 服务名 DESCRIPTION ADDRESS LIST ADDRESS PROTOCOL TCP HOST 192 168 60 208 PORT 1521 IP 地址或主机名与端口 CONNECT DATA SID prod 数据库实例名 说明如下 DTXZ 服务名 ADDRESS PROTOCOL TCP HOST 192 168 60 208 PORT 1521 主机 名与端口 SID prod 数据库实例名 在 tnsnames ora 文件中 可以通过复制粘贴的方式 并修改以上几处地方形成一个新 的数据库链接 2 22 2开发环境配置开发环境配置 2 2 1字符集配置字符集配置 开始 运行 rededit 编辑注册表 点击 F3 或 CTRL F 进行查找 NLS LANG 把其值以 AMERICAN AMERICA 开始的替换为 AMERICAN AMERICA ZHS16CGB231280 对于其中键值为 SIMPLIFIED CHINESE CHINA ZHS16GBK 的 NLS LANG 不用替换 2 2 2资源目录的配置资源目录的配置 Oracle Form 的开发并不是从零开始的 是基于模板 TEMPLATE fmb 的开发 TEMPLATE fmb 所依赖的模板文件和 pll 文件都在 erp 服务器 oracle home prodappl au 11 5 0 resource 和 oracle home prodappl au 11 5 0 forms ZHS 目录下 这种资源文件的使用有两种方式 1 本地目录 把该目录下的所有文件拷至开发所用机器上 oracle home DBNAME appl au 11 5 0 resource 这里是 d oracle prodappl au 11 5 0 resource 目录 需要约将近 300M 的磁盘空间 oracle home DBNAME appl au 11 5 0 forms ZHS 这里是 d oracle prodappl au 11 5 0 forms ZHS 目录 需要 2 3G 左右的磁盘空间 2 映射目录 把 ERP 安装目录在开发用的机器上建立一个目录映射 这种方式可节约本地硬盘空间 需要网络开发环境 不过第一种方式同样也需要网络 开发环境 然后点击 开始 运行 rededit 进入注册表后点击 F3 或 CTRL F 查找 FORMS60 PATH 把建立的 本地目录 或 映射目录 追加到数值数据的后边 如果 所建目录为 D ORACLE RESOURCE FORMS60 PATH 的原值为 D orant FORMS60 D orant TOOLS OPEN60 PLSQLLIB 则应该修改为 D orant FORMS60 D orant TOOLS OPEN60 PLSQLLIB D ORACLE RESOURCE 如果 把 wgqv880 d oracle 映射为本地的 Z 盘 则在 FORMS60 PATH 的原值后边追 加 z prodappl au 11 5 0 forms ZHS z prodappl au 11 5 0 resource 兴竹公司的开发也是依赖于模板 XZMODFRM fmb 文件的开发 建议采取第二种配置 方式 这样兴竹公司的模板 XZMODFRM fmb 文件更新后 只要拷至 ERP 服务器的资源目 录下就可以了 如果采用第一种配置方式 模板 XZMODFRM fmb 文件更新后 则需要每 台开发用的机器都拷贝模板 XZMODFRM fmb 文件 否则编译时最新代码不能通过模板 XZMODFRM fmb 文件刷新 继承过来 补丁 2 32 3安装工具的获得安装工具的获得 Form Builder 开发工具及其补丁的安装盘 都放在公司的文档服务器上 其路径如下 form builder 安装程序 server 应用程序 开发工具 form builder 安装 form builder 补丁程序 server 应用程序 开发工具 Patch 3a 3 3 3 FORMFORMFORM BUILDERBUILDERBUILDER 开发开发开发开发 3 13 1技术背景技术背景 Form Builder 是 Oracle 产品家族的前台界面开发工具 oracle ERP 产品的大部分前台界面 就是用它开发的 也是公司 CCMIS 项目的主要开发工具 它比较适合与数据库绑定方式的开 发 有开发速度快 上手容易等优点 同时它也拥有面象对象程序设计开发的诸多特性 如它 的子类化 subclass 对象组 Object Group 可以进行组件级的继承 重载等等 3 23 2开发模板介绍开发模板介绍 1 TEMPLATE fmb 基于 ORACLE ERP 平台的开发并不是从零开始的 TEMPLATE fmb 是 ORACLE ERP 平 台的 Form 程序开发的起始点 该模板中 已内嵌了日历框 calendar 进度条 progress bar 预置的触发器 trigger 附加资源 Attached Libraries 等 2 XZMODFRM fmb XZMODFRM fmb 是兴竹公司在 TEMPLATE fmb 模板的基础上 预置了自行开发设计的 模块 例如 XZAPP 包中的 msgYes msgYesNo msgYesNoCancel 是统一的提示函数 用来 统一提示风格 qryBlock 用来执行点击顶层菜单时执行默认的数据块查询 XZMODFRM fmb 模板是一个不断发展 不断充实的模板 在各个项目开发过程中 取得 的一些比较好的有通用性的函数 过程或其它组件以后都会纳入这个模板 并归入对象组 XZAPP 从而可以加快开发速度 统一开发风格 这个模板做为公司的所有项目的通用模板 也是公司在 ERP 平台上快速开发的组件库 积 木库 3 XZTMPFRM fmb XZTMPFRM fmb 是兴竹公司 Form 程序开发的起始点 类似于 TEMPLATE fmb 它以子类化的方式继承了 XZMODFRM fmb 中的 XZAPP 对象组 Object Group 内置了 folder 标题块和内容块 包括必须的触发器 标题项 排序项等 在 new form instance 中内嵌了 Folder 的注册方法 兴竹公司开发的程序都在这个程序的基础上另存为 开始新程序的开发 在这个模板的基 础上可以快速搭建出需要的应用程序 4 数据块模板 XZXZTRNDB fmb 开发过程中的 所需要的数据块 Data Block 会不断加入这个模板 其它 Form 从这个模板 中子类化所需的 Data Block 因为一个数据块 Data Block 可能会被多个 Form 程序引用 使用 这种继承的方式 可以统一数据项的长度 多少等特性 当后台数据字典有变化时 前台与后 台相关的所有数据块 数据项都在这个 Form 模板中调整 其它 Form 程序中只有控制块和本地 化的代码 例如 CCMIS 程序中 以前对材料规格型号的修改 如果设计 开发采用这种方式 修改过程相对就会简单许多 另外 这个模板是基于应用级的模板 在不同的应用中这个模板的内容是不一样的 因为 不同的应用对应的数据库 schema 不一样 需要的数据块也是不一样的 这个文件的命名 XZ 应用名 DB frm 例如对于培训应用 XZTRN 应用这个模板叫 XZXZTRNDB fmb 对基建 CCMIS 应用这 个模板叫 XZCCMISDB fmb 同时这个模板也继承 XZMODFRM fmb 中的 XZAPP 对象组 Object Group 并可在其中构 建应用级的 Object Group 这个模板是分应用设立的 只有本应用才需要这个模板 不同的应用使用不同的模板 但 是在各个应用中起的控制作用是一致的 3 33 3FormForm 开发环境及开发环境及 objectobject navigatornavigator 介绍介绍 以下是 Form 开发的主界面 左侧是 Object Navigator 对象导航 1 Triggers 触发器 类似于 VB 中的事件 例如 文本框有点击事件 when mouse click 内容变化事件 post change 写在点击事件 when mouse click 触发器中的代码 当文本框被鼠标点击时执行其中的 代码 2 Alerts 提示框 即消息提示框 如下图 3 Attached Libraries 附加资源 资源配置目录 2 2 2 所讲述的内容 下的 PLL 程序可通过 这里加载到程序中 4 Data blocks 数据块 数据的存放 格式 及增 删 改在数据块上实现 5 Canvases 画布 数据块 数据项显示的载体 与窗口 window 配合起来把数据展现给用户 6 Lovs 值列表 List Of Values 的简称 如下图 是一个进行岗位选择的 LOV 7 Object groups 对象组 是一些相关程序 数据块 画布 窗口 参数等 的集合 可以通过 Object groups 把一些相 关的程序集中到一起 由另外一个程序子类化时可以一次性的把这些程序继承到目标 Form 程 序中 如下图 XZAPP 中集成了 QUETY FIND 触发器 ALT YES 提示框 XZAPP 程序单 元 等程序组件 8 Parameters 参数 Parameters 参数 是 Form 表单级的全局变量 它的作用范围为整个表单 与这对应的是 Global 全局变量 它是会话级的 在当前会话范围内可见 一般情况下 不提倡使用 Global 全局变量 推荐使用 Parameters 参数 在程序中应 避免使用全局变量 global 能用 form 参数 parameter 解决的问题坚决不能使用全局变量 global 来处理 9 Record groups 记录组 是 LOV 的数据源 LOV 中所列出的数据是由它所绑定的 Record groups 记录组 提供的 10 Windows 窗口 与画布 canvas 配合起来把数据展现给用户 11 Program units 程序单元 是程序 集中存放的地方 程序的代码的核心 3 43 4开发实例开发实例 3 4 1简单数据表维护简单数据表维护 FORM 的制作 的制作 3 4 1 1利用向导制作数据块利用向导制作数据块 定位到 Object Navigator 对象导航 的 data blocks 上点击左侧工具条上的按钮可以利用向 导制作数据块 默认为用向导创建 默认为用 table or view 来做为数据块的数据源 输入表名或视图名点击 refresh 在这个界面上点击 Create Relationship 可以创建关联块 一直默认可生成所需的数据块 3 4 1 2利用向导排放数据块利用向导排放数据块 定位到要摆放的 data blocks 上点击右键 layout windard 可以利用向导排放数据块 利用这个向导可以快速的把数据项排列到画布上 此界面选择画布 如果选择 New Canvas 则需要同时指定画布类型 这个界面上可以快速指定显示项的提示符和大小 3 4 1 3日历框的使用日历框的使用 在 date 型数据项的 list of values 属性指定为 enable list lamp 在其 key listval 触发器中加入如下语句 calendar show 则日历框的选定值可返回到相应的数据项上 效果如上图所示 3 4 1 4利用向导制作利用向导制作 LOV LOV 返回项的设定及返回项的设定及 LOV 与与 record group 的关系的关系 record group 用于提取待选数据 lov 是 record group 数据显示的载体 用来描述的 record group 的数据的显示方式及返回到那些项上 Lovr 的 column mapping properties 属性用来设定被选中的行值返回到那些项上 定位到 Object Navigator 对象导航 的 LOVS 上点击左侧工具条上的按钮可以利 用向导制作 LOV 创建一个新记录组 输入 Record Group 的选择语句 SQL 排列显示项 定义标题 显示大小等 至此一个 LOV 已做好 定位到相关的 LOV 上 点击 F4 在设置其 Column Mapping Properties 可以设定其值返 回到那些项上 把所需的数据项与此 LOV 关联起来 一个完整的 LOV 应用实例就完成了 3 4 1 5Form 的退出的退出 app custom 包的使用包的使用 点击窗口右上角的 X 号并不能自动退出 FORM 需要一定的规则来使这个 X 号起正 确的作用 form 级 first navigation data block 属性指定为第一个数据块 例如 blockname form 级触发器 pre form 中的 app window set window position BLOCKNAME FIRST WINDOW 把其中 的 BLOCKNAME 替换为第一个 window 名称 APP CUSTOM CLOSE WINDOW 中的 app window close first window 所在 代码的 IF 语句中的 WND 第一个窗口 正确排放各个数据块间的先后次序 Form 级的 close window 触发器执行的是 APP CUSTOM CLOSE WINDOW SYSTEM EVENT WINDOW APP CUSTOM 包是预置在模 板中程序员可以修改的前台包 其中有两个过程 CLOSE WINDOW 专门处理窗口的关闭事件 默认情况下关闭当前窗口并 跳转到本数据块的前一个块所在的窗口 数据块的前后次序在数据块的 previous navigation data block 和 next navigation data block 属性上设置 如 果当前窗口是 pre form 触发器中设置的窗口则退出 form OPEN WINDOW 用来处理 打开新窗口的情况 需要用户依据本程序的 需要自行定制 建议 窗口的打开和关闭处理都在这个包中处理 3 4 1 6画布 画布 canvas 的类型及与窗口 的类型及与窗口 window 的关系 的关系 数据块用来描述数据 画布是数据项的显示载体 窗口是画布显示的容器 content 画布没有滚动条 statcked 画布可以有水平和垂直滚动条 tab 画布支持多页签 一个窗口的主画布必须是 content 画布 statcked 画布和 tab 画布可以通过与 content 画布指 向同一个窗口的方式堆叠到 content 画布上 经常利用 statcked 画布 水平 垂直滚动条 和 tab 多页签 画布的伸缩性来处理数据项比较多的大数据块的排放 窗口 window 的 Primary Canvas 属性必须且只能对应的一个 content 类型的画布 多个 画布 一个 content 类型的画布 多个 statcked 或 tab 型的画布 可以指向同一个窗口 window 如果多个画布指向同一个窗口 则可以把这些窗口都堆叠到该窗口所对应的主画布上 以下图例显示了 如何把一个 statcked 画布堆叠到一个 content 画布上 3 4 1 7基于视图数据块的增 删 改基于视图数据块的增 删 改 定位到该块上 把其 key mode 属性置为 updateable 定位到该块的主键项上 把其 primary key 属性置为 yes 3 4 1 8关联块关联块 主细块主细块 的制作的制作 定位到子块上右键 data block windard 把 Auto join data blocks 的复选框置为不选中状态 点击 Create Relationship 点击 Ok 选择要关联的主块 创建关联块 选择出关联项 点击 Finish 即可做成关联块 关联块制成后 向导自动在主块上加了两个触发器 ON POPULATE DETAILS 和 ON CHECK DELETE MASTER 3 4 1 9五个历史字段的维护五个历史字段的维护 历史记录查询功能 用于历史记录查询的五个字段 LAST UPDATE DATE 最后修改时间 LAST UPDATED BY 最后修改人 CREATION DATE 创建时间 CREATED BY 创建日期 LAST UPDATE LOGIN 数据块包括 以上五个字段 块级触发器中 pre update pre insert 中加入如下语句 fnd standard set who 则可实现历史记录查询功能 3 4 1 10基表主键的维护基表主键的维护 基表主键在前台维护 用以解决保存后提示请刷新取得最新修改 例如 department id 的 init value 属性值设置为 SEQUENCE xz trn seq NEXTVAL 3 4 1 11取消块的必输项限制取消块的必输项限制 将 Form 属性 Database Validation Unit 置成 Form 如下图 在代码中控制 Validation Unit 属性 例如 set form property name in SYSTEM CURRENT FORM VALIDATION UNIT FORM SCOPE go block BUDGET STRU SEL app window set window position BUDGET STRU SELECT CENTER cur window set form property name in SYSTEM CURRENT FORM VALIDATION UNIT DEFAULT SCOPE 3 4 2带带 folder 功能功能 FORM 的制作 的制作 涵盖的知识点 1 Folder 的开发 类似于传统开发的表格控件 可以互换次序 前三列可以自动排序 2 Folder 使用 3 附加资源的使用 PLL 文件的使用 具体的操作步骤详见 FOLDER 开发文档 授课时 现场制作一个实例 在注册 FOLDER 的时候 所使用的表单名称 窗体名称 画布名称以及块的名称一律要大 写 如果用小写字母 则编译时并不报错 但在显示页面的时候 会显示出错误页面 在做 FOLDER 的时候 一般都要包括主画布和堆叠画布 在堆叠画布中通常有横滚动调和 竖滚动条 在堆叠画布上设置 SHOW HORIZONTAL SCROLL BAR 属性为 YES 添加横 滚动条 在堆叠画布中所对应的数据块上设置 SHOW BAR ORIENTATION 属性为 VERTICAL 添加竖滚动条 3 4 3带带 object group 继承界面继承界面 FORM 的制作 的制作 涵盖的知识点 1 Object group 的使用 授课时 现场制作一个实例 以上实例均在我公司的模板 XZTMPFRM fmb 基础上制作 并在构建好的培训环境下制 成 3 53 5ERPERP FORMFORM 的剖析的剖析 涵盖的知识点 1 代码的放置位置 2 子类化 继承的优点 以总帐 日记帐录入 GLXJEENT fmb 为例 了解 ERP 中 form 的基本开发规范 以 此强化开发者模板
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年高中生物 第五章 细胞的能量供应和利用 5.1 降低化学反应活化能的酶说课稿 新人教版必修1
- 化肥厂复合肥存储管理办法
- 2025借款合同(个人与个人)范本
- 2025面的销售代理合同(广德恒盛)
- 阳光心理健康成长 教案-2023-2024学年高二下学期心理健康教育主题班会
- 活动1 策划迎新联欢会并认识MindMapper Jr教学设计-2023-2024学年小学信息技术(信息科技)五年级下册黔科版
- 公司员工试用期工作总结(集合14篇)
- 中医入职考试试题及答案
- 安全主任上岗培训内容课件
- 山西省吕梁市临县2024-2025学年八年级下学期期末物理试卷(无答案)
- 工厂与车间制图规定
- 呼吸内科临床诊疗指南及操作规范
- 外科患者疼痛护理与管理
- 2024年共青团入团考试测试题库及答案
- 韩信点兵与中国剩余定理
- 2024年度网站域名合作契约
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- 第1章 直线与方程章末题型归纳总结(解析版)
- 眼球破裂伤护理查房
- Unit 1 (知识清单)-2024-2025学年三年级英语上学期期中复习讲练测(译林版三起·2024秋)
- 2024年秋季新人教版八年级上册物理全册教案(2024年新教材)
评论
0/150
提交评论