208: WRS.BOM_REVISION, WRS.BOM_REVISION_DATE,
209: WRS.ALTERNATE_ROUTING_DESIGNATOR,
210: WRS.COMMON_ROUTING_SEQUENCE_ID,
211: WRS.ROUTING_REVISION, WRS.ROUTING_REVISION_DATE,
212: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
209: WRS.ALTERNATE_ROUTING_DESIGNATOR,
210: WRS.COMMON_ROUTING_SEQUENCE_ID,
211: WRS.ROUTING_REVISION, WRS.ROUTING_REVISION_DATE,
212: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
217: WIP_CONSTANTS.DATETIME_FMT),
210: WRS.COMMON_ROUTING_SEQUENCE_ID,
211: WRS.ROUTING_REVISION, WRS.ROUTING_REVISION_DATE,
212: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
217: WIP_CONSTANTS.DATETIME_FMT),
218: WRS.LAST_UNIT_START_DATE, WRS.LAST_UNIT_COMPLETION_DATE,
211: WRS.ROUTING_REVISION, WRS.ROUTING_REVISION_DATE,
212: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
217: WIP_CONSTANTS.DATETIME_FMT),
218: WRS.LAST_UNIT_START_DATE, WRS.LAST_UNIT_COMPLETION_DATE,
219: SYSDATE, WRS.DATE_CLOSED,
212: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
217: WIP_CONSTANTS.DATETIME_FMT),
218: WRS.LAST_UNIT_START_DATE, WRS.LAST_UNIT_COMPLETION_DATE,
219: SYSDATE, WRS.DATE_CLOSED,
220: 0, WRS.DESCRIPTION,
213: TO_CHAR(WRS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
214: WIP_CONSTANTS.DATETIME_FMT),
215: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
216: TO_CHAR(WRS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
217: WIP_CONSTANTS.DATETIME_FMT),
218: WRS.LAST_UNIT_START_DATE, WRS.LAST_UNIT_COMPLETION_DATE,
219: SYSDATE, WRS.DATE_CLOSED,
220: 0, WRS.DESCRIPTION,
221: WRS.DEMAND_CLASS, WRS.MATERIAL_ACCOUNT,
259:
260: UPDATE WIP_REPETITIVE_SCHEDULES
261: SET PROCESSING_WORK_DAYS = x_rnd_days_ran,
262: LAST_UNIT_START_DATE =
263: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
264: TO_CHAR(LAST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
265: WIP_CONSTANTS.DATETIME_FMT)
266: FROM BOM_CALENDAR_DATES
267: WHERE CALENDAR_CODE = x_cal_code
260: UPDATE WIP_REPETITIVE_SCHEDULES
261: SET PROCESSING_WORK_DAYS = x_rnd_days_ran,
262: LAST_UNIT_START_DATE =
263: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
264: TO_CHAR(LAST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
265: WIP_CONSTANTS.DATETIME_FMT)
266: FROM BOM_CALENDAR_DATES
267: WHERE CALENDAR_CODE = x_cal_code
268: AND EXCEPTION_SET_ID = x_excp_set_id
261: SET PROCESSING_WORK_DAYS = x_rnd_days_ran,
262: LAST_UNIT_START_DATE =
263: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
264: TO_CHAR(LAST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
265: WIP_CONSTANTS.DATETIME_FMT)
266: FROM BOM_CALENDAR_DATES
267: WHERE CALENDAR_CODE = x_cal_code
268: AND EXCEPTION_SET_ID = x_excp_set_id
269: AND SEQ_NUM = x_lusd - x_rnd_days_left),
267: WHERE CALENDAR_CODE = x_cal_code
268: AND EXCEPTION_SET_ID = x_excp_set_id
269: AND SEQ_NUM = x_lusd - x_rnd_days_left),
270: LAST_UNIT_COMPLETION_DATE =
271: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
272: TO_CHAR(LAST_UNIT_COMPLETION_DATE,
273: WIP_CONSTANTS.TIMESEC_FMT),
274: WIP_CONSTANTS.DATETIME_FMT)
275: FROM BOM_CALENDAR_DATES
269: AND SEQ_NUM = x_lusd - x_rnd_days_left),
270: LAST_UNIT_COMPLETION_DATE =
271: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
272: TO_CHAR(LAST_UNIT_COMPLETION_DATE,
273: WIP_CONSTANTS.TIMESEC_FMT),
274: WIP_CONSTANTS.DATETIME_FMT)
275: FROM BOM_CALENDAR_DATES
276: WHERE CALENDAR_CODE = x_cal_code
277: AND EXCEPTION_SET_ID = x_excp_set_id
270: LAST_UNIT_COMPLETION_DATE =
271: (SELECT TO_DATE(TO_CHAR(CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
272: TO_CHAR(LAST_UNIT_COMPLETION_DATE,
273: WIP_CONSTANTS.TIMESEC_FMT),
274: WIP_CONSTANTS.DATETIME_FMT)
275: FROM BOM_CALENDAR_DATES
276: WHERE CALENDAR_CODE = x_cal_code
277: AND EXCEPTION_SET_ID = x_excp_set_id
278: AND SEQ_NUM = x_lucd - x_rnd_days_left),
333: x_first_op, x_rate * x_act_days_left, 0),
334: 0, 0,
335: 0, 0,
336: 0, '',0,
337: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
334: 0, 0,
335: 0, 0,
336: 0, '',0,
337: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
342: WIP_CONSTANTS.DATETIME_FMT),
335: 0, 0,
336: 0, '',0,
337: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
342: WIP_CONSTANTS.DATETIME_FMT),
343: OPS.LAST_UNIT_START_DATE, OPS.LAST_UNIT_COMPLETION_DATE,
336: 0, '',0,
337: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
342: WIP_CONSTANTS.DATETIME_FMT),
343: OPS.LAST_UNIT_START_DATE, OPS.LAST_UNIT_COMPLETION_DATE,
344: OPS.PREVIOUS_OPERATION_SEQ_NUM, OPS.NEXT_OPERATION_SEQ_NUM,
337: TO_DATE(TO_CHAR(CD1.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
342: WIP_CONSTANTS.DATETIME_FMT),
343: OPS.LAST_UNIT_START_DATE, OPS.LAST_UNIT_COMPLETION_DATE,
344: OPS.PREVIOUS_OPERATION_SEQ_NUM, OPS.NEXT_OPERATION_SEQ_NUM,
345: OPS.COUNT_POINT_TYPE, OPS.BACKFLUSH_FLAG,
338: TO_CHAR(OPS.FIRST_UNIT_START_DATE, WIP_CONSTANTS.TIMESEC_FMT),
339: WIP_CONSTANTS.DATETIME_FMT),
340: TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
341: TO_CHAR(OPS.FIRST_UNIT_COMPLETION_DATE, WIP_CONSTANTS.TIMESEC_FMT),
342: WIP_CONSTANTS.DATETIME_FMT),
343: OPS.LAST_UNIT_START_DATE, OPS.LAST_UNIT_COMPLETION_DATE,
344: OPS.PREVIOUS_OPERATION_SEQ_NUM, OPS.NEXT_OPERATION_SEQ_NUM,
345: OPS.COUNT_POINT_TYPE, OPS.BACKFLUSH_FLAG,
346: OPS.MINIMUM_TRANSFER_QUANTITY, OPS.LONG_DESCRIPTION,
387: QUANTITY_IN_QUEUE - x_act_days_left * x_rate,
388: QUANTITY_IN_QUEUE),
389: SCHEDULED_QUANTITY = x_rate * x_rnd_days_ran,
390: LAST_UNIT_START_DATE =
391: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
392: TO_CHAR(OPS.LAST_UNIT_START_DATE,
393: WIP_CONSTANTS.TIMESEC_FMT),
394: WIP_CONSTANTS.DATETIME_FMT)
395: FROM BOM_CALENDAR_DATES CD1,
389: SCHEDULED_QUANTITY = x_rate * x_rnd_days_ran,
390: LAST_UNIT_START_DATE =
391: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
392: TO_CHAR(OPS.LAST_UNIT_START_DATE,
393: WIP_CONSTANTS.TIMESEC_FMT),
394: WIP_CONSTANTS.DATETIME_FMT)
395: FROM BOM_CALENDAR_DATES CD1,
396: BOM_CALENDAR_DATES CD2
397: WHERE CD1.CALENDAR_CODE = x_cal_code
390: LAST_UNIT_START_DATE =
391: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
392: TO_CHAR(OPS.LAST_UNIT_START_DATE,
393: WIP_CONSTANTS.TIMESEC_FMT),
394: WIP_CONSTANTS.DATETIME_FMT)
395: FROM BOM_CALENDAR_DATES CD1,
396: BOM_CALENDAR_DATES CD2
397: WHERE CD1.CALENDAR_CODE = x_cal_code
398: AND CD1.EXCEPTION_SET_ID = x_excp_set_id
401: AND CD2.CALENDAR_CODE = x_cal_code
402: AND CD2.EXCEPTION_SET_ID = x_excp_set_id
403: AND CD2.SEQ_NUM = CD1.PRIOR_SEQ_NUM - x_rnd_days_left),
404: LAST_UNIT_COMPLETION_DATE =
405: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
406: TO_CHAR(OPS.LAST_UNIT_COMPLETION_DATE,
407: WIP_CONSTANTS.TIMESEC_FMT),
408: WIP_CONSTANTS.DATETIME_FMT)
409: FROM BOM_CALENDAR_DATES CD1,
403: AND CD2.SEQ_NUM = CD1.PRIOR_SEQ_NUM - x_rnd_days_left),
404: LAST_UNIT_COMPLETION_DATE =
405: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
406: TO_CHAR(OPS.LAST_UNIT_COMPLETION_DATE,
407: WIP_CONSTANTS.TIMESEC_FMT),
408: WIP_CONSTANTS.DATETIME_FMT)
409: FROM BOM_CALENDAR_DATES CD1,
410: BOM_CALENDAR_DATES CD2
411: WHERE CD1.CALENDAR_CODE = x_cal_code
404: LAST_UNIT_COMPLETION_DATE =
405: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
406: TO_CHAR(OPS.LAST_UNIT_COMPLETION_DATE,
407: WIP_CONSTANTS.TIMESEC_FMT),
408: WIP_CONSTANTS.DATETIME_FMT)
409: FROM BOM_CALENDAR_DATES CD1,
410: BOM_CALENDAR_DATES CD2
411: WHERE CD1.CALENDAR_CODE = x_cal_code
412: AND CD1.EXCEPTION_SET_ID = x_excp_set_id
485: AND R.OPERATION_SEQ_NUM = O.OPERATION_SEQ_NUM;
486:
487: UPDATE WIP_OPERATION_RESOURCES OPS
488: SET COMPLETION_DATE =
489: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
490: TO_CHAR(OPS.COMPLETION_DATE,
491: WIP_CONSTANTS.TIMESEC_FMT),
492: WIP_CONSTANTS.DATETIME_FMT)
493: FROM BOM_CALENDAR_DATES CD1,
487: UPDATE WIP_OPERATION_RESOURCES OPS
488: SET COMPLETION_DATE =
489: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
490: TO_CHAR(OPS.COMPLETION_DATE,
491: WIP_CONSTANTS.TIMESEC_FMT),
492: WIP_CONSTANTS.DATETIME_FMT)
493: FROM BOM_CALENDAR_DATES CD1,
494: BOM_CALENDAR_DATES CD2
495: WHERE CD1.CALENDAR_CODE = x_cal_code
488: SET COMPLETION_DATE =
489: (SELECT TO_DATE(TO_CHAR(CD2.CALENDAR_DATE, WIP_CONSTANTS.DATE_FMT) || ' ' ||
490: TO_CHAR(OPS.COMPLETION_DATE,
491: WIP_CONSTANTS.TIMESEC_FMT),
492: WIP_CONSTANTS.DATETIME_FMT)
493: FROM BOM_CALENDAR_DATES CD1,
494: BOM_CALENDAR_DATES CD2
495: WHERE CD1.CALENDAR_CODE = x_cal_code
496: AND CD1.EXCEPTION_SET_ID = x_excp_set_id
653: CURSOR gen_info IS
654: SELECT wrs.wip_entity_id,
655: wrs.line_id,
656: decode(p_rollfwd_type,
657: WIP_CONSTANTS.ROLL_EC_IMP,
658: 0, wrs.quantity_completed)
659: FROM wip_repetitive_schedules wrs
660: WHERE wrs.organization_id = p_org_id
661: AND wrs.repetitive_schedule_id =
658: 0, wrs.quantity_completed)
659: FROM wip_repetitive_schedules wrs
660: WHERE wrs.organization_id = p_org_id
661: AND wrs.repetitive_schedule_id =
662: decode(p_rollfwd_type, WIP_CONSTANTS.ROLL_EC_IMP, p_rollfwd_sched_id,
663: p_closed_sched_id);
664:
665: CURSOR get_nxt is
666: SELECT r1.repetitive_schedule_id,
675: AND p.organization_id = p_org_id
676: AND r2.repetitive_schedule_id = p_closed_sched_id
677: AND r1.wip_entity_id = x_wip_id
678: AND r1.line_id = x_line_id
679: AND r1.status_type IN (WIP_CONSTANTS.UNRELEASED, WIP_CONSTANTS.RELEASED,
680: WIP_CONSTANTS.COMP_CHRG, WIP_CONSTANTS.HOLD)
681: AND r1.first_unit_start_date > r2.last_unit_start_date
682: AND r1.first_unit_start_date <= SYSDATE +
683: decode(r1.status_type, WIP_CONSTANTS.UNRELEASED,
676: AND r2.repetitive_schedule_id = p_closed_sched_id
677: AND r1.wip_entity_id = x_wip_id
678: AND r1.line_id = x_line_id
679: AND r1.status_type IN (WIP_CONSTANTS.UNRELEASED, WIP_CONSTANTS.RELEASED,
680: WIP_CONSTANTS.COMP_CHRG, WIP_CONSTANTS.HOLD)
681: AND r1.first_unit_start_date > r2.last_unit_start_date
682: AND r1.first_unit_start_date <= SYSDATE +
683: decode(r1.status_type, WIP_CONSTANTS.UNRELEASED,
684: p.autorelease_days,NUM_DAYS_IN_10_YEARS)
679: AND r1.status_type IN (WIP_CONSTANTS.UNRELEASED, WIP_CONSTANTS.RELEASED,
680: WIP_CONSTANTS.COMP_CHRG, WIP_CONSTANTS.HOLD)
681: AND r1.first_unit_start_date > r2.last_unit_start_date
682: AND r1.first_unit_start_date <= SYSDATE +
683: decode(r1.status_type, WIP_CONSTANTS.UNRELEASED,
684: p.autorelease_days,NUM_DAYS_IN_10_YEARS)
685: ORDER BY r1.first_unit_start_date;
686:
687: CURSOR roll_ec IS
723: open gen_info;
724: fetch gen_info INTO x_wip_id, x_line_id, x_qty_completed;
725: close gen_info;
726:
727: IF ((p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) OR
728: (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL)) THEN
729:
730: -- get the next schedule with start date after the last unit date of
731: -- the closed schedule
724: fetch gen_info INTO x_wip_id, x_line_id, x_qty_completed;
725: close gen_info;
726:
727: IF ((p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) OR
728: (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL)) THEN
729:
730: -- get the next schedule with start date after the last unit date of
731: -- the closed schedule
732: open get_nxt;
737: end if;
738: close get_nxt;
739:
740: IF ((x_found_next_sched) AND
741: (x_rollfwd_status_type = WIP_CONSTANTS.UNRELEASED)) THEN
742:
743: wip_change_status.check_repetitive_routing(x_wip_id,
744: p_org_id,
745: p_rollfwd_sched_id,
745: p_rollfwd_sched_id,
746: x_line_id);
747: END IF;
748:
749: IF (p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) THEN
750: IF (x_found_next_sched) THEN
751: x_closed_status_type := WIP_CONSTANTS.COMP_NOCHRG;
752: ELSE
753: x_closed_status_type := WIP_CONSTANTS.COMP_CHRG;
747: END IF;
748:
749: IF (p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) THEN
750: IF (x_found_next_sched) THEN
751: x_closed_status_type := WIP_CONSTANTS.COMP_NOCHRG;
752: ELSE
753: x_closed_status_type := WIP_CONSTANTS.COMP_CHRG;
754: END IF;
755: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL) THEN
749: IF (p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) THEN
750: IF (x_found_next_sched) THEN
751: x_closed_status_type := WIP_CONSTANTS.COMP_NOCHRG;
752: ELSE
753: x_closed_status_type := WIP_CONSTANTS.COMP_CHRG;
754: END IF;
755: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL) THEN
756: x_closed_status_type := WIP_CONSTANTS.CANCELLED;
757: END IF;
751: x_closed_status_type := WIP_CONSTANTS.COMP_NOCHRG;
752: ELSE
753: x_closed_status_type := WIP_CONSTANTS.COMP_CHRG;
754: END IF;
755: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL) THEN
756: x_closed_status_type := WIP_CONSTANTS.CANCELLED;
757: END IF;
758:
759: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_EC_IMP) THEN
752: ELSE
753: x_closed_status_type := WIP_CONSTANTS.COMP_CHRG;
754: END IF;
755: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL) THEN
756: x_closed_status_type := WIP_CONSTANTS.CANCELLED;
757: END IF;
758:
759: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_EC_IMP) THEN
760: open roll_ec;
755: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL) THEN
756: x_closed_status_type := WIP_CONSTANTS.CANCELLED;
757: END IF;
758:
759: ELSIF (p_rollfwd_type = WIP_CONSTANTS.ROLL_EC_IMP) THEN
760: open roll_ec;
761: fetch roll_ec INTO x_rollfwd_status_type, x_rollfwd_qty,
762: x_date_reqd;
763: if roll_ec%NOTFOUND then
790: AND wro.quantity_issued >
791: x_qty_completed * wro.quantity_per_assembly
792: AND wro.required_quantity >
793: decode(p_rollfwd_type,
794: WIP_CONSTANTS.ROLL_EC_IMP, -1, 0)),
795: new.last_updated_by = x_user_id,
796: new.last_update_date = SYSDATE,
797: new.request_id =
798: decode(x_request_id, 0, new.request_id, x_request_id),
874: AND wro.operation_seq_num = wo.operation_seq_num (+)
875: AND wro.quantity_issued > x_qty_completed *
876: wro.quantity_per_assembly
877: AND wro.required_quantity > decode(p_rollfwd_type,
878: WIP_CONSTANTS.ROLL_EC_IMP, -1, 0)
879: AND NOT EXISTS
880: (SELECT 'does the requirement already exist?'
881: FROM wip_requirement_operations wro1
882: WHERE wro1.inventory_item_id = wro.inventory_item_id
903: AND wro.wip_entity_id = x_wip_id
904: AND wro.repetitive_schedule_id = p_closed_sched_id
905: AND wro.quantity_issued > x_qty_completed * wro.quantity_per_assembly
906: AND wro.required_quantity > DECODE(p_rollfwd_type,
907: WIP_CONSTANTS.ROLL_EC_IMP, -1, 0);
908:
909: END IF;
910:
911: IF (p_update_status) THEN
908:
909: END IF;
910:
911: IF (p_update_status) THEN
912: IF ((p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) OR
913: (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL)) THEN
914:
915: -- set the closed status of closed schedule
916: UPDATE wip_repetitive_schedules wrs
909: END IF;
910:
911: IF (p_update_status) THEN
912: IF ((p_rollfwd_type = WIP_CONSTANTS.ROLL_COMPLETE) OR
913: (p_rollfwd_type = WIP_CONSTANTS.ROLL_CANCEL)) THEN
914:
915: -- set the closed status of closed schedule
916: UPDATE wip_repetitive_schedules wrs
917: SET wrs.status_type = x_closed_status_type,
916: UPDATE wip_repetitive_schedules wrs
917: SET wrs.status_type = x_closed_status_type,
918: wrs.date_closed =
919: decode(x_closed_status_type,
920: WIP_CONSTANTS.COMP_CHRG,
921: wrs.date_closed, SYSDATE),
922: wrs.last_updated_by = x_user_id,
923: wrs.last_update_date = SYSDATE,
924: wrs.request_id = decode(x_request_id, 0, wrs.request_id,
936:
937: END IF;
938: END IF;
939:
940: IF (x_rollfwd_status_type = WIP_CONSTANTS.UNRELEASED) THEN
941:
942: -- release next schedule
943: UPDATE wip_repetitive_schedules wrs
944: SET wrs.status_type = WIP_CONSTANTS.RELEASED,
940: IF (x_rollfwd_status_type = WIP_CONSTANTS.UNRELEASED) THEN
941:
942: -- release next schedule
943: UPDATE wip_repetitive_schedules wrs
944: SET wrs.status_type = WIP_CONSTANTS.RELEASED,
945: wrs.date_released = SYSDATE,
946: wrs.last_update_date = SYSDATE,
947: wrs.last_updated_by = x_user_id,
948: wrs.request_id = decode(x_request_id, 0, wrs.request_id,