55: l_safety_wo_asso_tbl EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type;
56: l_safety_assoc_rec EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_rec_type;
57:
58: /* Error Handling Variables */
59: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
60: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ;
61: l_error_level NUMBER :=EAM_ERROR_MESSAGE_PVT.G_BO_LEVEL;
62: l_entity_index NUMBER :=1;
63: l_clearance_id NUMBER :=p_work_clearance_header_rec.work_clearance_id ;
56: l_safety_assoc_rec EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_rec_type;
57:
58: /* Error Handling Variables */
59: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
60: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ;
61: l_error_level NUMBER :=EAM_ERROR_MESSAGE_PVT.G_BO_LEVEL;
62: l_entity_index NUMBER :=1;
63: l_clearance_id NUMBER :=p_work_clearance_header_rec.work_clearance_id ;
64:
57:
58: /* Error Handling Variables */
59: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
60: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ;
61: l_error_level NUMBER :=EAM_ERROR_MESSAGE_PVT.G_BO_LEVEL;
62: l_entity_index NUMBER :=1;
63: l_clearance_id NUMBER :=p_work_clearance_header_rec.work_clearance_id ;
64:
65: BEGIN
65: BEGIN
66:
67: SAVEPOINT PROCESS_WORK_CLEARANCE;
68:
69: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.PROCESS_WORK_CLEARANCE'); end if;
70:
71: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling WORK_CLEARANCE from PROCESS_WORK_CLEARANCE'); end if;
72:
73: WORK_CLEARANCE
67: SAVEPOINT PROCESS_WORK_CLEARANCE;
68:
69: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.PROCESS_WORK_CLEARANCE'); end if;
70:
71: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling WORK_CLEARANCE from PROCESS_WORK_CLEARANCE'); end if;
72:
73: WORK_CLEARANCE
74: (
75: p_validation_level => l_validation_level
81: , x_return_status => l_return_status
82: );
83: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
84: THEN
85: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
86: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
87: , p_error_level => l_error_level
88: , p_entity_index => l_entity_index
89: );
93: l_clearance_id :=x_work_clearance_header_rec.work_clearance_id;
94:
95:
96: IF p_clearance_establishment_tbl.COUNT > 0 THEN
97: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling ESTABLISHMENT from PROCESS_WORK_CLEARANCE'); end if;
98:
99: EAM_PROCESS_ISOLATION_PVT.ESTABLISHMENT
100: (
101: p_organization_id => p_work_clearance_header_rec.organization_id
108: END IF;
109:
110: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
111: THEN
112: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
113: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
114: , p_error_level => l_error_level
115: , p_entity_index => l_entity_index
116: );
117: raise fnd_api.g_exc_unexpected_error;
118: END IF;
119:
120: IF p_clearance_re_estabish_tbl.COUNT > 0 THEN
121: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Re-ESTABLISHMENT from PROCESS_WORK_CLEARANCE'); end if;
122:
123: EAM_PROCESS_ISOLATION_PVT.ESTABLISHMENT
124: (
125: p_organization_id => p_work_clearance_header_rec.organization_id
132: END IF;
133:
134: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
135: THEN
136: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
137: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
138: , p_error_level => l_error_level
139: , p_entity_index => l_entity_index
140: );
141: raise fnd_api.g_exc_unexpected_error;
142: END IF;
143:
144: IF p_clearance_permit_asso_tbl.COUNT > 0 THEN
145: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling PERMIT_CLEARANCE_ASSOCIATION from PROCESS_WORK_CLEARANCE'); end if;
146:
147: FOR i in p_clearance_permit_asso_tbl.FIRST..p_clearance_permit_asso_tbl.LAST LOOP
148:
149: l_safety_assoc_rec := p_clearance_permit_asso_tbl(i);
166:
167: END IF;
168: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
169: THEN
170: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
171: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
172: , p_error_level => l_error_level
173: , p_entity_index => l_entity_index
174: );
175: raise fnd_api.g_exc_unexpected_error;
176: END IF;
177:
178: IF p_clearance_workorder_asso_tbl.COUNT > 0 THEN
179: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling CLEARANCE_WO_ASSOCIATION from PROCESS_WORK_CLEARANCE'); end if;
180:
181: FOR i in p_clearance_workorder_asso_tbl.FIRST..p_clearance_workorder_asso_tbl.LAST LOOP
182:
183: l_safety_assoc_rec := p_clearance_workorder_asso_tbl(i);
198:
199:
200: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
201: THEN
202: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
203: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
204: , p_error_level => l_error_level
205: , p_entity_index => l_entity_index
206: );
218:
219: WHEN fnd_api.g_exc_unexpected_error THEN
220: ROLLBACK TO PROCESS_WORK_CLEARANCE;
221: x_return_status := FND_API.G_RET_STS_ERROR;
222: x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
223:
224: WHEN OTHERS THEN
225: ROLLBACK TO PROCESS_WORK_CLEARANCE;
226: x_return_status := FND_API.G_RET_STS_ERROR;
238: , p_work_clearance_id IN NUMBER
239: , p_organization_id IN NUMBER
240: , p_work_clearance_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type
241: , x_work_clearance_header_rec OUT NOCOPY EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type
242: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.MESG_TOKEN_TBL_TYPE
243: , x_return_status OUT NOCOPY VARCHAR2
244: )IS
245:
246: CURSOR C4 IS SELECT EAM_WORK_PERMIT_S.NEXTVAL FROM SYS.DUAL;
244: )IS
245:
246: CURSOR C4 IS SELECT EAM_WORK_PERMIT_S.NEXTVAL FROM SYS.DUAL;
247:
248: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
249: l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
250: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
251: l_return_status VARCHAR2(1);
252:
245:
246: CURSOR C4 IS SELECT EAM_WORK_PERMIT_S.NEXTVAL FROM SYS.DUAL;
247:
248: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
249: l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
250: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
251: l_return_status VARCHAR2(1);
252:
253:
246: CURSOR C4 IS SELECT EAM_WORK_PERMIT_S.NEXTVAL FROM SYS.DUAL;
247:
248: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type;
249: l_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
250: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
251: l_return_status VARCHAR2(1);
252:
253:
254: l_workflow_enabled VARCHAR2(1) :='N';
276: BEGIN
277:
278: SAVEPOINT WORK_CLEARANCE;
279:
280: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.WORK_CLEARANCE'); end if;
281:
282: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling VALIDATE_TRANSACTION_TYPE'); end if;
283:
284: EAM_PROCESS_CLEARANCE_PVT.VALIDATE_TRANSACTION_TYPE
278: SAVEPOINT WORK_CLEARANCE;
279:
280: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.WORK_CLEARANCE'); end if;
281:
282: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling VALIDATE_TRANSACTION_TYPE'); end if;
283:
284: EAM_PROCESS_CLEARANCE_PVT.VALIDATE_TRANSACTION_TYPE
285: ( p_validation_level => p_validation_level
286: , p_entity => 'WORK CLEARANCE'
301: l_work_clearance_header_rec.work_clearance_id :=l_work_clearance_id;
302: END IF;
303: END IF;
304: -- test_mesg('wc id :'||l_work_clearance_id);
305: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Check_Existence'); end if;
306:
307: EAM_CLEARANCE_VALIDATE_PVT.Check_Existence
308: ( p_work_clearance_header_rec => p_work_clearance_header_rec
309: , x_clearance_header_rec => l_old_wc_header_rec
316: RAISE l_clearance_existence_error;
317: END IF;
318:
319:
320: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Populate_NULL_Columns'); end if;
321: IF (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) THEN
322:
323: EAM_CLEARANCE_DEFAULT_PVT.Populate_NULL_Columns
324: ( p_eam_clearance_rec => l_work_clearance_header_rec
328: -- test_mesg('status 3 :'||l_return_status);
329: l_work_clearance_header_rec := l_out_wc_header_rec;
330: END IF;
331:
332: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Check_required'); end if;
333:
334: EAM_CLEARANCE_VALIDATE_PVT.CHECK_REQUIRED
335: ( p_work_clearance_header_rec => l_work_clearance_header_rec
336: , x_mesg_token_Tbl => l_Mesg_Token_Tbl
341: THEN
342: RAISE l_clearance_required_error;
343: END IF;
344:
345: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Check_attributes'); end if;
346:
347: EAM_CLEARANCE_VALIDATE_PVT.CHECK_ATTRIBUTES
348: ( p_work_clearance_header_rec => l_work_clearance_header_rec
349: , p_old_clearance_header_rec => l_old_wc_header_rec
380: ) THEN
381:
382: IF(WF_EVENT.TEST(l_status_pending_event) <> 'NONE') THEN
383:
384: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling Wkflow required check API...') ; END IF;
385:
386:
387: EAM_CLEARANCE_WORKFLOW_PVT.Is_Approval_Required_Released
388: (p_old_clearance_rec => l_old_wc_header_rec,
423: l_work_clearance_header_rec.COMPLETION_DATE := null;
424: END IF;
425: END IF;
426:
427: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling Perform_Writes'); end if;
428:
429: EAM_CLEARANCE_UTILITY_PVT.PERFORM_WRITES
430: ( p_work_clearance_header_rec => l_work_clearance_header_rec
431: , x_mesg_token_Tbl => l_Mesg_Token_Tbl
438: END IF;
439:
440: x_work_clearance_header_rec :=l_work_clearance_header_rec;
441:
442: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Created Clearance with id: '||l_work_clearance_header_rec.WORK_CLEARANCE_ID); end if;
443:
444: --If clearance is approved and no workflow then call the procedure CHANGE_WORK_PERMIT_STATUS
445: IF((l_workflow_enabled = 'N')
446: OR (p_work_clearance_header_rec.APPROVED_BY IS NOT NULL)
446: OR (p_work_clearance_header_rec.APPROVED_BY IS NOT NULL)
447: OR (p_work_clearance_header_rec.APPROVED_BY <> FND_API.G_MISS_NUM))
448: AND (l_old_wc_header_rec.system_status <>l_work_clearance_header_rec.system_status) THEN
449:
450: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling CHANGE_WORK_PERMIT_STATUS') ; END IF ;
451:
452: EAM_CLEARANCE_UTILITY_PVT.CHANGE_CLEARANCE_STATUS
453: ( p_clearance_id => l_work_clearance_header_rec.WORK_CLEARANCE_ID
454: , p_organization_id => p_work_clearance_header_rec.organization_id
459: , x_return_status => l_return_status
460: , x_Mesg_Token_Tbl => l_mesg_token_tbl
461: );
462:
463: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Status Change completed with status ' || l_return_status) ; END IF ;
464: IF NVL(l_return_status, 'S') <> 'S' THEN
465: l_return_status := FND_API.G_RET_STS_ERROR;
466: RAISE l_clearance_status_change;
467:
473: --If workflow is enabled and workflow approval is required call the procedure RAISE_WORKFLOW_EVENTS.
474:
475: IF(l_workflow_enabled = 'Y')
476: AND (l_approval_required) THEN
477: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Calling the Raise_Workflow_Events procedure ...') ; END IF ;
478: Raise_Workflow_Events
479: ( p_api_version => 1.0,
480: p_validation_level => p_validation_level,
481: p_eam_wc_rec => l_work_clearance_header_rec,
487: x_return_status => l_return_status,
488: x_mesg_token_tbl => l_mesg_token_tbl
489: );
490:
491: IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Raise_Workflow_Events procedure completed with status '||l_return_status) ; END IF ;
492:
493: END IF;
494:
495: x_return_status :=l_return_status;
500: l_token_tbl(1).token_name := 'SAFETY_NAME';
501: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
502:
503: l_out_mesg_token_tbl := l_mesg_token_tbl;
504: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
505: ( p_message_name => 'EAM_SAFETY_WRITE_ERROR'
506: , p_token_tbl => l_token_tbl
507: , p_mesg_token_tbl => l_mesg_token_tbl
508: , x_mesg_token_tbl => l_out_mesg_token_tbl
517: l_token_tbl(1).token_name := 'SAFETY_NAME';
518: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
519:
520: l_out_mesg_token_tbl := l_mesg_token_tbl;
521: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
522: ( p_message_name => 'EAM_SAFETY_TRANSACTION_ERROR'
523: , p_token_tbl => l_token_tbl
524: , p_mesg_token_tbl => l_mesg_token_tbl
525: , x_mesg_token_tbl => l_out_mesg_token_tbl
534: l_token_tbl(1).token_name := 'SAFETY_NAME';
535: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
536:
537: l_out_mesg_token_tbl := l_mesg_token_tbl;
538: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
539: ( p_message_name => 'EAM_SAFETY_EXISTENCE_ERROR'
540: , p_token_tbl => l_token_tbl
541: , p_mesg_token_tbl => l_mesg_token_tbl
542: , x_mesg_token_tbl => l_out_mesg_token_tbl
550: l_token_tbl(1).token_name := 'SAFETY_NAME';
551: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
552:
553: l_out_mesg_token_tbl := l_mesg_token_tbl;
554: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
555: ( p_message_name => 'EAM_SAFETY_REQUIRED_ERROR'
556: , p_token_tbl => l_token_tbl
557: , p_mesg_token_tbl => l_mesg_token_tbl
558: , x_mesg_token_tbl => l_out_mesg_token_tbl
566: l_token_tbl(1).token_name := 'SAFETY_NAME';
567: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
568:
569: l_out_mesg_token_tbl := l_mesg_token_tbl;
570: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
571: ( p_message_name => 'EAM_SAFETY_ATTRIBUTE_ERROR'
572: , p_token_tbl => l_token_tbl
573: , p_mesg_token_tbl => l_mesg_token_tbl
574: , x_mesg_token_tbl => l_out_mesg_token_tbl
582: l_token_tbl(1).token_name := 'SAFETY_NAME';
583: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
584:
585: l_out_mesg_token_tbl := l_mesg_token_tbl;
586: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
587: ( p_message_name => 'EAM_SAFETY_STATUS_CNG_ERROR'
588: , p_token_tbl => l_token_tbl
589: , p_mesg_token_tbl => l_mesg_token_tbl
590: , x_mesg_token_tbl => l_out_mesg_token_tbl
597: WHEN OTHERS THEN
598: l_token_tbl(1).token_name := 'SAFETY_NAME';
599: l_token_tbl(1).token_value := p_work_clearance_header_rec.WORK_CLEARANCE_NAME;
600: l_out_mesg_token_tbl := l_mesg_token_tbl;
601: EAM_ERROR_MESSAGE_PVT.Add_Error_Token
602: ( p_message_name => 'EAM_SAFETY_UNEXPECTED_ERROR'
603: , p_token_tbl => l_token_tbl
604: , p_mesg_token_tbl => l_mesg_token_tbl
605: , x_mesg_token_tbl => l_out_mesg_token_tbl
625: , p_approval_required IN BOOLEAN
626: , p_new_system_status IN NUMBER
627: , p_workflow_name IN VARCHAR2
628: , p_workflow_process IN VARCHAR2
629: , x_mesg_token_tbl IN OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
630: , x_return_status IN OUT NOCOPY VARCHAR2
631: ) IS
632: l_status_pending_event VARCHAR2(240);
633: l_event_name VARCHAR2(240);
724: PROCEDURE VALIDATE_TRANSACTION_TYPE(
725: p_validation_level IN NUMBER
726: , p_entity IN VARCHAR2
727: , x_return_status OUT NOCOPY VARCHAR2
728: , x_Mesg_Token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
729: )IS
730: BEGIN
731:
732: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.VALIDATE_TRANSACTION_TYPE'); end if;
728: , x_Mesg_Token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
729: )IS
730: BEGIN
731:
732: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Inside EAM_PROCESS_CLEARANCE_PVT.VALIDATE_TRANSACTION_TYPE'); end if;
733:
734: IF (p_entity = 'WORK CLEARANCE') THEN
735: IF (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_CREATE)
736: OR (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) then
778: l_wc_header_rec EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type;
779: l_out_wc_header_rec EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type;
780:
781: /* Error Handling Variables */
782: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ;
783: l_error_level NUMBER :=EAM_ERROR_MESSAGE_PVT.G_BO_LEVEL;
784: l_entity_index number :=1;
785:
786:
779: l_out_wc_header_rec EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type;
780:
781: /* Error Handling Variables */
782: l_out_Mesg_Token_Tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type ;
783: l_error_level NUMBER :=EAM_ERROR_MESSAGE_PVT.G_BO_LEVEL;
784: l_entity_index number :=1;
785:
786:
787: --Variables for copying estimation details
801:
802: BEGIN
803:
804: SAVEPOINT COPY_WORK_CLEARANCE;
805: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Start of copy clearance '); end if;
806: EAM_CLEARANCE_UTILITY_PVT.QUERY_ROW
807: ( p_work_clearance_id => l_clearance_id
808: , p_organization_id => l_org_id
809: , x_work_clearance_header_rec => l_wc_header_rec
847: l_wc_header_rec.USER_DEFINED_STATUS :=217; --new user defined status for clearance as per changes made to eam_safety_usr_def_statuses_b
848: -- END IF;
849:
850:
851: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling WORK_CLEARANCE from COPY_WORK_CLEARANCE'); end if;
852: WORK_CLEARANCE
853: (
854: p_validation_level => l_validation_level
855: , p_work_clearance_id => l_clearance_id
871:
872:
873: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
874: THEN
875: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
876: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
877: , p_error_level => l_error_level
878: , p_entity_index => l_entity_index
879: );
880: raise fnd_api.g_exc_unexpected_error;
881: END IF;
882:
883: -- Copy all establishment and re-establishment records
884: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Start of copy ESTABLISHMENT from copy clearance '); end if;
885:
886: FOR l_safety_estab_cur_rec IN saf_establishment_cur
887: LOOP
888: -- l_safety_estab_rec :=l_safety_estab_cur_rec;
940: l_establish_tbl(l_establish_tbl.count + 1) :=l_safety_estab_rec;
941:
942: END LOOP;
943:
944: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug(' Calling ESTABLISHMENT from COPY_WORK_CLEARANCE'); end if;
945: IF l_establish_tbl.count >0 then
946: EAM_PROCESS_ISOLATION_PVT.ESTABLISHMENT(
947: p_organization_id => l_org_id
948: , p_establish_iso_tbl => l_establish_tbl
964:
965:
966: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
967: THEN
968: EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
969: ( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
970: , p_error_level => l_error_level
971: , p_entity_index => l_entity_index
972: );
976: EXCEPTION
977: WHEN fnd_api.g_exc_unexpected_error THEN
978: ROLLBACK TO COPY_WORK_CLEARANCE;
979: x_return_status := FND_API.G_RET_STS_ERROR;
980: x_msg_count := EAM_ERROR_MESSAGE_PVT.Get_Message_Count;
981: WHEN OTHERS THEN
982: ROLLBACK TO COPY_WORK_CLEARANCE;
983: x_return_status := FND_API.G_RET_STS_ERROR;
984: