FORM开发相关技术(一)

来源:互联网 发布:矩阵论pdf 清华出版社 编辑:程序博客网 时间:2024/04/27 13:16

 

1.一进页面就能看到表中已生成数据,而不用按ctrl+f11进行查询的语句:
form级的触发器when-new-form-instance中,
写如下代码:
go_block('XXXX');
execute_query;
要查询的数据块的名称

说明:当使用基于表建立的块时,可使用块里的任何项的GO_BLOCK或者GO_ITEM找到那个块.当查询数据到一个块里去,可通过execute_query进行处理
补充:用DELETE_RECORD从块中删除当前记录,要改变数据库的记录,必须使用COMMIT_FORM
2, 什么办法可以控制formFile菜单中的Export吗?使其失效
答:在FORM中,在FORM级的触发器EXPORT中,
将其中的代码app_standard.event('EXPORT');屏蔽掉,改为null;试一试

3form 启动时,在pre-form触发器中instantiate你特定的菜单items
调用 app_special.instantiate

procedure APP_SPECIAL.INSTANTIATE(
option_name varchar2, --
定义tigger 名字
hint varchar2 default null,--
定义菜单实体的名字,使用&来定义菜单实体的键盘快捷键
icon varchar2 default null,--
initially_enabledboolean default true,
separator varchar2 default null);--
定义'LINE'separator
例子
app_special.instantiate(’SPECIAL1’,’&rint Order’,’PRINTORD’);
4,
tool 菜单中的
check boxes
--option_name
trigger_name 包括关键字CHECKBOX(例如:
SPECIAL3_CHECKBOX)
app_special.instantiate(’SPECIAL3_CHECKBOX’,’Spe&cial 3 Box w Line’, ’’,TRUE,’LINE’);

--调用app_special.set_checkbox 来初始化check box 的值
app_special.set_checkbox(’SPECIAL3_CHECKBOX’,’TRUE’);

--SPECIALn_CHECKBOX函数中和相应的逻辑代码中测试check box
app_special.get_checkbox
if (app_special.get_checkbox(’SPECIAL3_CHECKBOX’)=’TRUE’) then
fnd_message.debug(’Special 3 is True!’);
else
fnd_message.debug(’Special 3 is False!’);
end if;

5, 在你在pre-form instantiate实体,随意将指定的菜单实体设置为可用或不可用(基于数据块),
调用APP_SPECIAL.ENABLE
procedure APP_SPECIAL.ENABLE(option_name varchar2,
state);

form-level 中的pre-block trigger里面,将你的special 菜单的item 定义为disable
app_special.enable(’SPECIAL1’,PROPERTY_OFF);
form-level 中的pre-block trigger里面,将你的special 菜单的item 定义为
able
app_special.enable(’SPECIAL1’,PROPERTY_on);
将所有的special 菜单设置为
disable
app_special.enable(’SPECIAL’,PROPERTY_OFF);

6, 编辑鼠标右键菜单
调用APP_POPUP.INSTANTIATEblock或者item层的PRE-POPUPMENU Trigger
procedure APP_POPUP.INSTANTIATE(
option_name varchar2,
txt varchar2,
initially_enabled boolean default true,
separator varchar2 default null);
app_special.instantiate类似
例如:APP_POPUP.INSTANTIATE('POPUP1','First Entry');

7, 关于 Implementing Zoom Use the Custom Library的学习:
1. .pll
文件可以用form builder 打开,修改,创建
2. .pll
文件的编译方法:
f60gen module=CUTOM.PLL userid=apps/apps module_type=LIBRARY
3.
当系统不自动激活菜单上的图标时,可以在数据块的 block-level when-new-block-instance trigger
添加如下代码:
zoom为例子:set_menu_item_property('VIEW.ZOOM'ENABLEDPROPERTY_TURE)
form-level 的相应的trigger(比如zoom trigger)中改写下列代码:

custom.event
'ZOOM'
4. fnd_function.exrcute
语法:
procedure FND_FUNCTION.EXECUTE
(function_name IN varchar2,
open_flag IN varchar2 default ’Y’,
session_flag IN varchar2 default ’SESSION’,
other_params IN varchar2 default NULL,
activate IN varchar2 default ’ACTIVATE’,
browser_target IN varchar2 default NULL);
5.FND_FUNCTION.TEST(function_name IN varchar2)
测试指定的函数是否可以连接,该函数用于form 启动时测试函数的可用性,
8,
弹性域(Flexfields)的总结:

使用 FND_KEY_FLEX.DEFINE item handler 中设定key弹性域的定义
procedure flexfield_item_name(event varchar2)
is
begin
fnd_key_flex.define(
block=>'block_name',
field=>'concatenated_segements_field_name',
id=>'ccid_field_name',
appl_short_name=>'shortname_of_application_used_to_register_flexfield',
code=>'flexfield_code',
NUM=>'structure_number',
any_other_auguments);

:   FND_KEY_FLEX.DEFINE(
BLOCK=>’LINES’,
FIELD=>’ACCTG_FLEX_VALUES’,
ID=>’GL_ACCOUNT_CC_ID’,--Your ID field is the GL_ACCOUNT_CC_ID item
APPL_SHORT_NAME=>’SQLGL’,
CODE=>’GL#’,
NUM=>’101’--
可以使用GL_SET_OF_BOOKS_ID 作为structure id);
使用FND_DESCR_FLEX.DEFINE item handler 中设定描述性弹性域的定义

定义
FND_DESCR_FLEX.DEFINE(
BLOCK=>'BLOCK_NAME',
FIELD=>'DISPLAYED_FLEXFIELD_FIELD_NAME',
APPL_SHORT_NAME=>'SHORTNAME_OF_APPLICATION_USED_TO_REGISTER_FLEXFIELD',
DESC_FLEX_NAME=>'FLEXFIELD_NAME',
ANY_OTHER_ARGUMNTS);
:   FND_DESCR_FLEX.DEFINE(
BLOCK=>’ORDERS’,
FIELD=>’DESC_FLEX’,
APPL_SHORT_NAME=>’DEM’,
DESC_FLEX_NAME=>’DEM_ORDERS’);
9, COPY
命令
Copies a value from one item or variable into another item or global variable.
Syntax
PROCEDURE COPY(source VARCHAR2, destination VARCHAR2)

Parameters
source
The source is a literal value.

destination The destination can be either a text item or another global variable.
例:COPY( 'Yes', 'GLOBAL.'||global_var_name );
‘YES’付值给 变量global_var_name

10设置Item-levelItem-instance-level属性时需特别的注意,
Item-level
属性影响所有的记录,而Item-instance-level属性只影响特定的记录(当前行)。

11   fotmatting currency fields( 货币的转换和格式化)
FND_CURRENCY:The Dynamic Currency feature allows different values in arbitrary currencies to be displayed in
the same report or form, each shown with appropriate formatting.
FND_CURRENCY.GET_FORMAT_MASK(:ORDERS.CURRENCY_CODE,GET_ITEM_PROPERTY('LINES.PRICE',MAX_LENGTH));

原创粉丝点击