[Home] [Help]
PACKAGE BODY: APPS.EAM_OPERATIONS_PKG
Source
1 PACKAGE BODY EAM_OPERATIONS_PKG as
2 /* $Header: EAMOPTHB.pls 120.1 2006/03/14 20:44:59 pkathoti noship $ */
3
4 PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
5 X_Wip_Entity_Id NUMBER,
6 X_Operation_Seq_Num NUMBER,
7 X_Organization_Id NUMBER,
8 X_Repetitive_Schedule_Id NUMBER,
9 X_Last_Update_Date DATE,
10 X_Last_Updated_By NUMBER,
11 X_Creation_Date DATE,
12 X_Created_By NUMBER,
13 X_Last_Update_Login NUMBER,
14 X_Operation_Sequence_Id NUMBER,
15 X_Standard_Operation_Id NUMBER,
16 X_Department_Id NUMBER,
17 X_Shutdown_Type VARCHAR2,
18 X_Operation_Completed VARCHAR2,
19 X_Description VARCHAR2,
20 X_Scheduled_Quantity NUMBER,
21 X_Quantity_In_Queue NUMBER,
22 X_Quantity_Running NUMBER,
23 X_Quantity_Waiting_To_Move NUMBER,
24 X_Quantity_Rejected NUMBER,
25 X_Quantity_Scrapped NUMBER,
26 X_Quantity_Completed NUMBER,
27 X_First_Unit_Start_Date DATE,
28 X_First_Unit_Completion_Date DATE,
29 X_Last_Unit_Start_Date DATE,
30 X_Last_Unit_Completion_Date DATE,
31 X_Previous_Operation_Seq_Num NUMBER,
32 X_Next_Operation_Seq_Num NUMBER,
33 X_Count_Point_Type NUMBER,
34 X_Backflush_Flag NUMBER,
35 X_Minimum_Transfer_Quantity NUMBER,
36 X_Date_Last_Moved DATE,
37 X_Attribute_Category VARCHAR2,
38 X_Attribute1 VARCHAR2,
39 X_Attribute2 VARCHAR2,
40 X_Attribute3 VARCHAR2,
41 X_Attribute4 VARCHAR2,
42 X_Attribute5 VARCHAR2,
43 X_Attribute6 VARCHAR2,
44 X_Attribute7 VARCHAR2,
45 X_Attribute8 VARCHAR2,
46 X_Attribute9 VARCHAR2,
47 X_Attribute10 VARCHAR2,
48 X_Attribute11 VARCHAR2,
49 X_Attribute12 VARCHAR2,
50 X_Attribute13 VARCHAR2,
51 X_Attribute14 VARCHAR2,
52 X_Attribute15 VARCHAR2,
53 X_X_Pos NUMBER,
54 X_Y_Pos NUMBER,
55 X_LONG_DESCRIPTION VARCHAR2,
56 X_L_EAM_OP_REC OUT NOCOPY EAM_PROCESS_WO_PUB.eam_op_rec_type,
57 X_WO_Start_Date OUT NOCOPY DATE,
58 X_WO_Completion_Date OUT NOCOPY DATE
59 ) IS
60 x_user_id number := FND_GLOBAL.USER_ID;
61 x_login_id number := FND_GLOBAL.LOGIN_ID;
62 x_request_id number := FND_GLOBAL.CONC_REQUEST_ID;
63 x_appl_id number := FND_GLOBAL.PROG_APPL_ID;
64 x_program_id number := FND_GLOBAL.CONC_PROGRAM_ID;
65 x_standard_op boolean := (X_Standard_Operation_Id is NOT NULL);
66
67 l_return_status VARCHAR2(1);
68 l_msg_count NUMBER;
69 l_msg_data VARCHAR2(1000);
70 l_error_message VARCHAR2(1000);
71 l_output_dir VARCHAR2(255);
72
73 l_eam_op_rec EAM_PROCESS_WO_PUB.eam_op_rec_type;
74
75 l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
76 l_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
77 l_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
78 l_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
79 l_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
80 l_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
81 l_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
82 l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
83 l_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
84 l_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
85 l_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
86 l_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
87 l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
88 l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
89 l_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
90 l_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
91 l_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
92
93 l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
94 l_out_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
95 l_out_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
96 l_out_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
97 l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
98 l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
99 l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
100 l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
101 l_out_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
102 l_out_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
103 l_out_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
104 l_out_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
105 l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
106 l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
107 l_out_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
108 l_out_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
109 l_out_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
110
111 BEGIN
112
113 l_return_status := FND_API.G_RET_STS_SUCCESS;
114
115
116 /* get output directory path from database */
117 EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
118
119 l_eam_op_rec.HEADER_ID := 1;
120 l_eam_op_rec.BATCH_ID := 1;
121 l_eam_op_rec.WIP_ENTITY_ID := X_Wip_Entity_Id;
122 l_eam_op_rec.ORGANIZATION_ID := X_Organization_Id;
123 l_eam_op_rec.OPERATION_SEQ_NUM := X_Operation_Seq_Num;
124 l_eam_op_rec.STANDARD_OPERATION_ID := X_Standard_Operation_Id;
125 l_eam_op_rec.DEPARTMENT_ID := X_Department_Id;
126 l_eam_op_rec.OPERATION_SEQUENCE_ID := X_Operation_Sequence_Id;
127 l_eam_op_rec.DESCRIPTION := X_Description;
128 l_eam_op_rec.MINIMUM_TRANSFER_QUANTITY := X_Minimum_Transfer_Quantity;
129 l_eam_op_rec.COUNT_POINT_TYPE := X_Count_Point_Type;
130 l_eam_op_rec.BACKFLUSH_FLAG := X_Backflush_Flag;
131 l_eam_op_rec.SHUTDOWN_TYPE := X_Shutdown_Type;
132 l_eam_op_rec.START_DATE := X_First_Unit_Start_Date;
133 l_eam_op_rec.COMPLETION_DATE := X_Last_Unit_Completion_Date;
134 l_eam_op_rec.ATTRIBUTE_CATEGORY := X_Attribute_Category;
135 l_eam_op_rec.ATTRIBUTE1 := X_Attribute1;
136 l_eam_op_rec.ATTRIBUTE2 := X_Attribute2;
137 l_eam_op_rec.ATTRIBUTE3 := X_Attribute3;
138 l_eam_op_rec.ATTRIBUTE4 := X_Attribute4;
139 l_eam_op_rec.ATTRIBUTE5 := X_Attribute5;
140 l_eam_op_rec.ATTRIBUTE6 := X_Attribute6;
141 l_eam_op_rec.ATTRIBUTE7 := X_Attribute7;
142 l_eam_op_rec.ATTRIBUTE8 := X_Attribute8;
143 l_eam_op_rec.ATTRIBUTE9 := X_Attribute9;
144 l_eam_op_rec.ATTRIBUTE10 := X_Attribute10;
145 l_eam_op_rec.ATTRIBUTE11 := X_Attribute11;
146 l_eam_op_rec.ATTRIBUTE12 := X_Attribute12;
147 l_eam_op_rec.ATTRIBUTE13 := X_Attribute13;
148 l_eam_op_rec.ATTRIBUTE14 := X_Attribute14;
149 l_eam_op_rec.ATTRIBUTE15 := X_Attribute15;
150 l_eam_op_rec.LONG_DESCRIPTION := X_LONG_DESCRIPTION;
151 l_eam_op_rec.TRANSACTION_TYPE := EAM_PROCESS_WO_PUB.G_OPR_CREATE;
152 --Added for bug#4318049
153 l_eam_op_rec.X_POS := X_x_pos;
154 l_eam_op_rec.Y_POS := X_y_pos;
155
156
157 l_eam_op_tbl(1) := l_eam_op_rec;
158
159 /* Call Work Order API to perform the operations */
160
161 EAM_PROCESS_WO_PUB.Process_WO
162 ( p_bo_identifier => 'EAM'
163 , p_init_msg_list => TRUE
164 , p_api_version_number => 1.0
165 , p_eam_wo_rec => l_eam_wo_rec
166 , p_eam_op_tbl => l_eam_op_tbl
167 , p_eam_op_network_tbl => l_eam_op_network_tbl
168 , p_eam_res_tbl => l_eam_res_tbl
169 , p_eam_res_inst_tbl => l_eam_res_inst_tbl
170 , p_eam_sub_res_tbl => l_eam_sub_res_tbl
171 , p_eam_res_usage_tbl => l_eam_res_usage_tbl
172 , p_eam_mat_req_tbl => l_eam_mat_req_tbl
173 , p_eam_direct_items_tbl => l_eam_di_tbl
174 , p_eam_wo_comp_rec => l_eam_wo_comp_rec
175 , p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
176 , p_eam_meter_reading_tbl => l_eam_meter_reading_tbl
177 , p_eam_counter_prop_tbl => l_eam_counter_prop_tbl
178 , p_eam_wo_comp_rebuild_tbl => l_eam_wo_comp_rebuild_tbl
179 , p_eam_wo_comp_mr_read_tbl => l_eam_wo_comp_mr_read_tbl
180 , p_eam_op_comp_tbl => l_eam_op_comp_tbl
181 , p_eam_request_tbl => l_eam_request_tbl
182 , x_eam_wo_rec => l_out_eam_wo_rec
183 , x_eam_op_tbl => l_out_eam_op_tbl
184 , x_eam_op_network_tbl => l_out_eam_op_network_tbl
185 , x_eam_res_tbl => l_out_eam_res_tbl
186 , x_eam_res_inst_tbl => l_out_eam_res_inst_tbl
187 , x_eam_sub_res_tbl => l_out_eam_sub_res_tbl
188 , x_eam_res_usage_tbl => l_out_eam_res_usage_tbl
189 , x_eam_mat_req_tbl => l_out_eam_mat_req_tbl
190 , x_eam_direct_items_tbl => l_out_eam_di_tbl
191 , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
192 , x_eam_wo_quality_tbl => l_out_eam_wo_quality_tbl
193 , x_eam_meter_reading_tbl => l_out_eam_meter_reading_tbl
194 , x_eam_counter_prop_tbl => l_out_eam_counter_prop_tbl
195 , x_eam_wo_comp_rebuild_tbl => l_out_eam_wo_comp_rebuild_tbl
196 , x_eam_wo_comp_mr_read_tbl => l_out_eam_wo_comp_mr_read_tbl
197 , x_eam_op_comp_tbl => l_out_eam_op_comp_tbl
198 , x_eam_request_tbl => l_out_eam_request_tbl
199 , p_commit => 'N'
200 , x_return_status => l_return_status
201 , x_msg_count => l_msg_count
202 , p_debug => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
203 , p_debug_filename => 'EAMOPTHB.log'
204 , p_debug_file_mode => 'W'
205 , p_output_dir => l_output_dir
206 );
207
208 IF (l_return_status = 'S') THEN
209 X_L_EAM_OP_REC := l_out_eam_op_tbl(1);
210 IF(l_out_eam_wo_rec.scheduled_start_date IS NOT NULL)THEN
211 X_WO_Start_Date := l_out_eam_wo_rec.scheduled_start_date;
212 X_WO_Completion_Date := l_out_eam_wo_rec.scheduled_completion_date;
213 END IF;
214
215 ELSE
216 EAM_WORKORDER_UTIL_PKG.show_mesg;
217 END IF;
218
219 END Insert_Row;
220
221
222 PROCEDURE Update_Row(X_Rowid VARCHAR2,
223 X_Wip_Entity_Id NUMBER,
224 X_Operation_Seq_Num NUMBER,
225 X_Organization_Id NUMBER,
226 X_Last_Update_Date DATE,
227 X_Last_Updated_By NUMBER,
228 X_Last_Update_Login NUMBER,
229 X_Operation_Sequence_Id NUMBER,
230 X_Standard_Operation_Id NUMBER,
231 X_Department_Id NUMBER,
232 X_Shutdown_Type VARCHAR2,
233 X_Operation_Completed VARCHAR2,
234 X_Description VARCHAR2,
235 X_First_Unit_Start_Date DATE,
236 X_First_Unit_Completion_Date DATE,
237 X_Last_Unit_Start_Date DATE,
238 X_Last_Unit_Completion_Date DATE,
239 X_Attribute_Category VARCHAR2,
240 X_Attribute1 VARCHAR2,
241 X_Attribute2 VARCHAR2,
242 X_Attribute3 VARCHAR2,
243 X_Attribute4 VARCHAR2,
244 X_Attribute5 VARCHAR2,
245 X_Attribute6 VARCHAR2,
246 X_Attribute7 VARCHAR2,
247 X_Attribute8 VARCHAR2,
248 X_Attribute9 VARCHAR2,
249 X_Attribute10 VARCHAR2,
250 X_Attribute11 VARCHAR2,
251 X_Attribute12 VARCHAR2,
252 X_Attribute13 VARCHAR2,
253 X_Attribute14 VARCHAR2,
254 X_Attribute15 VARCHAR2,
255 X_X_Pos NUMBER,
256 X_Y_Pos NUMBER,
257 X_Long_Description VARCHAR2,
258 X_L_EAM_OP_REC OUT NOCOPY EAM_PROCESS_WO_PUB.eam_op_rec_type,
259 X_WO_Start_Date OUT NOCOPY DATE,
260 X_WO_Completion_Date OUT NOCOPY DATE
261
262 ) IS
263
264 l_return_status VARCHAR2(1);
265 l_msg_count NUMBER;
266 l_msg_data VARCHAR2(1000);
267 l_error_message VARCHAR2(1000);
268 l_output_dir VARCHAR2(255);
269 l_start_date DATE;
270 l_end_date DATE;
271
272 l_eam_op_rec EAM_PROCESS_WO_PUB.eam_op_rec_type;
273
274 l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
275 l_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
276 l_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
277 l_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
278 l_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
279 l_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
280 l_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
281 l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
282 l_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
283 l_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
284 l_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
285 l_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
286 l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
287 l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
288 l_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
292 l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
289 l_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
290 l_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
291
293 l_out_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
294 l_out_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
295 l_out_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
296 l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
297 l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
298 l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
299 l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
300 l_out_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
301 l_out_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
302 l_out_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
303 l_out_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
304 l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
305 l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
306 l_out_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
307 l_out_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
308 l_out_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
309
310 BEGIN
311
312 l_return_status := FND_API.G_RET_STS_SUCCESS;
313
314
315 /* get output directory path from database */
316 EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
317
318 l_eam_op_rec.HEADER_ID := 1;
319 l_eam_op_rec.BATCH_ID := 1;
320 l_eam_op_rec.WIP_ENTITY_ID := X_Wip_Entity_Id;
321 l_eam_op_rec.ORGANIZATION_ID := X_Organization_Id;
322 l_eam_op_rec.OPERATION_SEQ_NUM := X_Operation_Seq_Num;
323 l_eam_op_rec.STANDARD_OPERATION_ID := X_Standard_Operation_Id;
324 l_eam_op_rec.DEPARTMENT_ID := X_Department_Id;
325 l_eam_op_rec.OPERATION_SEQUENCE_ID := X_Operation_Sequence_Id;
326 l_eam_op_rec.DESCRIPTION := X_Description;
327 l_eam_op_rec.SHUTDOWN_TYPE := X_Shutdown_Type;
328 l_eam_op_rec.START_DATE := X_First_Unit_Start_Date;
329 l_eam_op_rec.COMPLETION_DATE := X_Last_Unit_Completion_Date;
330 l_eam_op_rec.ATTRIBUTE_CATEGORY := X_Attribute_Category;
331 l_eam_op_rec.ATTRIBUTE1 := X_Attribute1;
332 l_eam_op_rec.ATTRIBUTE2 := X_Attribute2;
333 l_eam_op_rec.ATTRIBUTE3 := X_Attribute3;
334 l_eam_op_rec.ATTRIBUTE4 := X_Attribute4;
335 l_eam_op_rec.ATTRIBUTE5 := X_Attribute5;
336 l_eam_op_rec.ATTRIBUTE6 := X_Attribute6;
337 l_eam_op_rec.ATTRIBUTE7 := X_Attribute7;
338 l_eam_op_rec.ATTRIBUTE8 := X_Attribute8;
339 l_eam_op_rec.ATTRIBUTE9 := X_Attribute9;
340 l_eam_op_rec.ATTRIBUTE10 := X_Attribute10;
341 l_eam_op_rec.ATTRIBUTE11 := X_Attribute11;
342 l_eam_op_rec.ATTRIBUTE12 := X_Attribute12;
343 l_eam_op_rec.ATTRIBUTE13 := X_Attribute13;
344 l_eam_op_rec.ATTRIBUTE14 := X_Attribute14;
345 l_eam_op_rec.ATTRIBUTE15 := X_Attribute15;
346 l_eam_op_rec.LONG_DESCRIPTION := X_LONG_DESCRIPTION;
347 l_eam_op_rec.TRANSACTION_TYPE := EAM_PROCESS_WO_PUB.G_OPR_UPDATE;
348 --Added for bug#4615678
349 l_eam_op_rec.X_POS := X_x_pos;
350 l_eam_op_rec.Y_POS := X_y_pos;
351
352
353 l_eam_op_tbl(1) := l_eam_op_rec;
354
355 /* Call Work Order API to perform the operations */
356
357 EAM_PROCESS_WO_PUB.Process_WO
358 ( p_bo_identifier => 'EAM'
359 , p_init_msg_list => TRUE
360 , p_api_version_number => 1.0
361 , p_eam_wo_rec => l_eam_wo_rec
362 , p_eam_op_tbl => l_eam_op_tbl
363 , p_eam_op_network_tbl => l_eam_op_network_tbl
364 , p_eam_res_tbl => l_eam_res_tbl
365 , p_eam_res_inst_tbl => l_eam_res_inst_tbl
366 , p_eam_sub_res_tbl => l_eam_sub_res_tbl
367 , p_eam_res_usage_tbl => l_eam_res_usage_tbl
368 , p_eam_mat_req_tbl => l_eam_mat_req_tbl
369 , p_eam_direct_items_tbl => l_eam_di_tbl
370 , p_eam_wo_comp_rec => l_eam_wo_comp_rec
371 , p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
372 , p_eam_meter_reading_tbl => l_eam_meter_reading_tbl
373 , p_eam_counter_prop_tbl => l_eam_counter_prop_tbl
374 , p_eam_wo_comp_rebuild_tbl => l_eam_wo_comp_rebuild_tbl
375 , p_eam_wo_comp_mr_read_tbl => l_eam_wo_comp_mr_read_tbl
376 , p_eam_op_comp_tbl => l_eam_op_comp_tbl
377 , p_eam_request_tbl => l_eam_request_tbl
378 , x_eam_wo_rec => l_out_eam_wo_rec
379 , x_eam_op_tbl => l_out_eam_op_tbl
380 , x_eam_op_network_tbl => l_out_eam_op_network_tbl
381 , x_eam_res_tbl => l_out_eam_res_tbl
382 , x_eam_res_inst_tbl => l_out_eam_res_inst_tbl
383 , x_eam_sub_res_tbl => l_out_eam_sub_res_tbl
384 , x_eam_res_usage_tbl => l_out_eam_res_usage_tbl
388 , x_eam_wo_quality_tbl => l_out_eam_wo_quality_tbl
385 , x_eam_mat_req_tbl => l_out_eam_mat_req_tbl
386 , x_eam_direct_items_tbl => l_out_eam_di_tbl
387 , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
389 , x_eam_meter_reading_tbl => l_out_eam_meter_reading_tbl
390 , x_eam_counter_prop_tbl => l_out_eam_counter_prop_tbl
391 , x_eam_wo_comp_rebuild_tbl => l_out_eam_wo_comp_rebuild_tbl
392 , x_eam_wo_comp_mr_read_tbl => l_out_eam_wo_comp_mr_read_tbl
393 , x_eam_op_comp_tbl => l_out_eam_op_comp_tbl
394 , x_eam_request_tbl => l_out_eam_request_tbl
395 , p_commit => 'N'
396 , x_return_status => l_return_status
397 , x_msg_count => l_msg_count
398 , p_debug => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
399 , p_debug_filename => 'EAMOPTHB.log'
400 , p_debug_file_mode => 'W'
401 , p_output_dir => l_output_dir
402 );
403
404
405 IF (l_return_status = 'S') THEN
406 X_L_EAM_OP_REC := l_out_eam_op_tbl(1);
407 IF(l_out_eam_wo_rec.scheduled_start_date IS NOT NULL)THEN
408 X_WO_Start_Date := l_out_eam_wo_rec.scheduled_start_date;
409 X_WO_Completion_Date := l_out_eam_wo_rec.scheduled_completion_date;
410 END IF;
411
412 ELSE
413 EAM_WORKORDER_UTIL_PKG.show_mesg;
414 END IF;
415
416 END Update_Row;
417
418
419 PROCEDURE Lock_Row(X_Rowid VARCHAR2,
420 X_Wip_Entity_Id NUMBER,
421 X_Operation_Seq_Num NUMBER,
422 X_Organization_Id NUMBER,
423 X_Operation_Sequence_Id NUMBER,
424 X_Standard_Operation_Id NUMBER,
425 X_Department_Id NUMBER,
426 X_Shutdown_Type VARCHAR2,
427 X_Operation_Completed VARCHAR2,
428 X_Description VARCHAR2,
429 X_First_Unit_Start_Date DATE,
430 X_First_Unit_Completion_Date DATE,
431 X_Last_Unit_Start_Date DATE,
432 X_Last_Unit_Completion_Date DATE,
433 X_Attribute_Category VARCHAR2,
434 X_Attribute1 VARCHAR2,
435 X_Attribute2 VARCHAR2,
436 X_Attribute3 VARCHAR2,
437 X_Attribute4 VARCHAR2,
438 X_Attribute5 VARCHAR2,
439 X_Attribute6 VARCHAR2,
440 X_Attribute7 VARCHAR2,
441 X_Attribute8 VARCHAR2,
442 X_Attribute9 VARCHAR2,
443 X_Attribute10 VARCHAR2,
444 X_Attribute11 VARCHAR2,
445 X_Attribute12 VARCHAR2,
446 X_Attribute13 VARCHAR2,
447 X_Attribute14 VARCHAR2,
448 X_Attribute15 VARCHAR2,
449 X_X_Pos NUMBER,
450 X_Y_Pos NUMBER,
451 X_Long_Description VARCHAR2) IS
452 CURSOR C IS
453 SELECT *
454 FROM WIP_OPERATIONS
455 WHERE rowid = X_Rowid
456 FOR UPDATE of Wip_Entity_Id NOWAIT;
457 Recinfo C%ROWTYPE;
458 BEGIN
459 OPEN C;
460 FETCH C INTO Recinfo;
461 if (C%NOTFOUND) then
462 CLOSE C;
463 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
464 fnd_message.raise_error;
465 app_exception.raise_exception;
466 end if;
467 CLOSE C;
468
469
470 if (Recinfo.wip_entity_id = X_Wip_Entity_Id)
471 AND (Recinfo.operation_seq_num = X_Operation_Seq_Num)
472 AND (Recinfo.organization_id = X_Organization_Id)
473 AND (nvl(Recinfo.operation_sequence_id, 1) =
474 nvl(X_Operation_Sequence_Id, 1))
475 AND (nvl(Recinfo.standard_operation_id, 1) =
476 nvl(X_Standard_Operation_Id, 1))
477 AND (Recinfo.department_id = X_Department_Id)
478 AND (nvl(Recinfo.shutdown_type, 'xxx') =
479 nvl(X_Shutdown_Type,'xxx'))
480 AND (Recinfo.operation_completed = X_Operation_Completed or
481 Recinfo.operation_completed is null)
482 AND (nvl(Recinfo.description, 'xxx') =
483 nvl(X_Description,'xxx'))
484 AND (Recinfo.first_unit_start_date = X_First_Unit_Start_Date)
485 AND (Recinfo.first_unit_completion_date = X_First_Unit_Completion_Date)
486 AND (Recinfo.last_unit_start_date = X_Last_Unit_Start_Date)
487 AND (Recinfo.last_unit_completion_date = X_Last_Unit_Completion_Date)
488 then
489 if ( (nvl(Recinfo.attribute_category, 'xxx') =
490 nvl(X_Attribute_Category, 'xxx'))
491 AND (nvl(Recinfo.attribute1, 'xxx') =
492 nvl(X_Attribute1, 'xxx'))
493 AND (nvl(Recinfo.attribute2, 'xxx') =
494 nvl(X_Attribute2, 'xxx'))
495 AND (nvl(Recinfo.attribute3, 'xxx') =
496 nvl(X_Attribute3, 'xxx'))
497 AND (nvl(Recinfo.attribute4, 'xxx') =
498 nvl(X_Attribute4, 'xxx'))
499 AND (nvl(Recinfo.attribute5, 'xxx') =
500 nvl(X_Attribute5, 'xxx'))
501 AND (nvl(Recinfo.attribute6, 'xxx') =
502 nvl(X_Attribute6, 'xxx'))
503 AND (nvl(Recinfo.attribute7, 'xxx') =
504 nvl(X_Attribute7, 'xxx'))
505 AND (nvl(Recinfo.attribute8, 'xxx') =
506 nvl(X_Attribute8, 'xxx'))
507 AND (nvl(Recinfo.attribute9, 'xxx') =
508 nvl(X_Attribute9, 'xxx'))
512 nvl(X_Attribute11, 'xxx'))
509 AND (nvl(Recinfo.attribute10, 'xxx') =
510 nvl(X_Attribute10, 'xxx'))
511 AND (nvl(Recinfo.attribute11, 'xxx') =
513 AND (nvl(Recinfo.attribute12, 'xxx') =
514 nvl(X_Attribute12, 'xxx'))
515 AND (nvl(Recinfo.attribute13, 'xxx') =
516 nvl(X_Attribute13, 'xxx'))
517 AND (nvl(Recinfo.attribute14, 'xxx') =
518 nvl(X_Attribute14, 'xxx'))
519 AND (nvl(Recinfo.attribute15, 'xxx') =
520 nvl(X_Attribute15, 'xxx'))
521 /* AND (nvl(Recinfo.long_description, 'xxx') =
522 nvl(X_Long_Description, 'xxx'))*/
523 )
524 then
525 return;
526 else
527 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
528 fnd_message.raise_error;
529 app_exception.raise_exception;
530 end if;
531 else
532 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
533 fnd_message.raise_error;
534 app_exception.raise_exception;
535 end if;
536 END Lock_Row;
537
538
539 PROCEDURE Delete_Row(X_Rowid VARCHAR2,
540 X_WO_Start_Date OUT NOCOPY DATE,
541 X_WO_Completion_Date OUT NOCOPY DATE) IS
542
543 l_return_status VARCHAR2(1);
544 l_msg_count NUMBER;
545 l_msg_data VARCHAR2(1000);
546 l_error_message VARCHAR2(1000);
547 l_output_dir VARCHAR2(255);
548 l_start_date DATE;
549 l_end_date DATE;
550 l_wip_entity_id NUMBER;
551 l_organization_id NUMBER;
552 l_operation_seq_num NUMBER;
553
554 l_eam_op_rec EAM_PROCESS_WO_PUB.eam_op_rec_type;
555
556 l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
557 l_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
558 l_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
559 l_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
560 l_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
561 l_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
562 l_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
563 l_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
564 l_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
565 l_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
566 l_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
567 l_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
568 l_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
569 l_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
570 l_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
571 l_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
572 l_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
573
574 l_out_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
575 l_out_eam_op_tbl EAM_PROCESS_WO_PUB.eam_op_tbl_type;
576 l_out_eam_op_network_tbl EAM_PROCESS_WO_PUB.eam_op_network_tbl_type;
577 l_out_eam_res_tbl EAM_PROCESS_WO_PUB.eam_res_tbl_type;
578 l_out_eam_res_inst_tbl EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type;
579 l_out_eam_sub_res_tbl EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type;
580 l_out_eam_res_usage_tbl EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type;
581 l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type;
582 l_out_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
583 l_out_eam_wo_comp_rec EAM_PROCESS_WO_PUB.eam_wo_comp_rec_type;
584 l_out_eam_wo_quality_tbl EAM_PROCESS_WO_PUB.eam_wo_quality_tbl_type;
585 l_out_eam_meter_reading_tbl EAM_PROCESS_WO_PUB.eam_meter_reading_tbl_type;
586 l_out_eam_wo_comp_rebuild_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_rebuild_tbl_type;
587 l_out_eam_wo_comp_mr_read_tbl EAM_PROCESS_WO_PUB.eam_wo_comp_mr_read_tbl_type;
588 l_out_eam_op_comp_tbl EAM_PROCESS_WO_PUB.eam_op_comp_tbl_type;
589 l_out_eam_request_tbl EAM_PROCESS_WO_PUB.eam_request_tbl_type;
590 l_out_eam_counter_prop_tbl EAM_PROCESS_WO_PUB.eam_counter_prop_tbl_type;
591
592 BEGIN
593
594 l_return_status := FND_API.G_RET_STS_SUCCESS;
595
596
597 /* get output directory path from database */
598 EAM_WORKORDER_UTIL_PKG.log_path(l_output_dir);
599
600 select wip_entity_id,
601 organization_id,
602 operation_seq_num
603 into l_wip_entity_id,
604 l_organization_id,
605 l_operation_seq_num
606 from
607 wip_operations
608 where rowid=X_Rowid;
609
610 l_eam_op_rec.HEADER_ID := 1;
611 l_eam_op_rec.BATCH_ID := 1;
612 l_eam_op_rec.WIP_ENTITY_ID := l_wip_entity_id;
613 l_eam_op_rec.ORGANIZATION_ID := l_organization_id;
614 l_eam_op_rec.OPERATION_SEQ_NUM := l_operation_seq_num;
615 l_eam_op_rec.TRANSACTION_TYPE := EAM_PROCESS_WO_PUB.G_OPR_DELETE;
616
617 l_eam_op_tbl(1) := l_eam_op_rec;
618
619 EAM_PROCESS_WO_PUB.Process_WO
620 ( p_bo_identifier => 'EAM'
621 , p_init_msg_list => TRUE
622 , p_api_version_number => 1.0
623 , p_eam_wo_rec => l_eam_wo_rec
624 , p_eam_op_tbl => l_eam_op_tbl
625 , p_eam_op_network_tbl => l_eam_op_network_tbl
626 , p_eam_res_tbl => l_eam_res_tbl
627 , p_eam_res_inst_tbl => l_eam_res_inst_tbl
628 , p_eam_sub_res_tbl => l_eam_sub_res_tbl
629 , p_eam_res_usage_tbl => l_eam_res_usage_tbl
630 , p_eam_mat_req_tbl => l_eam_mat_req_tbl
631 , p_eam_direct_items_tbl => l_eam_di_tbl
632 , p_eam_wo_comp_rec => l_eam_wo_comp_rec
633 , p_eam_wo_quality_tbl => l_eam_wo_quality_tbl
634 , p_eam_meter_reading_tbl => l_eam_meter_reading_tbl
635 , p_eam_counter_prop_tbl => l_eam_counter_prop_tbl
636 , p_eam_wo_comp_rebuild_tbl => l_eam_wo_comp_rebuild_tbl
637 , p_eam_wo_comp_mr_read_tbl => l_eam_wo_comp_mr_read_tbl
638 , p_eam_op_comp_tbl => l_eam_op_comp_tbl
639 , p_eam_request_tbl => l_eam_request_tbl
640 , x_eam_wo_rec => l_out_eam_wo_rec
641 , x_eam_op_tbl => l_out_eam_op_tbl
642 , x_eam_op_network_tbl => l_out_eam_op_network_tbl
643 , x_eam_res_tbl => l_out_eam_res_tbl
644 , x_eam_res_inst_tbl => l_out_eam_res_inst_tbl
645 , x_eam_sub_res_tbl => l_out_eam_sub_res_tbl
646 , x_eam_res_usage_tbl => l_out_eam_res_usage_tbl
647 , x_eam_mat_req_tbl => l_out_eam_mat_req_tbl
648 , x_eam_direct_items_tbl => l_out_eam_di_tbl
649 , x_eam_wo_comp_rec => l_out_eam_wo_comp_rec
650 , x_eam_wo_quality_tbl => l_out_eam_wo_quality_tbl
651 , x_eam_meter_reading_tbl => l_out_eam_meter_reading_tbl
652 , x_eam_counter_prop_tbl => l_out_eam_counter_prop_tbl
653 , x_eam_wo_comp_rebuild_tbl => l_out_eam_wo_comp_rebuild_tbl
654 , x_eam_wo_comp_mr_read_tbl => l_out_eam_wo_comp_mr_read_tbl
655 , x_eam_op_comp_tbl => l_out_eam_op_comp_tbl
656 , x_eam_request_tbl => l_out_eam_request_tbl
657 , p_commit => 'N'
658 , x_return_status => l_return_status
659 , x_msg_count => l_msg_count
660 , p_debug => NVL(fnd_profile.value('EAM_DEBUG'), 'N')
661 , p_debug_filename => 'EAMOPTHB.log'
662 , p_debug_file_mode => 'W'
663 , p_output_dir => l_output_dir
664 );
665
666 IF (l_return_status <> 'S') THEN
667 EAM_WORKORDER_UTIL_PKG.show_mesg;
668 ELSE
669 IF(l_out_eam_wo_rec.scheduled_start_date IS NOT NULL)THEN
670 X_WO_Start_Date := l_out_eam_wo_rec.scheduled_start_date;
671 X_WO_Completion_Date := l_out_eam_wo_rec.scheduled_completion_date;
672 END IF;
673
674 END IF;
675
676 EXCEPTION
677 WHEN NO_DATA_FOUND THEN
678 RAISE NO_DATA_FOUND;
679 END Delete_Row;
680
681
682 END EAM_OPERATIONS_PKG;