[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;