1.创建表时带有键弹性域字段

SUMMARY_FLAG            VARCHAR2(1) ,  /* 必须有此字段 */
ENABLED_FLAG VARCHAR2(1) , /* 必须有此字段 */
START_DATE_ACTIVE DATE , /* 必须有此字段 */
END_DATE_ACTIVE DATE , /* 必须有此字段 */
LAST_UPDATED_BY NUMBER , /* 必须有此字段 */
LAST_UPDATE_DATE DATE , /* 必须有此字段 */
SEGMENT1 VARCHAR2(30) ,
SEGMENT2 VARCHAR2(30) ,
SEGMENT3 VARCHAR2(30) ,
SEGMENT4 VARCHAR2(30) ,
SEGMENT5 VARCHAR2(30) ,
SEGMENT6 VARCHAR2(30) ,
SEGMENT7 VARCHAR2(30) ,
SEGMENT8 VARCHAR2(30) ,
SEGMENT9 VARCHAR2(30) ,
SEGMENT10 VARCHAR2(30) ,
SEGMENT11 VARCHAR2(30) ,
SEGMENT12 VARCHAR2(30) ,
SEGMENT13 VARCHAR2(30) ,
SEGMENT14 VARCHAR2(30) ,
SEGMENT15 VARCHAR2(30)

2.注册表和列

注册表

execute ad_dd.register_table('EDV', 'FLEX_LN_KEY', 'T');

注册列

execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'KEY_FLEX_STRUCTURE_ID', 1, 'NUMBER', 38, 'Y','N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'KEY_FLEX_ID', 2, 'NUMBER', 38, 'Y', 'N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'SEGMENT1', 3, 'VARCHAR2', 30, 'Y', 'N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'SEGMENT2', 4, 'VARCHAR2', 30, 'Y', 'N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'SEGMENT3', 5, 'VARCHAR2', 30, 'Y', 'N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'SEGMENT4', 6, 'VARCHAR2', 30, 'Y', 'N' );
execute ad_dd.register_column('EDV', 'FLEX_LN_KEY', 'SEGMENT5', 7, 'VARCHAR2', 30, 'Y', 'N' );

3.FORM中开发弹性域

(1)创建ITEM,可参考我的FORM开发之说明性弹性域开发

加入非基表域用于容纳弹性域,我们做一个ITEM叫KEY_FLEXITEM

注意这个ITEM的CLASS属性为TEXT_ITEM, LOV处选择ENABLE_LIST_LAMP,并把检查有效性设为NO。

(2)在when-new-form-instance中注册弹性域

fnd_key_flex.define (
block => 'T_KEY_FLEX', -- 操作的block
field => 'KEY_FLEXITEM', -- 创建的item,用来容纳键弹性域
id => 'KEY_ID', --保存key弹性域的唯一值
appl_short_name => 'EDV',
code => 'K_LN', -- 键弹性域的注册代码 fnd_id_flex_structures.id_flex_code
num => '101' --fnd_id_flex_structures.id_flex_num
);

(3)分别在BLOCK级别加入如下的触发器(可参考说明性弹性域的应用代码).

PRE-QUERY

PRE-UPDATE

PRE-INSERT

POST-QUERY

WHEN-NEW-ITEM-INSTANCE

WHEN-VALIDATE-ITEM

WHEN-VALIDATE-RECORD

其触发器的代码分别对应

FND_FLEX.EVENT('PRE-QUERY');

FND_FLEX.EVENT('PRE-UPDATE');

FND_FLEX.EVENT('PRE-INSERT');

FND_FLEX.EVENT('POST-QUERY');

FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE');

FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');

FND_FLEX.EVENT('WHEN-VALIDATE-RECORD');

4.在系统中注册弹性域

FORM开发之键性弹性域开发的更多相关文章

  1. OAF_OAF控件系列10 - Key Flexfield键值弹性域的实现(案例)

    2014-06-17 Created By BaoXinjian

  2. FORM开发之说明性弹性域开发

    1.注册使用弹性域的表,字段 注册表语法:ad_dd.register_table('所有者','表名','T自动扩展/S非自动扩展','下一区','自由','已使用') AD_DD.REGISTER ...

  3. EBS描述性弹性域及键弹性域总结

    一.描述性弹性域 前言介绍: 描述性弹性域的实质就是系统预留自定字段,系统可以使用说明性弹性域来获取业务所特有的重要附加信息.系统可能自定义说明性弹性域,以显示存储更多信息的字段,提供一套完整的“自定 ...

  4. 转:客制FORM调用会计科目弹性域/根据科目取得CODE_COMBINATION_ID

    1.首先在创建数据表时,添一个字段用来保存会计科目的ID.如:CODE_COMBINATION_ID 2.在FORM相应的数据块增加两个ITEM,用来显示科目NUMBER与DESCRITION. 例: ...

  5. 用Vue开发一个实时性时间转换功能,看这篇文章就够了

    前言 最近有一个说法,如果你看见某个网站的某个功能,你就大概能猜出背后的业务逻辑是怎么样的,以及你能动手开发一个一毛一样的功能,那么你的前端技能算是进阶中高级水平了.比如咱们今天要聊的这个话题:如何用 ...

  6. nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模块的Javascript

    Javascrip本身不带IO功能,nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模 ...

  7. 开发环境Vue访问后端接口教程(前后端分离开发,端口不同下跨域访问)

    原理:开发环境下的跨域:在node.js上实现请求转发,vue前端通过axios请求到node.js上,node.js将请求转发到后端,反之.响应也是,先到node.js上,然后转发vue-cil项目 ...

  8. Solon Web 开发,九、跨域处理

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  9. Oracle EBS如何查找到说明性弹性域Title

    Oracle EBS如何查找到说明性弹性域Title 一.方法一:直接在弹性栏位界面查询 在EBS中,有部分表已经启用说明性弹性域,我们可以直接在界面得到弹性域对话框的标题,如下图所示,在OM-事务处 ...

随机推荐

  1. 页面中引入mui 地址选择,点击页面中其他input时页面回到顶部

    问题:在页面中引入mui地址选择时,点击页面中的input页面会滚到顶部(谷歌浏览器中出现的bug),在手机上点击input会出现跳动.开始的时候是想修改mui.min.js里的滚动事件,但是后来找到 ...

  2. Redis常用命令--SortedSet

    SortedSet是一个类似于Set的集合数据类型,里面的每个字符串元素都关联到一个score(整数或浮点数),并且总是通过score来进行排序着. 并且可以取得一定范围内的元素. 在Redis中大概 ...

  3. 《C++ Primer》学习笔记:向vector对象添加元素蕴含的编程假定

    练习<C++ Primer>中的3.14节时,当敲入: #include <iostream> #include <string> using namespace ...

  4. [NOI 2010]能量采集

    Description 题库链接 给你一个 \(n\times m\) 的坐标轴.对于坐标轴的每一个正整数整点 \((x,y)\) 其对答案产生的贡献为 \(2k+1\) ,其中 \(k\) 表示这个 ...

  5. HDU 3094 A tree game

    Problem Description Alice and Bob want to play an interesting game on a tree.Given is a tree on N ve ...

  6. 【BZOJ3991】【SDOI2015】寻宝游戏

    Description ​ 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然 ...

  7. hdu 5895 广义Fibonacci数列

    Mathematician QSC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  8. ●SPOJ 8222 NSUBSTR - Substrings(后缀数组)

    题链: http://www.spoj.com/problems/NSUBSTR/ 题解: 同届红太阳 --WSY给出的后缀数组解法!!! 首先用倍增算法求出 sa[i],rak[i],hei[i]然 ...

  9. [Codeforces Round #431]简要题解

    来自FallDream的博客,未经允许, 请勿转载,谢谢. 好久没写cf题解了zzz 代码比较丑不贴了,cf上都可以看 Div2A. 给你一个长度为n(n<=100)的序列 判断是否可以分成奇数 ...

  10. 阿里云负载均衡SSL证书配置

    阿里云负载均衡SSL证书 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/8908461.html 好久了呢,距上篇博客的这段时间中:考试.搬家.工作赶工.业务考察 ...