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键值弹性域的实现(案例)的更多相关文章

  1. OAF_OAF控件系列9 - Description Flexfiled描述性弹性域的实现(案例)

    2014-06-17 Created By BaoXinjian

  2. OAF_OAF控件系列3 - AdvancedTable的实现(案例)

    2014-06-02 Created By BaoXinjian

  3. OAF_OAF控件系列1 - Region Type汇总(概念)

    2014-06-22 Created By BaoXinjian

  4. OAF_OAF控件系列8 - SubTab的实现(案例)

    2014-06-02 Created By BaoXinjian

  5. OAF_OAF控件系列7 - Tree的实现(案列)

    2014-06-02 Created By BaoXinjian

  6. OAF_OAF控件系列5 - Train的实现(案例)

    2014-06-02 Created By BaoXinjian

  7. OAF_OAF控件系列4 - HGrid的实现(案列)

    2014-06-02 Created By BaoXinjian

  8. OAF_OAF控件系列3 - Poplist的实现(案例)

    2014-06-02 Created By BaoXinjian

  9. OAF_OAF控件系列2 - LOV的实现(案例)

    2014-06-02 Created By BaoXinjian

随机推荐

  1. 30条技巧提高Web程序执行效率

    尽量避免使用DOM.当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用.使用设置innerHTML的方法来替换document.createElement/append ...

  2. C# 音频操作系统项目总结

    此项目需求是针对.wav格式音频进行操作,转换成相应的.mp3格式的音频文件,对音频进行切割,最后以需求的形式输出,此篇会回顾运用到的一些知识点. 1.MDI子窗口的建立: 首先一个窗体能够创建多个M ...

  3. Kafka 配置说明

    参考地址:http://my.oschina.net/infiniteSpace/blog/312890?p=1 server.properties中所有配置参数说明(解释) broker.id =0 ...

  4. 【Nodejs】“快算24”扑克牌游戏算法 1.02

    快算24是一种挺好的锻炼孩子算数能力的扑克牌游戏,它的游戏方式是把四张牌的牌面数值通过有限四则运算得到结果24,四张牌必须仅用一次.各地玩法还有点差别,有的只算1-10,其它抽出来:有的地方把整幅牌都 ...

  5. C#类似版本号有多个分割符可以产生的排列组合,类似版本号比较

    我采用asp.net进行演示 送给有缘人吧,可以获得类似版本号的功能,也可以对比两个版本号,我这里是其他需要用逗号分割的 using System; public partial class _Def ...

  6. Opencv2.4.9安装和在visualstudio 2013中配置

    Opencv2.4.9安装和在visualstudio 2013中配置 下载opencv和在windows下安装: 最新版本号的opencv是2014.4.25的opencv2.4.9,这里选择当前最 ...

  7. poj 1879 Truck History

    本题链接:点击打开链接 题目大意: 输入n表示卡车辆数,输入每辆卡车编号.即长度为7的字符串,每辆卡车编号均可由其他类型编号衍生过来,求由当中一辆衍生出其他全部的最小衍生次数(有一个字符不同就需衍生一 ...

  8. Hotaru's problem(hdu5371+Manacher)多校7

    Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. MongoDB和关系型数据库简单对比

    MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB 工作在收集和文件的概念. 数据库:数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的 ...

  10. HTTP请求响应码

    ① 客户方错误 100 继续 101 交换协议 ② 成功 200 OK 201 已创建 202 接收 203 非认证信息 204 无内容 205 重置内容 206 部分内容 ③ 重定向 300 多路选 ...