[Home] [Help]
PACKAGE BODY: APPS.EAM_PROCESS_SAFETY_PUB
Source
1 PACKAGE BODY EAM_PROCESS_SAFETY_PUB AS
2 /* $Header: EAMPSAPB.pls 120.2 2011/07/20 13:01:37 somitra noship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 2011 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME: EAMPSAPB.pls
9 --
10 -- DESCRIPTION: Body of package EAM_PROCESS_SAFETY_PUB
11 --
12 -- NOTES
13 --
14 -- HISTORY
15 --
16 --
17 ***************************************************************************/
18 -- g_debug_flag VARCHAR2(1) := 'N';
19
20 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EAM_PROCESS_SAFETY_PUB';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'EAMPSAPB.pls';
22
23 /**************************************************************************
24 * Procedure : PROCESS_ISOLATION
25 * Purpose : This will call the private API for processing isolation
26 ***************************************************************************/
27
28 PROCEDURE PROCESS_ISOLATION
29 ( p_bo_identifier IN VARCHAR2 := 'EAM'
30 , p_api_version_number IN NUMBER := 1.0
31 , p_init_msg_list IN BOOLEAN := FALSE
32 , p_commit IN VARCHAR2
33 , p_iso_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_iso_header_rec_type
34 , p_establish_iso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
35 , p_re_establish_iso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
36 , p_isolated_asset_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
37 , p_debug IN VARCHAR2
38 , p_output_dir IN VARCHAR2
39 , p_debug_filename IN VARCHAR2
40 , p_debug_file_mode IN VARCHAR2
41 , x_isolation_id OUT NOCOPY NUMBER
42 , x_return_status OUT NOCOPY VARCHAR2
43 , x_msg_count OUT NOCOPY NUMBER
44 ) IS
45
46 l_api_version CONSTANT NUMBER := 1.0;
47 -- lx_iso_header_rec EAM_PROCESS_SAFETY_PUB.eam_iso_header_rec_type;
48 l_isolation_id NUMBER;
49
50 l_debug VARCHAR2(1) := p_debug;
51 l_output_dir VARCHAR2(512) := p_output_dir;
52 l_debug_filename VARCHAR2(512) := p_debug_filename;
53 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
54 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
55 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
56
57
58 l_return_status VARCHAR2(1);
59 l_msg_count NUMBER;
60 l_msg_data VARCHAR2(240);
61
62
63
64 BEGIN
65
66 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
67 RAISE FND_API.G_EXC_ERROR;
68 END IF;
69
70 IF p_init_msg_list THEN
71 EAM_ERROR_MESSAGE_PVT.Initialize;
72 END IF;
73
74 SAVEPOINT EAM_PROCESS_ISOLATION;
75
76 EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
77
78 IF l_debug = 'Y'
79 THEN
80 l_out_mesg_token_tbl := l_mesg_token_tbl;
81 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
82 ( p_debug_filename => p_debug_filename
83 , p_output_dir => p_output_dir
84 , p_debug_file_mode => l_debug_file_mode
85 , x_return_status => l_return_status
86 , p_mesg_token_tbl => l_mesg_token_tbl
87 , x_mesg_token_tbl => l_out_mesg_token_tbl
88 );
89 l_mesg_token_tbl := l_out_mesg_token_tbl;
90
91 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
92 THEN
93 EAM_PROCESS_WO_PVT.Set_Debug('N');
94 END IF;
95 END IF;
96
97 IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_SAFETY_PUB.PROCESS_ISOLATION'); end if;
98
99 EAM_PROCESS_ISOLATION_PVT.PROCESS_ISOLATION(
100 p_bo_identifier => p_bo_identifier
101 , p_api_version_number => l_api_version
102 , p_init_msg_list => TRUE
103 , p_commit => p_commit
104 , p_iso_header_rec => p_iso_header_rec
105 , p_establish_iso_tbl => p_establish_iso_tbl
106 , p_re_establish_iso_tbl => p_re_establish_iso_tbl
107 , p_isolated_asset_tbl => p_isolated_asset_tbl
108 , x_isolation_id => l_isolation_id
109 , x_return_status => l_return_status
110 , x_msg_count => l_msg_count
111 , p_debug => l_debug
112 , p_output_dir => l_output_dir
113 , p_debug_filename => l_debug_filename
114 , p_debug_file_mode => l_debug_file_mode
115 );
116
117 x_isolation_id :=l_isolation_id;
118 x_return_status :=l_return_status;
119
120 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
121 THEN
122 x_return_status := FND_API.G_RET_STS_ERROR;
123 x_msg_count :=l_msg_count;
124 END IF;
125
126 EXCEPTION
127 WHEN OTHERS THEN
128 x_return_status := FND_API.G_RET_STS_ERROR;
129 x_msg_count :=l_msg_count;
130 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
131 THEN
132 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
133 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
134 END IF;
135
136 END PROCESS_ISOLATION;
137
138
139 /**************************************************************************
140 * Procedure: PROCESS_WORK_CLEARANCE
141 * Purpose: This will call the private API for processing of Work Clearance
142 ***************************************************************************/
143 PROCEDURE PROCESS_WORK_CLEARANCE
144 ( p_bo_identifier IN VARCHAR2 := 'EAM'
145 , p_api_version_number IN NUMBER := 1.0
146 , p_init_msg_list IN BOOLEAN := FALSE
147 , p_commit IN VARCHAR2
148 , p_work_clearance_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type
149 , p_clearance_establish_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
150 , p_clearance_re_estabish_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
151 , p_clearance_wo_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
152 , p_clearance_permit_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
153 , p_debug IN VARCHAR2
154 , p_output_dir IN VARCHAR2
155 , p_debug_filename IN VARCHAR2
156 , p_debug_file_mode IN VARCHAR2
157 , x_clearance_id OUT NOCOPY NUMBER
158 , x_return_status OUT NOCOPY VARCHAR2
159 , x_msg_count OUT NOCOPY NUMBER
160 ) IS
161
162 l_api_version CONSTANT NUMBER := 1.0;
163 l_work_clearance_header_rec EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type;
164
165 l_debug VARCHAR2(1) := p_debug;
166 l_output_dir VARCHAR2(512) := p_output_dir;
167 l_debug_filename VARCHAR2(512) := p_debug_filename;
168 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
169 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
170 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
171
172
173 l_return_status VARCHAR2(1);
174 l_msg_count NUMBER;
175 l_msg_data VARCHAR2(240);
176
177 BEGIN
178
179 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
180 RAISE FND_API.G_EXC_ERROR;
181 END IF;
182
183 IF p_init_msg_list
184 THEN
185 EAM_ERROR_MESSAGE_PVT.Initialize;
186 END IF;
187
188 SAVEPOINT PROCESS_WORK_CLEARANCE;
189
190 EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
191
192 IF l_debug = 'Y'
193 THEN
194 l_out_mesg_token_tbl := l_mesg_token_tbl;
195 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
196 ( p_debug_filename => p_debug_filename
197 , p_output_dir => p_output_dir
198 , p_debug_file_mode => l_debug_file_mode
199 , x_return_status => l_return_status
200 , p_mesg_token_tbl => l_mesg_token_tbl
201 , x_mesg_token_tbl => l_out_mesg_token_tbl
202 );
203 l_mesg_token_tbl := l_out_mesg_token_tbl;
204
205 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
206 THEN
207 EAM_PROCESS_WO_PVT.Set_Debug('N');
208 END IF;
209 END IF;
210
211 IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_SAFETY_PUB.PROCESS_WORK_CLEARANCE'); end if;
212
213 EAM_PROCESS_CLEARANCE_PVT.PROCESS_WORK_CLEARANCE(
214 p_bo_identifier => p_bo_identifier
215 , p_api_version_number => l_api_version
216 , p_init_msg_list => TRUE
217 , p_commit => p_commit
218 , p_work_clearance_header_rec => p_work_clearance_header_rec
219 , p_clearance_establishment_tbl => p_clearance_establish_tbl
220 , p_clearance_re_estabish_tbl => p_clearance_re_estabish_tbl
221 , p_clearance_workorder_asso_tbl => p_clearance_wo_asso_tbl
222 , p_clearance_permit_asso_tbl => p_clearance_permit_asso_tbl
223 , x_work_clearance_header_rec => l_work_clearance_header_rec
224 , x_return_status => l_return_status
225 , x_msg_count => l_msg_count
226 , p_debug => l_debug
227 , p_output_dir => l_output_dir
228 , p_debug_filename => l_debug_filename
229 , p_debug_file_mode => l_debug_file_mode
230 );
231
232 x_clearance_id :=l_work_clearance_header_rec.work_clearance_id;
233 x_return_status :=l_return_status;
234
235 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
236 THEN
237 x_return_status := FND_API.G_RET_STS_ERROR;
238 x_msg_count :=l_msg_count;
239 END IF;
240
241 EXCEPTION
242 WHEN OTHERS THEN
243 x_return_status := FND_API.G_RET_STS_ERROR;
244 x_msg_count :=l_msg_count;
245 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
246 THEN
247 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
248 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
249 END IF;
250 END PROCESS_WORK_CLEARANCE;
251
252 /**************************************************************************
253 * Procedure: COPY_WORK_CLEARANCE
254 * Purpose: Procedure to copy work Clearance record.
255 * This procedure will call the private to process copy clearance
256 ***************************************************************************/
257 PROCEDURE COPY_WORK_CLEARANCE(
258 p_bo_identifier IN VARCHAR2 := 'EAM'
259 , p_api_version_number IN NUMBER := 1.0
260 , p_init_msg_list IN BOOLEAN := FALSE
261 , p_commit IN VARCHAR2 := 'N'
262 , p_debug IN VARCHAR2 := 'N'
263 , p_output_dir IN VARCHAR2 := NULL
264 , p_debug_filename IN VARCHAR2 := 'EAM_SAFETY_DEBUG.log'
265 , p_debug_file_mode IN VARCHAR2 := 'w'
266 , p_org_id IN NUMBER
267 , px_clearance_id IN OUT NOCOPY NUMBER
268 , x_return_status OUT NOCOPY VARCHAR2
269 , x_msg_count OUT NOCOPY NUMBER
270 ) IS
271
272 l_api_version CONSTANT NUMBER := 1.0;
273
274 l_debug VARCHAR2(1) := p_debug;
275 l_output_dir VARCHAR2(512) := p_output_dir;
276 l_debug_filename VARCHAR2(512) := p_debug_filename;
277 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
278 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
279 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
280
281
282 l_return_status VARCHAR2(1);
283 l_msg_count NUMBER;
284
285 BEGIN
286
287 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
288 RAISE FND_API.G_EXC_ERROR;
289 END IF;
290
291 IF p_init_msg_list
292 THEN
293 EAM_ERROR_MESSAGE_PVT.Initialize;
294 END IF;
295
296 SAVEPOINT COPY_WORK_CLEARANCE;
297
298 EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
299
300 IF l_debug = 'Y'
301 THEN
302 l_out_mesg_token_tbl := l_mesg_token_tbl;
303 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
304 ( p_debug_filename => p_debug_filename
305 , p_output_dir => p_output_dir
306 , p_debug_file_mode => l_debug_file_mode
307 , x_return_status => l_return_status
308 , p_mesg_token_tbl => l_mesg_token_tbl
309 , x_mesg_token_tbl => l_out_mesg_token_tbl
310 );
311 l_mesg_token_tbl := l_out_mesg_token_tbl;
312
313 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
314 THEN
315 EAM_PROCESS_WO_PVT.Set_Debug('N');
316 END IF;
317 END IF;
318
319 IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_PERMIT_PVT.COPY_WORK_PERMIT from EAM_PROCESS_SAFETY_PUB'); end if;
320
321 EAM_PROCESS_CLEARANCE_PVT.COPY_WORK_CLEARANCE(
322 p_bo_identifier => p_bo_identifier
323 , p_api_version_number => l_api_version
324 , p_init_msg_list => TRUE
325 , p_commit => p_commit
326 , p_debug => l_debug
327 , p_output_dir => l_output_dir
328 , p_debug_filename => l_debug_filename
329 , p_debug_file_mode => l_debug_file_mode
330 , p_org_id => p_org_id
331 , px_clearance_id => px_clearance_id
332 , x_return_status => l_return_status
333 , x_msg_count => l_msg_count
334
335 );
336
337
338 x_return_status :=l_return_status;
339
340 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
341 THEN
342 x_return_status := FND_API.G_RET_STS_ERROR;
343 x_msg_count :=l_msg_count;
344 END IF;
345
346 EXCEPTION
347 WHEN OTHERS THEN
348 -- x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
349 x_return_status := FND_API.G_RET_STS_ERROR;
350 x_msg_count :=l_msg_count;
351 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
352 THEN
353 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
354 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
355 END IF;
356
357 END COPY_WORK_CLEARANCE;
358
359
360 /**************************************************************************
361 * Procedure: PROCESS_WORK_PERMIT
362 * Purpose: Procedure to process work permit record.
363 * This procedure will call the private procedure PROCESS_WORK_PERMIT
364 * in the EAM_PROCES_PERMIT_PVT API.
365 ***************************************************************************/
366 PROCEDURE PROCESS_WORK_PERMIT
367 ( p_bo_identifier IN VARCHAR2 := 'EAM'
368 , p_api_version_number IN NUMBER := 1.0
369 , p_init_msg_list IN BOOLEAN := FALSE
370 , p_commit IN VARCHAR2
371 , p_work_permit_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type
372 , p_permit_wo_association_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
373 , p_permit_clearance_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
374 , p_debug IN VARCHAR2
375 , p_output_dir IN VARCHAR2
376 , p_debug_filename IN VARCHAR2
377 , p_debug_file_mode IN VARCHAR2
378 , x_permit_id OUT NOCOPY NUMBER
379 , x_return_status OUT NOCOPY VARCHAR2
380 , x_msg_count OUT NOCOPY NUMBER
381 ) IS
382
383 l_api_version CONSTANT NUMBER := 1.0;
384 lx_work_permit_header_rec EAM_PROCESS_SAFETY_PUB.eam_wp_header_rec_type;
385
386 l_debug VARCHAR2(1) := p_debug;
387 l_output_dir VARCHAR2(512) := p_output_dir;
388 l_debug_filename VARCHAR2(512) := p_debug_filename;
389 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
390 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
391 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
392
393
394 l_return_status VARCHAR2(1);
395 l_msg_count NUMBER;
396 l_msg_data VARCHAR2(240);
397
398 BEGIN
399
400 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
401 RAISE FND_API.G_EXC_ERROR;
402 END IF;
403
404 IF p_init_msg_list
405 THEN
406 EAM_ERROR_MESSAGE_PVT.Initialize;
407 END IF;
408
409 SAVEPOINT EAM_PR_PROCESS_WORK_PERMIT;
410
411 EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
412
413 IF l_debug = 'Y'
414 THEN
415 l_out_mesg_token_tbl := l_mesg_token_tbl;
416 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
417 ( p_debug_filename => p_debug_filename
418 , p_output_dir => p_output_dir
419 , p_debug_file_mode => l_debug_file_mode
420 , x_return_status => l_return_status
421 , p_mesg_token_tbl => l_mesg_token_tbl
422 , x_mesg_token_tbl => l_out_mesg_token_tbl
423 );
424 l_mesg_token_tbl := l_out_mesg_token_tbl;
425
426 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
427 THEN
428 EAM_PROCESS_WO_PVT.Set_Debug('N');
429 END IF;
430 END IF;
431
432 IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_SAFETY_PUB.PROCESS_WORK_PERMIT from EAM_PROCESS_SAFETY_PUB'); end if;
433
434 EAM_PROCESS_PERMIT_PVT.PROCESS_WORK_PERMIT(
435 p_bo_identifier => p_bo_identifier
436 , p_api_version_number => l_api_version
437 , p_init_msg_list => TRUE
438 , p_commit => p_commit
439 , p_work_permit_header_rec => p_work_permit_header_rec
440 , p_permit_wo_association_tbl => p_permit_wo_association_tbl
441 , p_permit_clearance_asso_tbl => p_permit_clearance_asso_tbl
442 , x_work_permit_header_rec => lx_work_permit_header_rec
443 , x_return_status => l_return_status
444 , x_msg_count => l_msg_count
445 , p_debug => l_debug
446 , p_output_dir => l_output_dir
447 , p_debug_filename => l_debug_filename
448 , p_debug_file_mode => l_debug_file_mode
449 );
450
451 x_permit_id :=lx_work_permit_header_rec.permit_id;
452 x_return_status :=l_return_status;
453
454 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
455 THEN
456 x_return_status := FND_API.G_RET_STS_ERROR;
457 x_msg_count :=l_msg_count;
458 END IF;
459
460 EXCEPTION
461 WHEN OTHERS THEN
462 x_return_status := FND_API.G_RET_STS_ERROR;
463 x_msg_count :=l_msg_count;
464 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
465 THEN
466 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
467 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
468 END IF;
469
470 END PROCESS_WORK_PERMIT;
471
472 /**************************************************************************
473 * Procedure: COPY_WORK_PERMIT
474 * Purpose: Procedure to copy work permit record.
475 * This procedure will call private the procedure PROCESS_WORK_PERMIT
476 * in the EAM_PROCES_PERMIT_PVT API.
477 ***************************************************************************/
478 PROCEDURE COPY_WORK_PERMIT(
479 p_bo_identifier IN VARCHAR2 := 'EAM'
480 , p_api_version_number IN NUMBER := 1.0
481 , p_init_msg_list IN BOOLEAN := FALSE
482 , p_commit IN VARCHAR2
483 , p_debug IN VARCHAR2
484 , p_output_dir IN VARCHAR2
485 , p_debug_filename IN VARCHAR2
486 , p_debug_file_mode IN VARCHAR2
487 , p_org_id IN NUMBER
488 , px_permit_id IN OUT NOCOPY NUMBER
489 , x_return_status OUT NOCOPY VARCHAR2
490 , x_msg_count OUT NOCOPY NUMBER
491 )IS
492
493 l_api_version CONSTANT NUMBER := 1.0;
494
495 l_debug VARCHAR2(1) := p_debug;
496 l_output_dir VARCHAR2(512) := p_output_dir;
497 l_debug_filename VARCHAR2(512) := p_debug_filename;
498 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
499 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
500 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
501
502
503 l_return_status VARCHAR2(1);
504 l_msg_count NUMBER;
505
506 BEGIN
507
508 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
509 RAISE FND_API.G_EXC_ERROR;
510 END IF;
511
512 IF p_init_msg_list
513 THEN
514 EAM_ERROR_MESSAGE_PVT.Initialize;
515 END IF;
516
517 SAVEPOINT EAM_COPY_WORK_PERMIT;
518
519 EAM_PROCESS_WO_PVT.Set_Debug(l_debug);
520
521 IF l_debug = 'Y'
522 THEN
523 l_out_mesg_token_tbl := l_mesg_token_tbl;
524 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
525 ( p_debug_filename => p_debug_filename
526 , p_output_dir => p_output_dir
527 , p_debug_file_mode => l_debug_file_mode
528 , x_return_status => l_return_status
529 , p_mesg_token_tbl => l_mesg_token_tbl
530 , x_mesg_token_tbl => l_out_mesg_token_tbl
531 );
532 l_mesg_token_tbl := l_out_mesg_token_tbl;
533
534 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
535 THEN
536 EAM_PROCESS_WO_PVT.Set_Debug('N');
537 END IF;
538 END IF;
539
540 IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling EAM_PROCESS_SAFETY_PUB.COPY_WORK_PERMIT from EAM_PROCESS_SAFETY_PUB'); end if;
541
542 EAM_PROCESS_PERMIT_PVT.COPY_WORK_PERMIT(
543 p_bo_identifier => p_bo_identifier
544 , p_api_version_number => l_api_version
545 , p_init_msg_list => TRUE
546 , p_commit => p_commit
547 , p_debug => l_debug
548 , p_output_dir => l_output_dir
549 , p_debug_filename => l_debug_filename
550 , p_debug_file_mode => l_debug_file_mode
551 , p_org_id => p_org_id
552 , px_permit_id => px_permit_id
553 , x_return_status => l_return_status
554 , x_msg_count => l_msg_count
555
556 );
557
558
559 x_return_status :=l_return_status;
560
561 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
562 THEN
563 x_return_status := FND_API.G_RET_STS_ERROR;
564 x_msg_count :=l_msg_count;
565 END IF;
566
567 EXCEPTION
568 WHEN OTHERS THEN
569 x_return_status := FND_API.G_RET_STS_ERROR;
570 x_msg_count :=l_msg_count;
571 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
572 THEN
573 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
574 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
575 END IF;
576
577
578 END COPY_WORK_PERMIT;
579
580 /**************************************************************************
581 * Procedure: PERMIT_CLEARANCE_ASSOCIATION
582 * Purpose : This will process permit clearance association
583 ***************************************************************************/
584 PROCEDURE PERMIT_CLEARANCE_ASSOCIATION
585 (
586 p_bo_identifier IN VARCHAR2 := 'EAM'
587 , p_api_version_number IN NUMBER := 1.0
588 , p_init_msg_list IN BOOLEAN := FALSE
589 , p_commit IN VARCHAR2
590 , p_permit_clearance_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
591 , p_debug IN VARCHAR2
592 , p_output_dir IN VARCHAR2
593 , p_debug_filename IN VARCHAR2
594 , p_debug_file_mode IN VARCHAR2
595 , x_return_status OUT NOCOPY VARCHAR2
596 , x_msg_count OUT NOCOPY NUMBER
597 )IS
598 l_api_version CONSTANT NUMBER := 1.0;
599 l_debug VARCHAR2(1) := p_debug;
600 l_output_dir VARCHAR2(512) := p_output_dir;
601 l_debug_filename VARCHAR2(512) := p_debug_filename;
602 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
603
604 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
605 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
606 l_return_status VARCHAR2(1);
607 l_msg_count NUMBER;
608 BEGIN
609 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
610 RAISE FND_API.G_EXC_ERROR;
611 END IF;
612
613 IF p_init_msg_list
614 THEN
615 EAM_ERROR_MESSAGE_PVT.Initialize;
616 END IF;
617
618 SAVEPOINT PERMIT_CLEARANCE_ASSOCIATION;
619
620 IF l_debug = 'Y'
621 THEN
622 l_out_mesg_token_tbl := l_mesg_token_tbl;
623 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
624 ( p_debug_filename => p_debug_filename
625 , p_output_dir => p_output_dir
626 , p_debug_file_mode => l_debug_file_mode
627 , x_return_status => l_return_status
628 , p_mesg_token_tbl => l_mesg_token_tbl
629 , x_mesg_token_tbl => l_out_mesg_token_tbl
630 );
631 l_mesg_token_tbl := l_out_mesg_token_tbl;
632
633 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
634 THEN
635 EAM_PROCESS_WO_PVT.Set_Debug('N');
636 END IF;
637 END IF;
638
639 EAM_SAFETY_ASSOCIATION_PVT.PERMIT_CLEARANCE_ASSOCIATION
640 (
641 p_permit_clearance_asso_tbl => p_permit_clearance_asso_tbl
642 , x_mesg_token_tbl => l_out_Mesg_Token_Tbl
643 , x_return_status => l_return_status
644 );
645
646
647 IF (p_commit = FND_API.G_TRUE) THEN
648 COMMIT;
649 END IF;
650
651 x_return_status := l_return_status;
652 EXCEPTION
653 WHEN fnd_api.g_exc_unexpected_error THEN
654 ROLLBACK TO PERMIT_CLEARANCE_ASSOCIATION;
655 x_return_status := FND_API.G_RET_STS_ERROR;
656 x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
657
658 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
659 THEN
660 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
661 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
662 END IF;
663
664 WHEN OTHERS THEN
665
666 ROLLBACK TO PERMIT_CLEARANCE_ASSOCIATION;
667 x_return_status := FND_API.G_RET_STS_ERROR;
668 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
669 THEN
670 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
671 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
672 END IF;
673
674 END PERMIT_CLEARANCE_ASSOCIATION;
675
676 /**************************************************************************
677 * Procedure: CLEARANCE_WO_ASSOCIATION
678 * Purpose : This will process clearance work order association
679 ***************************************************************************/
680 PROCEDURE CLEARANCE_WO_ASSOCIATION
681 ( p_bo_identifier IN VARCHAR2 := 'EAM'
682 , p_api_version_number IN NUMBER := 1.0
683 , p_init_msg_list IN BOOLEAN := FALSE
684 , p_commit IN VARCHAR2
685 , p_clearance_wo_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
686 , p_debug IN VARCHAR2
687 , p_output_dir IN VARCHAR2
688 , p_debug_filename IN VARCHAR2
689 , p_debug_file_mode IN VARCHAR2
690 , x_return_status OUT NOCOPY VARCHAR2
691 , x_msg_count OUT NOCOPY NUMBER
692 )IS
693 -- l_return_status VARCHAR2(1);
694 -- l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
695
696
697 l_api_version CONSTANT NUMBER := 1.0;
698 l_debug VARCHAR2(1) := p_debug;
699 l_output_dir VARCHAR2(512) := p_output_dir;
700 l_debug_filename VARCHAR2(512) := p_debug_filename;
701 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
702
703 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
704 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
705 l_return_status VARCHAR2(1);
706 l_msg_count NUMBER;
707
708 BEGIN
709
710 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
711 RAISE FND_API.G_EXC_ERROR;
712 END IF;
713
714 IF p_init_msg_list
715 THEN
716 EAM_ERROR_MESSAGE_PVT.Initialize;
717 END IF;
718
719 SAVEPOINT CLEARANCE_WO_ASSOCIATION;
720
721 IF l_debug = 'Y'
722 THEN
723 l_out_mesg_token_tbl := l_mesg_token_tbl;
724 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
725 ( p_debug_filename => p_debug_filename
726 , p_output_dir => p_output_dir
727 , p_debug_file_mode => l_debug_file_mode
728 , x_return_status => l_return_status
729 , p_mesg_token_tbl => l_mesg_token_tbl
730 , x_mesg_token_tbl => l_out_mesg_token_tbl
731 );
732 l_mesg_token_tbl := l_out_mesg_token_tbl;
733
734 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
735 THEN
736 EAM_PROCESS_WO_PVT.Set_Debug('N');
737 END IF;
738 END IF;
739
740 EAM_SAFETY_ASSOCIATION_PVT.CLEARANCE_WO_ASSOCIATION
741 (
742 p_clearance_workorder_asso_tbl => p_clearance_wo_asso_tbl
743 , x_mesg_token_tbl => l_out_Mesg_Token_Tbl
744 , x_return_status => l_return_status
745 );
746
747 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
748 RAISE fnd_api.g_exc_unexpected_error;
749 END IF;
750
751 IF (p_commit = FND_API.G_TRUE) THEN
752 COMMIT;
753 END IF;
754
755 x_return_status := l_return_status;
756 EXCEPTION
757 WHEN fnd_api.g_exc_unexpected_error THEN
758 ROLLBACK TO CLEARANCE_WO_ASSOCIATION;
759 x_return_status := FND_API.G_RET_STS_ERROR;
760
761 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
762 THEN
763 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
764 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
765 END IF;
766
767 WHEN OTHERS THEN
768
769 ROLLBACK TO CLEARANCE_WO_ASSOCIATION;
770 x_return_status := FND_API.G_RET_STS_ERROR;
771
772 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
773 THEN
774 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
775 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
776 END IF;
777
778 END CLEARANCE_WO_ASSOCIATION;
779
780
781 /************************************************************
782 * Procedure: PERMIT_WORK_ORDER_ASSOCIATION
783 * Purpose : This will process permit work order association
784 ************************************************************/
785 PROCEDURE PERMIT_WORK_ORDER_ASSOCIATION
786 (
787 p_bo_identifier IN VARCHAR2 := 'EAM'
788 , p_api_version_number IN NUMBER := 1.0
789 , p_init_msg_list IN BOOLEAN := FALSE
790 , p_commit IN VARCHAR2
791 , p_permit_wo_association_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
792 , p_debug IN VARCHAR2
793 , p_output_dir IN VARCHAR2
794 , p_debug_filename IN VARCHAR2
795 , p_debug_file_mode IN VARCHAR2
796 , x_return_status OUT NOCOPY VARCHAR2
797 , x_msg_count OUT NOCOPY NUMBER
798 )IS
799
800 l_api_version CONSTANT NUMBER := 1.0;
801 l_debug VARCHAR2(1) := p_debug;
802 l_output_dir VARCHAR2(512) := p_output_dir;
803 l_debug_filename VARCHAR2(512) := p_debug_filename;
804 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
805
806 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
807 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
808 l_return_status VARCHAR2(1);
809 l_msg_count NUMBER;
810
811 BEGIN
812
813 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
814 RAISE FND_API.G_EXC_ERROR;
815 END IF;
816
817 IF p_init_msg_list
818 THEN
819 EAM_ERROR_MESSAGE_PVT.Initialize;
820 END IF;
821
822 SAVEPOINT PERMIT_WORK_ORDER_ASSOCIATION;
823
824 IF l_debug = 'Y'
825 THEN
826 l_out_mesg_token_tbl := l_mesg_token_tbl;
827 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
828 ( p_debug_filename => p_debug_filename
829 , p_output_dir => p_output_dir
830 , p_debug_file_mode => l_debug_file_mode
831 , x_return_status => l_return_status
832 , p_mesg_token_tbl => l_mesg_token_tbl
833 , x_mesg_token_tbl => l_out_mesg_token_tbl
834 );
835 l_mesg_token_tbl := l_out_mesg_token_tbl;
836
837 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
838 THEN
839 EAM_PROCESS_WO_PVT.Set_Debug('N');
840 END IF;
841 END IF;
842
843
844 EAM_SAFETY_ASSOCIATION_PVT.PERMIT_WORK_ORDER_ASSOCIATION
845 (
846 p_permit_wo_association_tbl => p_permit_wo_association_tbl
847 , x_mesg_token_tbl => l_out_Mesg_Token_Tbl
848 , x_return_status => l_return_status
849 );
850
851 IF (p_commit = FND_API.G_TRUE) THEN
852 COMMIT;
853 END IF;
854
855 x_return_status := l_return_status;
856 EXCEPTION
857 WHEN fnd_api.g_exc_unexpected_error THEN
858 ROLLBACK TO PERMIT_WORK_ORDER_ASSOCIATION;
859 x_return_status := FND_API.G_RET_STS_ERROR;
860 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
861 THEN
862 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
863 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
864 END IF;
865
866 WHEN OTHERS THEN
867 ROLLBACK TO PERMIT_WORK_ORDER_ASSOCIATION;
868 x_return_status := FND_API.G_RET_STS_ERROR;
869 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
870 THEN
871 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
872 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
873 END IF;
874
875
876 END PERMIT_WORK_ORDER_ASSOCIATION;
877
878
879 /************************************************************
880 * Procedure: ASSET_ISOLATION_ASSOCIATION
881 * Purpose : This will process permit work order association
882 ************************************************************/
883 PROCEDURE ASSET_ISOLATION_ASSOCIATION
884 (
885 p_bo_identifier IN VARCHAR2 := 'EAM'
886 , p_api_version_number IN NUMBER := 1.0
887 , p_init_msg_list IN BOOLEAN := FALSE
888 , p_commit IN VARCHAR2 := 'N'
889 , p_isolated_assets_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
890 , p_debug IN VARCHAR2 := 'N'
891 , p_output_dir IN VARCHAR2 := NULL
892 , p_debug_filename IN VARCHAR2 := 'EAM_SAFETY_DEBUG.log'
893 , p_debug_file_mode IN VARCHAR2 := 'w'
894 , x_return_status OUT NOCOPY VARCHAR2
895 , x_msg_count OUT NOCOPY NUMBER
896 )IS
897
898 l_api_version CONSTANT NUMBER := 1.0;
899 l_debug VARCHAR2(1) := p_debug;
900 l_output_dir VARCHAR2(512) := p_output_dir;
901 l_debug_filename VARCHAR2(512) := p_debug_filename;
902 l_debug_file_mode VARCHAR2(512) := p_debug_file_mode;
903
904 l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
905 l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.mesg_token_tbl_type;
906 l_return_status VARCHAR2(1);
907 l_msg_count NUMBER;
908
909 BEGIN
910
911 IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version_number, G_PKG_NAME, G_FILE_NAME) THEN
912 RAISE FND_API.G_EXC_ERROR;
913 END IF;
914
915 IF p_init_msg_list
916 THEN
917 EAM_ERROR_MESSAGE_PVT.Initialize;
918 END IF;
919
920 SAVEPOINT ASSET_ISOLATION_ASSOCIATION;
921
922 IF l_debug = 'Y'
923 THEN
924 l_out_mesg_token_tbl := l_mesg_token_tbl;
925 EAM_ERROR_MESSAGE_PVT.Open_Debug_Session
926 ( p_debug_filename => p_debug_filename
927 , p_output_dir => p_output_dir
928 , p_debug_file_mode => l_debug_file_mode
929 , x_return_status => l_return_status
930 , p_mesg_token_tbl => l_mesg_token_tbl
931 , x_mesg_token_tbl => l_out_mesg_token_tbl
932 );
933 l_mesg_token_tbl := l_out_mesg_token_tbl;
934
935 IF l_return_status <> FND_API.G_RET_STS_SUCCESS
936 THEN
937 EAM_PROCESS_WO_PVT.Set_Debug('N');
938 END IF;
939 END IF;
940
941 EAM_SAFETY_ASSOCIATION_PVT.ASSET_ISOLATION_ASSOCIATION
942 (
943 p_isolated_assets_tbl => p_isolated_assets_tbl
944 , x_mesg_token_tbl => l_out_Mesg_Token_Tbl
945 , x_return_status => l_return_status
946 );
947
948 IF (p_commit = FND_API.G_TRUE) THEN
949 COMMIT;
950 END IF;
951
952 x_return_status := l_return_status;
953
954 EXCEPTION
955 WHEN fnd_api.g_exc_unexpected_error THEN
956 ROLLBACK TO ASSET_ISOLATION_ASSOCIATION;
957 x_return_status := FND_API.G_RET_STS_ERROR;
958 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
959 THEN
960 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
961 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
962 END IF;
963
964 WHEN OTHERS THEN
965 ROLLBACK TO ASSET_ISOLATION_ASSOCIATION;
966 x_return_status := FND_API.G_RET_STS_ERROR;
967 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y'
968 THEN
969 EAM_ERROR_MESSAGE_PVT.Dump_Message_List;
970 EAM_ERROR_MESSAGE_PVT.Close_Debug_Session;
971 END IF;
972
973 END ASSET_ISOLATION_ASSOCIATION;
974
975 END EAM_PROCESS_SAFETY_PUB;