首页 > Linux操作系统 > Linux操作系统 > 实现WebADI输入值列表验证
图中序号:
LOV表格中的数据源,目前支持以下几种验证类型:
不过比较失望的是输入值的验证在界面定义中踪影未见,目前要实现这一功能,完全需要从后台插入数据。需要完成如下的工作:
一,输入值验证后台表结构
同上面一样,要搞清楚WebADI输入值验证的问题,首先还得先弄明白后台的表结构关系,此部分只描述与输入值验证有关的表结构。
数据结构图中只列出了基本信息表,没有列出多语言对应的_TL表,在理解的时候请大家注意。
表简要描述:
从上图中得出:
二,后台逻辑和相关的表列
列的验证信息存储在表bne_interface_cols_b中,涉及的列为:
表bne_interface_cols_b中包括了如下两列来实现一个验证值列表与OA组件的关联
三,插入表记录步骤 –> 实现输入值列表验证
插入表记录步骤 –> bne_param_lists_b表要求
插入表记录步骤 –> bne_param_defns_b表要求
为值列表LOV定义参数的目的是将LOV窗口的一些属性当作参数来处理,因此一般一个LOV窗口需要创建如下的6个属性参数:
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_ | Web ADI Components: OA_ | 1 | Y | 4 | 1 | ||
OA_ | Web ADI Components: OA_ | 1 | Search and Select – | Y | 4 | 1 |
说明:
具体例子可以看系统标准的定义:
1 2 3 4 5 6 7 8 | SELECT * FROM bne_param_defns_vl d WHERE d.application_id = 231 AND d.param_defn_code IN (SELECT t.param_defn_code FROM bne_param_list_items t WHERE t.application_id = 231 AND t.param_list_code = 'COMP_CATEGORY'); |
插入表记录步骤 –> bne_components_b表要求
要求:
插入表记录步骤 –> 更新表bne_interface_cols_b表要求
根据验证类型的不同,更新列差距比较大,需要关注的列:
本文以验证类型为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 | SELECT infc.interface_col_name, infc.val_type, infc.val_id_col, infc.val_mean_col, infc.val_desc_col, infc.val_obj_name, infc.val_addl_w_c, infc.val_component_app_id, infc.val_component_code, infc.lov_type, infc.offline_lov_enabled_flag FROM bne_integrators_vl ingr, bne_interfaces_vl inf, bne_interface_cols_vl infc WHERE ingr.application_id = inf.integrator_app_id AND ingr.integrator_code = inf.integrator_code AND inf.interface_code = infc.interface_code AND inf.application_id = infc.application_id AND infc.display_flag = 'Y' AND ingr.integrator_code = 'JOURNALS_120' – ‘GL_BUDGET_INTERFACE_115’ --AND ingr.user_name = 'General Ledger - Journals' AND infc.VAL_TYPE is NOT NULL ; |
–
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24627116/viewspace-769123/ ,如需转载,请注明出处,否则将追究法律责任。