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. [LeetCode] The Maze 迷宫

    There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...

  2. MySql 使用规范推荐

    前言 废话不多说-- 一.基础规范 1.使用InnoDB存储引擎 支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 2.推荐使用utf8mb4字符集 无需转码,无乱码风险, 支 ...

  3. Java中数据表的建立

    class Emp{ private int empno;//职工编号 private String ename;//姓名 private String job;//职位 private double ...

  4. electron通讯

    Electron桌面应用实现两个窗口(渲染进程)之间的通讯,传输数据: 方法1:在两个网页(渲染进程)间共享数据最简单的方法是使用浏览器中已经实现的 HTML5 API. 其中比较好的方案是用 Sto ...

  5. 实验吧_简单的sql注入_1、2、3

    简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入 ...

  6. 洛谷mNOIP模拟赛Day2-将军令

    题目背景 pdf题面和大样例链接:http://pan.baidu.com/s/1cawM7c 密码:xgxv 历史/落在/赢家/之手 至少/我们/拥有/传说 谁说/败者/无法/不朽 拳头/只能/让人 ...

  7. ●BZOJ 1767 [Ceoi2009]harbingers

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1767 题解: 斜率优化DP,单调栈,二分 定义 DP[i] 表示从 i 节点出发,到达根所花 ...

  8. bzoj 1217: [HNOI2003]消防局的设立

    Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了 ...

  9. bzoj1853[Scoi2010]幸运数字 容斥

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 3027  Solved: 1128[Submit][Status ...

  10. scrapy常用命令(持续) | Commonly used Scrapy command list (con't)

    以下命令都是在CMD中运行,首先把路径定位到项目文件夹 ------------------------------------------------------------------------ ...