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. mahout源码分析之DistributedLanczosSolver(六)完结篇

    Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 接上篇,分析完3个Job后得到继续往下:其实就剩下两个函数了: List<Map.Entry< ...

  2. iOS开发-plist文件增删改查

    plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...

  3. Web开发者不容错过的10段CSS代码

    Web开发技术每年都在革新,浏览器已逐渐支持CSS3特性,并且网站设计师和前端开发者普遍采用这种新技术进行设计与开发.但仍然有一些开发者迷恋着一些CSS2代码. 本文将分享20段非常专业的CSS2/C ...

  4. android 下的网络图片加载

    Android图片的异步加载,主要原理: 加载图片时先查看缓存中时候存在该图片,如果存在则返回该图片,否则先加载载一个默认的占位图片,同时创建一个通过网络获取图片的任务并添加,任务完成后放松消息给主线 ...

  5. SQL-查询排名

    select row_number() over(order by amount) as rank,* from dbo.t_group

  6. JS计算本周一和本周五的日期

    代码不长: var today=new Date();var weekday=today.getDay();    var monday=new Date(1000*60*60*24*(1-weekd ...

  7. EL运算符(web基础学习笔记十七)

    一.EL语法 1.1.语法结构 ${expression} 1.2.[]与.运算符 EL 提供.和[]两种运算符来存取数据. 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一 ...

  8. JDBC一(web基础学习笔记七)

    一.JDBC Java数据库的连接技术(Java DataBase Connectivity),能实现Java程序以各种数据库的访问 由一组使用Java语言编写的类和接口(JDBC API)组成,它j ...

  9. 应用程序正常初始化(0xc0000135)失败的解决方法

    转自:http://blog.sina.com.cn/s/blog_64fba4e00100mzf9.html 这是由于没有安装.NET framework 所造成的,请安装.NET framewor ...

  10. sublime Text3 JsFormat

    https://github.com/sprinng/JsFormat 下载解压 放到 首选项 --> 浏览插件目录 重启sublime ctrl+shift+p 安装 使用: 右键JsForm ...