1 PACKAGE BODY EAM_WO_COMP_DEFAULT_PVT AS
2 /* $Header: EAMVWCDB.pls 120.1 2006/06/16 13:21:21 yjhabak noship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 2002 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- EAMVWCDB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package EAM_WO_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 (
25 p_eam_wo_comp_rec IN EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type
26 , x_eam_wo_comp_rec OUT NOCOPY EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type
27 , x_return_status OUT NOCOPY VARCHAR2
28 )
29 IS
30 i_open_past_period BOOLEAN;
31 l_asset_group_id NUMBER;
32
33 BEGIN
34
35 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Order Completeion processing Populate null columns'); END IF;
36
37 x_eam_wo_comp_rec := p_eam_wo_comp_rec;
38 i_open_past_period :=FALSE;
39
40 SELECT eam_job_completion_txns_s.nextval
41 INTO x_eam_wo_comp_rec.transaction_id
42 FROM DUAL;
43
44 IF x_eam_wo_comp_rec.transaction_date IS NULL THEN
45 SELECT sysdate
46 INTO x_eam_wo_comp_rec.transaction_date
47 FROM DUAL;
48 END IF;
49
50 IF p_eam_wo_comp_rec.qa_collection_id IS NULL THEN
51 SELECT qa_collection_id_s.nextval
52 INTO x_eam_wo_comp_rec.qa_collection_id
53 FROM DUAL;
54 END IF;
55
56 invttmtx.tdatechk(p_eam_wo_comp_rec.organization_id,x_eam_wo_comp_rec.transaction_date,
57 x_eam_wo_comp_rec.acct_period_id,i_open_past_period);
58
59 IF p_eam_wo_comp_rec.actual_start_date IS NOT NULL AND
60 p_eam_wo_comp_rec.actual_end_date IS NOT NULL AND
61 p_eam_wo_comp_rec.actual_duration IS NULL THEN
62 x_eam_wo_comp_rec.actual_duration :=
63 (p_eam_wo_comp_rec.actual_end_date - p_eam_wo_comp_rec.actual_start_date)*24;
64 END IF;
65
66 IF p_eam_wo_comp_rec.actual_start_date IS NOT NULL AND
67 p_eam_wo_comp_rec.actual_duration IS NOT NULL AND
68 p_eam_wo_comp_rec.actual_end_date IS NULL THEN
69 x_eam_wo_comp_rec.actual_end_date :=
70 p_eam_wo_comp_rec.actual_start_date + p_eam_wo_comp_rec.actual_duration * 24;
71 END IF;
72
73 IF p_eam_wo_comp_rec.actual_end_date IS NOT NULL AND
74 p_eam_wo_comp_rec.actual_duration IS NOT NULL AND
75 p_eam_wo_comp_rec.actual_start_date IS NULL THEN
76 x_eam_wo_comp_rec.actual_start_date :=
77 p_eam_wo_comp_rec.actual_end_date - p_eam_wo_comp_rec.actual_duration*24;
78 END IF;
79
80 IF p_eam_wo_comp_rec.rebuild_job IS NULL THEN
81 SELECT asset_group_id
82 INTO l_asset_group_id
83 FROM wip_discrete_jobs
84 WHERE wip_entity_id = p_eam_wo_comp_rec.wip_entity_id;
85
86 IF l_asset_group_id IS NULL THEN
87 x_eam_wo_comp_rec.REBUILD_JOB := 'Y';
88 ELSE
89 x_eam_wo_comp_rec.REBUILD_JOB := 'N';
90 END IF;
91
92 END IF;
93
94 SELECT primary_item_id,
95 asset_group_id,
96 rebuild_item_id,
97 asset_number,
98 rebuild_serial_number,
99 manual_rebuild_flag
100 INTO x_eam_wo_comp_rec.primary_item_id,
101 x_eam_wo_comp_rec.asset_group_id,
102 x_eam_wo_comp_rec.rebuild_item_id,
103 x_eam_wo_comp_rec.asset_number,
104 x_eam_wo_comp_rec.rebuild_serial_number,
105 x_eam_wo_comp_rec.manual_rebuild_flag
106 FROM wip_discrete_jobs
107 WHERE wip_entity_id = p_eam_wo_comp_rec.wip_entity_id;
108
109
110 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Work Order Completeion Done processing populate null columns'); END IF;
111
112 EXCEPTION WHEN OTHERS THEN
113 x_return_status := FND_API.G_RET_STS_ERROR;
114 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN
115 EAM_ERROR_MESSAGE_PVT.Write_Debug('EAM_WO_COMP_DEFAULT_PVT.Populate_Null_Columns : Exception');
116 END IF;
117 END Populate_Null_Columns;
118
119
120 END EAM_WO_COMP_DEFAULT_PVT;