[Home] [Help]
PACKAGE BODY: APPS.CZ_IB_LOCKING
Source
1 PACKAGE BODY CZ_IB_LOCKING AS
2 /* $Header: cziblckb.pls 120.3 2006/08/01 15:46:41 skudryav ship $*/
3
4 ------------------------------------------------------------------------------------------
5
6 G_PKG_NAME VARCHAR2(50) := 'CZ_IB_LOCKING';
7
8 FUNCTION is_Valid_Data
9 (
10 p_config_session_hdr_id IN NUMBER,
11 p_config_session_rev_nbr IN NUMBER,
12 p_config_session_item_id IN NUMBER
13 ) RETURN BOOLEAN IS
14
15 BEGIN
16 IF p_config_session_item_id IS NULL THEN
17 -- if p_config_session_item_id is not specified then
18 -- check CZ_CONFIG_HDRS
19 FOR i IN(SELECT 'x' FROM CZ_CONFIG_HDRS
20 WHERE config_hdr_id=p_config_session_hdr_id AND
21 config_rev_nbr=p_config_session_rev_nbr AND
22 component_instance_type='R' AND
23 deleted_flag='0')
24 LOOP
25 RETURN TRUE;
26 END LOOP;
27
28 ELSE
29 -- if p_config_session_item_id is specified then
30 -- check CZ_CONFIG_DETAILS_V
31 FOR i IN(SELECT 'x' FROM CZ_CONFIG_DETAILS_V
32 WHERE config_hdr_id=p_config_session_hdr_id AND
33 config_rev_nbr=p_config_session_rev_nbr AND
34 config_item_id=p_config_session_item_id AND
35 component_instance_type='I' AND
36 ib_trackable='1')
37 LOOP
38 RETURN TRUE;
39 END LOOP;
40
41 END IF;
42
43 RETURN FALSE;
44 END is_Valid_Data;
45
46 --
47 -- this procedure calls procedure CSI_CZ_INT.lock_item_instance()
48 -- for each instance with configuration specified by parameters
49 -- p_config_session_hdr_id, p_config_session_rev_nbr and p_config_session_item_id
50 -- others parameters are passed to CSI_CZ_INT.lock_item_instance() directly
51 --
52 PROCEDURE lock_Config
53 (
54 p_api_version IN NUMBER,
55 p_config_session_hdr_id IN NUMBER,
56 p_config_session_rev_nbr IN NUMBER,
57 p_config_session_item_id IN NUMBER,
58 p_source_application_id IN NUMBER,
59 p_source_header_ref IN VARCHAR2,
60 p_source_line_ref1 IN VARCHAR2,
61 p_source_line_ref2 IN VARCHAR2,
62 p_source_line_ref3 IN VARCHAR2,
63 p_commit IN VARCHAR2,
64 p_init_msg_list IN VARCHAR2,
65 p_validation_level IN NUMBER,
66 x_locking_key OUT NOCOPY NUMBER,
67 x_return_status OUT NOCOPY VARCHAR2,
68 x_msg_count OUT NOCOPY NUMBER,
69 x_msg_data OUT NOCOPY VARCHAR2
70 ) IS
71
72 l_api_version CONSTANT NUMBER := 1.0;
73 l_api_name CONSTANT VARCHAR2(30) := 'lock_Config';
74 l_ndebug NUMBER := 0;
75 BEGIN
76
77 IF (NOT FND_API.compatible_api_call(l_api_version
78 ,p_api_version
79 ,l_api_name
80 ,G_PKG_NAME
81 )) THEN
82 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
83 END IF;
84
88
85 IF (p_init_msg_list = FND_API.G_TRUE) THEN
86 fnd_msg_pub.initialize;
87 END IF;
89 x_return_status := FND_API.G_RET_STS_SUCCESS;
90 x_msg_count := 0;
91 x_msg_data := NULL;
92
93 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
94 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
95 'List of parameters : ',
96 fnd_log.LEVEL_PROCEDURE);
97
98 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
99 'p_config_session_hdr_id='||TO_CHAR(p_config_session_hdr_id),
100 fnd_log.LEVEL_PROCEDURE);
101
102 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
103 'p_config_session_rev_nbr='||TO_CHAR(p_config_session_rev_nbr),
104 fnd_log.LEVEL_PROCEDURE);
105
106 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
107 'p_config_session_item_id='||TO_CHAR(p_config_session_item_id),
108 fnd_log.LEVEL_PROCEDURE);
109
110 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
111 'p_source_application_id='||TO_CHAR(p_source_application_id),
112 fnd_log.LEVEL_PROCEDURE);
113
114 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
115 'p_source_header_ref='||p_source_header_ref,
116 fnd_log.LEVEL_PROCEDURE);
117
118 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
119 'p_source_line_ref1='||p_source_line_ref1,
120 fnd_log.LEVEL_PROCEDURE);
121
122 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
123 'p_source_line_ref2='||p_source_line_ref2,
124 fnd_log.LEVEL_PROCEDURE);
125
126 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
127 'p_source_line_ref3='||p_source_line_ref3,
128 fnd_log.LEVEL_PROCEDURE);
129
130 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
131 'p_commit='||p_commit,
132 fnd_log.LEVEL_PROCEDURE);
133
134 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
135 'p_init_msg_list='||p_init_msg_list,
136 fnd_log.LEVEL_PROCEDURE);
137
138 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
139 'p_validation_level='||TO_CHAR(p_validation_level),
140 fnd_log.LEVEL_PROCEDURE);
141
142 END IF;
143
144 --
145 -- validate p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id
146 -- and if they are not valid then log error message and exit
147 --
148 IF NOT(is_Valid_Data (p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id)) THEN
149 x_return_status := FND_API.G_RET_STS_ERROR;
150
151 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, 'Error : Invalid Data : '||
152 'p_config_session_hdr_id/p_config_session_rev_nbr/p_config_session_item_id='||
153 TO_CHAR(p_config_session_hdr_id)||'/'||TO_CHAR(p_config_session_rev_nbr)||'/'||TO_CHAR(p_config_session_item_id));
154 fnd_msg_pub.count_and_get(p_count => x_msg_count,
155 p_data => x_msg_data);
156 x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
157
158 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
159 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
160 'Error : Invalid Data : p_config_session_hdr_id/p_config_session_rev_nbr/p_config_session_item_id='||
161 TO_CHAR(p_config_session_hdr_id)||'/'||TO_CHAR(p_config_session_rev_nbr)||'/'||TO_CHAR(p_config_session_item_id),
162 fnd_log.LEVEL_PROCEDURE);
163 END IF;
164 -- it's fatal error => exit
165 RETURN;
166 END IF;
167
168 EXECUTE IMMEDIATE
169 ' DECLARE ' ||
170 ' TYPE number_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; ' ||
171 ' l_config_tbl csi_cz_int.config_tbl; ' ||
172 ' l_rec_counter NUMBER := 0; ' ||
173 ' l_ndebug NUMBER := 0; ' ||
174 ' BEGIN ' ||
175 ' FOR i IN(SELECT instance_hdr_id,instance_rev_nbr, config_item_id FROM CZ_CONFIG_DETAILS_V ' ||
176 ' WHERE config_hdr_id=:1 AND ' ||
177 ' config_rev_nbr=:2 AND ' ||
178 ' config_item_id=NVL(:3, config_item_id) AND ' ||
179 ' component_instance_type=''I'' AND ' ||
180 ' ib_trackable=''1'') ' ||
181 ' LOOP ' ||
182 ' l_rec_counter := l_rec_counter + 1; ' ||
183 ' l_config_tbl(l_rec_counter).source_application_id := :4; ' ||
184 ' l_config_tbl(l_rec_counter).source_txn_header_ref := :5; ' ||
185 ' l_config_tbl(l_rec_counter).source_txn_line_ref1 := :6; ' ||
186 ' l_config_tbl(l_rec_counter).source_txn_line_ref2 := :7; ' ||
187 ' l_config_tbl(l_rec_counter).source_txn_line_ref3 := :8; ' ||
188 ' l_config_tbl(l_rec_counter).config_inst_hdr_id := i.instance_hdr_id; ' ||
189 ' l_config_tbl(l_rec_counter).config_inst_item_id := i.config_item_id; ' ||
190 ' l_config_tbl(l_rec_counter).config_inst_rev_num := i.instance_rev_nbr; ' ||
191 ' IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN ' ||
192 ' cz_utils.log_report(''CZ_IB_LOCKING'', ''lock_Config'', l_ndebug, ' ||
193 ' ''CSI_CZ_INT.lock_item_instances() will be called for instance_hdr_id=''||TO_CHAR(i.instance_hdr_id) || ' ||
194 ' '' instance_rev_nbr=''||TO_CHAR(i.instance_rev_nbr)||'' config_item_id=''||TO_CHAR(i.config_item_id), ' ||
195 ' fnd_log.LEVEL_PROCEDURE); ' ||
196 ' END IF; ' ||
197 ' END LOOP; ' ||
198 ' IF l_config_tbl.COUNT > 0 THEN '||
199 ' CSI_CZ_INT.lock_item_instances(p_api_version => 1.0 ' ||
200 ' ,p_commit => :9 ' ||
201 ' ,p_init_msg_list => :10 ' ||
202 ' ,p_validation_level => :11 ' ||
203 ' ,px_config_tbl => l_config_tbl ' ||
204 ' ,x_return_status => CZ_IB_LOCKING.m_return_status ' ||
208 ' cz_utils.log_report(''CZ_IB_LOCKING'', ''lock_Config'', l_ndebug, ' ||
205 ' ,x_msg_count => CZ_IB_LOCKING.m_msg_count ' ||
206 ' ,x_msg_data => CZ_IB_LOCKING.m_msg_data); ' ||
207 ' IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN ' ||
209 ' ''CSI_CZ_INT.lock_item_instances() has been called : x_return_status=''||CZ_IB_LOCKING.m_return_status|| ' ||
210 ' ''x_msg_count=''||to_char(CZ_IB_LOCKING.m_msg_count)||''x_msg_data=''||CZ_IB_LOCKING.m_msg_data, ' ||
211 ' fnd_log.LEVEL_PROCEDURE); ' ||
212 ' END IF; ' ||
213 ' END IF; '||
214 ' END;' USING
215 p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id,
216 p_source_application_id,p_source_header_ref,p_source_line_ref1,p_source_line_ref2,
217 p_source_line_ref3,p_commit,p_init_msg_list,p_validation_level;
218
219 IF CZ_IB_LOCKING.m_return_status IS NOT NULL THEN
220 x_return_status := CZ_IB_LOCKING.m_return_status;
221 x_msg_count := CZ_IB_LOCKING.m_msg_count;
222 x_msg_data := CZ_IB_LOCKING.m_msg_data;
223 END IF;
224
225 EXCEPTION
226 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
227 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228 fnd_msg_pub.count_and_get(p_count => x_msg_count,
229 p_data => x_msg_data);
230
231 IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
232 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
233 'Unexpected error : '||fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE),
234 fnd_log.LEVEL_ERROR);
235 END IF;
236 WHEN OTHERS THEN
237 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
238 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, 'Fatal error : '||SQLERRM);
239 fnd_msg_pub.count_and_get(p_count => x_msg_count,
240 p_data => x_msg_data);
241 IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
242 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
243 'Fatal error : '||SQLERRM,
244 fnd_log.LEVEL_ERROR);
245 END IF;
246 END lock_Config;
247
248 --
249 -- this procedure calls procedure CSI_CZ_INT.unlock_item_instance()
250 -- for each instance with configuration specified by parameters
251 -- p_config_session_hdr_id, p_config_session_rev_nbr and p_config_session_item_id
252 -- others parameters are passed to CSI_CZ_INT.lock_item_instance() directly
253 --
254 PROCEDURE unlock_Config
255 (
256 p_api_version IN NUMBER,
257 p_config_session_hdr_id IN NUMBER,
258 p_config_session_rev_nbr IN NUMBER,
259 p_config_session_item_id IN NUMBER,
260 p_locking_key IN NUMBER,
261 p_source_application_id IN NUMBER,
262 p_source_header_ref IN VARCHAR2,
263 p_source_line_ref1 IN VARCHAR2,
264 p_source_line_ref2 IN VARCHAR2,
265 p_source_line_ref3 IN VARCHAR2,
266 p_commit IN VARCHAR2,
267 p_init_msg_list IN VARCHAR2,
268 p_validation_level IN NUMBER,
269 x_return_status OUT NOCOPY VARCHAR2,
270 x_msg_count OUT NOCOPY NUMBER,
271 x_msg_data OUT NOCOPY VARCHAR2
272 ) IS
273
274 l_api_version CONSTANT NUMBER := 1.0;
275 l_api_name CONSTANT VARCHAR2(30) := 'unlock_Config';
276 l_ndebug NUMBER := 1;
277 BEGIN
278
279 IF (NOT FND_API.compatible_api_call(l_api_version
280 ,p_api_version
281 ,l_api_name
282 ,G_PKG_NAME
283 )) THEN
284 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285 END IF;
286
287 IF (p_init_msg_list = FND_API.G_TRUE) THEN
288 fnd_msg_pub.initialize;
289 END IF;
290
291 x_return_status := FND_API.G_RET_STS_SUCCESS;
292 x_msg_count := 0;
293 x_msg_data := NULL;
294
295 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
296 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
297 'List of parameters : ',
298 fnd_log.LEVEL_PROCEDURE);
299
300 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
301 'p_config_session_hdr_id='||TO_CHAR(p_config_session_hdr_id),
302 fnd_log.LEVEL_PROCEDURE);
303
304 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
305 'p_config_session_rev_nbr='||TO_CHAR(p_config_session_rev_nbr),
306 fnd_log.LEVEL_PROCEDURE);
307
308 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
309 'p_config_session_item_id='||TO_CHAR(p_config_session_item_id),
310 fnd_log.LEVEL_PROCEDURE);
311
312 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
313 'p_locking_key='||TO_CHAR(p_locking_key),
314 fnd_log.LEVEL_PROCEDURE);
315
316 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
317 'p_source_application_id='||TO_CHAR(p_source_application_id),
318 fnd_log.LEVEL_PROCEDURE);
319
320 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
321 'p_source_header_ref='||p_source_header_ref,
322 fnd_log.LEVEL_PROCEDURE);
323
324 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
325 'p_source_line_ref1='||p_source_line_ref1,
326 fnd_log.LEVEL_PROCEDURE);
327
328 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
329 'p_source_line_ref2='||p_source_line_ref2,
330 fnd_log.LEVEL_PROCEDURE);
331
332 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
333 'p_source_line_ref3='||p_source_line_ref3,
334 fnd_log.LEVEL_PROCEDURE);
335
336 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
337 'p_commit='||p_commit,
341 'p_init_msg_list='||p_init_msg_list,
338 fnd_log.LEVEL_PROCEDURE);
339
340 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
342 fnd_log.LEVEL_PROCEDURE);
343
344 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
345 'p_validation_level='||TO_CHAR(p_validation_level),
346 fnd_log.LEVEL_PROCEDURE);
347
348 END IF;
349
350 --
351 -- validate p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id
352 -- and if they are not valid then log error message and exit
353 --
354 IF NOT(is_Valid_Data (p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id)) THEN
355 x_return_status := FND_API.G_RET_STS_ERROR;
356
357 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, 'Error : Invalid Data : '||
358 'p_config_session_hdr_id/p_config_session_rev_nbr/p_config_session_item_id='||
359 TO_CHAR(p_config_session_hdr_id)||'/'||TO_CHAR(p_config_session_rev_nbr)||'/'||TO_CHAR(p_config_session_item_id));
360 fnd_msg_pub.count_and_get(p_count => x_msg_count,
361 p_data => x_msg_data);
362 x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
363
364 IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
365 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
366 'Error : Invalid Data : p_config_session_hdr_id/p_config_session_rev_nbr/p_config_session_item_id='||
367 TO_CHAR(p_config_session_hdr_id)||'/'||TO_CHAR(p_config_session_rev_nbr)||'/'||TO_CHAR(p_config_session_item_id),
368 fnd_log.LEVEL_PROCEDURE);
369 END IF;
370 -- it's fatal error => exit
371 RETURN;
372 END IF;
373
374 EXECUTE IMMEDIATE
375 ' DECLARE ' ||
376 ' TYPE number_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; ' ||
377 ' l_config_tbl csi_cz_int.config_tbl; ' ||
378 ' l_rec_counter NUMBER := 0; ' ||
379 ' l_ndebug NUMBER := 1; ' ||
380 ' BEGIN ' ||
381 ' FOR i IN(SELECT instance_hdr_id,instance_rev_nbr, config_item_id FROM CZ_CONFIG_DETAILS_V ' ||
382 ' WHERE config_hdr_id=:1 AND ' ||
383 ' config_rev_nbr=:2 AND ' ||
384 ' config_item_id=NVL(:3, config_item_id) AND ' ||
385 ' component_instance_type=''I'' AND ' ||
386 ' ib_trackable=''1'') ' ||
387 ' LOOP ' ||
388 ' l_rec_counter := l_rec_counter + 1; ' ||
389 ' l_config_tbl(l_rec_counter).source_application_id := :4; ' ||
390 ' l_config_tbl(l_rec_counter).source_txn_header_ref := :5; ' ||
391 ' l_config_tbl(l_rec_counter).source_txn_line_ref1 := :6; ' ||
392 ' l_config_tbl(l_rec_counter).source_txn_line_ref2 := :7; ' ||
393 ' l_config_tbl(l_rec_counter).source_txn_line_ref3 := :8; ' ||
394 ' l_config_tbl(l_rec_counter).lock_id := :9; ' ||
395 ' l_config_tbl(l_rec_counter).config_inst_hdr_id := i.instance_hdr_id; ' ||
396 ' l_config_tbl(l_rec_counter).config_inst_item_id := i.config_item_id; ' ||
397 ' l_config_tbl(l_rec_counter).config_inst_rev_num := i.instance_rev_nbr; ' ||
398 ' IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN ' ||
399 ' cz_utils.log_report(''CZ_IB_LOCKING'', ''unlock_Config'', l_ndebug, ' ||
400 ' ''CSI_CZ_INT.unlock_item_instances() will be called for instance_hdr_id=''||TO_CHAR(i.instance_hdr_id)|| ' ||
401 ' '' instance_rev_nbr=''||TO_CHAR(i.instance_rev_nbr)||'' config_item_id=''||TO_CHAR(i.config_item_id), ' ||
402 ' fnd_log.LEVEL_PROCEDURE); ' ||
403 ' END IF; ' ||
404 ' END LOOP; ' ||
405 ' IF l_config_tbl.COUNT > 0 THEN '||
406 ' CSI_CZ_INT.unlock_item_instances(p_api_version => 1.0 ' ||
407 ' ,p_commit => :10 ' ||
408 ' ,p_init_msg_list => :11 ' ||
409 ' ,p_validation_level => :12 ' ||
410 ' ,p_config_tbl => l_config_tbl ' ||
411 ' ,x_return_status => CZ_IB_LOCKING.m_return_status ' ||
412 ' ,x_msg_count => CZ_IB_LOCKING.m_msg_count ' ||
413 ' ,x_msg_data => CZ_IB_LOCKING.m_msg_data); ' ||
414 ' IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN ' ||
415 ' cz_utils.log_report(''CZ_IB_LOCKING'', ''unlock_Config'', l_ndebug, ' ||
416 ' ''CSI_CZ_INT.unlock_item_instances() has been called : x_return_status=''||CZ_IB_LOCKING.m_return_status|| ' ||
417 ' ''x_msg_count=''||to_char(CZ_IB_LOCKING.m_msg_count)||''x_msg_data=''||CZ_IB_LOCKING.m_msg_data, ' ||
418 ' fnd_log.LEVEL_PROCEDURE); ' ||
419 ' END IF; ' ||
420 ' END IF; '||
421 ' END;' USING
422 p_config_session_hdr_id,p_config_session_rev_nbr,p_config_session_item_id,
423 p_source_application_id,p_source_header_ref,p_source_line_ref1,p_source_line_ref2,
424 p_source_line_ref3,p_locking_key,p_commit,p_init_msg_list,p_validation_level;
425
426 IF CZ_IB_LOCKING.m_return_status IS NOT NULL THEN
427 x_return_status := CZ_IB_LOCKING.m_return_status;
428 x_msg_count := CZ_IB_LOCKING.m_msg_count;
429 x_msg_data := CZ_IB_LOCKING.m_msg_data;
430 END IF;
431
432 EXCEPTION
433 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
434 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
435 fnd_msg_pub.count_and_get(p_count => x_msg_count,
436 p_data => x_msg_data);
437 IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
438 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
439 'Unexpected error : '||fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE),
440 fnd_log.LEVEL_ERROR);
441 END IF;
442 WHEN OTHERS THEN
443 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
444 fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name, 'Fatal error : '||SQLERRM);
448 cz_utils.log_report(G_PKG_NAME, l_api_name, l_ndebug,
445 fnd_msg_pub.count_and_get(p_count => x_msg_count,
446 p_data => x_msg_data);
447 IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
449 'Fatal error : '||SQLERRM,
450 fnd_log.LEVEL_ERROR);
451 END IF;
452 END unlock_Config;
453
454 END;