码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-06-17 15:41:43      阅读:391      评论:0      收藏:0      [点我收藏+]

标签:des   style   code   tar   ext   color   

2014-06-17 BaoXinjian

bubuko.com,布布扣一、摘要


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中,如组合不存在则插入一条会计科目

使用最多的键值弹性域,我相信应该也就是会计科目弹性域了

 

bubuko.com,布布扣二、案例实现


案例: 使用总账的会计科目键值弹性域定义Expense Header中的会计科目

1. 确认GL中的会计科目键弹性域定义方式

 bubuko.com,布布扣

2. 建立一个测试使用的Accouting Structure,会计科目有不同的结构,通过Structure去区分

bubuko.com,布布扣

3. 在OAF中新增一个Key Flex弹性域

bubuko.com,布布扣

4. 在CO中进行初始化,制定弹性域的Structure和Account ID

bubuko.com,布布扣

 

bubuko.com,布布扣三、案例测试


1. 打开页面,确认Key Flexfield无问题

bubuko.com,布布扣

 

2. 录入新的会计科目

bubuko.com,布布扣

3. 保存后查看数据库

3.1 在基表中只存放了account id栏位

bubuko.com,布布扣

3.2 具体的account组合存在在总账的会计科目弹性域对应的表gl_code_combinations中

bubuko.com,布布扣

 

Thanks and Regards

bubuko.com,布布扣

OAF_OAF控件系列 - Key Flexfield键值弹性域的实现(案例),布布扣,bubuko.com

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

标签:des   style   code   tar   ext   color   

原文地址:http://www.cnblogs.com/eastsea/p/3792383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!