admin 管理员组文章数量: 1184232
2024年12月27日发(作者:什么叫做数据库管理系统)
EBS 开发
Forms Builder 操作DEMO
撰写人:
创建日期:
王川
2012-9-8
最后更改: 2012-9-8
文控编号:
版本号:
审批人:
1.0
文档控制
更改记录
日期
作者
版本
更改参考
审阅
姓名
职位
分发
拷贝号
名字
区域
1
2
3
4
第 2 页 共 61页
目录
文档控制 ................................................................................................................................... 2
创建基础数据 ........................................................................................................................... 4
创建FORM ............................................................................................................................... 8
初始化FORM属性.................................................................................................................. 18
构建画布内容 ......................................................................................................................... 20
编辑LOV弹性域 ..................................................................................................................... 29
列表添加LOV弹性域 ............................................................................................................. 39
选择必录项 ............................................................................................................................. 40
新建参数 ................................................................................................................................. 41
程序单元 ................................................................................................................................. 42
新增打印报表的数据库程序包 ............................................................................................. 45
添加按钮的触发器 ................................................................................................................. 46
新增触发器 ............................................................................................................................. 49
部署FORM ............................................................................................................................. 51
测试FORM ............................................................................................................................. 58
第 3 页 共 61页
创建基础数据
A、 新建中间表,名称为CUX_KEIGOJOE_TEMP,以下为创建语句。
CREATE TABLE "CUX_KEIGOJOE_TEMP"
(
"LINE_ID" NUMBER NOT NULL ENABLE, ---主键
"ITEM_ID" NUMBER, ---零件编码ID
"ORG_ID" NUMBER, ---组织ID
"SUBINVENTORY_CODE" VARCHAR2(100 BYTE), ---子库存编码
"VENDOR_ID" NUMBER, ---供应商ID
"MEMO" VARCHAR2(200 BYTE), ---备注
"CREATED_BY" NUMBER, ---创建者
"CREATION_DATE" DATE, ---创建日期
"LAST_UPDATED_BY" NUMBER, ---最后修改者
"LAST_UPDATE_DATE" DATE, ---最后修改日期
"LAST_UPDATE_LOGIN" NUMBER, ---最后修改登录ID
"AttriBute1" VARCHAR2(240 BYTE), ---以下为备用字段
"AttriBute2" VARCHAR2(240 BYTE),
"AttriBute3" VARCHAR2(240 BYTE),
"AttriBute4" VARCHAR2(240 BYTE),
"AttriBute5" VARCHAR2(240 BYTE),
"AttriBute6" VARCHAR2(240 BYTE),
"AttriBute7" VARCHAR2(240 BYTE),
"AttriBute8" VARCHAR2(240 BYTE),
"AttriBute9" VARCHAR2(240 BYTE),
"AttriBute10" VARCHAR2(240 BYTE),
CONSTRAINT "CUX_KEIGOJOE_TEMP_PK" PRIMARY KEY ("LINE_ID") USING
INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
TABLESPACE "APPS_TS_TX_DATA" ENABLE
)
SEGMENT CREATION DEFERRED PCTFREE 10 PCTUSED 40 INITRANS 1
MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE "APPS_TS_TX_DATA" ;
B、 将建表语句拷贝到sqldeveloper执行,结果如下:
第 4 页 共 61页
C、 新建序列,作用是给表CUX_KEIGOJOE_TEMP的字段LINE_ID进行赋值。
CREATE SEQUENCE "CUX_KEIGOJOE_TEMP_S"
MINVALUE 1
MAXVALUE 9999999999999
INCREMENT BY 1
START WITH 6
NOCACHE NOORDER NOCYCLE ;
D、 将新建序列语句拷贝到sqldeveloper执行,结果如下:
第 5 页 共 61页
E、 新建视图CUX_KEIGOJOE_TEMP_V,语句如下:
CREATE OR REPLACE FORCE VIEW "CUX_KEIGOJOE_TEMP_V"
AS
SELECT
row_id,
ory_item_id,
t1,
ption item_des,
y_unit_of_measure,
zation_id,
ary_inventory_name,
ption SUB_DES,
_ID,
T1 vendor_code,
第 6 页 共 61页
_NAME,
_ID,
D_BY,
ON_DATE,
_UPDATED_BY,
_UPDATE_DATE,
_UPDATE_LOGIN,
FROM mtl_system_items_b msib,mtl_secondary_inventories
msi,CUX_KEIGOJOE_TEMP cwt,po_vendors pv
WHERE zation_id = zation_id
AND _ID = zation_id
AND _ID = _ID;
F、 将新建视图语句拷贝到sqldeveloper执行,结果如下:
G、 以上数据准备工作结束。
第 7 页 共 61页
创建FORM
A、 打开Forms Builder,首先文件》关闭。
B、 文件》连接,创建与EBS数据库的连接。
第 8 页 共 61页
*如果此时报错,需要查看Forms Builder安装目录
$DevSuiteHome_是否有加入对数据源的描述。
EBS_TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.196)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
(SERVER = DEDICATED)
)
)
C、 文件》打开从服务器上下载的FORM文件。
第 9 页 共 61页
D、 文件》另存,名称为CUX_KEIGOJOE_,保存。
E、 创建数据块:在对象导航器中,选择数据块,点击绿色”+”号。使用数据块向导创建新
的数据块。
选择“使用数据块向导”,点击“确定”。
点击“下一步”。
第 10 页 共 61页
选择“表或视图”,点击“下一步”。
在“表或视图”文本框中填入新建的视图名称“CUX_KEIGOJOE_TEMP_V”,然后点
击“刷新”按钮。
第 11 页 共 61页
点击“将所有项都移动到目标位置”按钮。
点击“下一步”按钮。
第 12 页 共 61页
选择“仅创建数据块”,点击完成。
此时对象导航器中的数据块树中应该出现刚才完成的数据块
第 13 页 共 61页
CUX_KEIGOJOE_TEMP_V。
选择的字段出现在“项”中。
F、 新建画布:“对象导航器”中选择“画布”,点击绿色+。
第 14 页 共 61页
更改画布名称:CV_CUX_KEIGOJOE_TEMP
G、 新建窗口:“对象导航器”中选择窗口,点击绿色+
第 15 页 共 61页
更改名称为WIN_CUX_KEIGOJOE_TEMP
第 16 页 共 61页
H、 点击工具栏上的“保存”按钮,至此新建FORM完成。
第 17 页 共 61页
初始化FORM属性
A、 更改窗口属性:选择新建的窗口WIN_CUX_KEIGOJOE_TEMP,修改其属性(1、鼠标
右键单击窗口,选择列表中的“属性选项板”。2、直接双击窗口的图标)。
点击“子类信息”,选择“属性类”中的“WINDOW”,点击“确定”。
图标会出现变化。
B、 更改画布属性:选择新建的画布CV_CUX_KEIGOJOE_TEMP,在“属性选项板”的
“子类信息”中选择“CANVAS”,保存。
第 18 页 共 61页
C、 修改数据块属性:选择新建的数据块CUX_KEIGOJOE_TEMP_V,在“属性选项板”的
“子类信息”中选择“BLOCK”,保存。
D、 修改表单的属性:选择表单TEMPLATE,在“属性选项板”的名称中填入
“CUX_KEIGOJOE_TEMP”。
E、 保存后,初始化属性完成。
第 19 页 共 61页
构建画布内容
A、 选择画布CV_CUX_KEIGOJOE_TEMP,右键选择“布局编辑器”。
B、 新建一个“框架”,命名为“零件供应商查询”。
第 20 页 共 61页
C、 手动创建新的数据块,命名为INPUTBLOCK。
D、 在新建的数据块INPUTBLOCK内,新建项:PARTID、PARTNAME、SUPNO、
SUPID、PARTNO、BUTN_PRINT、BUTN_FIND、ZIKUCUN。
* PARTID与SUPID是查询条件中的主键,不需要显示到画布上。
E、 修改新建项的属性。
修改PARTID 、SUPID的数据类型为“Number”。
第 21 页 共 61页
修改PARTNAME、SUPNO、PARTNO、ZIKUCUN的子类信息为“TEXT_ITEM”。
修改BUTN_PRINT、BUTN_FIND的子类信息为“BUTTON”。
修改数据块INPUTBLOCK的子类信息为“BLOCK”.
第 22 页 共 61页
修改PARTNAME、SUPNO、PARTNO、BUTN_PRINT、BUTN_FIND、ZIKUCUN的
“物理的”》“画布”为CV_CUX_KEIGOJOE_TEMP。
F、 选择画布CV_CUX_KEIGOJOE_TEMP,右键选择“布局编辑器”,选择新增的框架右
键选择“属性选项板”,选择“FRAME_RECT”。
G、 如下两图所示,将项放到指定位置。
第 23 页 共 61页
用鼠标将各项拖拉到以下位置。
布局编辑器上选择项PARTNO,打开其属性,更改“提示”为“物料编码”。
项PARTNAME,更改“提示”为“物料名称”。
项SUPNO,更改“提示”为“供应商编码”。
项ZIKUCUN,更改“提示”为“子库存”。
项PARTNO,更改“提示”为“物料编码”。
项BUTN_FIND,更改“标签”为“查询”。
第 24 页 共 61页
项BUTN_PRINT,更改“标签”为“打印报表”。
耐心调整界面如下图所示。
*可以使用
H、 在画布CV_CUX_KEIGOJOE_TEMP新增列表。
做位置的调整。
按顺序选择项:SEGMENT1、ITEM_DES、PRIMARY_UNIT_OF_MEASURE、
SECONDARY_INVENTORY_NAME、SUB_DES、VENDOR_CODE、
VENDOR_NAME、MEMO。更改属性中的画布为“CV_CUX_KEIGOJOE_TEMP”。子
类信息为“TEXT_ITEM”。
第 25 页 共 61页
画布如下。
更改SEGMENT1属性中的“提示”为“物料编码”。
更改ITEM_DES属性中的“提示”为“物料名称”。
更改PRIMARY_UNIT_OF_MEASURE属性中的“提示”为“单位”。
更改SECONDARY_INVENTORY_NAME属性中的“提示”为“子库存”。
更改SUB_DES属性中的“提示”为“子库存说明”。
更改VENDOR_CODE属性中的“提示”为“供应商编码”。
更改VENDOR_NAME属性中的“提示”为“供应商名称”。
更改MEMO属性中的“提示”为“备注”。
第 26 页 共 61页
耐心调整为下图所示。
选择数据块CUX_KEIGOJOE_TEMP_V,将属性中的“显示的记录数”更改为20。
第 27 页 共 61页
效果如下。
I、 添加一个滚动条。
选择数据块CUX_KEIGOJOE_TEMP_V,打开属性,在“滚动条”》“显示滚动条”处
选择“是”,“带滚动条画布”选择“CV_CUX_KEIGOJOE_TEMP”。
调整滚动条位置如下。
第 28 页 共 61页
编辑LOV弹性域
A、 选择LOV,点击增加按钮,一共要增加以下5个LOV。
LOV_SUP_INSERT
LOV_KUFANG_INERT
LOV_SUP
LOV_KUFANG
LOV_PART_INFO
LOV_PARTNO_INSERT
首先创建第一个LOV_SUP_INSERT。
点击新增后,选择“使用LOV向导”,点击确定。
选择“基于查询的新记录组”。下一步。
第 29 页 共 61页
在SQL查询语句中输入,下一步。
select _ID, T1 vendor_code, _NAME
from po_vendors pv
*建议使用“检查语法”,事先确认语法结构是否存在问题。
在LOV中需要包含哪些列中,选择全部。
第 30 页 共 61页
*此处是确认在LOV弹性域中需要显示的字段。
在列显示中设置宽度和绑定返回的值,首先需要修改宽度,一般1-2为宜,然后下一
步。
*对于需要返回到LOV弹性域的值,但是不希望用户在界面上可以看到(一般来说是
表的主键ID,因为UPDATE和DELETE都需要主键ID,所以需要返回以便FORM可
以捕捉与调用),可以吧宽度设置为0。
标题设置为“LOV_SUP_INSERT”,宽度和高度都为“3333”,然后下一步。
第 31 页 共 61页
高级项默认即可,下一步到分配项,即LOV弹性域返回到FORM上的哪一项,需要在
这里设置,我们需要将供应商的编码返回到FORM“零件供应商查询”的项“供应商编
码”内,所以此处设置如下,然后下一步点击完成。
在LOV中增加了一个LOV项“LOV120”,名称是系统默认的,所以需要修改属性的
名称为“LOV_SUP_INSERT”,同时将子类信息更改为“LOV”。
第 32 页 共 61页
第一个LOV添加完成。
从第二个到第五个LOV的作法与第一个大致相同。区别如下:
LOV_KUFANG_INERT:
select ary_inventory_name, ption
from mtl_secondary_inventories msi
where zation_id = :_ID
第 33 页 共 61页
LOV_SUP:
select _ID, T1 vendor_code, _NAME
from po_vendors pv
第 34 页 共 61页
LOV_KUFANG
select ary_inventory_name, ption
from mtl_secondary_inventories msi
where zation_id = :_ID
第 35 页 共 61页
LOV_PART_INFO
select ory_item_id,
t1,
ption,
y_unit_of_measure
from mtl_system_items_b msib
第 36 页 共 61页
where zation_id = :_ID
LOV_PARTNO_INSERT
select ory_item_id,
t1,
ption,
y_unit_of_measure
from mtl_system_items_b msib
where zation_id = :_ID
第 37 页 共 61页
B、 自此,弹性域LOV创建完成。点击保存。
第 38 页 共 61页
列表添加LOV弹性域
A、 选择数据块CUX_KEIGOJOE_TEMP_V,为以下项:SEGMENT1、
SECONDARY_INVENTORY_NAME、VENDOR_CODE分别添加“值列表LOV”属
性。
B、 SEGMENT1属性“值列表LOV”更改为“LOV_PARTNO_INSERT”。
C、 SECONDARY_INVENTORY_NAME属性“值列表LOV”
“LOV_KUFANG_INERT”。
D、 VENDOR_CODE属性“值列表LOV”更改为“LOV_SUP_INSERT”。
E、 保存。
第 39 页 共 61页
更改为
选择必录项
A、 在数据块CUX_KEIGOJOE_TEMP_V中选择SEGMENT1、
SECONDARY_INVENTORY_NAME、VENDOR_CODE。
B、 修改其属性“数据”》“必需”为“是”。
第 40 页 共 61页
新建参数
A、 实现对系统默认参数的调用。
B、 选择参数,点击新增按钮,需要新增4个系统默认参数。
ORG_ID
ORG_CODE
ORG_NAME
CHART_OF_ACCOUNTS_ID
第 41 页 共 61页
程序单元
A、 选择程序单元,点击新增,选择“程序包规格”,
名称为“APP_CUX_KEIGOJOE_TEMP”,点击确定。
B、 在PL/SQL编辑其中做如下添加,然后保存。
PROCEDURE Insert_row;
PROCEDURE Update_row;
PROCEDURE DELETE_ROW;
C、 继续新增一个程序包主体,名称为“APP_CUX_KEIGOJOE_TEMP”,点击确定。
第 42 页 共 61页
D、 在PL/SQL编辑器中写入对象中的以下内容。
实现对表CUX_KEIGOJOE_TEMP的增删改操作。
E、 修改程序单元app_custom,打开其PL/SQL编辑器,修改内容。
将if (wnd = '
then
第 43 页 共 61页
第 44 页 共 61页
新增打印报表的数据库程序包
A、 在数据库上新建程序包,包名为CUX_KEIGOJOE_PRINT_TEMP_PKG,添加以下内
容。
PROCEDURE print_report(errbuf OUT VARCHAR2,
retcode OUT VARCHAR2,
p_PARTID in number,
p_SUPID in number,
p_ZIKUCUN in number
);
procedure print_header;
B、 在该程序包上创建一个主体,添加以下内容。
C、 编译程序包。
第 45 页 共 61页
添加按钮的触发器
A、 FORM上的按钮“查询”添加触发器。
选择数据块“INPUTBLOCK”的项“BUTN_FIND”,然后选择触发器,新增一个触发
器“WHEN-BUTTON-PRESSED”。
在PL/SQL编辑器中输入以下内容
go_block('CUX_KEIGOJOE_TEMP_V');
execute_query;
选择数据块CUX_WCH_TEMP_V,编辑属性“WHERE子句”。
SEGMENT1 = nvl(:,SEGMENT1) and ITEM_DES =
nvl(:ME,ITEM_DES) and VENDOR_CODE =
nvl(:,VENDOR_CODE) and SECONDARY_INVENTORY_NAME
= nvl(:N,SECONDARY_INVENTORY_NAME)
第 46 页 共 61页
继续编辑“ORDER BY 子句”。
SEGMENT1
保存。
B、 在FORM的按钮“打印报表”添加触发器。
选择项“BUTN_PRINT”,选择触发器,点击新增选择触发器“WHEN-BUTTON-
PRESSED”。
在打开的PL/SQL编辑器中新增以下内容。
第 47 页 共 61页
FND__REQUEST的参数必须满足100的数量,不足时用 ’’ 来满
足。中间用 , 号隔开。
保存。
第 48 页 共 61页
新增触发器
A、 DEMO需要演示数据的新增操作,需要有触发器来调用包实现FORM新增记录的操
作。
B、 选择数据项CUX_KEIGOJOE_TEMP_V,选择触发器,点击新增,选择PRE-INSERT。
C、 在打开的PL/SQL编辑器内填写如下内容。
fnd__who; 表示当前事件发生时可以获取用户信息。
D、 新增触发器:PRE-UPDATE
第 49 页 共 61页
E、 新增触发器:ON-INSERT 此触发器表示需要调用的程序包及函数。
APP_CUX_KEIGOJOE__row;
F、 新增触发器:ON-DELETE
APP_CUX_KEIGOJOE__ROW;
G、 新增触发器:ON-UPDATE
APP_CUX_KEIGOJOE__row;
H、 新增触发器:ON-LOCK DEMO不演示锁表记录的操作。
NULL;
第 50 页 共 61页
部署FORM
A、 修改表单CUX_KEIGOJOE_TEMP的属性。
属性:第一个导航数据块更改为“INPUTBLOCK”。
*保证FORM打开时,光标能够固定在该数据块上。
B、 修改画布CV_CUX_KEIGOJOE_TEMP的属性。
属性:“物理的》窗口”更改为“WIN_CUX_KEIGOJOE_TEMP”。
C、 修改窗口WIN_CUX_KEIGOJOE_TEMP的属性。
属性:标题更改为“CUX_KEIGOJOE_TEMP”。
属性:主画布更改为“CV_CUX_KEIGOJOE_TEMP”。
第 51 页 共 61页
D、 选择表单》触发器》PRE-FORM,打开其PL/SQL编辑器,进行修改。
FND__INFO('$Revision: 120.0 $', 'Template Form', 'FND',
'$Date: 2005/05/06 23:25 $', '$Author: appldev $');
app_('PRE-FORM');
app__window_position('BLOCKNAME', 'FIRST_WINDOW');
-------------------------更改为-------------------------------------------------------------------------
FND__INFO('$Revision: 120.0 $', 'CUX_KEIGOJOE_TEMP',
'CALM',
'$Date: 2005/05/06 23:25 $', '$Author: appldev $');
app_('PRE-FORM');
app__window_position('WIN_CUX_KEIGOJOE_TEMP', 'FIRST_WINDOW');
fnd__org;
E、 编译FORM。
点击工具栏上的
,编译FORM。
F、 通过WINSCP将文件CUX_KEIGOJOE_上传到EBS的服务器目录.
服务器目录:/u01/test/apptest/apps/apps_st/appl/calm/12.0.0/forms/ZHS/
G、 SSH或TELNET方式以APPTEST用户登录服务器,服务器端编译文件FORM文件。
编译完成。
H、 应用开发员身份的用户登录EBS,注册程序表单。
应用产品》表单
第 52 页 共 61页
按下图方式输入内容。
保存。
应用产品》功能
第 53 页 共 61页
按下图方式输入内容。
说明:
表单:
保存。
应用产品》菜单
按下图方式输入内容。
第 54 页 共 61页
保存。
I、 注册并发请求。* 打印报表。
并发》可执行
按以下内容填写,应该填写数据库程序包的名称
CUX_KEIGOJOE_PRINT_TEMP_PKG。
第 55 页 共 61页
保存。
并发》程序
按下图所示进行填写。
第 56 页 共 61页
保存。
J、 至此注册完成。
第 57 页 共 61页
测试FORM
A、 库存管理员身份登录EBS系统。
B、 铃木客户化程序》测试菜单》CUX_KEIGOJOE_TEMP,打开FORM。
由于在触发器PRE-FORM中添加内容fnd__org;需要先选择组织。
C、 编写的FORM打开。
第 58 页 共 61页
D、 测试新增。
打开弹性域
输入内容后,保存。
系统提示保存成功。
第 59 页 共 61页
查看数据库的后台表CUX_KEIGOJOE_TEMP。INSERT操作是成功的。
E、 测试查询。
查询成功。
F、 测试打印报表。
点击“打印报表”按钮
查看请求。
第 60 页 共 61页
网页上查看报表
第 61 页 共 61页
版权声明:本文标题:EBS 开发Forms Builder DEMO的操作手册 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735358514a1653016.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论