OAF_OAF控件系列10 - Key Flexfield键值弹性域的实现(案例)
2014-06-17 Created By BaoXinjian
一、摘要
OAF的弹性域的实现基本和Form的弹性域实现的大体思路是一致的,在注册Table和弹性域完全一样,之后通过控件去实现具体的弹性域显示
Form的弹性域初始化基本都在trigger when-new-form-instance中
OAF的弹性域初始化基本都在processRequest中,或者在processRequest调用AM中的初始化方法
1. 网上的一个例子
新建一个EO,其中需要有相关的CCID字段。这里,如果在EO的Dynamic Attribute Groups里添加键弹性域的内容时,会报错,所以这里不在这里进行设置。
新建一个基于EO的VO,这个这个VO里需要有相关CCID的字段。
把
要录入信息的字段添加到页面上(CCID字段不需要),然后添加一个Item
Style类型为flex的项。(注意,在messageComponentLayout里不能添加flex项,所以要先添加一个
messageLayout,然后再在messageLayout里添加flex项)。设置flex项的ID:DF, Appl Short
Name:SQLGL, Name:GL#, Type:key, View Instance:自己定义的VO实例。
2. 键值弹性域必须存在的四个属性
- Appl Short Name:SQLGL
- Name:GL#
- Type:key
- View Instance:自己定义的VO实例
负责系统会报无法找到弹性域错误
3. 在使用键值弹性域时,必须在processRequest中进行初始化,负责无法使用该键弹性域
因为键弹性域的结构、并联哪个字段(即哪个字段为CCID字段)都没有设置,所以这里需要代码来控制,在processRequest里添加代码,如下:
public void processRequst
{
OAKeyFlexBean keyFlex = (OAKeyFlexBean)webBean.findChildRecursive(“DF”);
keyFlex.setStructureCode(“ACCOUNTING_FLEXFIELD”);
keyFlex.setCCIDAttributeName(“CCID字段”);
keyFlex.mergeSegmentsWithParent(pageContext);
}
4. 注意,键值弹性域需关心两个表
验证弹性域分段的输入值,且如果这样的组合已经存在,使用当前组合的CCID来更新视图对象.如果这样的组合不存在,将会插入一个新的CCID行到组合表。
比如总账的会计科目弹性域,在expense invoice po中只存一个CCID,其具体的描述在gl_code_combination中,如组合不存在则插入一条会计科目
使用最多的键值弹性域,我相信应该也就是会计科目弹性域了
案例: 使用总账的会计科目键值弹性域定义Expense Header中的会计科目
1. 确认GL中的会计科目键弹性域定义方式
2. 建立一个测试使用的Accouting Structure,会计科目有不同的结构,通过Structure去区分
3. 在OAF中新增一个Key Flex弹性域
4. 在CO中进行初始化,制定弹性域的Structure和Account ID
1. 打开页面,确认Key Flexfield无问题
2. 录入新的会计科目
3. 保存后查看数据库
3.1 在基表中只存放了account id栏位
3.2 具体的account组合存在在总账的会计科目弹性域对应的表gl_code_combinations中
Thanks and Regards
OAF_OAF控件系列10 - Key Flexfield键值弹性域的实现(案例)的更多相关文章
- OAF_OAF控件系列9 - Description Flexfiled描述性弹性域的实现(案例)
2014-06-17 Created By BaoXinjian
- OAF_OAF控件系列3 - AdvancedTable的实现(案例)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列1 - Region Type汇总(概念)
2014-06-22 Created By BaoXinjian
- OAF_OAF控件系列8 - SubTab的实现(案例)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列7 - Tree的实现(案列)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列5 - Train的实现(案例)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列4 - HGrid的实现(案列)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列3 - Poplist的实现(案例)
2014-06-02 Created By BaoXinjian
- OAF_OAF控件系列2 - LOV的实现(案例)
2014-06-02 Created By BaoXinjian
随机推荐
- Surrounded Regions leetcode java
题目: Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is capt ...
- jquery圆角插件
为了实现div的圆角效果,你还在用古老的背景图片拼凑的方法吗?还是在用各种浏览器不互相兼容的CSS方式?如果你还在用这样的方式实现圆角,那我告诉你你真的out了,或许是我out了,竟然以前没发现有这样 ...
- 再谈javascript图片预加载技术
图片预加载技术的典型应用: 如lightbox方式展现照片,无疑需要提前获得大图的尺寸,这样才能居中定位,由于javascript无法获取img文件头数据,必须等待其加载完毕后才能获取真实的大小然后展 ...
- Java基础(十五):Java 中的内部类
问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. 问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多 ...
- android实现gif图与文字混排
我们在进行qq聊天的时候发送表情,但这些表情都是并不是静态的,更多的是动态图,gif图,那么如何在android客户端显示动态gif图呢. 在github上找到了这样一种方法,Github地址http ...
- project开发的程序设计与逻辑设计
非常多时候我们要做庞大project, 就像一棵大树, 方方面面都有自己的细枝末节,而作为开发员的我们,无法时时刻刻去保持对程序的全面认知,所以我们要把程序设计与逻辑设计区分开来. 那么什么是程序设计 ...
- 翻译记忆软件-塔多思TRADO经典教程_3
一.创建思迪术语库 1."开始>程序"中打开程序的主界面 2.按窗口内的"术语库"图标,或者"术语库"菜单"维护一个术语库数 ...
- poj 2391 (Floyd+最大流+二分)
题意:有n块草地,一些奶牛在草地上吃草,草地间有m条路,一些草地上有避雨点,每个避雨点能容纳的奶牛是有限的,给出通过每条路的时间,问最少需要多少时间能让所有奶牛进入一个避雨点. 两个避雨点间可以相互到 ...
- 子查询一(WHERE中的子查询)
子查询 子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,为了让读者更加清楚子查询的概念. 子查询返回结果子查询可以返回的数据类型一共分为四种: ...
- 算法笔记_127:蓝桥杯2017模拟赛-本科组习题解答(Java)
目录 1 算年龄 2 猜算式 3 排列序数 4 字符串比较 5 还款计算 6 滑动解锁 7 风险度量 PS:以下代码部分仅供参考,若有不当之处,还请路过同学指出哦~ 1 算年龄 标题:算年龄 英 ...