`
xiaoxiong_it
  • 浏览: 129971 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

FORM

    博客分类:
  • FORM
 
阅读更多

Oracle EBS的Forms,基本上都是从Template.fmb开始,该模版预先定义了:

1、 各种界面元素的属性集——子类

2、 常用的控件——日历、进度条

3、 一系列Form级触发器,统一处理各种未被明确处理的事件

4、 丰富的PLL库函数,大大超越了Forms Builder内置的函数

所以,我们基于EBS的开发,当然也是从Template.fmb开始。

 

AU模块存放fmb、pll、plx文件、各应用模块存放fmx文件,具体是:

$AU_TOP/resource:pll文件、plx文件

$AU_TOP/forms/US:  英文fmb文件

$AU_TOP/forms/<语言代码>:  特定语种(如ZHS)的fmb文件

$<应用简称>_TOP/forms/US:  各模块英文fmx文件录

$<应用简称>_TOP/forms/<语言代码>:  特定语种(如ZHS)fmb文件

上面<应用简称>,如INV、GL、AP、AR等等,在System Administrator职责下的

Application/Register中定义。 

 

总之我们需要的模版及相关文件在AU_TOP下;我们开发的fmb文件呢,也应根据上

述规则传到$AU_TOP/forms的相关语言路径下,不过为管理、备份方便,实际开发中

可能故意违反EBS的规则,与fmx一起放在$CUX_TOP/forms的相关语言路径下。

 

Form文件类型:

.fmb:源文件,目前是二进制格式,也可以转成早期版本的ASCII格式

.fmx:可执行文件,类似VB的.exe文件,其也需要在Forms Runtime环境中运行

.pll:库函数源文件,类似所有开发语言的库函数,如VC的.cpp文件

.plx:库函数可执行文件

调用关系:fmb文件可以引用其他fmb文件、pll文件,pll文件可以进一步引用其他pll

文件,引用是可以嵌套的。所以要成功打开一个forms源文件,必须保证其直接引用、

 

间接引用的fmb、pll文件均存在。

 

Form的开发:

1.拷贝TEMPLATE.fmb 

获取到TEMPLATE.fmb模板,另存模板并改名,打开之后把Form Name也改为CUXORDENT,一定要保持一致性;

2.删除多余对象

删除Data Blocks下的两个块——BLOCKNAME、DETAILBLOCK,它们是模版自带

的示例主从块。

删除Canvases下的一个画布——BLOCKNAME。

3.修改Windows名称

修改Windows下的BLOCKNAME这个Window,在Property Palette中修改Name值和Title;

4.修改2个触发器、1个程序单元

因为一个Forms有多个Window,所以需要明确指出哪个Window是主Window,这样

在关闭主Window的时候将退出整个Forms;此外,我们也须要在源代码中记录作者、

 

开发时间、版本等备注信息。

 

4.1 修改Forms级触发器PRE-FORM :

将其中的app_window.set_window_position('BLOCKNAME', 'FIRST_WINDOW');改为

app_window.set_window_position('FORM的名称', 'FIRST_WINDOW');

同时修改上面几行代码中的作者、时间、版本、Form描述、应用简称;

 

4.2  修改Forms级触发器WHEN-NEW-FORM-INSTANCE 

主要修改Form名字、版本和日期。

 

4.3  修改Program Unit下app_custom中的close_window过程

将if(wnd = '<your first window>') thenapp_window.close_first_window;改为if(wnd = 'FORM的名称') thenapp_window.close_first_window;

 

5.创建Block数据块

数据块,定义Form上的字段与数据库中的字段是如何对应的,同时定义块和字段的各

种操作特性——字段类型、长度、默认值、可否增删改查等等。

N: 在Data Blocks上右键,选择数据块创建向导:

之后第一步跳过,第二步保持默认的选择“Table or View”

第三步输入View名字或者Table名字

登录后Available Column将显示所有视图字段,点击>>全部选过来。

第四步跳过,第五步选择“Just create the data block”后Finish。

Forms Builder将自动将表字段的名称、类型、长度、是否必须等信息带到Block下的

Items中。

 

6.设置Block属性及其Subclass

默认Block名字为视图名字,需要“精简”,同时需要设置块属性中的Subclass为Block;

 

此外,需要设置块的前后导航属性,本例目前仅有一个有意义的数据块,这里将

Previous和Next Navigation Data Block均设置为自身,这样在运行时,使用快捷键

Shift+Pageup和Shift+Pagedown时,均不会跳离本块。

 

7.设置Item属性及其Subclass 

设置需要显示Item和特殊Item的子类,同时设置部分Item的默认值

 

8.创建Canvas画布

画布,用来设计各字段的布局,画布必需放置在Window上后才真正对用户“可见”。最基本的画布为Content画布,一个Window必需有且仅有一个Content画布。

 

第一步选择New Canvas,Type选择Content;

第二步选择要显示的字段;

第三步修改各字段的提示和显示长度;

后面两步跳过直至Finish。

在打开的画布设计界面,删除自动生成的Frame。

 

9.设置画布属性和子类、调整布局

设置画布名字,放置第3步做好的Window,子类为Canvas;

调整View和Canvas大小,Content画布这两者设置为一样大,即拉到重叠为止;

 

Canvas与View:Canvas是整个画布的大小,Item是放置在Canvas上的;View是这个

画布的可见部分,如果View小于Canvas,那么通常需要借助滚动条来查看整个

Canvas中的内容;可以通过菜单View中的Show View、Show Canvas来确定哪个框是

Canvas哪个框是View。

 

10.设置Windows属性

设置Window的Primary Canvas,该Window的大小将自动调整为Content Canvas的大小

 

11.设置Form属性

设置Form的第一个导航块

 

上传&编译

form路径:$AU_TOP/forms/ZHS/

 

form编译路径:$FND_TOP/forms/ZHS/

 

f60gen userid=apps/apps module=TEST01.fmb output_file=$FND_TOP/forms/ZHS/TEST01.fmx module_type=FORM batch=no

分享到:
评论

相关推荐

    Form1调用Form2 ,From2回传值或调用Form1内的方法。

    这在开发GUI应用程序时尤为常见,例如一个窗体(Form1)打开另一个窗体(Form2),然后Form2执行某些操作并返回结果给Form1,或者调用Form1中的方法。这个过程可以通过多种方式实现,其中一种常见且灵活的方法是使用...

    ORACLE ebs FORM开发中form个性化处理

    在Oracle E-Business Suite (EBS) 中,Form开发是一个核心部分,用于构建企业级的业务应用程序。在实际应用中,往往需要根据不同用户或部门的需求进行定制化,以提高工作效率和用户体验。"ORACLE ebs FORM开发中form...

    C# form1 ,form2 互相传值

    在C#编程中,Form1和Form2之间的数据传递是一个常见的需求,特别是在开发Windows桌面应用程序时。本主题将深入探讨如何在两个独立的窗体之间有效地传递数据,以实现Form1的TextBox控件值传递到Form2,以及Form2的...

    Form(汉化+注册)

    Form是Adobe After Effects中的一个强大三维粒子系统插件,它为创意设计师提供了丰富的粒子效果制作工具,广泛应用于视觉特效、动态图形以及动画制作。通过Form,用户可以创建出复杂的3D模型、粒子流、文字动画等...

    Form2调用Form1控件的解决方案

    ### Form2调用Form1控件的解决方案 #### 背景与问题描述 在Windows Forms应用程序开发过程中,经常会遇到需要在不同的窗体之间进行交互的情况。例如,当用户在`Form1`上的一个按钮(假设为`Button1`)被点击时,会...

    C# 不同Form之间值的传递

    在C#编程中,Form是Windows应用程序中用户界面的基本组件,常常需要在多个Form之间传递数据。本篇文章将深入探讨三种常见的在不同Form之间传递值的方法:公共变量、窗口调用以及构造函数。 1. 公共变量 公共变量是...

    feign-form-3.8.0-API文档-中文版.zip

    赠送jar包:feign-form-3.8.0.jar; 赠送原API文档:feign-form-3.8.0-javadoc.jar; 赠送源代码:feign-form-3.8.0-sources.jar; 赠送Maven依赖信息文件:feign-form-3.8.0.pom; 包含翻译后的API文档:feign-form...

    SAP SCRIPTFORM 学习例子

    SAP Scriptform是SAP系统中用于创建自定义打印输出的一种技术,它是SAP ABAP编程的一部分,专门处理复杂的报表和文档格式化。这个学习例子是针对初学者设计的,旨在帮助他们掌握SAP Scriptform的基本概念和操作,...

    漂亮的form表单-漂亮的form表单

    在网页设计中,表单(Form)是用户与网站交互的重要元素,用于收集用户输入的信息。"漂亮的form表单"这个主题关注的是如何创建既美观又功能强大的表单,以提高用户体验并提升网站的整体视觉效果。下面将详细介绍关于...

    adobe form.pdf

    ### Adobe Form在SAP开发中的应用 #### 一、Adobe Form概述 Adobe Form是一种用于创建交互式表单的技术,常被应用于SAP系统中。它能够帮助用户设计出美观且功能丰富的表单,这些表单可以支持数据输入、打印等功能...

    jquery form jquery.form.js

    《jQuery Form插件详解及其应用》 jQuery Form插件,基于jQuery库,是用于处理HTML表单的增强工具,能够方便地实现异步提交、文件上传等功能,极大地简化了前端开发人员的工作。在这个主题中,我们将深入探讨jQuery...

    form-generator项目集成方案.doc

    form-generator项目集成方案 form-generator项目集成方案是指将form-generator项目集成到本地项目中,以便实现表单可视化设计和生成表单代码的功能。该方案主要涉及到 Vue 项目的多页面结构、组件引入、样式文件...

    JS提交form表单实例分析

    本文实例讲述了JS提交form表单。分享给大家供大家参考,具体如下: 一、javascript 页面加裁时自动提交表单: Form表单: &lt;form method="post" id="myform" action="a.php"&gt; &lt;input type="submit" value=...

    ajax-axios-url-form-serialize 插件

    **Ajax Axios URL Form Serialize 插件详解** 在Web开发中,数据交互是不可或缺的一部分,而Ajax技术正是实现页面异步更新的关键。随着前端框架的不断发展,像Vue.js这样的库广泛使用,Axios作为一款强大的HTTP...

    微信小程序 表单Form实例详解(附源码)

    微信小程序 表单Form实例 表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的”switch”,”input”,”checkbox”,”slider”,...

    基于form-data请求格式详解

    具体来说,multipart/form-data格式的请求体由多个部分组成,每个部分前都有一个分隔符,该分隔符包括两部分:一长串随机生成的分隔符以及两个连续的减号。每个部分都会包含自己的Content-Disposition和Content-Type...

    feign-form-spring-3.8.0-API文档-中文版.zip

    赠送jar包:feign-form-spring-3.8.0.jar; 赠送原API文档:feign-form-spring-3.8.0-javadoc.jar; 赠送源代码:feign-form-spring-3.8.0-sources.jar; 赠送Maven依赖信息文件:feign-form-spring-3.8.0.pom; ...

    ajaxForm异步提交表单(含图片)

    AjaxForm是jQuery Form Plugin的一个功能,用于实现异步表单提交,特别是处理包含图片在内的复杂数据。本文将深入探讨如何使用ajaxForm进行异步表单提交。 首先,让我们了解什么是Ajax。AJAX(Asynchronous ...

    Trapcode_form ae 插件预设

    Trapcode Form AE插件预设是一款专为Adobe After Effects(AE)设计的特效工具,它提供了丰富的3D粒子系统和动态图形元素,帮助用户在视觉效果制作中创建出震撼的、具有深度和交互性的动画。这款插件尤其适用于制作...

    在EBS FORM中上传文件

    在Oracle EBS(Enterprise Business Suite)系统中,EBS Form是一种常见的用户界面,用于与数据库交互,处理业务流程。在EBS Form中实现文件上传功能是企业日常操作中经常遇到的需求,例如上传合同、报表或其他业务...

Global site tag (gtag.js) - Google Analytics