FORM开发基本内容整理.doc
文本预览下载声明
FORM开发基本内容整理
EXECUTE_QUERY;
GO_FORM / BLOCK / ITEM(‘form / block / item_name’);
GO_ RECORD (system.cursor_record / :control.last_record_number);
Fnd_message.debug(‘信息内容’);
FND_MESSAGE.SHOW;
raise form_trigger_failure;
实现数据操作人员及时间记录
table中需建立以下五个列:
CREATED_BY NUMBER --创建人USER_ID
CREATION_DATE DATE --创建时间
LAST_UPDATED_BY NUMBER --修改人USER_ID
LAST_UPDATE_DATE DATE --修改时间
LAST_UPDATE_LOGIN NUMBER --修改时进ERP的登录ID
在数据块的PRE-INSERT、PRE-UPDATE触发器中加入如下代码:
FND_STANDARD.SET_WHO;
调用日期控件
首先将ITEM的LOV属性设置为“ENABLE_LIST_LAMP”,列表验证属性设置为“否”;
在ITEM的“KEY-LISTVAL”解发器下加如下代码:
CALENDAR.SHOW(TO_DATE(20-06-2009,DD-MM-YYYY));
--无参数时,打开LOV光标默认定位到当前日期,有参数定位到参数所指日期。
CHOOSE ORG功能
在Parameter里面增加如下几个参数,用于接收组织LOV的值:
ORG_ID (Number)
ORG_CODE (Char)
ORG_NAME (Char)
CHART_OF_ACCOUNTS_ID (Number)
在FORM级触发器PRE-FORM增加如下代码,以显示LOV:
FND_ORG.CHOOSE_ORG;
设置WINDOW的TITLE
根据把Choose ORG加在FORM上还是BLOCK上定将以下语句写在其中一个触发器中,WHEN-NEW-FORM-INSTANCE或者WHEN-NEW-BLOCK-INSTANCE:
APP_WINDOW.SET_TITLE(RESULT,:PARAMETER.ORG_CODE);
或者:SET_WINDOW_PROPERTY(window_name, title,你要写的标题);
记录指示器
新增ITEM,设置ITEM的属性:子类信息:设成DRILLDOWN_RECORD_INDICATOR,数据库项:否.
客制化菜单
增加一个自定义Form 级的触发器(SPECIAL11)
--名字必须定义为“SPECIAL+数字”,否则会报错。并且数字的大小决定了菜单出现的先后顺序。数字还有更大作用就是决定了,自定义菜单选项放在哪个主菜单下。
SPECIAL1—SPECIAL15在“工具”主菜单下。
SPECIAL16—SPECIAL30在“报表”主菜单下。
SPECIAL31—SPECIAL45在“活动”主菜单下。
在Form级触发器 WHEN-NEW-FORM-INSTANCE中添加如下代码进行调用:
APP_SPECIAL.INSTANTIATE(菜单触发器名,菜单显示名称, , TRUE, LINE);
--可根据不同数据块,实现客制化菜单是否可用,语句:app_special.enable(SPECIAL11,property_off);
客制化右键菜单
在FROM级增加自定义触发器(名字规则为:POPUP+N)
在右键菜单所在的ITEM或BLOCK的“PRE-POPUP-MENU”触发器上初始化菜单,增加代码如下:
APP_POPUP.INSTANTIATE(POPUP10,菜单显示名称,TRUE,LINE);
APP_POPUP.INSTANTIATE(POPUP3,菜单显示名称,FALSE,NULL);
实现手电筒查找的功能
打开标准FORM---APPSTAND.fmb。将对象组中的QUERY_FIND拖至待开发的FORM中。继承为子类。将FORM的第一个导航块及控制台窗口设成QUERY_FIND。
打开QUERY_FIND画布,改写“新建”、“查找”两个按钮WHEN-BUTTON-PRESS之中的代码:
NEW代码:APP_FIND.NEW(查询的数据块名);
FIND代码::PARAMETER.G_QUERY_FIND := TRUE;
APP_FIND.FIND(查询的数据块名);
:PARAME
显示全部