1 PACKAGE BODY EAM_OP_COMP_DEFAULT_PVT AS
2 /* $Header: EAMVOCDB.pls 120.1 2006/06/16 14:56:27 gbadoni noship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 2002 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- EAMVOCDB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package EAM_OP_COMP_DEFAULT_PVT
15 --
16 -- NOTES
17 --
18 -- HISTORY
19 --
20 -- 14-FEB-2005 mmaduska Initial Creation
21 ***************************************************************************/
22
23 PROCEDURE Populate_Null_Columns (
24 p_eam_op_comp_rec IN EAM_PROCESS_WO_PUB.eam_op_comp_rec_type
25 , x_eam_op_comp_rec OUT NOCOPY EAM_PROCESS_WO_PUB.eam_op_comp_rec_type
26 , x_return_status OUT NOCOPY VARCHAR2
27 ) IS
28 BEGIN
29
30 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Entered Package EAM_OP_COMP_DEFAULT_PVT.Populate_Null_Columns procedure..'); END IF;
31
32 x_return_status := FND_API.G_RET_STS_SUCCESS;
33 x_eam_op_comp_rec := p_eam_op_comp_rec;
34
35 IF p_eam_op_comp_rec.transaction_id IS NULL THEN
36 SELECT eam_op_completion_txns_s.nextval
37 INTO x_eam_op_comp_rec.transaction_id
38 FROM DUAL;
39 END IF;
40
41 IF p_eam_op_comp_rec.qa_collection_id IS NULL THEN
42 SELECT qa_collection_id_s.nextval
43 INTO x_eam_op_comp_rec.qa_collection_id
44 FROM DUAL;
45 END IF;
46
47 IF p_eam_op_comp_rec.transaction_date IS NULL THEN
48 SELECT sysdate
49 INTO x_eam_op_comp_rec.transaction_date
50 FROM DUAL;
51 END IF;
52
53 IF p_eam_op_comp_rec.actual_start_date IS NOT NULL AND
54 p_eam_op_comp_rec.actual_end_date IS NOT NULL AND
55 p_eam_op_comp_rec.actual_duration IS NULL THEN
56 x_eam_op_comp_rec.actual_duration :=
57 (p_eam_op_comp_rec.actual_end_date - p_eam_op_comp_rec.actual_start_date)*24;
58 END IF;
59
60 IF p_eam_op_comp_rec.actual_start_date IS NOT NULL AND
61 p_eam_op_comp_rec.actual_duration IS NOT NULL AND
62 p_eam_op_comp_rec.actual_end_date IS NULL THEN
63 x_eam_op_comp_rec.actual_end_date :=
64 p_eam_op_comp_rec.actual_start_date + p_eam_op_comp_rec.actual_duration * 24;
65 END IF;
66
67 IF p_eam_op_comp_rec.actual_end_date IS NOT NULL AND
68 p_eam_op_comp_rec.actual_duration IS NOT NULL AND
69 p_eam_op_comp_rec.actual_start_date IS NULL THEN
70 x_eam_op_comp_rec.actual_start_date :=
71 p_eam_op_comp_rec.actual_end_date - p_eam_op_comp_rec.actual_duration*24;
72 END IF;
73
74 IF p_eam_op_comp_rec.department_id IS NULL THEN
75 SELECT department_id INTO x_eam_op_comp_rec.department_id
76 FROM WIP_OPERATIONS
77 WHERE organization_id = p_eam_op_comp_rec.organization_id
78 AND wip_entity_id = p_eam_op_comp_rec.wip_entity_id
79 AND operation_seq_num = p_eam_op_comp_rec.operation_seq_num;
80 END IF;
81 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Exiting Package EAM_OP_COMP_DEFAULT_PVT.Populate_Null_Columns procedure without errors ....'); END IF;
82
83 EXCEPTION WHEN OTHERS THEN
84 x_return_status := FND_API.G_RET_STS_ERROR;
85 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Exception happened in EAM_OP_COMP_DEFAULT_PVT.Populate_Null_Columns procedure. exiting.'); END IF;
86
87 END Populate_Null_Columns;
88
89
90 END EAM_OP_COMP_DEFAULT_PVT;