ebs form开发总结(2)

2018-12-05 20:50

2.3 接下来就是在form builder中写显示和隐藏的代码 FORM级的WHEN-TAB-PAGE-CHANGED

hide_main_tab.txtshow_main_tab.txtgo_tab_first_item.txt

以下的两个过程是为了防止bug

参考(\\桌面\\ebs常用文档大全\\FOLDER) 1.在FORM触发器内 ELSIF (event = 'FOLDER_RETURN_ACTION') THEN if(:global.folder_action = 'CONFIRM-HIDE-FIELD') THEN if :global.folder_filed = 'ADDITION1' THEN :global.folder_action_allowerd := 'FALSE'; END IF; end if; 2.在block触发器 elsif event = 'WHEN-NEW-ITEM-INSTANCE'then curr_canvas_name := get_item_property(name_in('SYSTEM.CURSOR_ITEM'), item_canvas); current_tab := get_canvas_property('MAIN_TAB', topmost_tab_page); tab_canvas_name := name_in('SYSTEM.EVENT_CANVAS'); IF curr_canvas_name IN ('TAX_STK','BASE_STK') THEN IF curr_canvas_name != current_tab THEN set_canvas_property('MAIN_TAB', topmost_tab_page, curr_canvas_name); ENDIF; ENDIF; 3.说明性弹性域

第一步:在实际开发中(暂时做过的项目中),会提供给你注册的plsql块(保存在sql中),

执行后,就会在ebs中注册。

第二步:在数据块中创建item,取名DF,类型text item,子类TEXT_ITEM_DESC_FLEX

第三步:在DF项下,创建两个触发器 WHEN-VALIDATE-ITEM --override

代码:FND_FLEX.EVENT(‘WHEN-VALIDATE-ITEM’) WHEN-NEW-ITEM-INSTANCE --before

代码:FND_FLEX.EVENT(‘WHEN-NEW- ITEM-INSTANCE’)

第四步:修改DF所在数据块的trigger,添加完成后初始化弹性域

添加此代码:FND_FLEX.EVENT( ‘ ..’)

使用fnd_descr_flex.define初始化弹性域 第五步:启用弹性域

1.先是查找出注册好的弹性域

2.进入段设置界面

Open 弹性域 3.

然后保存 4.

最后保存。

4.关键性弹性域

下面讲解的是核算科目账户对应的键弹性域的创建方法

4.1创建三个item项,设置相应属性

CODE_COMBINATION:显示项(称为账户项),字段长度设置2000,显示核算科目的数字组合。 LOV为ENABLE_LIST_LAMP, 验证为NO

COMBINATION_DESC:显示项,字段长度设置2000,显示核算科目的中文描述组合 GL_CCID:数据库表项,存储的是核算科目对应的ID

4.2为账户项添加两个触发器

WHEN-NEW-ITEM-INSTANCE : 触发器执行层次设置为Before WHEN-VALIDATE-ITEM

为两个触发器添加代码: fnd_flex.event('WHEN-NEW-ITEM-INSTANCE');

4.3为这三个item所在的block块添加触发器

PRE-QUERY POST-QUERY PRE-INSERT PRE-UPDATE WHEN-VALIDATE-RECORD 触发器代码:fnd_flex.event('PRE-INSERT');

4.4在pre-form触发器获取账户结构ID select b.CHART_OF_ACCOUNTS_ID from gl_sets_of_books b where b.SET_OF_BOOKS_ID = fnd_profile.value('GL_SET_OF_BKS_ID')

4.5 初始化键弹性域 fnd_key_flex.define( block =>'DETAIL', field =>'CODE_COMBINATION', appl_short_name =>'SQLGL',--注册的应用简称 code =>'GL#',--弹性域的注册代码 id =>'GL_CCID', description =>'COMBINATION_DESC', num =>':parameter.CHARTS_ACCOUNT_ID');--4.4得到的账户结构ID 4.6遇到的奇葩问题 1).建好弹性域以后,如果我们为账户项赋了值以后,会自动获取数据库表项的值(GL_CCID),如果你有自己的函数来为数据库表项赋值(在系统自动获取之前),那就会被自动获取的值覆盖,关键是这个自动获取的值还有可能是错误的,所以在PRE-INSERT触发器之前,重新


ebs form开发总结(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:室内给水子分部工程、分项工程验收记录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: