20150902 Created By BaoXinjian
一、常用表
1. 输入值验证后台表结构
(1). bne_integrators_b:存贮定义的WebADI集成器
(2. bne_interfaces_b:存贮集成器对应接口信息
(3). bne_interface_cols_b:存贮接口对应的列信息,包括列的各种验证信息和属性
(4). bne_components_b:OA组件定义,如一个验证的LOV就是一个组件
(5). bne_param_lists_b:参数列表,可以理解为参数的分组,目的是为了实现参数的重用
(6). bne_param_list_items:存贮参数列表和参数的关联信息
(7). bne_param_defns_b:存贮参数定义,包括默认值、验证信息、显示信息等
2. bne_interface_cols_b后台逻辑和相关的表列
(1). 相关概念
首先后台根据bne_interface_cols_b表中的设置取得验证信息
根据验证类型和验证对象取得验证数据
根据OA组件的设置初始化和显示LOV窗口。组件对应的属性都当作参数存贮在bne_param_defns_b表中
(2). 列值意义
列的验证信息存储在表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
(3). Interface Column和Component关联关系
表bne_interface_cols_b中包括了如下两列来实现一个验证值列表与OA组件的关联
VAL_COMPONENT_APP_ID:组建对应的应用ID
VAL_COMPONENT_CODE:组建的代码
3. 产生输入值值列表验证过程
(1). 为LOV创建参数一个列表:bne_param_lists_b
(2). 创建参数列表多语言信息:bne_param_lists_tl
(3). 创建参数:bne_param_defns_b
(4). 创建参数多语言信息:bne_param_defns_tl
(5). 将参数和参数列表进行关联:bne_param_list_items
(6). 创建OA组件,并与参数列表关联:bne_components_b ,组件编码一般以“OA_”打头
(7). 创建OA组件多语言信息:bne_components_tl
(8). 更新接口列信息:bne_interface_cols_b
二、常用查询
1. 查询前做Session的初始化
alter session set nls_language='SIMPLIFIED CHINESE';
alter session set nls_language='AMERICAN';
2. 集成器表
SELECT bni.application_id
,bni.integrator_code --集成器code
,bni.user_name --集成器名称
,bni.date_format
FROM bne_integrators_vl bni
WHERE bni.user_name LIKE 'CUX%';
3. 集成器相关信息
3.1 集成器关联package
SELECT bni.application_id
,bni.integrator_code --集成器code
,bni.user_name --集成器名称
,bni.date_format
,inf.interface_code
,inf.interface_name --集成器关联的packege的proced
FROM bne_integrators_vl bni
,bne_interfaces_vl inf
WHERE bni.user_name LIKE 'CUX%'
AND bni.application_id = inf.integrator_app_id
AND bni.integrator_code = inf.integrator_code;
3.2 集成器对应的字段
SELECT intg.application_id
,intg.integrator_code --集成器code
,intg.user_name --集成器
,intg.date_format
,bic.interface_code --package code
,bic.sequence_num
,bic.display_order
,bic.interface_col_name --字段名
,bic.data_type
,bic.prompt_left --字段显示名称
,bic.prompt_above --可update此字段为中文
FROM bne_interface_cols_vl bic
,bne_interfaces_vl intf
,bne_integrators_vl intg --集成器
WHERE bic.interface_code = intf.interface_code
AND intf.integrator_code = intg.integrator_code
AND intg.user_name = 'CUX:WEBADI_LOV';
3.3 栏位的相关信息
3.3.1 Excel列的题头和API的参数一样,需要加以修改,需直接更新表bne_interface_cols_tl的
SELECT bic.interface_code --package code
,bic.prompt_left --头表题头说明
,bic.prompt_above --行表题头说明
,bic.sequence_num
FROM bne_interface_cols_tl bic
WHERE EXISTS (SELECT NULL
FROM bne_interfaces_vl intf
,bne_integrators_vl intg --集成器
WHERE bic.interface_code = intf.interface_code
AND intf.integrator_code = intg.integrator_code
AND intg.user_name LIKE 'CUX%')
3.3.2 Excel LOV实现,可以直接update基表bne_interface_cols_b
SELECT bic.interface_col_name --字段名
,bic.val_type --填 TABLE
,bic.val_id_col --传递给程序参数的字段,填 ORGANIZATION_ID
,bic.val_mean_col --在Ecxel中显示的字段, 填ORANIZATION_ID
,bic.val_desc_col --LOV中说明字段,填ORGANIZATION_CODE,ORGANIZATION_NAME
,bic.val_obj_name --列表所在的表明,填ORG_ORGANIZATION_DEFINITIONS
,bic.val_addl_w_c --where语句,可不填
,bic.val_component_app_id --组件应用id,填20003
,bic.val_component_code --组件代码,还未创建,先填一个,然后创建, 填CUX_ORGANIZATION
,bic.lov_type --填POPLIST或STANDARD,也可以填NONE
,bic.offline_lov_enabled_flag --离线编辑EXCEL表格时是否可用,填Y
FROM bne_interface_cols_b bic
WHERE EXISTS (SELECT NULL
FROM bne_interfaces_vl intf
,bne_integrators_vl intg --集成器
WHERE bic.interface_code = intf.interface_code
AND intf.integrator_code = intg.integrator_code
AND intg.user_name = 'CUX_WEBADI_DEMO')
AND bic.interface_col_name = 'P_ORGANIZATION_ID'
4. 集成器和功能关联
SELECT bni.application_id
,bni.integrator_code --集成器code
,bni.user_name --集成器名称
,bsr.security_value --功能code
FROM bne_integrators_vl bni
,bne_security_rules bsr
WHERE bni.user_name LIKE 'CUX%'
AND bsr.application_id = bni.application_id
AND bsr.security_code = bni.integrator_code;
5. 集成器对应的布局
SELECT bni.application_id
,bni.integrator_code --集成器code
,bni.user_name --集成器名称
,blv.layout_code --布局代码
,blv.user_name --布局用户名称
,blc.sequence_num
,bic.*
FROM bne_integrators_vl bni
,bne_layouts_vl blv
,bne_layout_cols blc
,bne_interface_cols_vl bic
WHERE bni.user_name LIKE 'CUX_WEBADI_DEMO'
AND blv.integrator_app_id = bni.application_id
AND blv.integrator_code = bni.integrator_code
AND blv.layout_code = blc.layout_code
AND blc.interface_app_id = bic.application_id
AND blc.interface_code = bic.interface_code
AND blc.interface_seq_num = bic.sequence_num;
6. 集成器对应的映射
SELECT bni.application_id
,bni.integrator_code --集成器code
,bni.user_name --集成器名称
,bmv.mapping_code --映射code
FROM bne_integrators_vl bni
,bne_mappings_vl bmv
WHERE bni.user_name LIKE 'CUX%'
AND bmv.integrator_app_id = bni.application_id
AND bmv.integrator_code = bni.integrator_code;
Thanks and Regards