[Home] [Help]
PACKAGE BODY: APPS.EAM_WO_UTILITY_PVT
Source
1 PACKAGE BODY EAM_WO_UTILITY_PVT AS
2 /* $Header: EAMVWOUB.pls 120.11 2006/06/08 18:08:33 baroy noship $ */
3 /***************************************************************************
4 --
5 -- Copyright (c) 2002 Oracle Corporation, Redwood Shores, CA, USA
6 -- All rights reserved.
7 --
8 -- FILENAME
9 --
10 -- EAMVWOUB.pls
11 --
12 -- DESCRIPTION
13 --
14 -- Body of package EAM_WO_UTILITY_PVT
15 --
16 -- NOTES
17 --
18 -- HISTORY
19 --
20 -- 30-JUN-2002 Kenichi Nagumo Initial Creation
21 ***************************************************************************/
22
23 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EAM_WO_UTILITY_PVT';
24
25 /*********************************************************************
26 * Procedure : Query_Row
27 * Parameters IN : wip entity id
28 * organization Id
29 * Parameters OUT NOCOPY: EAM WO column record
30 * Mesg token Table
31 * Return Status
32 * Purpose : Procedure will query the database record
33 * and return with those records.
34 ***********************************************************************/
35 PROCEDURE Query_Row
36 ( p_wip_entity_id IN NUMBER
37 , p_organization_id IN NUMBER
38 , x_eam_wo_rec OUT NOCOPY EAM_PROCESS_WO_PUB.eam_wo_rec_type
39 , x_Return_status OUT NOCOPY VARCHAR2
40 )
41 IS
42 l_eam_wo_rec EAM_PROCESS_WO_PUB.eam_wo_rec_type;
43 l_return_status VARCHAR2(1):= FND_API.G_RET_STS_SUCCESS;
44 l_dummy varchar2(10);
45 BEGIN
46
47 SELECT we.wip_entity_name
48 , wdj.wip_entity_id
49 , wdj.organization_id
50 , wdj.description
51 , wdj.asset_number
52 , wdj.asset_group_id
53 , wdj.rebuild_item_id
54 , wdj.rebuild_serial_number
55 , we.gen_object_id
56 , wdj.maintenance_object_id
57 , wdj.maintenance_object_type
58 , wdj.maintenance_object_source
59 , wdj.eam_linear_location_id
60 , wdj.class_code
61 , wdj.primary_item_id
62 , wdj.activity_type
63 , wdj.activity_cause
64 , wdj.activity_source
65 , wdj.work_order_type
66 , wdj.status_type
67 , wdj.start_quantity
68 , wdj.date_released
69 , wdj.owning_department
70 , wdj.priority
71 , wdj.requested_start_date
72 , wdj.due_date
73 , wdj.shutdown_type
74 , wdj.firm_planned_flag
75 , wdj.notification_required
76 , wdj.tagout_required
77 , wdj.plan_maintenance
78 , wdj.project_id
79 , wdj.task_id
80 --, wdj.project_costed
81 , wdj.end_item_unit_number
82 , wdj.schedule_group_id
83 , wdj.bom_revision_date
84 , wdj.routing_revision_date
85 , wdj.alternate_routing_designator
86 , wdj.alternate_bom_designator
87 , wdj.routing_revision
88 , wdj.bom_revision
89 , wdj.parent_wip_entity_id
90 , wdj.manual_rebuild_flag
91 , wdj.pm_schedule_id
92 , wdj.material_account
93 , wdj.material_overhead_account
94 , wdj.resource_account
95 , wdj.outside_processing_account
96 , wdj.material_variance_account
97 , wdj.resource_variance_account
98 , wdj.outside_proc_variance_account
99 , wdj.std_cost_adjustment_account
100 , wdj.overhead_account
101 , wdj.overhead_variance_account
102 , wdj.scheduled_start_date
103 , wdj.scheduled_completion_date
104 , wdj.common_bom_sequence_id
105 , wdj.common_routing_sequence_id
106 , wdj.po_creation_time
107 , wdj.attribute_category
108 , wdj.attribute1
109 , wdj.attribute2
110 , wdj.attribute3
111 , wdj.attribute4
112 , wdj.attribute5
113 , wdj.attribute6
114 , wdj.attribute7
115 , wdj.attribute8
116 , wdj.attribute9
117 , wdj.attribute10
118 , wdj.attribute11
119 , wdj.attribute12
120 , wdj.attribute13
121 , wdj.attribute14
122 , wdj.attribute15
123 , wdj.material_issue_by_mo
124 , wdj.source_line_id
125 , wdj.source_code
126 , wdj.issue_zero_cost_flag
127 , ewod.user_defined_status_id
128 , ewod.pending_flag
129 , ewod.material_shortage_check_date
130 , ewod.material_shortage_flag
131 , ewod.workflow_type
132 , ewod.warranty_claim_status
133 , ewod.cycle_id
134 , ewod.seq_id
135 , ewod.ds_scheduled_flag
136 , ewod.assignment_complete
137 , ewod.warranty_active
138 , ewod.pm_suggested_start_date
139 , ewod.pm_suggested_end_date
140 , ewod.pm_base_meter_reading
141 , ewod.pm_base_meter
142 , ewod.failure_code_required
143 INTO
144 l_eam_wo_rec.wip_entity_name
145 , l_eam_wo_rec.wip_entity_id
146 , l_eam_wo_rec.organization_id
147 , l_eam_wo_rec.description
148 , l_eam_wo_rec.asset_number
149 , l_eam_wo_rec.asset_group_id
150 , l_eam_wo_rec.rebuild_item_id
151 , l_eam_wo_rec.rebuild_serial_number
152 , l_eam_wo_rec.gen_object_id
153 , l_eam_wo_rec.maintenance_object_id
154 , l_eam_wo_rec.maintenance_object_type
155 , l_eam_wo_rec.maintenance_object_source
156 , l_eam_wo_rec.eam_linear_location_id
157 , l_eam_wo_rec.class_code
158 , l_eam_wo_rec.asset_activity_id
159 , l_eam_wo_rec.activity_type
160 , l_eam_wo_rec.activity_cause
161 , l_eam_wo_rec.activity_source
162 , l_eam_wo_rec.work_order_type
163 , l_eam_wo_rec.status_type
164 , l_eam_wo_rec.job_quantity
165 , l_eam_wo_rec.date_released
166 , l_eam_wo_rec.owning_department
167 , l_eam_wo_rec.priority
168 , l_eam_wo_rec.requested_start_date
169 , l_eam_wo_rec.due_date
170 , l_eam_wo_rec.shutdown_type
171 , l_eam_wo_rec.firm_planned_flag
172 , l_eam_wo_rec.notification_required
173 , l_eam_wo_rec.tagout_required
174 , l_eam_wo_rec.plan_maintenance
175 , l_eam_wo_rec.project_id
176 , l_eam_wo_rec.task_id
177 --, l_eam_wo_rec.project_costed
178 , l_eam_wo_rec.end_item_unit_number
179 , l_eam_wo_rec.schedule_group_id
180 , l_eam_wo_rec.bom_revision_date
181 , l_eam_wo_rec.routing_revision_date
182 , l_eam_wo_rec.alternate_routing_designator
183 , l_eam_wo_rec.alternate_bom_designator
184 , l_eam_wo_rec.routing_revision
185 , l_eam_wo_rec.bom_revision
186 , l_eam_wo_rec.parent_wip_entity_id
187 , l_eam_wo_rec.manual_rebuild_flag
188 , l_eam_wo_rec.pm_schedule_id
189 , l_eam_wo_rec.material_account
190 , l_eam_wo_rec.material_overhead_account
191 , l_eam_wo_rec.resource_account
192 , l_eam_wo_rec.outside_processing_account
193 , l_eam_wo_rec.material_variance_account
194 , l_eam_wo_rec.resource_variance_account
195 , l_eam_wo_rec.outside_proc_variance_account
196 , l_eam_wo_rec.std_cost_adjustment_account
197 , l_eam_wo_rec.overhead_account
198 , l_eam_wo_rec.overhead_variance_account
199 , l_eam_wo_rec.scheduled_start_date
200 , l_eam_wo_rec.scheduled_completion_date
201 , l_eam_wo_rec.common_bom_sequence_id
202 , l_eam_wo_rec.common_routing_sequence_id
203 , l_eam_wo_rec.po_creation_time
204 , l_eam_wo_rec.attribute_category
205 , l_eam_wo_rec.attribute1
206 , l_eam_wo_rec.attribute2
207 , l_eam_wo_rec.attribute3
208 , l_eam_wo_rec.attribute4
209 , l_eam_wo_rec.attribute5
210 , l_eam_wo_rec.attribute6
211 , l_eam_wo_rec.attribute7
212 , l_eam_wo_rec.attribute8
213 , l_eam_wo_rec.attribute9
214 , l_eam_wo_rec.attribute10
215 , l_eam_wo_rec.attribute11
216 , l_eam_wo_rec.attribute12
217 , l_eam_wo_rec.attribute13
218 , l_eam_wo_rec.attribute14
219 , l_eam_wo_rec.attribute15
220 , l_eam_wo_rec.material_issue_by_mo
221 , l_eam_wo_rec.source_line_id
222 , l_eam_wo_rec.source_code
223 , l_eam_wo_rec.issue_zero_cost_flag
224 , l_eam_wo_rec.user_defined_status_id
225 , l_eam_wo_rec.pending_flag
226 , l_eam_wo_rec.material_shortage_check_date
227 , l_eam_wo_rec.material_shortage_flag
228 , l_eam_wo_rec.workflow_type
229 , l_eam_wo_rec.warranty_claim_status
230 , l_eam_wo_rec.cycle_id
231 , l_eam_wo_rec.seq_id
232 , l_eam_wo_rec.ds_scheduled_flag
233 , l_eam_wo_rec.assignment_complete
234 , l_eam_wo_rec.warranty_active
235 , l_eam_wo_rec.pm_suggested_start_date
236 , l_eam_wo_rec.pm_suggested_end_date
237 , l_eam_wo_rec.pm_base_meter_reading
238 , l_eam_wo_rec.pm_base_meter
239 , l_eam_wo_rec.failure_code_required
240 FROM wip_discrete_jobs wdj, wip_entities we,eam_work_order_details ewod
241 WHERE wdj.wip_entity_id = we.wip_entity_id
242 AND wdj.organization_id = we.organization_id
243 AND wdj.wip_entity_id = p_wip_entity_id
244 AND wdj.organization_id = p_organization_id
245 AND wdj.wip_entity_id = ewod.wip_entity_id(+)
246 AND wdj.organization_id = ewod.organization_id(+);
247
248
249 x_return_status := EAM_PROCESS_WO_PVT.G_RECORD_FOUND;
250 x_eam_wo_rec := l_eam_wo_rec;
251
252 EXCEPTION
253 WHEN NO_DATA_FOUND THEN
254 x_return_status := EAM_PROCESS_WO_PVT.G_RECORD_NOT_FOUND;
255 x_eam_wo_rec := l_eam_wo_rec;
256
257 WHEN OTHERS THEN
258 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
259 x_eam_wo_rec := l_eam_wo_rec;
260
261 END Query_Row;
262
263
264 /********************************************************************
265 * Procedure : Insert_Row
266 * Parameters IN : Work Order column record
267 * Parameters OUT NOCOPY: Message Token Table
268 * Return Status
269 * Purpose : Procedure will perfrom an insert into the
270 * win_discrete_jobs and wip_entities table.
271 *********************************************************************/
272
273 PROCEDURE Insert_Row
274 ( p_eam_wo_rec IN EAM_PROCESS_WO_PUB.eam_wo_rec_type
275 , x_mesg_token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
276 , x_return_Status OUT NOCOPY VARCHAR2
277 )
278 IS
279
280 l_asset_ops_msg_count NUMBER;
281 l_asset_ops_msg_data VARCHAR2(2000);
282 l_asset_ops_return_status VARCHAR2(1);
283
284 BEGIN
285
286 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Writing EAM WO rec for ' || p_eam_wo_rec.wip_entity_name); END IF;
287
288 -- bug no 3444091
289 if p_eam_wo_rec.scheduled_start_date > p_eam_wo_rec.scheduled_completion_date then
290 x_return_status := fnd_api.g_ret_sts_error;
291 fnd_message.set_name('EAM','EAM_WO_WORKORDER_DT_ERR');
292 return;
293 end if;
294
295 INSERT INTO WIP_DISCRETE_JOBS
296 ( wip_entity_id
297 , organization_id
298 , description
299 , asset_number
300 , asset_group_id
301 , rebuild_item_id
302 , rebuild_serial_number
303 , maintenance_object_id
304 , maintenance_object_type
305 , maintenance_object_source
306 , eam_linear_location_id
307 , class_code
308 , primary_item_id
309 , activity_type
310 , activity_cause
311 , activity_source
312 , work_order_type
313 , status_type
314 , date_released
315 , owning_department
316 , priority
317 , requested_start_date
318 , due_date
319 , shutdown_type
320 , firm_planned_flag
321 , notification_required
322 , tagout_required
323 , plan_maintenance
324 , project_id
325 , task_id
326 --, project_costed
327 , end_item_unit_number
328 , schedule_group_id
329 , bom_revision_date
330 , routing_revision_date
331 , alternate_routing_designator
332 , alternate_bom_designator
333 , routing_revision
334 , bom_revision
335 , parent_wip_entity_id
336 , manual_rebuild_flag
337 , pm_schedule_id
338 , job_type
339 , wip_supply_type
340 , material_account
341 , material_overhead_account
342 , resource_account
343 , outside_processing_account
344 , material_variance_account
345 , resource_variance_account
346 , outside_proc_variance_account
347 , std_cost_adjustment_account
348 , overhead_account
349 , overhead_variance_account
350 , scheduled_start_date
351 , scheduled_completion_date
352 , start_quantity
353 , quantity_completed
354 , quantity_scrapped
355 , net_quantity
356 , common_bom_sequence_id
357 , common_routing_sequence_id
358 , po_creation_time
359 , attribute_category
360 , attribute1
361 , attribute2
362 , attribute3
363 , attribute4
364 , attribute5
365 , attribute6
366 , attribute7
367 , attribute8
368 , attribute9
369 , attribute10
370 , attribute11
371 , attribute12
372 , attribute13
373 , attribute14
374 , attribute15
375 , material_issue_by_mo
376 , issue_zero_cost_flag
377 , last_update_date
378 , last_updated_by
379 , creation_date
380 , created_by
381 , last_update_login
382 , request_id
383 , program_application_id
384 , program_id
385 , program_update_date
386 , source_line_id
387 , source_code
388 )
389 VALUES
390 ( p_eam_wo_rec.wip_entity_id
391 , p_eam_wo_rec.organization_id
392 , p_eam_wo_rec.description
393 , p_eam_wo_rec.asset_number
394 , p_eam_wo_rec.asset_group_id
395 , p_eam_wo_rec.rebuild_item_id
396 , p_eam_wo_rec.rebuild_serial_number
397 , p_eam_wo_rec.maintenance_object_id
398 , p_eam_wo_rec.maintenance_object_type
399 , p_eam_wo_rec.maintenance_object_source
400 , p_eam_wo_rec.eam_linear_location_id
401 , p_eam_wo_rec.class_code
402 , p_eam_wo_rec.asset_activity_id
403 , p_eam_wo_rec.activity_type
404 , p_eam_wo_rec.activity_cause
405 , p_eam_wo_rec.activity_source
406 , p_eam_wo_rec.work_order_type
407 , 17 -- Always create WO in default status, then update to other statuses accordingly
408 , decode(p_eam_wo_rec.status_type,
409 WIP_CONSTANTS.RELEASED, decode(p_eam_wo_rec.date_released, NULL, SYSDATE, decode(sign(p_eam_wo_rec.date_released - sysdate),1,sysdate, p_eam_wo_rec.date_released)),
410 WIP_CONSTANTS.HOLD, NULL,
411 WIP_CONSTANTS.UNRELEASED, NULL,
412 NULL)
413 , p_eam_wo_rec.owning_department
414 , p_eam_wo_rec.priority
415 , p_eam_wo_rec.requested_start_date
416 , p_eam_wo_rec.due_date
417 , p_eam_wo_rec.shutdown_type
418 , p_eam_wo_rec.firm_planned_flag
419 , p_eam_wo_rec.notification_required
420 , p_eam_wo_rec.tagout_required
421 , p_eam_wo_rec.plan_maintenance
422 , p_eam_wo_rec.project_id
423 , p_eam_wo_rec.task_id
424 --, p_eam_wo_rec.project_costed
425 , p_eam_wo_rec.end_item_unit_number
426 , p_eam_wo_rec.schedule_group_id
427 , round(p_eam_wo_rec.bom_revision_date,'MI')
428 , round(p_eam_wo_rec.routing_revision_date,'MI')
429 , p_eam_wo_rec.alternate_routing_designator
430 , p_eam_wo_rec.alternate_bom_designator
431 , p_eam_wo_rec.routing_revision
432 , p_eam_wo_rec.bom_revision
433 , p_eam_wo_rec.parent_wip_entity_id
434 , p_eam_wo_rec.manual_rebuild_flag
435 , p_eam_wo_rec.pm_schedule_id
436 , 3
437 , 7
438 , p_eam_wo_rec.material_account
439 , p_eam_wo_rec.material_overhead_account
440 , p_eam_wo_rec.resource_account
441 , p_eam_wo_rec.outside_processing_account
442 , p_eam_wo_rec.material_variance_account
443 , p_eam_wo_rec.resource_variance_account
444 , p_eam_wo_rec.outside_proc_variance_account
445 , p_eam_wo_rec.std_cost_adjustment_account
446 , p_eam_wo_rec.overhead_account
447 , p_eam_wo_rec.overhead_variance_account
448 , p_eam_wo_rec.scheduled_start_date
449 , p_eam_wo_rec.scheduled_completion_date
450 , p_eam_wo_rec.job_quantity
451 , 0
452 , 0
453 , 1
454 , p_eam_wo_rec.common_bom_sequence_id
455 , p_eam_wo_rec.common_routing_sequence_id
456 , p_eam_wo_rec.po_creation_time
457 , p_eam_wo_rec.attribute_category
458 , p_eam_wo_rec.attribute1
459 , p_eam_wo_rec.attribute2
460 , p_eam_wo_rec.attribute3
461 , p_eam_wo_rec.attribute4
462 , p_eam_wo_rec.attribute5
463 , p_eam_wo_rec.attribute6
464 , p_eam_wo_rec.attribute7
465 , p_eam_wo_rec.attribute8
466 , p_eam_wo_rec.attribute9
467 , p_eam_wo_rec.attribute10
468 , p_eam_wo_rec.attribute11
469 , p_eam_wo_rec.attribute12
470 , p_eam_wo_rec.attribute13
471 , p_eam_wo_rec.attribute14
472 , p_eam_wo_rec.attribute15
473 , p_eam_wo_rec.material_issue_by_mo
474 , p_eam_wo_rec.issue_zero_cost_flag
475 , SYSDATE
476 , FND_GLOBAL.user_id
477 , SYSDATE
478 , FND_GLOBAL.user_id
479 , FND_GLOBAL.login_id
480 , p_eam_wo_rec.request_id
481 , p_eam_wo_rec.program_application_id
482 , p_eam_wo_rec.program_id
483 , SYSDATE
484 , p_eam_wo_rec.source_line_id
485 , p_eam_wo_rec.source_code
486 );
487
488 INSERT INTO WIP_ENTITIES
489 ( wip_entity_id
490 , organization_id
491 , last_update_date
492 , last_updated_by
493 , creation_date
494 , created_by
495 , last_update_login
496 , request_id
497 , program_application_id
498 , program_id
499 , program_update_date
500 , wip_entity_name
501 , entity_type
502 , description
503 , primary_item_id
504 , gen_object_id)
505 VALUES
506 ( p_eam_wo_rec.wip_entity_id
507 , p_eam_wo_rec.organization_id
508 , SYSDATE
509 , FND_GLOBAL.user_id
510 , SYSDATE
511 , FND_GLOBAL.user_id
512 , FND_GLOBAL.login_id
513 , p_eam_wo_rec.request_id
514 , p_eam_wo_rec.program_application_id
515 , p_eam_wo_rec.program_id
516 , SYSDATE
517 , p_eam_wo_rec.wip_entity_name
518 , 6
519 , p_eam_wo_rec.description
520 , p_eam_wo_rec.asset_activity_id
521 , MTL_GEN_OBJECT_ID_S.nextval);
522
523 INSERT INTO EAM_WORK_ORDER_DETAILS
524 (
525 wip_entity_id
526 , organization_id
527 , user_defined_status_id
528 , pending_flag
529 , material_shortage_check_date
530 , material_shortage_flag
531 , workflow_type
532 , warranty_claim_status
533 , cycle_id
534 , seq_id
535 , ds_scheduled_flag
536 , assignment_complete
537 , warranty_active
538 , pm_suggested_start_date
539 , pm_suggested_end_date
540 , pm_base_meter_reading
541 , pm_base_meter
542 , failure_code_required
543 , request_id
544 , program_id
545 , program_application_id
546 , program_update_date
547 , last_update_date
548 , last_updated_by
549 , creation_date
550 , created_by
551 , last_update_login
552 )
553 VALUES
554 (
555 p_eam_wo_rec.wip_entity_id
556 , p_eam_wo_rec.organization_id
557 , p_eam_wo_rec.user_defined_status_id
558 , p_eam_wo_rec.pending_flag
559 , p_eam_wo_rec.material_shortage_check_date
560 , p_eam_wo_rec.material_shortage_flag
561 , p_eam_wo_rec.workflow_type
562 , p_eam_wo_rec.warranty_claim_status
563 , p_eam_wo_rec.cycle_id
564 , p_eam_wo_rec.seq_id
565 , p_eam_wo_rec.ds_scheduled_flag
566 , p_eam_wo_rec.assignment_complete
567 , p_eam_wo_rec.warranty_active
568 , p_eam_wo_rec.pm_suggested_start_date
569 , p_eam_wo_rec.pm_suggested_end_date
570 , p_eam_wo_rec.pm_base_meter_reading
571 , p_eam_wo_rec.pm_base_meter
572 , nvl(p_eam_wo_rec.failure_code_required,'N')
573 , p_eam_wo_rec.request_id
574 , p_eam_wo_rec.program_id
575 , p_eam_wo_rec.program_application_id
576 , SYSDATE
577 , SYSDATE
578 , FND_GLOBAL.user_id
579 , SYSDATE
580 , FND_GLOBAL.user_id
581 , FND_GLOBAL.login_id
582 );
583
584 EAM_ASSET_LOG_PVT.INSERT_ROW
585 (
586 p_api_version => 1.0,
587 p_event_date => sysdate,
588 p_event_type => 'EAM_SYSTEM_EVENTS',
589 p_event_id => 5,
590 p_organization_id => p_eam_wo_rec.organization_id,
591 p_instance_id => p_eam_wo_rec.maintenance_object_id,
592 p_comments => null,
593 p_reference => p_eam_wo_rec.wip_entity_name,
594 p_ref_id => p_eam_wo_rec.wip_entity_id,
595 p_operable_flag => null,
596 p_reason_code => null,
597 x_return_status => l_asset_ops_return_status,
598 x_msg_count => l_asset_ops_msg_count,
599 x_msg_data => l_asset_ops_msg_data
600 );
601
602
603 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Creating new Work Order') ; END IF;
604 x_return_status := FND_API.G_RET_STS_SUCCESS;
605
606
607 EXCEPTION
608 WHEN OTHERS THEN
609 EAM_ERROR_MESSAGE_PVT.Add_Error_Token
610 ( p_message_name => NULL
611 , p_message_text => G_PKG_NAME ||' :Inserting Record ' || SQLERRM
612 , x_mesg_token_Tbl => x_mesg_token_tbl
613 );
614
615 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
616
617 END Insert_Row;
618
619 /********************************************************************
620 * Procedure : Update_Row
621 * Parameters IN : Work Order column record
622 * Parameters OUT NOCOPY: Message Token Table
623 * Return Status
624 * Purpose : Procedure will perfrom an Update into the
625 * wip_discrete_jobs table.
626 *********************************************************************/
627
628 PROCEDURE Update_Row
629 ( p_eam_wo_rec IN EAM_PROCESS_WO_PUB.eam_wo_rec_type
630 , x_mesg_token_Tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
631 , x_return_Status OUT NOCOPY VARCHAR2
632 )
633 IS
634 BEGIN
635
636
637 IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug('Updating EAM WO '|| p_eam_wo_rec.wip_entity_name); END IF;
638
639 -- bug no 3444091
640 if p_eam_wo_rec.scheduled_start_date > p_eam_wo_rec.scheduled_completion_date then
641 x_return_status := fnd_api.g_ret_sts_error;
642 fnd_message.set_name('EAM','EAM_WO_WORKORDER_DT_ERR');
643 return;
644 end if;
645
646
647 UPDATE WIP_DISCRETE_JOBS
648 SET description = p_eam_wo_rec.description
649 ,rebuild_serial_number = p_eam_wo_rec.rebuild_serial_number -- agaurav - Added the rebuild_serial_number column so that updation of serial number can happen
650 ,rebuild_item_id = p_eam_wo_rec.rebuild_item_id
651 ,asset_number = p_eam_wo_rec.asset_number
652 , asset_group_id = p_eam_wo_rec.asset_group_id
653 , class_code = p_eam_wo_rec.class_code
654 , primary_item_id = p_eam_wo_rec.asset_activity_id
655 , activity_type = p_eam_wo_rec.activity_type
656 , activity_cause = p_eam_wo_rec.activity_cause
657 , activity_source = p_eam_wo_rec.activity_source
658 -- , status_type = p_eam_wo_rec.status_type Status will be updated through status change api
659 , work_order_type = p_eam_wo_rec.work_order_type
660 , start_quantity = p_eam_wo_rec.job_quantity
661 , date_released = p_eam_wo_rec.date_released
662 , owning_department = p_eam_wo_rec.owning_department
663 , priority = p_eam_wo_rec.priority
664 , requested_start_date = p_eam_wo_rec.requested_start_date
665 , due_date = p_eam_wo_rec.due_date
666 , shutdown_type = p_eam_wo_rec.shutdown_type
667 , firm_planned_flag = p_eam_wo_rec.firm_planned_flag
668 , notification_required = p_eam_wo_rec.notification_required
669 , tagout_required = p_eam_wo_rec.tagout_required
670 , plan_maintenance = p_eam_wo_rec.plan_maintenance
671 , project_id = p_eam_wo_rec.project_id
672 , task_id = p_eam_wo_rec.task_id
673 , maintenance_object_id = p_eam_wo_rec.maintenance_object_id --added these 3 fields so that maintenance object id is updateable
674 , maintenance_object_type = p_eam_wo_rec.maintenance_object_type
675 , maintenance_object_source = p_eam_wo_rec.maintenance_object_source
676 , parent_wip_entity_id = p_eam_wo_rec.parent_wip_entity_id /* Added the column so that parent_wip_entity_id is updateable */
677 --, project_costed = p_eam_wo_rec.project_costed
678 , end_item_unit_number = p_eam_wo_rec.end_item_unit_number
679 , schedule_group_id = p_eam_wo_rec.schedule_group_id
680 , bom_revision_date = p_eam_wo_rec.bom_revision_date
681 , routing_revision_date = p_eam_wo_rec.routing_revision_date
682 , alternate_routing_designator = p_eam_wo_rec.alternate_routing_designator
683 , alternate_bom_designator = p_eam_wo_rec.alternate_bom_designator
684 , routing_revision = p_eam_wo_rec.routing_revision
685 , bom_revision = p_eam_wo_rec.bom_revision
686 , manual_rebuild_flag = p_eam_wo_rec.manual_rebuild_flag
687 , material_account = p_eam_wo_rec.material_account
688 , material_overhead_account = p_eam_wo_rec.material_overhead_account
689 , resource_account = p_eam_wo_rec.resource_account
690 , outside_processing_account = p_eam_wo_rec.outside_processing_account
691 , material_variance_account = p_eam_wo_rec.material_variance_account
692 , resource_variance_account = p_eam_wo_rec.resource_variance_account
693 , outside_proc_variance_account= p_eam_wo_rec.outside_proc_variance_account
694 , std_cost_adjustment_account = p_eam_wo_rec.std_cost_adjustment_account
695 , overhead_account = p_eam_wo_rec.overhead_account
696 , overhead_variance_account = p_eam_wo_rec.overhead_variance_account
697 , scheduled_start_date = p_eam_wo_rec.scheduled_start_date
698 , scheduled_completion_date = p_eam_wo_rec.scheduled_completion_date
699 , common_bom_sequence_id = p_eam_wo_rec.common_bom_sequence_id
700 , common_routing_sequence_id = p_eam_wo_rec.common_routing_sequence_id
701 , attribute_category = p_eam_wo_rec.attribute_category
702 , attribute1 = p_eam_wo_rec.attribute1
703 , attribute2 = p_eam_wo_rec.attribute2
704 , attribute3 = p_eam_wo_rec.attribute3
705 , attribute4 = p_eam_wo_rec.attribute4
706 , attribute5 = p_eam_wo_rec.attribute5
707 , attribute6 = p_eam_wo_rec.attribute6
708 , attribute7 = p_eam_wo_rec.attribute7
709 , attribute8 = p_eam_wo_rec.attribute8
710 , attribute9 = p_eam_wo_rec.attribute9
711 , attribute10 = p_eam_wo_rec.attribute10
712 , attribute11 = p_eam_wo_rec.attribute11
713 , attribute12 = p_eam_wo_rec.attribute12
714 , attribute13 = p_eam_wo_rec.attribute13
715 , attribute14 = p_eam_wo_rec.attribute14
716 , attribute15 = p_eam_wo_rec.attribute15
717 , material_issue_by_mo = p_eam_wo_rec.material_issue_by_mo
718 , issue_zero_cost_flag = p_eam_wo_rec.issue_zero_cost_flag
719 , source_line_id = p_eam_wo_rec.source_line_id
720 , source_code = p_eam_wo_rec.source_code
721 , last_update_date = SYSDATE
722 , last_updated_by = FND_GLOBAL.user_id
723 , last_update_login = FND_GLOBAL.login_id
724 , request_id = p_eam_wo_rec.request_id
725 , program_application_id = p_eam_wo_rec.program_application_id
726 , program_id = p_eam_wo_rec.program_id
727 , program_update_date = SYSDATE
728 WHERE wip_entity_id = p_eam_wo_rec.wip_entity_id
729 AND organization_id = p_eam_wo_rec.organization_id;
730
731
732 UPDATE WIP_ENTITIES
733 SET wip_entity_name = p_eam_wo_rec.wip_entity_name
734 , description = p_eam_wo_rec.description
735 , primary_item_id = p_eam_wo_rec.asset_activity_id
736 , last_update_date = SYSDATE
737 , last_updated_by = FND_GLOBAL.user_id
738 , last_update_login = FND_GLOBAL.login_id
739 , request_id = p_eam_wo_rec.request_id
740 , program_application_id = p_eam_wo_rec.program_application_id
741 , program_id = p_eam_wo_rec.program_id
742 , program_update_date = SYSDATE
743 WHERE wip_entity_id = p_eam_wo_rec.wip_entity_id
744 AND organization_id = p_eam_wo_rec.organization_id;
745
746
747 UPDATE EAM_WORK_ORDER_DETAILS
748 SET wip_entity_id = p_eam_wo_rec.wip_entity_id
749 , organization_id = p_eam_wo_rec.organization_id
750 , user_defined_status_id = p_eam_wo_rec.user_defined_status_id
751 , pending_flag = p_eam_wo_rec.pending_flag
752 , material_shortage_check_date = p_eam_wo_rec.material_shortage_check_date
753 , material_shortage_flag = p_eam_wo_rec.material_shortage_flag
754 , workflow_type = p_eam_wo_rec.workflow_type
755 , warranty_claim_status = p_eam_wo_rec.warranty_claim_status
756 , cycle_id = p_eam_wo_rec.cycle_id
757 , seq_id = p_eam_wo_rec.seq_id
758 , ds_scheduled_flag = p_eam_wo_rec.ds_scheduled_flag
759 , assignment_complete = p_eam_wo_rec.assignment_complete
760 , warranty_active = p_eam_wo_rec.warranty_active
761 , pm_suggested_start_date = p_eam_wo_rec.pm_suggested_start_date
762 , pm_suggested_end_date = p_eam_wo_rec.pm_suggested_end_date
763 , pm_base_meter_reading = p_eam_wo_rec.pm_base_meter_reading
764 , pm_base_meter = p_eam_wo_rec.pm_base_meter
765 , failure_code_required = nvl(p_eam_wo_rec.failure_code_required,'N')
766 , request_id = p_eam_wo_rec.request_id
767 , program_id = p_eam_wo_rec.program_id
768 , program_application_id = p_eam_wo_rec.program_application_id
769 , program_update_date = SYSDATE
770 , last_update_date = SYSDATE
771 , last_updated_by = FND_GLOBAL.user_id
772 , last_update_login = FND_GLOBAL.login_id
773 WHERE wip_entity_id = p_eam_wo_rec.wip_entity_id
774 AND organization_id = p_eam_wo_rec.organization_id;
775
776 x_return_status := FND_API.G_RET_STS_SUCCESS;
777
778 END Update_Row;
779
780 /*********************************************************************
781 * Procedure : Perform_Writes
782 * Parameters IN : Work Order Column Record
783 * Parameters OUT NOCOPY: Messgae Token Table
784 * Return Status
785 * Purpose : This is the only procedure that the user will have
786 * access to when he/she needs to perform any kind of
787 * writes to the wip_discrete_jobs and wip_entities.
788 *********************************************************************/
789
790 PROCEDURE Perform_Writes
791 ( p_eam_wo_rec IN EAM_PROCESS_WO_PUB.eam_wo_rec_type
792 , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
793 , x_return_status OUT NOCOPY VARCHAR2
794 )
795 IS
796 l_Mesg_Token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
797 l_return_status VARCHAR2(1):= FND_API.G_RET_STS_SUCCESS;
798 BEGIN
799
800 IF p_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_CREATE
801 THEN
802 Insert_Row
803 ( p_eam_wo_rec => p_eam_wo_rec
804 , x_mesg_token_Tbl => l_mesg_token_tbl
805 , x_return_Status => l_return_status
806 );
807 ELSIF p_eam_wo_rec.transaction_type = EAM_PROCESS_WO_PVT.G_OPR_UPDATE
808 THEN
809 Update_Row
810 ( p_eam_wo_rec => p_eam_wo_rec
811 , x_mesg_token_Tbl => l_mesg_token_tbl
812 , x_return_Status => l_return_status
813 );
814
815 END IF;
816
817 x_return_status := l_return_status;
818 x_mesg_token_tbl := l_mesg_token_tbl;
819
820 END Perform_Writes;
821
822 END EAM_WO_UTILITY_PVT;