用户客制开发的表通常不需要注册到EBS中,依然可以正常使用。
但如果需要使用预警、审计或值集功能,则需要将客制化的表注册到EBS里。
在应用开发员→用户产品→数据库→表中可以查看到已经注册到EBS中的表,但该模块不能添加,如果需要注册,需要使用EBS提供的API:AD_DD
例子:( 建表 -> 注册 -> 执行 -> EBS查看是否注册成功)
–建测试表
create table employee_test(
employee_id number not null primary key,
employee_name varchar2(30),
employee_description varchar2(50)
);
–注册表和列
begin
--注册表
--('应用产品','表名','T自动扩展/S非自动扩展','下一区','自由','已使用')
AD_DD.REGISTER_TABLE('XXE','EMPLOYEE_TEST','T',2,10,40);
--注册字段
--('应用产品','表名', '字段名',序号,'类型',字段宽度,是否为空,是否可以转换)
AD_DD.REGISTER_COLUMN('XXE','EMPLOYEE_TEST','employee_id',1,'NUMBER',10,'N','N');
AD_DD.REGISTER_COLUMN('XXE','EMPLOYEE_TEST','employee_name',2,'varchar2',30,'N','N');
AD_DD.REGISTER_COLUMN('XXE','EMPLOYEE_TEST','employee_description',3,'varchar2',50,'N','N');
--注册主键
--('应用产品','键名','表名','描述','S','Y审计','Y启用');
AD_DD.REGISTER_PRIMARY_KEY('XXE','employee_id','EMPLOYEE_TEST','EMPLOYEE_TEST','S','Y','Y');
--注册主键字段
--AD_DD.REGISTER_PRIMARY_KEY_COLUMN('应用产品','键名','表','字段',序列)
AD_DD.REGISTER_PRIMARY_KEY_COLUMN('XXE','employee_id','EMPLOYEE_TEST','employee_id', 1);
commit;
end;
–EBS查看是否注册成功,路径:应用开发员→用户产品→数据库→表
(略)
–删除注册信息
DECLARE
CURSOR cur_table IS
SELECT at.table_name
FROM all_tables at
WHERE at.table_name IN ('EMPLOYEE_TEST') AND at.owner = 'APPS';
CURSOR cur_col(p_table_name IN VARCHAR2) IS
SELECT c.column_name,c.data_type,c.data_length,c.nullable,c.table_name
FROM dba_tab_columns c
WHERE c.table_name = p_table_name;
l_application_short_name VARCHAR2(30) := 'XXE';
BEGIN
FOR t IN cur_table
LOOP
FOR c IN cur_col('EMPLOYEE_TEST')
LOOP
ad_dd.delete_column(l_application_short_name,t.table_name,c.column_name);
END LOOP;
ad_dd.delete_table(l_application_short_name,t.table_name);
END LOOP;
commit;
END;