图中序号:
- LOV窗口标题
- LOV表格题头
- LOV表格显示记录数
- LOV窗口的高度
- LOV窗口的宽度
LOV表格中的数据源,目前支持以下几种验证类型:
- TABLE
- JAVA
- KEYFLEX
- KEYFLEXSEG
- EXPANDEDSQL
- DESCFLEX
- DESCFLEXSEG
- DESCFLEXCONTEXT
- GROUP
不过比较失望的是输入值的验证在界面定义中踪影未见,目前要实现这一功能,完全需要从后台插入数据。需要完成如下的工作:
- LOV数据源
- LOV与Item关联
- LOV窗口属性:标题、表格题头、高度、宽度和显示记录数
一,输入值验证后台表结构
同上面一样,要搞清楚WebADI输入值验证的问题,首先还得先弄明白后台的表结构关系,此部分只描述与输入值验证有关的表结构。
数据结构图中只列出了基本信息表,没有列出多语言对应的_TL表,在理解的时候请大家注意。
表简要描述:
- bne_integrators_b:存贮WebADI集成器
- bne_interfaces_b:存贮集成器对应接口信息
- bne_interface_cols_b:存贮接口对应的列信息,包括列的各种验证信息和属性
- bne_components_b:OA组件定义,如一个验证的LOV就是一个组件
- bne_param_lists_b:参数列表,可以理解为参数的分组。目的是为了实现参数的重用
- bne_param_list_items:存贮参数列表和参数的关联信息
- bne_param_defns_b:存贮参数定义,包括默认值、验证信息、显示信息等。
从上图中得出:
- 一个集成器包含1..N个接口
- 一个接口包括0..1个接口列
- 一个接口列和0..1个OA组件关联
- 一个OA组件对应一个参数列表
- 一个参数列表包括1..N个参数项目
- 一个参数项目对应0..1个参数定义
二,后台逻辑和相关的表列
- 首先后台根据bne_interface_cols_b表中的设置取得验证信息
- 根据验证类型和验证对象取得验证数据
- 根据OA组件的设置初始化和显示LOV窗口。组件对应的属性都当作参数存贮在bne_param_defns_b表中
列的验证信息存储在表bne_interface_cols_b中,涉及的列为:
- VAL_TYPE:验证类型,现在有:TABLE, JAVA, KEYFLEX, KEYFLEXSEG, EXPANDEDSQL, DESCFLEX, DESCFLEXSEG, DESCFLEXCONTEXT, GROUP
- VAL_ID_COL:验证列表返回ID,相当于值集定义中的ID
- VAL_MEAN_COL:验证列表的显示值,相当于值集定义中的Name
- VAL_DESC_COL:验证列表描述,相当于值集定义中的Meaning
- VAL_OBJ_NAME:验证列表对应的对象,根据验证类型的不同而不同
- VAL_ADDL_W_C:验证列表附加条件,相当于值集定义中的Where条件
- LOV_TYPE:LOV的类型,有NONE,STANDRAD,POPLIST
表bne_interface_cols_b中包括了如下两列来实现一个验证值列表与OA组件的关联
- VAL_COMPONENT_APP_ID:组建对应的应用ID
- VAL_COMPONENT_CODE:组建的代码
三,插入表记录步骤 –> 实现输入值列表验证
- 为LOV创建参数一个列表:bne_param_lists_b
- 创建参数列表多语言信息:bne_param_lists_tl
- 创建参数:bne_param_defns_b
- 创建参数多语言信息:bne_param_defns_tl
- 将参数和参数列表进行关联:bne_param_list_items
- 创建OA组件,并与参数列表关联:bne_components_b ,组件编码一般以“OA_”打头
- 创建OA组件多语言信息:bne_components_tl
- 更新接口列信息:bne_interface_cols_b
插入表记录步骤 –> bne_param_lists_b表要求
- Param_list_code:一般以“COMP_”打头,如COMP_CATEGORY
插入表记录步骤 –> bne_param_defns_b表要求
为值列表LOV定义参数的目的是将LOV窗口的一些属性当作参数来处理,因此一般一个LOV窗口需要创建如下的6个属性参数:
- TABLE_SELECT_COLUMN
- TABLE_COLUMNS
- WINDOW_WIDTH:LOV参数窗口宽度
- WINDOW_HEIGHT:LOV参数窗口高度
- TABLE_BLOCK_SIZE:LOV结果记录数
- OA__WIN_CAP:LOV参数窗口标题
- OA__TAB_HDR:LOV参数表格题头
param_list_code | Param_name | Data_Type | Default_string | Default_string_trans_flag | Default_number | Display_type | Display_style |
TABLE_COLUMNS | table-columns | 1 | N | 4 | 1 | ||
TABLE_SELECT_COLUMN | table-select-column | 1 | N | 4 | 1 | ||
WINDOW_HEIGHT | window-height | 1 | 450 | N | 4 | 1 | |
WINDOW_WIDTH | window-width | 1 | 350 | N | 4 | 1 | |
TABLE_BLOCK_SIZE | table-block-size | 2 | N | 25 | 4 | 1 | |
OA__TAB_HDR | Web ADI Components: OA_ table-headers | 1 | Y | 4 | 1 | ||
OA__WIN_CAP | Web ADI Components: OA_ window-caption | 1 | Search and Select – | Y | 4 | 1 |
说明:
- 上面表格中底色为浅红色行中的param_list_code和param_name必须和表格中保持一致
- 底色为浅红色的参数可以在多个LOV中引用,只要将这些参数赋给不同的参数列表项就可以
- 如果Default_string_trans_flag为Y的必须在表bne_param_defns_tl中定义多语言信息
具体例子可以看系统标准的定义:
1 2 3 4 5 6 7 8 |
|
插入表记录步骤 –> bne_components_b表要求
要求:
- Component_code:一般以“OA_”打头,如OA_CATEGORY
- Component_java_class:oracle.apps.bne.integrator.component.BneOAValueSetComponent(还有其他值,各位可以研究一下)
插入表记录步骤 –> 更新表bne_interface_cols_b表要求
根据验证类型的不同,更新列差距比较大,需要关注的列:
- INTERFACE_COL_NAME
- VAL_TYPE
- VAL_ID_COL
- VAL_MEAN_COL
- VAL_DESC_COL
- VAL_OBJ_NAME
- VAL_ADDL_W_C
- VAL_COMPONENT_APP_ID
- VAL_COMPONENT_CODE
- LOV_TYPE
- OFFLINE_LOV_ENABLED_FLAG
- GROUP_NAME
- OA_FLEX_NUM
- OA_FLEX_APPLICATION_ID
- OA_FLEX_CODE
- OA_CONCAT_FLEX
本文以验证类型为Table做个示例,请看下面2个图:
其它很多的验证类型各位可以参考系统的General Ledger – Journals,其中实现了很多种验证类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
–
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24627116/viewspace-769123/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24627116/viewspace-769123/