DBA Data[Home] [Help]

PACKAGE BODY: APPS.CE_FC_EXT_VIEWS_TABLE_PKG

Source


1 PACKAGE BODY CE_FC_EXT_VIEWS_TABLE_PKG AS
2 /* $Header: cefexvwb.pls 120.1 2002/11/12 21:22:31 bhchung ship $ */
3   FUNCTION body_revision RETURN VARCHAR2 IS
4   BEGIN
5 
6     RETURN '$Revision: 120.1 $';
7 
8   END body_revision;
9 
10   FUNCTION spec_revision RETURN VARCHAR2 IS
11   BEGIN
12 
13     RETURN G_spec_revision;
14 
15   END spec_revision;
16 
17   PROCEDURE Insert_Row(	X_rowid			IN OUT NOCOPY	VARCHAR2,
18 			X_external_source_type		VARCHAR2,
19 			X_external_source_view		VARCHAR2,
20 			X_db_link_name			VARCHAR2,
21 			X_created_by                    NUMBER,
22  			X_creation_date                 DATE,
23  			X_last_updated_by               NUMBER,
24  			X_last_update_date              DATE,
25  			X_last_update_login    		NUMBER) IS
26   CURSOR C1 IS SELECT rowid
27 		FROM CE_FORECAST_EXT_VIEWS
28 		WHERE external_source_type = X_external_source_type;
29 
30   BEGIN
31   INSERT INTO CE_FORECAST_EXT_VIEWS (
32 			external_source_type,
33 			external_source_view,
34 			db_link_name,
35 			created_by,
36 			creation_date,
37 			last_updated_by,
38 			last_update_date,
39 			last_update_login)
40 		VALUES
41 		(	X_external_source_type,
42 			X_external_source_view,
43 			X_db_link_name,
44 			X_created_by,
45  			X_creation_date,
46  			X_last_updated_by,
47  			X_last_update_date,
48  			X_last_update_login);
49   OPEN C1;
50   FETCH C1 INTO X_rowid;
51   IF (C1%NOTFOUND) THEN
52     CLOSE C1;
53     RAISE NO_DATA_FOUND;
54   END IF;
55   CLOSE C1;
56 
57   END Insert_Row;
58 
59 
60   PROCEDURE Update_Row(	X_Rowid				VARCHAR2,
61 			X_external_source_type		VARCHAR2,
62 			X_external_source_view		VARCHAR2,
63 			X_db_link_name			VARCHAR2,
64 			X_created_by                    NUMBER,
65  			X_creation_date                 DATE,
66  			X_last_updated_by               NUMBER,
67  			X_last_update_date              DATE,
68  			X_last_update_login    		NUMBER) IS
69   BEGIN
70     UPDATE CE_FORECAST_EXT_VIEWS
71     SET
72 	external_source_type	=	X_external_source_type,
73 	external_source_view	=	X_external_source_view,
74 	db_link_name		=	X_db_link_name,
75 	created_by		=	X_created_by,
76  	creation_date		= 	X_creation_date,
77  	last_updated_by		= 	X_last_updated_by,
78  	last_update_date	=	X_last_update_date,
79  	last_update_login	=	X_last_update_login
80     WHERE	rowid = X_rowid;
81     IF (SQL%NOTFOUND) THEN
82       RAISE NO_DATA_FOUND;
83     END IF;
84   END Update_Row;
85 
86 
87   PROCEDURE Delete_Row( X_rowid				VARCHAR2) IS
88 
89   BEGIN
90 
91     DELETE FROM CE_FORECAST_EXT_VIEWS
92     WHERE	rowid = X_rowid;
93 
94     IF (SQL%NOTFOUND) THEN
95       RAISE NO_DATA_FOUND;
96     END IF;
97   END Delete_Row;
98 
99   PROCEDURE Lock_Row  (	X_Rowid				VARCHAR2,
100 			X_external_source_type		VARCHAR2,
101 			X_external_source_view		VARCHAR2,
102 			X_db_link_name			VARCHAR2,
103 			X_created_by                    NUMBER,
104  			X_creation_date                 DATE,
105  			X_last_updated_by               NUMBER,
106  			X_last_update_date              DATE,
107  			X_last_update_login    		NUMBER) IS
108     CURSOR C IS SELECT *
109     FROM CE_FORECAST_EXT_VIEWS
110     WHERE rowid = X_rowid
111     FOR UPDATE OF external_source_type NOWAIT;
112 
113     Recinfo C%ROWTYPE;
114   BEGIN
115     OPEN C;
116     FETCH C INTO Recinfo;
117     IF (C%NOTFOUND)THEN
118       CLOSE C;
119       FND_MESSAGE.set_name('FND','FORM_RECORD_DELETED');
120       APP_EXCEPTION.raise_exception;
121     END IF;
122     CLOSE C;
123 
124     IF(
125 	 (    (   (Recinfo.external_source_type = X_external_source_type )
126              OR (    (Recinfo.external_source_type IS NULL)
127                  AND (X_external_source_type IS NULL))))
128 	AND (    (   (Recinfo.external_source_view = X_external_source_view )
129              OR (    (Recinfo.external_source_view IS NULL)
130                  AND (X_external_source_view IS NULL))))
131 	AND (    (   (Recinfo.db_link_name = X_db_link_name )
132              OR (    (Recinfo.db_link_name IS NULL)
133                  AND (X_db_link_name IS NULL))))
134 	) THEN
135 	RETURN;
136    ELSE
137 	FND_MESSAGE.Set_Name('FND','FORM_RECORD_CHANGED');
138 	APP_EXCEPTION.raise_exception;
139    END IF;
140   END Lock_Row;
141 
142 
143 
144   PROCEDURE Check_Unique(
145 		X_external_source_type VARCHAR2,
146                 X_rowid                 VARCHAR2) IS
147   CURSOR chk_duplicates IS
148 	SELECT 'founddup'
149         FROM ce_forecast_ext_views cesv
150 	WHERE cesv.external_source_type = X_external_source_type
151 	AND  (X_rowid IS NULL
152                    OR cesv.rowid <> chartorowid(X_rowid));
153   dummy VARCHAR2(100);
154   BEGIN
155         OPEN chk_duplicates;
156         FETCH chk_duplicates INTO dummy;
157 
158         IF chk_duplicates%FOUND THEN
159                 FND_MESSAGE.Set_Name('CE', 'CE_DUPLICATE_EXT_SOURCE_TYPE');
160                 APP_EXCEPTION.Raise_exception;
161         END IF;
162         CLOSE chk_duplicates;
163 EXCEPTION
164         WHEN APP_EXCEPTIONS.application_exception THEN
165                 RAISE;
166         WHEN OTHERS THEn
167                 FND_MESSAGE.Set_Name('CE', 'CE_UNHANDLED_EXCEPTION');
168                 FND_MESSAGE.Set_Token('PROCEDURE', 'CE_FC_EXT_VIEWS_TABLE_PKG.Check_Unique');
169         RAISE;
170   END Check_Unique;
171 
172 
173 
174 
175 END CE_FC_EXT_VIEWS_TABLE_PKG;