TEC1701.WebADI开发技术总结 - 第二章 Step2 - 创建数据库对象(2/6)
2016-12-27 02:38
399 查看
第二章 Step2
- 创建数据库对象
客户化开发WebADI,首先要建立好相应的数据库对象。然后再通过配置来创建需要使用的WebADI。创建数据库对象时一定要注意Data object要生成在CUX schema中,code
object创建在APPS schema中,CUX中的要在APPS中创建SYNONYM。
1. 创建表和视图
-- Create table CREATE TABLE CUX.CUX_WEBADI_TEST01 ( ADI_ID NUMBER, ADI_CODE VARCHAR2(30), ADI_DATE DATE, ADI_USER_ID NUMBER, ADI_USER_NAME VARCHAR2(30), ADI_USER_DESC VARCHAR2(30), ADI_ATTR01 VARCHAR2(240), ADI_ATTR02 VARCHAR2(240), ADI_ATTR03 VARCHAR2(240), CREATED_BY NUMBER, CREATION_DATE DATE, LAST_UPDATED_BY NUMBER, LAST_UPDATE_LOGIN NUMBER, LAST_UPDATE_DATE DATE); -- Create sequence & synonym CREATE SEQUENCE CUX.CUX_WEBADI_TEST01_S; CREATE SYNONYM APPS.CUX_WEBADI_TEST01 FOR CUX.CUX_WEBADI_TEST01; CREATE SYNONYM APPS.CUX_WEBADI_TEST01_S FOR CUX.CUX_WEBADI_TEST01_S; -- Create view CREATE OR REPLACE VIEW CUX_WEBADI_TEST01_V AS SELECT T.ADI_ID,T.ADI_CODE,T.ADI_DATE,T.ADI_USER_ID,T.ADI_USER_NAME,T.ADI_USER_DESC, T.ADI_ATTR01,T.ADI_ATTR02,ADI_ATTR03 FROM CUX.CUX_WEBADI_TEST01 T;
2. 注册表和列
-- Register table BEGIN AD_DD.REGISTER_TABLE('CUX','CUX_WEBADI_TEST01','T'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_ID',1,'NUMBER',38,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_CODE',2,'VARCHAR2',30,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_DATE',3,'DATE',9,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_USER_ID',4,'NUMBER',38,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_USER_NAME',5,'VARCHAR2',30,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_USER_DESC',6,'VARCHAR2',30,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_ATTR01',7,'VARCHAR2',240,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_ATTR02',8,'VARCHAR2',240,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','ADI_ATTR03',9,'VARCHAR2',240,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','created_by',10,'NUMBER',38,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','creation_date',11,'DATE',9,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','last_updated_by',12,'NUMBER',38,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','last_update_login',13,'NUMBER',38,'Y','N'); AD_DD.REGISTER_COLUMN('CUX','CUX_WEBADI_TEST01','last_update_date',14,'DATE',9,'Y','N'); COMMIT; END;
3. 创建程序包
-- Create package CREATE OR REPLACE PACKAGE CUX_WBA_TEST01_PKG AS g_user_id NUMBER := fnd_profile.value('user_id'); PROCEDURE import_rec(p_id IN NUMBER, p_code IN VARCHAR2, p_date IN DATE DEFAULT SYSDATE, p_user_id IN NUMBER, p_user_name IN VARCHAR2, p_user_desc IN VARCHAR2, p_attr01 IN VARCHAR2, p_attr02 IN VARCHAR2, p_attr03 IN VARCHAR2 ); END CU 4000 X_WBA_TEST01_PKG; / CREATE OR REPLACE PACKAGE BODY CUX_WBA_TEST01_PKG AS PROCEDURE import_rec(p_id IN NUMBER, p_code IN VARCHAR2, p_date IN DATE DEFAULT SYSDATE, p_user_id IN NUMBER, p_user_name IN VARCHAR2, p_user_desc IN VARCHAR2, p_attr01 IN VARCHAR2, p_attr02 IN VARCHAR2, p_attr03 IN VARCHAR2) AS BEGIN --do any thing... ... --通过p_id是否为0来区分insert、update,delete,方法很多。 IF nvl(p_id, 0) = 0 THEN INSERT INTO cux_webadi_test01 SELECT cux_webadi_test01_s.nextval, p_code, p_date, p_user_id, p_user_name, p_user_desc, p_attr01, p_attr02, p_attr03, g_user_id, SYSDATE, g_user_id, -1, SYSDATE FROM dual; ELSE UPDATE cux_webadi_test01 t SET t.adi_code = p_code, t.adi_date = p_date, t.last_updated_by = g_user_id, t.last_update_date = SYSDATE WHERE t.adi_id = p_id; END IF; COMMIT; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001, 'WEBADI导入程序报错!'); END import_rec; END CUX_WBA_TEST01_PKG;
相关文章推荐
- TEC1701.WebADI开发技术总结 - 第一章 Step1 - Web ADI客户化开发设置(1/6)
- C#与数据库访问技术总结(十三)之DataReader对象
- 国航OA项目技术总结(二)关于JVM虚拟机中对象的创建,手机端提速的重要优化
- 个人开发总结(1)-ios创建对象
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
- [转]TEC1401.Report开发技术总结 - 第三章 使用Oracle Reports开发报表-创建一个分组报表(2/4)
- TEC1401.Report开发技术总结 - 第九章 使用BI Publisher开发报表-使用BI Publisher创建RTF模板的语法(4/5)
- javascript开发:javascript创建对象方法总结
- Effective Java第二章 创建和销毁对象(收获总结)
- C#与数据库访问技术总结(十六)之 DataSet对象
- TEC1401.Report开发技术总结 - 第六章 使用BI Publisher开发报表-创建XML数据源(1/5)
- 0202.EBS-2TEC1701.WebADI开发技术总结(1/6)
- javascript开发:javascript创建对象的几种方式总结
- 对象类[置顶] 游戏开发技术总结(经典之作)第六集 穿越丛林-----游戏角色的角色遮挡(前后关系)
- 123.Oracle数据库SQL开发之 数据库对象——对象创建
- TEC1401.Report开发技术总结 - 第四章 使用Oracle Reports开发报表-创建一个矩阵报表(3/4)
- C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例
- JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用
- 0202.EBS-2TEC1701.WebADI开发技术总结(2/6)
- MFC关于ADO对象技术连接数据库总结