47: begin
48: x_returnStatus := fnd_api.g_ret_sts_success;
49: savepoint begin_process_wjsi;
50:
51: if (l_logLevel <= wip_constants.trace_logging) then
52: l_params(1).paramName := 'p_rowid';
53: l_params(1).paramValue := p_rowid;
54: wip_logger.entryPoint(p_procName => g_pkgName || '.' || l_procName,
55: p_params => l_params,
67: g_wjsiJobStatus := wjsi_row.status_type; --fix for bug 16079296
68: g_wjsiClassCode := wjsi_row.class_code; --fix for bug 16079296
69: g_wjsiOrgId := wjsi_row.organization_id; --fix for bug 16079296
70:
71: if ( l_logLevel <= wip_constants.trace_logging ) then
72: wip_logger.log('Interface id: ' || wjsi_row.interface_id || ' load type is: ' || wjsi_row.load_type,
73: l_retStatus);
74: end if;
75:
73: l_retStatus);
74: end if;
75:
76:
77: if ( wjsi_row.load_type in (wip_constants.create_job, wip_constants.create_ns_job) ) then
78: -- create job header record
79: createWIPEntity(p_rowid);
80:
81: if ( wjsi_row.load_type = wip_constants.create_job ) then
77: if ( wjsi_row.load_type in (wip_constants.create_job, wip_constants.create_ns_job) ) then
78: -- create job header record
79: createWIPEntity(p_rowid);
80:
81: if ( wjsi_row.load_type = wip_constants.create_job ) then
82: l_jobType := wip_constants.standard;
83: else
84: l_jobType := wip_constants.nonstandard;
85: end if;
78: -- create job header record
79: createWIPEntity(p_rowid);
80:
81: if ( wjsi_row.load_type = wip_constants.create_job ) then
82: l_jobType := wip_constants.standard;
83: else
84: l_jobType := wip_constants.nonstandard;
85: end if;
86:
80:
81: if ( wjsi_row.load_type = wip_constants.create_job ) then
82: l_jobType := wip_constants.standard;
83: else
84: l_jobType := wip_constants.nonstandard;
85: end if;
86:
87: if ( nvl(wjsi_row.allow_explosion, 'Y') not in ('n', 'N') ) then
88: wip_bomRouting_pvt.createJob(p_orgID => wjsi_row.organization_id,
125: and exists (select 1
126: from mtl_system_items
127: where inventory_item_id = wjsi_row.primary_item_id
128: and organization_id = wjsi_row.organization_id
129: and serial_number_control_code = wip_constants.full_sn);
130: elsif ( l_defaultSer = wip_constants.yes ) then
131: update wip_discrete_jobs
132: set serialization_start_op = (select nvl(min(operation_seq_num), 1)
133: from wip_operations
126: from mtl_system_items
127: where inventory_item_id = wjsi_row.primary_item_id
128: and organization_id = wjsi_row.organization_id
129: and serial_number_control_code = wip_constants.full_sn);
130: elsif ( l_defaultSer = wip_constants.yes ) then
131: update wip_discrete_jobs
132: set serialization_start_op = (select nvl(min(operation_seq_num), 1)
133: from wip_operations
134: where wip_entity_id = wjsi_row.wip_entity_id)
136: and exists (select 1
137: from mtl_system_items
138: where inventory_item_id = wjsi_row.primary_item_id
139: and organization_id = wjsi_row.organization_id
140: and serial_number_control_code = wip_constants.full_sn);
141: end if;
142: end if;
143:
144: /* Fix bug 8272654
145: Move this code to massLoadJobs in wip_massload_pub (wipmlppb.pls) to release job
146: after load all the details to populate quantity in queue of the first operation
147: added in WJDI
148: -- release job if necessary
149: if ( wjsi_row.status_type in (wip_constants.released, wip_constants.hold) ) then
150: wip_mass_load_processor.ml_release(wjsi_row.wip_entity_id,
151: wjsi_row.organization_id,
152: wjsi_row.class_code,
153: wjsi_row.status_type,
159: end if;
160: end if;
161: */
162:
163: elsif ( wjsi_row.load_type = wip_constants.resched_job ) then
164: select bom_reference_id,
165: routing_reference_id,
166: bom_revision,/*add for bug 15963294*/
167: routing_revision,/*add for bug 15963294*/
194: /* fix for bug 16079296, copying the statustype into global variable for further use */
195:
196: g_wdjJobStatus := l_statusType;
197:
198: if ( wjsi_row.scheduling_method = wip_constants.routing ) then
199: if ( wjsi_row.last_unit_completion_date is not null ) then
200: l_startDate := null;
201: l_endDate := wjsi_row.last_unit_completion_date;
202: elsif ( wjsi_row.first_unit_start_date is not null ) then
249: -- handle status change
250: if ( l_statusType <> wjsi_row.status_type and
251: /*Bug 14497612: Need to include completed here because completed is not allow to change to unrelease which is introduced in bug fix 7197320.
252: Fix massload so that it will have the same behavior as form*/
253: l_statusType in (wip_constants.released, wip_constants.unreleased, wip_constants.comp_chrg) ) then
254: wip_mass_load_processor.ml_status_change(
255: wjsi_row.wip_entity_id,
256: wjsi_row.organization_id,
257: wjsi_row.class_code,
280: raise fnd_api.g_exc_unexpected_error;
281: end if;
282: end if;
283:
284: if ( wjsi_row.status_type in (wip_constants.comp_nochrg,
285: wip_constants.hold,
286: wip_constants.cancelled) ) then
287: wip_picking_pvt.cancel_allocations(p_wip_entity_id => wjsi_row.wip_entity_id,
288: p_wip_entity_type => wip_constants.discrete,
281: end if;
282: end if;
283:
284: if ( wjsi_row.status_type in (wip_constants.comp_nochrg,
285: wip_constants.hold,
286: wip_constants.cancelled) ) then
287: wip_picking_pvt.cancel_allocations(p_wip_entity_id => wjsi_row.wip_entity_id,
288: p_wip_entity_type => wip_constants.discrete,
289: x_return_status => l_retStatus,
282: end if;
283:
284: if ( wjsi_row.status_type in (wip_constants.comp_nochrg,
285: wip_constants.hold,
286: wip_constants.cancelled) ) then
287: wip_picking_pvt.cancel_allocations(p_wip_entity_id => wjsi_row.wip_entity_id,
288: p_wip_entity_type => wip_constants.discrete,
289: x_return_status => l_retStatus,
290: x_msg_data => x_errorMsg);
284: if ( wjsi_row.status_type in (wip_constants.comp_nochrg,
285: wip_constants.hold,
286: wip_constants.cancelled) ) then
287: wip_picking_pvt.cancel_allocations(p_wip_entity_id => wjsi_row.wip_entity_id,
288: p_wip_entity_type => wip_constants.discrete,
289: x_return_status => l_retStatus,
290: x_msg_data => x_errorMsg);
291: if ( l_retStatus <> fnd_api.g_ret_sts_success ) then
292: raise fnd_api.g_exc_unexpected_error;
299: -- Call the stored procedure to create a po req only if both old and new statuses
300: -- are released and the new quantity is > old quantity. When the status is
301: -- changed to released, already existing stored procedures will create a po req.
302: if ( wjsi_row.start_quantity > l_qty and
303: wjsi_row.status_type = wip_constants.released and
304: l_statusType = wip_constants.unreleased ) then
305: wip_osp.create_additional_req(wjsi_row.wip_entity_id,
306: wjsi_row.organization_id,
307: null,
300: -- are released and the new quantity is > old quantity. When the status is
301: -- changed to released, already existing stored procedures will create a po req.
302: if ( wjsi_row.start_quantity > l_qty and
303: wjsi_row.status_type = wip_constants.released and
304: l_statusType = wip_constants.unreleased ) then
305: wip_osp.create_additional_req(wjsi_row.wip_entity_id,
306: wjsi_row.organization_id,
307: null,
308: wjsi_row.start_quantity - l_qty);
309: end if;
310: */
311: l_addl_quantity := wjsi_row.start_quantity - l_qty;
312:
313: if ( (wjsi_row.status_type = wip_constants.released and l_statusType = wip_constants.unreleased)
314: or (wjsi_row.status_type = wip_constants.released and l_statusType = wip_constants.released ) ) then
315:
316: if (l_addl_quantity > 0) then
317: /*job quantity increase*/
310: */
311: l_addl_quantity := wjsi_row.start_quantity - l_qty;
312:
313: if ( (wjsi_row.status_type = wip_constants.released and l_statusType = wip_constants.unreleased)
314: or (wjsi_row.status_type = wip_constants.released and l_statusType = wip_constants.released ) ) then
315:
316: if (l_addl_quantity > 0) then
317: /*job quantity increase*/
318:
328: into l_propagate_job_change_to_po
329: from wip_parameters
330: where organization_id = wjsi_row.organization_id;
331:
332: if(l_propagate_job_change_to_po =WIP_CONSTANTS.YES)then
333: wip_osp.updatePOReqQuantity(
334: p_job_id => wjsi_row.wip_entity_id,
335: p_repetitive_id => null,
336: p_org_id => wjsi_row.organization_id,
353: end if; -- check return status
354: else -- not auto update PO quantity
355: fnd_message.set_name('WIP','WIP_OSP_CHANGE_JOB_QTY');
356: l_msg := fnd_message.get;
357: if (l_logLevel <= wip_constants.trace_logging) then
358: wip_logger.log(l_msg, l_retStatus);
359: end if;
360: end if; -- check auto update PO quantity parameter
361: else -- customer does not have PO FPJ
383: from wip_parameters
384: where organization_id = wjsi_row.organization_id;
385: -- job quantity decrease
386: if(l_propagate_job_change_to_po =
387: WIP_CONSTANTS.YES) then
388: wip_osp.updatePOReqQuantity(
389: p_job_id => wjsi_row.wip_entity_id,
390: p_repetitive_id => null,
391: p_org_id => wjsi_row.organization_id,
401: end if; -- check return status
402: else -- not auto update PO quantity
403: fnd_message.set_name('WIP','WIP_OSP_CHANGE_JOB_QTY');
404: l_msg := fnd_message.get;
405: if (l_logLevel <= wip_constants.trace_logging) then
406: wip_logger.log(l_msg, l_retStatus);
407: end if;
408: end if; -- check auto update PO quantity parameter
409: else -- customer does not have PO FPJ
408: end if; -- check auto update PO quantity parameter
409: else -- customer does not have PO FPJ
410: fnd_message.set_name('WIP','WIP_OSP_CHANGE_JOB_QTY');
411: l_msg := fnd_message.get;
412: if (l_logLevel <= wip_constants.trace_logging) then
413: wip_logger.log(l_msg, l_retStatus);
414: end if;
415: end if;
416: end if; -- PO/requisition exist /* quantity decrease */
432: set wip_supply_type = wjsi_row.wip_supply_type
433: where wip_entity_id = wjsi_row.wip_entity_id;
434: End if;
435:
436: if (l_logLevel <= wip_constants.trace_logging) then
437: wip_logger.exitPoint(p_procName => g_pkgName || '.' || l_procName,
438: p_procReturnStatus => x_returnStatus,
439: p_msg => 'success',
440: x_returnStatus => l_retStatus);
443: exception
444: when fnd_api.g_exc_unexpected_error then
445: rollback to savepoint begin_process_wjsi;
446: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
447: if(l_logLevel <= wip_constants.trace_logging) then
448: wip_logger.exitPoint(p_procName => g_pkgName || '.' || l_procName,
449: p_procReturnStatus => x_returnStatus,
450: p_msg => x_errorMsg,
451: x_returnStatus => l_retStatus);
451: x_returnStatus => l_retStatus);
452: end if;
453: when others then
454: rollback to savepoint begin_process_wjsi;
455: if(l_logLevel <= wip_constants.trace_logging) then
456: wip_logger.exitPoint(p_procName => g_pkgName || '.' || l_procName,
457: p_procReturnStatus => x_returnStatus,
458: p_msg => 'unexp error:' || SQLERRM,
459: x_returnStatus => l_retStatus);
569: wjsi.source_code,
570: wjsi.description,
571: wjsi.status_type,
572: decode(wjsi.status_type,
573: wip_constants.released,
574: decode(wjsi.date_released, null, sysdate,
575: decode(sign(wjsi.date_released-sysdate), 1, sysdate, wjsi.date_released)),
576: wip_constants.hold,
577: decode(wjsi.date_released, null, sysdate,
572: decode(wjsi.status_type,
573: wip_constants.released,
574: decode(wjsi.date_released, null, sysdate,
575: decode(sign(wjsi.date_released-sysdate), 1, sysdate, wjsi.date_released)),
576: wip_constants.hold,
577: decode(wjsi.date_released, null, sysdate,
578: decode(sign(wjsi.date_released-sysdate), 1, sysdate, wjsi.date_released)),
579: null),
580: wjsi.primary_item_id,
577: decode(wjsi.date_released, null, sysdate,
578: decode(sign(wjsi.date_released-sysdate), 1, sysdate, wjsi.date_released)),
579: null),
580: wjsi.primary_item_id,
581: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.bom_reference_id),
582: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.routing_reference_id),
583: wjsi.firm_planned_flag,
584: decode(wjsi.load_type, wip_constants.create_job, wip_constants.standard, wip_constants.nonstandard),
585: wjsi.wip_supply_type,
578: decode(sign(wjsi.date_released-sysdate), 1, sysdate, wjsi.date_released)),
579: null),
580: wjsi.primary_item_id,
581: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.bom_reference_id),
582: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.routing_reference_id),
583: wjsi.firm_planned_flag,
584: decode(wjsi.load_type, wip_constants.create_job, wip_constants.standard, wip_constants.nonstandard),
585: wjsi.wip_supply_type,
586: wjsi.class_code,
580: wjsi.primary_item_id,
581: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.bom_reference_id),
582: decode(wjsi.load_type, wip_constants.create_job, null, wjsi.routing_reference_id),
583: wjsi.firm_planned_flag,
584: decode(wjsi.load_type, wip_constants.create_job, wip_constants.standard, wip_constants.nonstandard),
585: wjsi.wip_supply_type,
586: wjsi.class_code,
587: wac.material_account,
588: wac.material_overhead_account,
595: wac.overhead_account,
596: wac.overhead_variance_account,
597: nvl(wjsi.first_unit_start_date, wjsi.last_unit_completion_date),
598: nvl(wjsi.last_unit_completion_date, wjsi.first_unit_start_date),
599: round(wjsi.start_quantity, wip_constants.max_displayed_precision),
600: 0, -- quantity_completed
601: 0, -- quantity_scrapped
602: round(wjsi.net_quantity, wip_constants.max_displayed_precision),
603: bom.common_bill_sequence_id,
598: nvl(wjsi.last_unit_completion_date, wjsi.first_unit_start_date),
599: round(wjsi.start_quantity, wip_constants.max_displayed_precision),
600: 0, -- quantity_completed
601: 0, -- quantity_scrapped
602: round(wjsi.net_quantity, wip_constants.max_displayed_precision),
603: bom.common_bill_sequence_id,
604: rtg.common_routing_sequence_id,
605: wjsi.bom_revision,
606: wjsi.routing_revision,
621: wjsi.overcompletion_tolerance_type,
622: wjsi.overcompletion_tolerance_value,
623: wjsi.end_item_unit_number,
624: wp.po_creation_time,
625: nvl(wjsi.priority, wip_constants.default_priority),
626: wjsi.due_date,
627: /* Bug 5745772: Requested start date and due date can only co exist if routing does not exist.*/
628: decode(wjsi.due_date, NULL,TO_DATE(
629: TO_CHAR(
626: wjsi.due_date,
627: /* Bug 5745772: Requested start date and due date can only co exist if routing does not exist.*/
628: decode(wjsi.due_date, NULL,TO_DATE(
629: TO_CHAR(
630: wjsi.requested_start_date,WIP_CONSTANTS.DT_NOSEC_FMT
631: ),WIP_CONSTANTS.DT_NOSEC_FMT
632: ),
633: DECODE(
634: wjsi.routing_revision,NULL, TO_DATE(
627: /* Bug 5745772: Requested start date and due date can only co exist if routing does not exist.*/
628: decode(wjsi.due_date, NULL,TO_DATE(
629: TO_CHAR(
630: wjsi.requested_start_date,WIP_CONSTANTS.DT_NOSEC_FMT
631: ),WIP_CONSTANTS.DT_NOSEC_FMT
632: ),
633: DECODE(
634: wjsi.routing_revision,NULL, TO_DATE(
635: TO_CHAR(
632: ),
633: DECODE(
634: wjsi.routing_revision,NULL, TO_DATE(
635: TO_CHAR(
636: wjsi.requested_start_date,WIP_CONSTANTS.DT_NOSEC_FMT
637: ),WIP_CONSTANTS.DT_NOSEC_FMT
638: ),NULL
639: )
640: ),
633: DECODE(
634: wjsi.routing_revision,NULL, TO_DATE(
635: TO_CHAR(
636: wjsi.requested_start_date,WIP_CONSTANTS.DT_NOSEC_FMT
637: ),WIP_CONSTANTS.DT_NOSEC_FMT
638: ),NULL
639: )
640: ),
641: --wjsi.requested_start_date,
668: and rtg.organization_id(+) = wjsi.organization_id
669: and nvl(rtg.alternate_routing_designator(+), 'NONEXISTENT') =
670: nvl(wjsi.alternate_routing_designator, 'NONEXISTENT')
671: and rtg.assembly_item_id(+) = decode(wjsi.load_type,
672: wip_constants.create_job, wjsi.primary_item_id,
673: wjsi.routing_reference_id)
674: and bom.assembly_item_id(+) = decode(wjsi.load_type,
675: wip_constants.create_job, wjsi.primary_item_id,
676: wjsi.bom_reference_id)
671: and rtg.assembly_item_id(+) = decode(wjsi.load_type,
672: wip_constants.create_job, wjsi.primary_item_id,
673: wjsi.routing_reference_id)
674: and bom.assembly_item_id(+) = decode(wjsi.load_type,
675: wip_constants.create_job, wjsi.primary_item_id,
676: wjsi.bom_reference_id)
677: and bom.organization_id(+) = wjsi.organization_id
678: and nvl(bom.alternate_bom_designator(+), 'NON_EXISTENT') =
679: nvl(wjsi.alternate_bom_designator, 'NON_EXISTENT')
793: SYSDATE,
794: SYSDATE,
795: NVL(WJ.FIRM_PLANNED_FLAG,WDJ.FIRM_PLANNED_FLAG),
796: NVL(WJ.LOT_NUMBER,WDJ.LOT_NUMBER),
797: NVL(ROUND(WJ.START_QUANTITY, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
798: WDJ.START_QUANTITY),
799: NVL(ROUND(WJ.NET_QUANTITY, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
800: WDJ.NET_QUANTITY),
801: NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),
795: NVL(WJ.FIRM_PLANNED_FLAG,WDJ.FIRM_PLANNED_FLAG),
796: NVL(WJ.LOT_NUMBER,WDJ.LOT_NUMBER),
797: NVL(ROUND(WJ.START_QUANTITY, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
798: WDJ.START_QUANTITY),
799: NVL(ROUND(WJ.NET_QUANTITY, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
800: WDJ.NET_QUANTITY),
801: NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),
802: DECODE(WJ.STATUS_TYPE,
803: WIP_CONSTANTS.RELEASED,NVL(WDJ.DATE_RELEASED, NVL(WJ.DATE_RELEASED,SYSDATE)),
799: NVL(ROUND(WJ.NET_QUANTITY, WIP_CONSTANTS.MAX_DISPLAYED_PRECISION),
800: WDJ.NET_QUANTITY),
801: NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),
802: DECODE(WJ.STATUS_TYPE,
803: WIP_CONSTANTS.RELEASED,NVL(WDJ.DATE_RELEASED, NVL(WJ.DATE_RELEASED,SYSDATE)),
804: WIP_CONSTANTS.HOLD,NVL(WDJ.DATE_RELEASED,NVL(WJ.DATE_RELEASED,SYSDATE)),
805: WIP_CONSTANTS.UNRELEASED, NULL, /*bug 3061143*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
800: WDJ.NET_QUANTITY),
801: NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),
802: DECODE(WJ.STATUS_TYPE,
803: WIP_CONSTANTS.RELEASED,NVL(WDJ.DATE_RELEASED, NVL(WJ.DATE_RELEASED,SYSDATE)),
804: WIP_CONSTANTS.HOLD,NVL(WDJ.DATE_RELEASED,NVL(WJ.DATE_RELEASED,SYSDATE)),
805: WIP_CONSTANTS.UNRELEASED, NULL, /*bug 3061143*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
801: NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),
802: DECODE(WJ.STATUS_TYPE,
803: WIP_CONSTANTS.RELEASED,NVL(WDJ.DATE_RELEASED, NVL(WJ.DATE_RELEASED,SYSDATE)),
804: WIP_CONSTANTS.HOLD,NVL(WDJ.DATE_RELEASED,NVL(WJ.DATE_RELEASED,SYSDATE)),
805: WIP_CONSTANTS.UNRELEASED, NULL, /*bug 3061143*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
804: WIP_CONSTANTS.HOLD,NVL(WDJ.DATE_RELEASED,NVL(WJ.DATE_RELEASED,SYSDATE)),
805: WIP_CONSTANTS.UNRELEASED, NULL, /*bug 3061143*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
810: WIP_CONSTANTS.HOLD, NULL,
811: WIP_CONSTANTS.UNRELEASED, NULL,
812: WIP_CONSTANTS.CANCELLED, NULL,
805: WIP_CONSTANTS.UNRELEASED, NULL, /*bug 3061143*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
810: WIP_CONSTANTS.HOLD, NULL,
811: WIP_CONSTANTS.UNRELEASED, NULL,
812: WIP_CONSTANTS.CANCELLED, NULL,
813: WDJ.DATE_COMPLETED), /*Bug Number 4760788: Update date_completed*/
806: WDJ.DATE_RELEASED),
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
810: WIP_CONSTANTS.HOLD, NULL,
811: WIP_CONSTANTS.UNRELEASED, NULL,
812: WIP_CONSTANTS.CANCELLED, NULL,
813: WDJ.DATE_COMPLETED), /*Bug Number 4760788: Update date_completed*/
814: /* Fix bug 5238435. WJSI dates are replacing the scheduler calculated dates of WDJ */
807: DECODE(WJ.STATUS_TYPE,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
810: WIP_CONSTANTS.HOLD, NULL,
811: WIP_CONSTANTS.UNRELEASED, NULL,
812: WIP_CONSTANTS.CANCELLED, NULL,
813: WDJ.DATE_COMPLETED), /*Bug Number 4760788: Update date_completed*/
814: /* Fix bug 5238435. WJSI dates are replacing the scheduler calculated dates of WDJ */
815: DECODE(WJ.SCHEDULING_METHOD,
808: WIP_CONSTANTS.COMP_CHRG , NVL(WDJ.DATE_COMPLETED, SYSDATE),
809: WIP_CONSTANTS.RELEASED,NULL,
810: WIP_CONSTANTS.HOLD, NULL,
811: WIP_CONSTANTS.UNRELEASED, NULL,
812: WIP_CONSTANTS.CANCELLED, NULL,
813: WDJ.DATE_COMPLETED), /*Bug Number 4760788: Update date_completed*/
814: /* Fix bug 5238435. WJSI dates are replacing the scheduler calculated dates of WDJ */
815: DECODE(WJ.SCHEDULING_METHOD,
816: WIP_CONSTANTS.ROUTING, WDJ.SCHEDULED_START_DATE,
812: WIP_CONSTANTS.CANCELLED, NULL,
813: WDJ.DATE_COMPLETED), /*Bug Number 4760788: Update date_completed*/
814: /* Fix bug 5238435. WJSI dates are replacing the scheduler calculated dates of WDJ */
815: DECODE(WJ.SCHEDULING_METHOD,
816: WIP_CONSTANTS.ROUTING, WDJ.SCHEDULED_START_DATE,
817: NVL(WJ.FIRST_UNIT_START_DATE,WDJ.SCHEDULED_START_DATE)),
818: DECODE(WJ.SCHEDULING_METHOD,
819: WIP_CONSTANTS.ROUTING, WDJ.SCHEDULED_COMPLETION_DATE,
820: NVL(WJ.LAST_UNIT_COMPLETION_DATE, WDJ.SCHEDULED_COMPLETION_DATE)),
815: DECODE(WJ.SCHEDULING_METHOD,
816: WIP_CONSTANTS.ROUTING, WDJ.SCHEDULED_START_DATE,
817: NVL(WJ.FIRST_UNIT_START_DATE,WDJ.SCHEDULED_START_DATE)),
818: DECODE(WJ.SCHEDULING_METHOD,
819: WIP_CONSTANTS.ROUTING, WDJ.SCHEDULED_COMPLETION_DATE,
820: NVL(WJ.LAST_UNIT_COMPLETION_DATE, WDJ.SCHEDULED_COMPLETION_DATE)),
821: NVL(WJ.SCHEDULE_GROUP_ID,WDJ.SCHEDULE_GROUP_ID),
822: NVL(WJ.BUILD_SEQUENCE,WDJ.BUILD_SEQUENCE),
823: NVL(WJ.LINE_ID,WDJ.LINE_ID),
884: NVL(WJ.ATTRIBUTE15,WDJ.ATTRIBUTE15),
885: --Bug 5230849:Start of changes
886: --Routing and bom details should be updated only when the job is in unreleased status
887: --TO achieve this,decode on status type is added.
888: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
889: NVL(TO_DATE(TO_CHAR(wj.routing_revision_date, WIP_CONSTANTS.DATETIME_FMT),
890: WIP_CONSTANTS.DATETIME_FMT), WDJ.ROUTING_REVISION_DATE), --Bug#13936782: Ensuring that the seconds in routing and bom revision date is not truncated
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
885: --Bug 5230849:Start of changes
886: --Routing and bom details should be updated only when the job is in unreleased status
887: --TO achieve this,decode on status type is added.
888: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
889: NVL(TO_DATE(TO_CHAR(wj.routing_revision_date, WIP_CONSTANTS.DATETIME_FMT),
890: WIP_CONSTANTS.DATETIME_FMT), WDJ.ROUTING_REVISION_DATE), --Bug#13936782: Ensuring that the seconds in routing and bom revision date is not truncated
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
886: --Routing and bom details should be updated only when the job is in unreleased status
887: --TO achieve this,decode on status type is added.
888: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
889: NVL(TO_DATE(TO_CHAR(wj.routing_revision_date, WIP_CONSTANTS.DATETIME_FMT),
890: WIP_CONSTANTS.DATETIME_FMT), WDJ.ROUTING_REVISION_DATE), --Bug#13936782: Ensuring that the seconds in routing and bom revision date is not truncated
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
888: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
889: NVL(TO_DATE(TO_CHAR(wj.routing_revision_date, WIP_CONSTANTS.DATETIME_FMT),
890: WIP_CONSTANTS.DATETIME_FMT), WDJ.ROUTING_REVISION_DATE), --Bug#13936782: Ensuring that the seconds in routing and bom revision date is not truncated
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
895: NVL(TO_DATE(TO_CHAR(wj.bom_revision_date, WIP_CONSTANTS.DATETIME_FMT),
896: WIP_CONSTANTS.DATETIME_FMT),WDJ.BOM_REVISION_DATE),
890: WIP_CONSTANTS.DATETIME_FMT), WDJ.ROUTING_REVISION_DATE), --Bug#13936782: Ensuring that the seconds in routing and bom revision date is not truncated
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
895: NVL(TO_DATE(TO_CHAR(wj.bom_revision_date, WIP_CONSTANTS.DATETIME_FMT),
896: WIP_CONSTANTS.DATETIME_FMT),WDJ.BOM_REVISION_DATE),
897: WDJ.BOM_REVISION_DATE),
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
891: WDJ.ROUTING_REVISION_DATE),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
895: NVL(TO_DATE(TO_CHAR(wj.bom_revision_date, WIP_CONSTANTS.DATETIME_FMT),
896: WIP_CONSTANTS.DATETIME_FMT),WDJ.BOM_REVISION_DATE),
897: WDJ.BOM_REVISION_DATE),
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
899: NVL(WJ.BOM_REVISION,WDJ.BOM_REVISION),WDJ.BOM_REVISION),
892: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
893: NVL(WJ.ROUTING_REVISION,WDJ.ROUTING_REVISION),WDJ.ROUTING_REVISION),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
895: NVL(TO_DATE(TO_CHAR(wj.bom_revision_date, WIP_CONSTANTS.DATETIME_FMT),
896: WIP_CONSTANTS.DATETIME_FMT),WDJ.BOM_REVISION_DATE),
897: WDJ.BOM_REVISION_DATE),
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
899: NVL(WJ.BOM_REVISION,WDJ.BOM_REVISION),WDJ.BOM_REVISION),
900: NVL(WJ.SERIALIZATION_START_OP, WDJ.SERIALIZATION_START_OP),
894: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
895: NVL(TO_DATE(TO_CHAR(wj.bom_revision_date, WIP_CONSTANTS.DATETIME_FMT),
896: WIP_CONSTANTS.DATETIME_FMT),WDJ.BOM_REVISION_DATE),
897: WDJ.BOM_REVISION_DATE),
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
899: NVL(WJ.BOM_REVISION,WDJ.BOM_REVISION),WDJ.BOM_REVISION),
900: NVL(WJ.SERIALIZATION_START_OP, WDJ.SERIALIZATION_START_OP),
901: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.BOM_REFERENCE_ID, WDJ.BOM_REFERENCE_ID), null),
902: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.ROUTING_REFERENCE_ID, WDJ.ROUTING_REFERENCE_ID), null),
897: WDJ.BOM_REVISION_DATE),
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
899: NVL(WJ.BOM_REVISION,WDJ.BOM_REVISION),WDJ.BOM_REVISION),
900: NVL(WJ.SERIALIZATION_START_OP, WDJ.SERIALIZATION_START_OP),
901: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.BOM_REFERENCE_ID, WDJ.BOM_REFERENCE_ID), null),
902: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.ROUTING_REFERENCE_ID, WDJ.ROUTING_REFERENCE_ID), null),
903: /* Modified for bug 5479283. Now bom/routing reference fields will be maintained with old value when null is passed. */
904: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
898: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
899: NVL(WJ.BOM_REVISION,WDJ.BOM_REVISION),WDJ.BOM_REVISION),
900: NVL(WJ.SERIALIZATION_START_OP, WDJ.SERIALIZATION_START_OP),
901: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.BOM_REFERENCE_ID, WDJ.BOM_REFERENCE_ID), null),
902: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.ROUTING_REFERENCE_ID, WDJ.ROUTING_REFERENCE_ID), null),
903: /* Modified for bug 5479283. Now bom/routing reference fields will be maintained with old value when null is passed. */
904: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
906: WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
900: NVL(WJ.SERIALIZATION_START_OP, WDJ.SERIALIZATION_START_OP),
901: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.BOM_REFERENCE_ID, WDJ.BOM_REFERENCE_ID), null),
902: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.ROUTING_REFERENCE_ID, WDJ.ROUTING_REFERENCE_ID), null),
903: /* Modified for bug 5479283. Now bom/routing reference fields will be maintained with old value when null is passed. */
904: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
906: WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
907: null),
908: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
901: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.BOM_REFERENCE_ID, WDJ.BOM_REFERENCE_ID), null),
902: --DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard, nvl(WJ.ROUTING_REFERENCE_ID, WDJ.ROUTING_REFERENCE_ID), null),
903: /* Modified for bug 5479283. Now bom/routing reference fields will be maintained with old value when null is passed. */
904: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
906: WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
907: null),
908: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
909: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
904: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
906: WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
907: null),
908: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
909: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
910: WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
911: null),
912: --Bug 5230849:End of changes for checking job status.
905: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
906: WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
907: null),
908: DECODE(WDJ.JOB_TYPE, wip_constants.nonstandard,
909: DECODE(nvl(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,
910: WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
911: null),
912: --Bug 5230849:End of changes for checking job status.
913: --Bug 5230849:Start of changes:
913: --Bug 5230849:Start of changes:
914: --Bom/Routing designator should be updatable for non-standard jobs also.
915: --If bom/rou designator is g_miss_char,existing value should be retained.
916: --No check on status type is needed becaue this is already considered during validation phase.
917: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_BOM_DESIGNATOR, WDJ.ALTERNATE_BOM_DESIGNATOR), null),
918: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_ROUTING_DESIGNATOR, WDJ.ALTERNATE_ROUTING_DESIGNATOR), null)
919: /*DECODE(WDJ.JOB_TYPE, wip_constants.standard,
920: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR),
921: DECODE(
914: --Bom/Routing designator should be updatable for non-standard jobs also.
915: --If bom/rou designator is g_miss_char,existing value should be retained.
916: --No check on status type is needed becaue this is already considered during validation phase.
917: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_BOM_DESIGNATOR, WDJ.ALTERNATE_BOM_DESIGNATOR), null),
918: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_ROUTING_DESIGNATOR, WDJ.ALTERNATE_ROUTING_DESIGNATOR), null)
919: /*DECODE(WDJ.JOB_TYPE, wip_constants.standard,
920: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR),
921: DECODE(
922: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
915: --If bom/rou designator is g_miss_char,existing value should be retained.
916: --No check on status type is needed becaue this is already considered during validation phase.
917: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_BOM_DESIGNATOR, WDJ.ALTERNATE_BOM_DESIGNATOR), null),
918: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_ROUTING_DESIGNATOR, WDJ.ALTERNATE_ROUTING_DESIGNATOR), null)
919: /*DECODE(WDJ.JOB_TYPE, wip_constants.standard,
920: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR),
921: DECODE(
922: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
923: NULL,NULL,
918: --DECODE(WDJ.JOB_TYPE, wip_constants.standard, nvl(WJ.ALTERNATE_ROUTING_DESIGNATOR, WDJ.ALTERNATE_ROUTING_DESIGNATOR), null)
919: /*DECODE(WDJ.JOB_TYPE, wip_constants.standard,
920: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR),
921: DECODE(
922: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
923: NULL,NULL,
924: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR))),
925: DECODE(WDJ.JOB_TYPE, wip_constants.standard,
926: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR),
921: DECODE(
922: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
923: NULL,NULL,
924: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR))),
925: DECODE(WDJ.JOB_TYPE, wip_constants.standard,
926: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR),
927: DECODE(
928: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
929: NULL,NULL,
924: DECODE(WJ.ALTERNATE_BOM_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_BOM_DESIGNATOR,WJ.ALTERNATE_BOM_DESIGNATOR))),
925: DECODE(WDJ.JOB_TYPE, wip_constants.standard,
926: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR),
927: DECODE(
928: DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
929: NULL,NULL,
930: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR))),
931: Modified update on ALTERNATE_BOM_DESIGNATOR,ALTERNATE_ROUTING_DESIGNATOR for bug 5479283.
932: This maintains old value when null is passed */
929: NULL,NULL,
930: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR))),
931: Modified update on ALTERNATE_BOM_DESIGNATOR,ALTERNATE_ROUTING_DESIGNATOR for bug 5479283.
932: This maintains old value when null is passed */
933: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_BOM_DESIGNATOR,
934: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
935: NULL,NULL,WJ.ALTERNATE_BOM_DESIGNATOR)),
936: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_ROUTING_DESIGNATOR,
937: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
930: DECODE(WJ.ALTERNATE_ROUTING_DESIGNATOR,fnd_api.g_miss_char,WDJ.ALTERNATE_ROUTING_DESIGNATOR,WJ.ALTERNATE_ROUTING_DESIGNATOR))),
931: Modified update on ALTERNATE_BOM_DESIGNATOR,ALTERNATE_ROUTING_DESIGNATOR for bug 5479283.
932: This maintains old value when null is passed */
933: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_BOM_DESIGNATOR,
934: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
935: NULL,NULL,WJ.ALTERNATE_BOM_DESIGNATOR)),
936: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_ROUTING_DESIGNATOR,
937: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
938: NULL,NULL,WJ.ALTERNATE_ROUTING_DESIGNATOR)),
932: This maintains old value when null is passed */
933: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_BOM_DESIGNATOR,
934: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
935: NULL,NULL,WJ.ALTERNATE_BOM_DESIGNATOR)),
936: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_ROUTING_DESIGNATOR,
937: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
938: NULL,NULL,WJ.ALTERNATE_ROUTING_DESIGNATOR)),
939: nvl(wj.wip_supply_type,wdj.wip_supply_type), -- Fix for bug 5440109
940: nvl(wj.demand_class,wdj.demand_class) -- Fix for bug 5440109
933: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_BOM_DESIGNATOR,
934: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.BOM_REFERENCE_ID,WDJ.BOM_REFERENCE_ID),
935: NULL,NULL,WJ.ALTERNATE_BOM_DESIGNATOR)),
936: DECODE(WDJ.JOB_TYPE, wip_constants.standard,WJ.ALTERNATE_ROUTING_DESIGNATOR,
937: DECODE(DECODE(NVL(WJ.STATUS_TYPE,WDJ.STATUS_TYPE),WIP_CONSTANTS.UNRELEASED,WJ.ROUTING_REFERENCE_ID,WDJ.ROUTING_REFERENCE_ID),
938: NULL,NULL,WJ.ALTERNATE_ROUTING_DESIGNATOR)),
939: nvl(wj.wip_supply_type,wdj.wip_supply_type), -- Fix for bug 5440109
940: nvl(wj.demand_class,wdj.demand_class) -- Fix for bug 5440109
941: --Bug 5230849:End of changes for bom/alternate designator updation.
943: WHERE WJ.ROWID = p_rowid)
944: WHERE WDJ.WIP_ENTITY_ID = l_wipEntityID;
945:
946: /* fix for bug 16079296 for class_code update */
947: IF (nvl(g_wjsiClassCode,g_wdjClassCode) <> g_wdjClassCode) AND (g_wjsiJobStatus = WIP_CONSTANTS.UNRELEASED or g_wdjJobStatus = WIP_CONSTANTS.UNRELEASED) then
948:
949: UPDATE WIP_DISCRETE_JOBS WDJ
950: SET (WDJ.class_code,
951: WDJ.material_account,