DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_COLLECTIONS_V_PKG

Source


1 PACKAGE BODY CN_COLLECTIONS_V_PKG AS
2 -- $Header: cncocvb.pls 120.0 2005/09/03 03:13:21 apink noship $
3 --
4 -- Procedure Name
5 --   insert_row
6 
7 l_org_id      NUMBER;
8 
9 PROCEDURE insert_row(
10                         X_module_id NUMBER,
11                         X_rep_id NUMBER,
12                         X_set_of_books NUMBER,
13                         X_source_id NUMBER,
14                         X_version VARCHAR2,
15                         X_schema  VARCHAR2,
16                         X_status  VARCHAR2,
17                         X_description VARCHAR2,
18                         X_type    VARCHAR2,
19 						x_org_id IN NUMBER) IS
20   l_rowid		ROWID;
21   l_date		DATE;
22   l_user_id		NUMBER;
23   l_login_id          	NUMBER;
24 
25   BEGIN
26 
27 	l_org_id := x_org_id;
28 
29 
30     IF X_source_id IS NOT NULL THEN
31 
32       INSERT INTO cn_repositories(
33         repository_id,
34         version,
35         SCHEMA,
36         status,
37         application_type,
38         description,
39 		org_id,
40 		object_version_number)
41       VALUES(
42         X_source_id,
43         X_version,
44         X_schema,
45         X_status,
46         X_type,
47         X_description,
48 		l_org_id,
49 		1);
50     END IF;
51 
52    SELECT sysdate
53    INTO l_date
54    FROM dual;
55 
56    l_user_id := nvl(fnd_profile.value('USER_ID'),-1);
57    l_login_id := nvl(fnd_profile.value('LOGIN_ID'),-1);
58 
59     cn_modules_pkg.insert_row(
60 			X_ROWID => l_rowid,
61 			X_MODULE_ID => X_module_id,
62 			X_MODULE_TYPE => 'COL',
63 			X_REPOSITORY_ID => X_rep_id,
64 			X_DESCRIPTION => NULL,
65 			X_PARENT_MODULE_ID => NULL,
66 			X_SOURCE_REPOSITORY_ID => x_source_id,
67 			X_MODULE_STATUS => NULL,
68 			X_EVENT_ID => NULL,
69 			X_LAST_MODIFICATION => l_date,
70 			X_LAST_SYNCHRONIZATION => l_date,
71 			X_OUTPUT_FILENAME => NULL,
72 			X_COLLECT_FLAG => NULL,
73 			X_NAME => NULL,
74 			X_CREATION_DATE => l_date,
75 			X_CREATED_BY => l_user_id,
76 			X_LAST_UPDATE_DATE => l_date,
77 			X_LAST_UPDATED_BY => l_user_id,
78 			x_last_update_login => l_login_id,
79 			x_org_id => l_org_id);
80 
81 
82   END insert_row;
83 
84 
85 
86   -- Procedure Name
87   --   insert_collection
88   -- Purpose
89   --   Insert a collection without creating a new repository to collect into
90   -- History
91   --                    Tony Lower              Created
92   PROCEDURE insert_collection (
93                         X_module_id NUMBER,
94                         X_rep_id NUMBER,
95                         X_event_id NUMBER,
96                         X_module_type VARCHAR2,
97                         X_set_of_books NUMBER,
98                         X_source_id NUMBER,
99                         X_version VARCHAR2,
100                         X_schema  VARCHAR2,
101                         X_status  VARCHAR2,
102                         X_description VARCHAR2,
103 		        		X_type    VARCHAR2,
104 						x_org_id IN NUMBER) IS
105   l_rowid		ROWID;
106   l_date		DATE;
107   l_user_id		NUMBER;
108   l_login_id          	NUMBER;
109 
110   BEGIN
111 
112    SELECT sysdate
113    INTO l_date
114    FROM dual;
115 
116    l_user_id := nvl(fnd_profile.value('USER_ID'),-1);
117    l_login_id := nvl(fnd_profile.value('LOGIN_ID'),-1);
118 
119     cn_modules_pkg.insert_row(
120 			X_ROWID => l_rowid ,
121 			X_MODULE_ID => X_module_id,
122 			X_MODULE_TYPE => X_module_type,
123 			X_REPOSITORY_ID => X_rep_id,
124 			X_DESCRIPTION => NULL,
125 			X_PARENT_MODULE_ID => NULL,
126 			X_SOURCE_REPOSITORY_ID => x_source_id,
127 			X_MODULE_STATUS => NULL,
128 			X_EVENT_ID => x_event_id,
129 			X_LAST_MODIFICATION => l_date,
130 			X_LAST_SYNCHRONIZATION => l_date,
131 			X_OUTPUT_FILENAME => NULL,
132 			X_COLLECT_FLAG => NULL,
133 			X_NAME => NULL,
134 			X_CREATION_DATE => l_date,
135 			X_CREATED_BY => l_user_id,
136 			X_LAST_UPDATE_DATE => l_date,
137 			X_LAST_UPDATED_BY => l_user_id,
138 			x_last_update_login => l_login_id,
139 			x_org_id => l_org_id);
140 
141 
142     IF X_source_id IS NOT NULL THEN
143 
144       UPDATE cn_repositories
145         SET          version = X_version,
146                       SCHEMA = X_schema,
147                       status = X_status,
148             application_type = X_type,
149                  description = X_description,
150        object_version_number = object_version_number + 1
151          WHERE repository_id = X_source_id
152 		 AND   org_id = l_org_id;
153 
154     END IF;
155 
156   END insert_collection;
157 
158 
159 
160   --
161   -- Procedure Name
162   --   update_row
163   -- History
164   --                    Tony Lower              Created
165   PROCEDURE update_row(
166                         X_module_id NUMBER,
167                         X_rep_id NUMBER,
168                         X_event_id NUMBER,
169                         X_module_type VARCHAR2,
170                         X_set_of_books NUMBER,
171                         X_source_id NUMBER,
172                         X_version VARCHAR2,
173                         X_schema  VARCHAR2,
174                         X_status  VARCHAR2,
175                         X_type    VARCHAR2,
176 						x_org_id IN NUMBER,
177 						x_object_Version_number IN OUT NOCOPY NUMBER)
178   IS
179 
180   CURSOR ovn_csr IS
181   SELECT object_version_number
182   FROM   cn_repositories
183   WHERE  repository_id = x_source_id
184   AND    org_id = x_org_id;
185 
186   l_ovn_csr ovn_csr%ROWTYPE;
187 
188 
189   BEGIN
190 
191     l_org_id := x_org_id;
192 
193     OPEN ovn_csr;
194     FETCH ovn_csr INTO l_ovn_csr;
195     CLOSE ovn_csr;
196 
197     IF X_source_id IS NOT NULL THEN
198 
199       UPDATE cn_repositories SET
200         version = X_version,
201         SCHEMA = X_schema,
202         status = X_status,
203         application_type = X_type,
204         object_version_number = l_ovn_csr.object_version_number + 1
205       WHERE repository_id = X_source_id
206       AND   org_id = l_org_id;
207 
208       x_object_Version_number := l_ovn_csr.object_version_number + 1;
209 
210     END IF;
211 
212     cn_modules_pkg.update_row(
213        x_repository_id => X_rep_id,
214        x_event_id => X_event_id,
215        x_module_type => X_module_type,
216        x_source_repository_id => x_source_id,
217        x_module_id => X_module_id,
218 	   x_org_id => l_org_id);
219 
220   END update_row;
221 
222 
223 
224   --
225   -- Procedure Name
226   --   lock_row
227   -- History
228   --                    Tony Lower              Created
229   -- 07-28-95           Amy Erickson            Updated
230 
231   PROCEDURE lock_row (x_module_id  NUMBER) IS
232         temp_id  NUMBER;
233   BEGIN
234 
235     SELECT module_id
236       INTO temp_id
237       FROM cn_modules
238      WHERE module_id = x_module_id
239        FOR UPDATE ;
240 
241     SELECT cn_repositories.repository_id
242       INTO temp_id
243       FROM cn_repositories, cn_modules
244      WHERE cn_modules.source_repository_id = cn_repositories.repository_id (+)
245        AND cn_modules.module_id = x_module_id;
246 
247     IF temp_id IS NOT NULL THEN
248 
249       SELECT repository_id
250         INTO temp_id
251         FROM cn_repositories
252        WHERE repository_id = temp_ID
253          FOR UPDATE;
254 
255     END IF;
256 
257   END lock_row;
258 
259   --
260   -- Procedure Name
261   --   update_collect_flag
262   -- History
263   --   07-28-95         Amy Erickson            Created
264   --
265   PROCEDURE update_collect_flag (x_module_id     NUMBER,
266                                  x_collect_flag  VARCHAR2,
267 								 x_org_id IN NUMBER) IS
268 
269   BEGIN
270 
271      l_org_id := x_org_id;
272 
273 
274      IF x_module_id IS NOT NULL THEN
275 
276 -- MLS changes: have to use tbl handler
277 --    UPDATE cn_modules
278 --       SET collect_flag = x_collect_flag
279 --      WHERE module_id = x_module_id;
280 
281      cn_modules_pkg.update_row(
282        x_collect_flag => x_collect_flag,
283        x_module_id => X_module_id,
284 	   x_org_id => l_org_id);
285 
286      END IF;
287 
288   END update_collect_flag;
289 
290 
291 END cn_collections_v_pkg;