目前版本的WEB ADI不支持用户自己自定义值列表,但如果没有值列表,则用户体验的满意度比较低。
ORACLE WEB ADI支持的值列表有两种形式:下拉式菜单和标准值列表(弹出窗口)。第一种的设置较为简单,第二种需要使用JAVA。本章介绍下拉式菜单的设置方法。
1)定义VIEW:
CREATE OR REPLACE VIEW FSC_INTERFACE_COLUMNS_V AS
select INTG.APPLICATION_ID
,INTG.INTEGRATOR_CODE
,INTG.USER_NAME
,INTG.DATE_FORMAT
,INTC.INTERFACE_CODE
,INTC.SEQUENCE_NUM
,INTC.DISPLAY_ORDER
,INTC.INTERFACE_COL_NAME
,INTC.REQUIRED_FLAG
,INTC.DISPLAY_FLAG
,INTC.READ_ONLY_FLAG
,INTC.NOT_NULL_FLAG
,INTC.DATA_TYPE
,INTC.FIELD_SIZE
,INTC.DEFAULT_TYPE
,INTC.DEFAULT_VALUE
,INTC.VAL_TYPE
,INTC.VAL_ID_COL
,INTC.VAL_MEAN_COL
,INTC.VAL_DESC_COL
,INTC.VAL_OBJ_NAME
,INTC.VAL_ADDL_W_C
,INTC.VAL_COMPONENT_APP_ID
,INTC.VAL_COMPONENT_CODE
,INTC.LOV_TYPE
,INTC.OFFLINE_LOV_ENABLED_FLAG
,INTC.USER_HINT
,INTC.PROMPT_LEFT
,INTC.PROMPT_ABOVE
from BNE_INTERFACE_COLS_vl INTC
,BNE_INTERFACES_VL INTF
,BNE_INTEGRATORS_VL INTG
where INTC.INTERFACE_CODE = INTF.INTERFACE_CODE
AND INTF.INTEGRATOR_CODE = INTG.INTEGRATOR_CODE;
2)定义一个PACKAGE,专用于修改WEB ADI的设置变量
PACKAGE FSC_PACKAGES is
-- Author : AHUNGHUO
-- Created : 2007-9-15 16:26:50
-- Public type declarations
--############################################################################
procedure pop_interface_cols(
P_APPLICATION_ID NUMBER
,P_INTEGRATOR_CODE VARCHAR2
,P_USER_NAME VARCHAR2
,P_DATE_FORMAT VARCHAR2
,P_INTERFACE_CODE VARCHAR2
,P_SEQUENCE_NUM VARCHAR2
,P_INTERFACE_COL_NAME VARCHAR2
,P_REQUIRED_FLAG VARCHAR2
,P_DISPLAY_FLAG VARCHAR2
,P_READ_ONLY_FLAG VARCHAR2
,P_NOT_NULL_FLAG VARCHAR2
,P_DATA_TYPE VARCHAR2
,P_FIELD_SIZE VARCHAR2
,P_DEFAULT_TYPE VARCHAR2
,P_DEFAULT_VALUE VARCHAR2
,P_VAL_TYPE VARCHAR2
,P_VAL_ID_COL VARCHAR2
,P_VAL_MEAN_COL VARCHAR2
,P_VAL_DESC_COL VARCHAR2
,P_VAL_OBJ_NAME VARCHAR2
,P_VAL_ADDL_W_C VARCHAR2
,P_VAL_COMPONENT_APP_ID VARCHAR2
,P_VAL_COMPONENT_CODE VARCHAR2
,P_DISPLAY_ORDER VARCHAR2
,P_LOV_TYPE VARCHAR2
,P_OFFLINE_LOV_ENABLED_FLAG VARCHAR2
,P_USER_HINT VARCHAR2
,P_PROMPT_LEFT VARCHAR2
,P_PROMPT_ABOVE VARCHAR2
);
end FSC_PACKAGES;
PACKAGE BODY FSC_PACKAGES is
--############################################################################
procedure pop_interface_cols(
P_APPLICATION_ID NUMBER
,P_INTEGRATOR_CODE VARCHAR2
,P_USER_NAME VARCHAR2
,P_DATE_FORMAT VARCHAR2
,P_INTERFACE_CODE VARCHAR2
,P_SEQUENCE_NUM VARCHAR2
,P_DISPLAY_ORDER VARCHAR2
,P_INTERFACE_COL_NAME VARCHAR2
,P_REQUIRED_FLAG VARCHAR2
,P_DISPLAY_FLAG VARCHAR2
,P_READ_ONLY_FLAG VARCHAR2
,P_NOT_NULL_FLAG VARCHAR2
,P_DATA_TYPE VARCHAR2
,P_FIELD_SIZE VARCHAR2
,P_DEFAULT_TYPE VARCHAR2
,P_DEFAULT_VALUE VARCHAR2
,P_VAL_TYPE VARCHAR2
,P_VAL_ID_COL VARCHAR2
,P_VAL_MEAN_COL VARCHAR2
,P_VAL_DESC_COL VARCHAR2
,P_VAL_OBJ_NAME VARCHAR2
,P_VAL_ADDL_W_C VARCHAR2
,P_VAL_COMPONENT_APP_ID VARCHAR2
,P_VAL_COMPONENT_CODE VARCHAR2
,P_LOV_TYPE VARCHAR2
,P_OFFLINE_LOV_ENABLED_FLAG VARCHAR2
,P_USER_HINT VARCHAR2
,P_PROMPT_LEFT VARCHAR2
,P_PROMPT_ABOVE VARCHAR2
) IS
BEGIN
UPDATE BNE_INTERFACE_COLS_B b
SET B.REQUIRED_FLAG=P_REQUIRED_FLAG
,B.DISPLAY_FLAG=P_DISPLAY_FLAG
,B.READ_ONLY_FLAG=P_READ_ONLY_FLAG
,B.NOT_NULL_FLAG=P_NOT_NULL_FLAG
,B.DATA_TYPE=P_DATA_TYPE
,B.FIELD_SIZE=P_FIELD_SIZE
,B.DEFAULT_TYPE=P_DEFAULT_TYPE
,B.DEFAULT_VALUE=P_DEFAULT_VALUE
,B.VAL_TYPE=P_VAL_TYPE
,B.VAL_ID_COL=P_VAL_ID_COL
,B.VAL_MEAN_COL=P_VAL_MEAN_COL
,B.VAL_DESC_COL=P_VAL_DESC_COL
,B.VAL_OBJ_NAME=P_VAL_OBJ_NAME
,B.VAL_ADDL_W_C=P_VAL_ADDL_W_C
,B.VAL_COMPONENT_APP_ID=P_VAL_COMPONENT_APP_ID
,B.VAL_COMPONENT_CODE=P_VAL_COMPONENT_CODE
,B.DISPLAY_ORDER=P_DISPLAY_ORDER
,B.LOV_TYPE=P_LOV_TYPE
,B.OFFLINE_LOV_ENABLED_FLAG=P_OFFLINE_LOV_ENABLED_FLAG
WHERE B.INTERFACE_CODE = P_INTERFACE_CODE
AND B.SEQUENCE_NUM = P_SEQUENCE_NUM;
UPDATE BNE_INTERFACE_COLS_TL T
SET T.USER_HINT=P_USER_HINT
,T.PROMPT_LEFT=P_PROMPT_LEFT
,T.PROMPT_ABOVE=P_PROMPT_ABOVE
WHERE T.INTERFACE_CODE = P_INTERFACE_CODE
AND T.SEQUENCE_NUM = P_SEQUENCE_NUM;
COMMIT;
END;
begin
null;
end FSC_PACKAGES;
3)注册配置文件。使用WEB ADI职责中的CREATE DOCUMENT,选择“HR 集成器设置”。参数可如下:元数据类型
UPDATE
应用简称
CUX
集成器用户名
FSC_维护配置器行参数
视图名称
FSC_INTERFACE_COLUMNS_V
表单名
GENERAL
API 程序包名称
FSC_PACKAGES
API 过程名
pop_interface_cols
界面用户名
FSC_INTG_COL_INTF
界面参数列表名称
FSC_INTG_COL_PARALIST
API 类型
PROCEDURE
API 返回类型
4)与功能关联,分配权限(略)
5)设置独立查询。使用WEB ADI职责中的CREATE DOCUMENT,选择“HR 维护独立查询”。参数可如下:应用简称
CUX
集成器用户名
FSC_维护配置器行参数
SQL WHERE 子句
WHERE USERNAME LIKE $PARAM$.CUX:UserNameLike
第 1 个参数名
CUX:UserNameLike
第 1 个参数类型
Varchar2
第 1 个参数提示
配置器用户名
6)设置Layout,显示全部列(略),任意挑选需要显示和更改的字段。如果VIEW有这个字段而Procedure的参数没有,则仅作为显示内容,不允许修改。
7)设置mapping,特别是VIEW的字段名和Procedure的参数名不一致的时候,必须手工制定。系统自动把Procedure的全部参数(裁剪前2位字符)与VIEW的字段名向匹配,如果有不一致或者需要特殊映射的地方,需要手工指定。
在本例子中由于VIEW字段名和PROCEDURE参数名完全一致,所以不用更改默认设置。
8)创建“FSC_维护配置器行参数”的文档,就可以开始设置值列表了。
在需要设置值列表的字段中,更改从VAL_TYPE到OFFLINE_LOV_ENABLED_FLAG的参数。说明如下:参数名
参数说明
例子
VAL_TYPE
值列表数据来源,从Oracle数据库中获得,则统一选择:TABLE
TABLE
VAL_ID_COL
传递给程序参数的字段
LOOKUP_CODE
VAL_MEAN_COL
在EXCEL中显示的字段
MEANING
VAL_DESC_COL
说明的字段
DESCRIPTION
VAL_OBJ_NAME
值列表所在的表名
FND_LOOKUPS
VAL_ADDL_W_C
WHERE语句
LOOKUP_TYPE='YES_NO'
VAL_COMPONENT_APP_ID
组件的应用ID,如对格式没有严格要求,可选择任一个通用的组件。例如231
231
VAL_COMPONENT_CODE
组件名,如对格式没有严格要求,可选择任一个通用的组件。例如OA_REVERSE_JOURNAL
OA_REVERSE_JOURNAL
LOV_TYPE
值列表类型,统一选择:POPLIST
POPLIST
OFFLINE_LOV_ENABLED_FLAG
离线编辑EXCEL表格时是否可用
Y
修改后上传即可。
9)重启APACHE,重新下载文档录入表单,就可以看到变化了。