[Home] [Help]
167: p_atp_rec.demand_source_delivery,
168: MSC_ATP_UTILS.Truncate_Demand(p_atp_rec.quantity_ordered), --5598066
169: 0,
170: 1,
171: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY , -- For bug 2259824
172: sysdate,
173: FND_GLOBAL.USER_ID,
174: sysdate,
175: FND_GLOBAL.USER_ID,
179: p_atp_rec.ato_model_line_id,
180: l_record_source, -- bug 2810112
181: --start changes for plan by request date
182: p_atp_rec.original_request_ship_date,
183: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
184: --end changes for plan by request date
185: MSC_ATP_PVT.G_PARTNER_ID,
186: MSC_ATP_PVT.G_PARTNER_SITE_ID,
187: p_atp_rec.delivery_lead_time, --bug3263368
181: --start changes for plan by request date
182: p_atp_rec.original_request_ship_date,
183: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
184: --end changes for plan by request date
185: MSC_ATP_PVT.G_PARTNER_ID,
186: MSC_ATP_PVT.G_PARTNER_SITE_ID,
187: p_atp_rec.delivery_lead_time, --bug3263368
188: p_atp_rec.ship_set_name, --bug3263368
189: p_atp_rec.arrival_set_name --bug3263368
182: p_atp_rec.original_request_ship_date,
183: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
184: --end changes for plan by request date
185: MSC_ATP_PVT.G_PARTNER_ID,
186: MSC_ATP_PVT.G_PARTNER_SITE_ID,
187: p_atp_rec.delivery_lead_time, --bug3263368
188: p_atp_rec.ship_set_name, --bug3263368
189: p_atp_rec.arrival_set_name --bug3263368
190: )
266: p_atp_rec.demand_source_header_id,
267: p_atp_rec.demand_source_line,
268: p_atp_rec.demand_source_delivery,
269: MSC_ATP_UTILS.Truncate_Demand(p_atp_rec.quantity_ordered), --5598066
270: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY , -- For bug 2259824
271: FND_GLOBAL.USER_ID,
272: FND_GLOBAL.USER_ID,
273: p_atp_rec.demand_class,
274: p_atp_rec.refresh_number,
275: p_atp_rec.order_number,
276: p_atp_rec.ato_model_line_id,
277: l_record_source, -- bug 2810112
278: p_atp_rec.original_request_ship_date,
279: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
280: MSC_ATP_PVT.G_PARTNER_ID,
281: MSC_ATP_PVT.G_PARTNER_SITE_ID,
282: p_atp_rec.delivery_lead_time, --bug3263368
283: p_atp_rec.ship_set_name, --bug3263368
276: p_atp_rec.ato_model_line_id,
277: l_record_source, -- bug 2810112
278: p_atp_rec.original_request_ship_date,
279: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
280: MSC_ATP_PVT.G_PARTNER_ID,
281: MSC_ATP_PVT.G_PARTNER_SITE_ID,
282: p_atp_rec.delivery_lead_time, --bug3263368
283: p_atp_rec.ship_set_name, --bug3263368
284: p_atp_rec.arrival_set_name, --bug3263368
277: l_record_source, -- bug 2810112
278: p_atp_rec.original_request_ship_date,
279: p_atp_rec.requested_ship_date + MSC_ATP_PVT.G_END_OF_DAY,
280: MSC_ATP_PVT.G_PARTNER_ID,
281: MSC_ATP_PVT.G_PARTNER_SITE_ID,
282: p_atp_rec.delivery_lead_time, --bug3263368
283: p_atp_rec.ship_set_name, --bug3263368
284: p_atp_rec.arrival_set_name, --bug3263368
285: p_atp_rec.demand_source_line,--bug6647536
287: p_atp_rec.demand_source_line--bug6647536
288: RETURNING INTO x_demand_id;
289: END IF;
290:
291: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
292: IF PG_DEBUG in ('Y', 'C') THEN
293: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'Insert into summary table');
294: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || ' update msc_atp_summary_so');
295: END IF;
387: -- For bug 2259824, move the demand to the end of day
388: UPDATE msc_demands
389: SET using_requirement_quantity = p_atp_rec.quantity_ordered,
390: USING_ASSEMBLY_DEMAND_DATE=
391: decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
388: UPDATE msc_demands
389: SET using_requirement_quantity = p_atp_rec.quantity_ordered,
390: USING_ASSEMBLY_DEMAND_DATE=
391: decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
389: SET using_requirement_quantity = p_atp_rec.quantity_ordered,
390: USING_ASSEMBLY_DEMAND_DATE=
391: decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
390: USING_ASSEMBLY_DEMAND_DATE=
391: decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
391: decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
399: schedule_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
392: MSC_ATP_PVT.G_SCHEDULE_DATE_LEGEND,
393: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
399: schedule_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
400: promise_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
394: MSC_ATP_PVT.G_PROMISE_DATE_LEGEND,
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
399: schedule_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
400: promise_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
401: request_ship_date=TRUNC(p_atp_rec.original_request_ship_date),--added by avjain
402: --request_arrival_date=TRUNC(p_atp_rec.original_request_arrival_date),--added by avjain
395: TRUNC(NVL(p_atp_rec.requested_ship_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
399: schedule_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
400: promise_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
401: request_ship_date=TRUNC(p_atp_rec.original_request_ship_date),--added by avjain
402: --request_arrival_date=TRUNC(p_atp_rec.original_request_arrival_date),--added by avjain
403: demand_type = 1,
396: MSC_ATP_PVT.G_REQUEST_DATE_LEGEND,
397: p_atp_rec.requested_ship_date,
398: TRUNC(NVL(p_atp_rec.requested_ship_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
399: schedule_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
400: promise_ship_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,--added by avjain
401: request_ship_date=TRUNC(p_atp_rec.original_request_ship_date),--added by avjain
402: --request_arrival_date=TRUNC(p_atp_rec.original_request_arrival_date),--added by avjain
403: demand_type = 1,
404: origination_type = p_atp_rec.origination_type,
412: 30, p_atp_rec.order_number,
413: null),
414: applied = decode(p_atp_rec.origination_type, 6, 2, 30, 2, null),
415: status = decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
416: customer_id = MSC_ATP_PVT.G_PARTNER_ID,
417: ship_to_site_id = MSC_ATP_PVT.G_PARTNER_SITE_ID,
418: inventory_item_id = p_atp_rec.inventory_item_id,
419: -- 24x7
420: atp_synchronization_flag = 0,
413: null),
414: applied = decode(p_atp_rec.origination_type, 6, 2, 30, 2, null),
415: status = decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
416: customer_id = MSC_ATP_PVT.G_PARTNER_ID,
417: ship_to_site_id = MSC_ATP_PVT.G_PARTNER_SITE_ID,
418: inventory_item_id = p_atp_rec.inventory_item_id,
419: -- 24x7
420: atp_synchronization_flag = 0,
421: -- bug 2795053-reopen (ssurendr) update the demand_satisfied_date in msc_demands
418: inventory_item_id = p_atp_rec.inventory_item_id,
419: -- 24x7
420: atp_synchronization_flag = 0,
421: -- bug 2795053-reopen (ssurendr) update the demand_satisfied_date in msc_demands
422: dmd_satisfied_date = TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY
423: WHERE sr_instance_id = p_atp_rec.instance_id
424: AND plan_id = p_plan_id
425: AND sales_order_line_id = p_atp_rec.demand_source_line
426: AND demand_id = p_atp_rec.old_demand_id
433: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'found demand and updated demand_id : ' || x_demand_id);
434: END IF;
435: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
436:
437: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
438: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
439: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
440: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
441:
434: END IF;
435: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
436:
437: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
438: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
439: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
440: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
441:
442: IF PG_DEBUG in ('Y', 'C') THEN
435: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
436:
437: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
438: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
439: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
440: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
441:
442: IF PG_DEBUG in ('Y', 'C') THEN
443: msc_sch_wb.atp_debug('Add_Mat_Demand: before update of msc_alloc_demands');
436:
437: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
438: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
439: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
440: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
441:
442: IF PG_DEBUG in ('Y', 'C') THEN
443: msc_sch_wb.atp_debug('Add_Mat_Demand: before update of msc_alloc_demands');
444: END IF;
539: msc_demands_s.nextval,
540: MSC_ATP_UTILS.Truncate_Demand(p_atp_rec.quantity_ordered), -- 5598066
541: -- start changes for plan by request date
542: decode(p_atp_rec.origination_type,
543: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
544: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
545: null), --plan by request date
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
540: MSC_ATP_UTILS.Truncate_Demand(p_atp_rec.quantity_ordered), -- 5598066
541: -- start changes for plan by request date
542: decode(p_atp_rec.origination_type,
543: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
544: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
545: null), --plan by request date
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
543: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
544: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
545: null), --plan by request date
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
544: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
545: null), --plan by request date
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
545: null), --plan by request date
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
546: decode(p_atp_rec.origination_type,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
547: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
548: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
549: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
550: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
551: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
552: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
553: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
554: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
555: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
556: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
557: p_atp_rec.original_request_ship_date,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
558: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
559: p_atp_rec.original_request_ship_date,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
560: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
561: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
562: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
563: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
564: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
565: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
573: p_atp_rec.original_request_ship_date,
566: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
567: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
573: p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
568: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
569: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
573: p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
575: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
576: decode(p_atp_rec.origination_type,
570: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
573: p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
575: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
576: decode(p_atp_rec.origination_type,
577: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
578: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
571: p_atp_rec.original_request_ship_date,
572: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
573: p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
575: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
576: decode(p_atp_rec.origination_type,
577: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
578: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
579: null), -- plan by request date
573: p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
575: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
576: decode(p_atp_rec.origination_type,
577: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
578: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
579: null), -- plan by request date
580: decode(p_atp_rec.origination_type,
581: 6, p_atp_rec.original_request_ship_date,
574: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
575: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
576: decode(p_atp_rec.origination_type,
577: 6, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
578: 30, TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
579: null), -- plan by request date
580: decode(p_atp_rec.origination_type,
581: 6, p_atp_rec.original_request_ship_date,
582: 30, p_atp_rec.original_request_ship_date,
597: FND_GLOBAL.USER_ID,
598: --p_atp_rec.demand_class,
599: ---bug 2424357: we do not store the converted demand class
600: -- always store the actual demand class.
601: DECODE(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1, MSC_ATP_PVT.G_ATP_DEMAND_CLASS,
602: 2, p_atp_rec.demand_class),
603: p_atp_rec.refresh_number,
604: /* s_cto_rearch
605: -- Modified by ngoel on 1/12/2001 for origination_type = 30
610: --s_cto_rearch
611: p_atp_rec.order_number,
612: decode(p_atp_rec.origination_type, 6, 2, 30, 2, null),
613: decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
614: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID, 30, MSC_ATP_PVT.G_PARTNER_ID, null),
615: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID, 30, MSC_ATP_PVT.G_PARTNER_SITE_ID, null),
616: MSC_ATP_PVT.G_PARTNER_ID,
617: MSC_ATP_PVT.G_PARTNER_SITE_ID,
618: l_record_source, -- For plan order pegging
611: p_atp_rec.order_number,
612: decode(p_atp_rec.origination_type, 6, 2, 30, 2, null),
613: decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
614: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID, 30, MSC_ATP_PVT.G_PARTNER_ID, null),
615: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID, 30, MSC_ATP_PVT.G_PARTNER_SITE_ID, null),
616: MSC_ATP_PVT.G_PARTNER_ID,
617: MSC_ATP_PVT.G_PARTNER_SITE_ID,
618: l_record_source, -- For plan order pegging
619: -- 24x7
612: decode(p_atp_rec.origination_type, 6, 2, 30, 2, null),
613: decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
614: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID, 30, MSC_ATP_PVT.G_PARTNER_ID, null),
615: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID, 30, MSC_ATP_PVT.G_PARTNER_SITE_ID, null),
616: MSC_ATP_PVT.G_PARTNER_ID,
617: MSC_ATP_PVT.G_PARTNER_SITE_ID,
618: l_record_source, -- For plan order pegging
619: -- 24x7
620: 0,
613: decode(p_atp_rec.origination_type, 6, 0, 30, 0, null),
614: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID, 30, MSC_ATP_PVT.G_PARTNER_ID, null),
615: --decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID, 30, MSC_ATP_PVT.G_PARTNER_SITE_ID, null),
616: MSC_ATP_PVT.G_PARTNER_ID,
617: MSC_ATP_PVT.G_PARTNER_SITE_ID,
618: l_record_source, -- For plan order pegging
619: -- 24x7
620: 0,
621: -- bug 2795053-reopen (ssurendr) insert the demand_satisfied_date in msc_demands
618: l_record_source, -- For plan order pegging
619: -- 24x7
620: 0,
621: -- bug 2795053-reopen (ssurendr) insert the demand_satisfied_date in msc_demands
622: TRUNC(p_atp_rec.requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
623: msc_demands_s.nextval,
624: --s_cto_rearch
625: p_atp_rec.parent_line_id,
626: p_atp_rec.ato_model_line_id,
650: p_atp_rec.refresh_number,
651: l_return_status
652: );
653: --5158454 Preserve the SO demand id for the first run.
654: IF MSC_ATP_PVT.G_OPTIONAL_FW is null AND MSC_ATP_PVT.G_FORWARD_ATP = 'Y'
655: AND p_atp_rec.origination_type in (6,30) THEN
656: MSC_ATP_PVT.G_DEMAND_ID := x_demand_id;
657: END IF;
658:
652: );
653: --5158454 Preserve the SO demand id for the first run.
654: IF MSC_ATP_PVT.G_OPTIONAL_FW is null AND MSC_ATP_PVT.G_FORWARD_ATP = 'Y'
655: AND p_atp_rec.origination_type in (6,30) THEN
656: MSC_ATP_PVT.G_DEMAND_ID := x_demand_id;
657: END IF;
658:
659: IF PG_DEBUG in ('Y', 'C') THEN
660: msc_sch_wb.atp_debug('Add_Mat_Demand: MSC_ATP_PVT.G_DEMAND_ID = '|| MSC_ATP_PVT.G_DEMAND_ID);
656: MSC_ATP_PVT.G_DEMAND_ID := x_demand_id;
657: END IF;
658:
659: IF PG_DEBUG in ('Y', 'C') THEN
660: msc_sch_wb.atp_debug('Add_Mat_Demand: MSC_ATP_PVT.G_DEMAND_ID = '|| MSC_ATP_PVT.G_DEMAND_ID);
661: END IF;
662: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
663: IF PG_DEBUG in ('Y', 'C') THEN
664: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'Error occured in procedure Add_PF_Bucketed_Demands');
666: RAISE FND_API.G_EXC_ERROR;
667: END IF;
668:
669: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
670: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
671: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
672: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
673: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
674:
667: END IF;
668:
669: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
670: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
671: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
672: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
673: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
674:
675: IF PG_DEBUG in ('Y', 'C') THEN
668:
669: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
670: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
671: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
672: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
673: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
674:
675: IF PG_DEBUG in ('Y', 'C') THEN
676: msc_sch_wb.atp_debug('Add_Mat_Demand: before insert into msc_alloc_demands');
669: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
670: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
671: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
672: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
673: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
674:
675: IF PG_DEBUG in ('Y', 'C') THEN
676: msc_sch_wb.atp_debug('Add_Mat_Demand: before insert into msc_alloc_demands');
677: END IF;
722: FND_GLOBAL.USER_ID,
723: sysdate,
724: p_atp_rec.refresh_number,
725: --bug3684383
726: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID,
727: 30, MSC_ATP_PVT.G_PARTNER_ID,
728: null),
729: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID,
730: 30, MSC_ATP_PVT.G_PARTNER_SITE_ID,
723: sysdate,
724: p_atp_rec.refresh_number,
725: --bug3684383
726: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID,
727: 30, MSC_ATP_PVT.G_PARTNER_ID,
728: null),
729: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID,
730: 30, MSC_ATP_PVT.G_PARTNER_SITE_ID,
731: null));
725: --bug3684383
726: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID,
727: 30, MSC_ATP_PVT.G_PARTNER_ID,
728: null),
729: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID,
730: 30, MSC_ATP_PVT.G_PARTNER_SITE_ID,
731: null));
732: END IF;
733:
726: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_ID,
727: 30, MSC_ATP_PVT.G_PARTNER_ID,
728: null),
729: decode(p_atp_rec.origination_type, 6, MSC_ATP_PVT.G_PARTNER_SITE_ID,
730: 30, MSC_ATP_PVT.G_PARTNER_SITE_ID,
731: null));
732: END IF;
733:
734: -- Allocated ATP Based on Planning Details -- Agilent changes End
736: END IF; --(p_atp_rec.origination_type NOT IN (6, 30) OR SQL%ROWCOUNT = 0)
737:
738:
739: -- Update summary records only in ODS - for summary enhancement
740: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
741: IF PG_DEBUG in ('Y', 'C') THEN
742: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'add demands to summary tables');
743: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'First try to update');
744: END IF;
790: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'insert row: sqlcode = '|| to_char(my_sqlcode));
791: END IF;
792:
793: -- Commit chenges only in PDS - for summary enhancement
794: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND p_plan_id = -1 THEN
795: -- in case of summmary mode we always commit after each change
796: IF PG_DEBUG in ('Y', 'C') THEN
797: msc_sch_wb.atp_debug('Add_Mat_Demand: ' || 'Commit in summary mode');
798: END IF;
974: p_pegging_rec.supply_demand_source_type,
975: p_pegging_rec.supply_demand_quantity,
976: p_pegging_rec.supply_demand_type,
977: p_pegging_rec.supply_demand_date,
978: NVL(MSC_ATP_PVT.G_DEMAND_PEGGING_ID, msc_full_pegging_s.currval),
979: p_pegging_rec.constraint_flag,
980: p_pegging_rec.allocated_quantity, -- 1527660
981: p_pegging_rec.number1,
982: p_pegging_rec.char1,
1010: -- p_pegging_rec.REQUIRED_DATE,
1011: -- Bug 2748730. Move the required_date to day end only when the pegging is for demand line
1012: -- This is applicable irrespective of whether the line is overridden or not
1013: DECODE(p_pegging_rec.supply_demand_type,
1014: 1, TRUNC(p_pegging_rec.REQUIRED_DATE) + MSC_ATP_PVT.G_END_OF_DAY,
1015: p_pegging_rec.REQUIRED_DATE),
1016: p_pegging_rec.OPERATION_SEQUENCE_ID,
1017: p_pegging_rec.SOURCING_RULE_NAME,
1018: p_pegging_rec.OFFSET,
1038: p_pegging_rec.base_model_id,
1039: p_pegging_rec.base_model_name,
1040: p_pegging_rec.nonatp_flag,
1041: p_pegging_rec.demand_class,
1042: MSC_ATP_PVT.G_PARTNER_ID,
1043: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1044: p_pegging_rec.receiving_organization_id,
1045: p_pegging_rec.actual_supply_demand_date,
1046: --e_cto_rearch
1039: p_pegging_rec.base_model_name,
1040: p_pegging_rec.nonatp_flag,
1041: p_pegging_rec.demand_class,
1042: MSC_ATP_PVT.G_PARTNER_ID,
1043: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1044: p_pegging_rec.receiving_organization_id,
1045: p_pegging_rec.actual_supply_demand_date,
1046: --e_cto_rearch
1047: p_pegging_rec.aggregate_time_fence_date, -- For time_phased_atp
1263: p_op_seq_num, -- This field was not getting populated before. CTO ODR
1264: -- Bug 3348095
1265: -- Now both start and end dates will be stored for
1266: -- ATP created resource requirements.
1267: TRUNC(p_start_date) + MSC_ATP_PVT.G_END_OF_DAY,
1268: TRUNC(p_end_date) + MSC_ATP_PVT.G_END_OF_DAY, -- For bug 2259824
1269: -- End Bug 3348095
1270: p_resource_hours,
1271: p_unadj_resource_hours, --5093604
1264: -- Bug 3348095
1265: -- Now both start and end dates will be stored for
1266: -- ATP created resource requirements.
1267: TRUNC(p_start_date) + MSC_ATP_PVT.G_END_OF_DAY,
1268: TRUNC(p_end_date) + MSC_ATP_PVT.G_END_OF_DAY, -- For bug 2259824
1269: -- End Bug 3348095
1270: p_resource_hours,
1271: p_unadj_resource_hours, --5093604
1272: p_touch_time, --5093604
1273: decode(p_resource_id,-1,p_resource_hours,to_number(null)),
1274: 0,
1275: 5,
1276: p_std_op_code,
1277: --MSC_ATP_PVT.G_OPTIMIZED_PLAN, Bug 3327819 Default parent_id to NULL.
1278: sysdate,
1279: FND_GLOBAL.USER_ID,
1280: sysdate,
1281: FND_GLOBAL.USER_ID,
1285: RETURNING transaction_id INTO x_transaction_id;
1286:
1287: -- Code to make summary updates and commit removed for summary enhancement
1288: /** code commented for time being. Will be removed after code review
1289: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
1290: IF PG_DEBUG in ('Y', 'C') THEN
1291: msc_sch_wb.atp_debug('Add_Resource_Demand: ' || ' In summary mode update resource req');
1292: msc_sch_wb.atp_debug('Add_Resource_Demand: ' || 'First update');
1293: END IF;
1376: IF PG_DEBUG in ('Y', 'C') THEN
1377: msc_sch_wb.atp_debug('Add_Resource_Demand: ' || 'Summary mode commit, in resource_req');
1378: END IF;
1379: commit;
1380: END IF; --- if MSC_ATP_PVT.SUMMARY_FLAG = 'Y'
1381: ***/
1382:
1383: IF PG_DEBUG in ('Y', 'C') THEN
1384: msc_sch_wb.atp_debug('Add_Resource_Demand: ' || 'x_transaction_id = '||x_transaction_id);
1399: END IF;
1400:
1401: DELETE FROM mrp_atp_details_temp
1402: WHERE pegging_id = p_pegging_id
1403: AND session_id = MSC_ATP_PVT.G_SESSION_ID;
1404:
1405: IF PG_DEBUG in ('Y', 'C') THEN
1406: msc_sch_wb.atp_debug('After delete_pegging,p_pegging_id='||p_pegging_id);
1407: END IF;
1475: msc_sch_wb.atp_debug('p_source_organization id := ' || p_source_organization_Id);
1476: END IF;
1477: IF p_plan_id = -1 THEN
1478:
1479: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND G_ORIG_INV_CTP = 5 THEN
1480: -- Condition for INV_CTP added for bug 3295831 because summary
1481: -- is not supported in PDS-ODS switch.
1482: MSC_ATP_DB_UTILS.DELETE_SUMMARY_ROW(p_identifier, p_plan_id, p_instance_id,p_demand_source_type);--cmro
1483: END IF;
1586: msc_sch_wb.atp_debug('Delete_Row: ' || 'Deleting msc_demands with identifier = '||
1587: p_identifier ||' : plan id = '||p_plan_id);
1588: END IF;
1589:
1590: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
1591: IF PG_DEBUG in ('Y', 'C') THEN
1592: msc_sch_wb.atp_debug('Delete_Row: ' || 'Obtain the latest refresh number.');
1593: END IF;
1594:
1601: msc_sch_wb.atp_debug('Delete_Row: ' || 'l_current_refresh_number := ' || l_current_refresh_number);
1602: END IF;
1603: END IF;
1604:
1605: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'N') OR
1606: (p_time_phased_atp = 'Y') OR
1607: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1608: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1609: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1603: END IF;
1604:
1605: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'N') OR
1606: (p_time_phased_atp = 'Y') OR
1607: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1608: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1609: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1610: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
1611: -- If condition added for summary enhancement
1604:
1605: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'N') OR
1606: (p_time_phased_atp = 'Y') OR
1607: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1608: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1609: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1610: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
1611: -- If condition added for summary enhancement
1612: -- execute the old code non-summary cases and demand priority allocation cases
1605: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'N') OR
1606: (p_time_phased_atp = 'Y') OR
1607: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1608: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1609: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1610: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
1611: -- If condition added for summary enhancement
1612: -- execute the old code non-summary cases and demand priority allocation cases
1613: IF PG_DEBUG in ('Y', 'C') THEN
1606: (p_time_phased_atp = 'Y') OR
1607: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1608: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1609: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1610: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
1611: -- If condition added for summary enhancement
1612: -- execute the old code non-summary cases and demand priority allocation cases
1613: IF PG_DEBUG in ('Y', 'C') THEN
1614: msc_sch_wb.atp_debug('Delete_Row: ' || 'Summary , PF or allocated.');
1649: AND sales_order_line_id IN (
1650: SELECT component_identifier
1651: FROM msc_bom_temp
1652: START WITH assembly_identifier = p_identifier
1653: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1654: AND assembly_identifier <> component_identifier
1655: CONNECT BY PRIOR component_identifier = assembly_identifier
1656: AND assembly_identifier <> component_identifier
1657: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1653: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1654: AND assembly_identifier <> component_identifier
1655: CONNECT BY PRIOR component_identifier = assembly_identifier
1656: AND assembly_identifier <> component_identifier
1657: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1658: UNION ALL
1659: SELECT p_identifier FROM dual
1660: -- rajjain 03/14/2003 Bug 2849749 End
1661: )
1710: AND sales_order_line_id IN (
1711: SELECT component_identifier
1712: FROM msc_bom_temp
1713: START WITH assembly_identifier = p_identifier
1714: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1715: AND assembly_identifier <> component_identifier
1716: CONNECT BY PRIOR component_identifier = assembly_identifier
1717: AND assembly_identifier <> component_identifier
1718: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1714: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1715: AND assembly_identifier <> component_identifier
1716: CONNECT BY PRIOR component_identifier = assembly_identifier
1717: AND assembly_identifier <> component_identifier
1718: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1719: UNION ALL
1720: SELECT p_identifier FROM dual
1721: )
1722: Comment out code refering msc_bom_temp
1845:
1846:
1847: -- Code to update summary records removed for summary enhancement
1848: /** code commented for time being. Will be removed after code review
1849: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
1850: IF PG_DEBUG in ('Y', 'C') THEN
1851: msc_sch_wb.atp_debug('Delete_Row: ' || 'update Demands in summary mode');
1852: END IF;
1853: -- Bug 2738280. Change the input parameters of procedure call.
1860: /* time_phased_atp
1861: Delete bucketed demands and rollup supplies*/
1862: IF ((p_time_phased_atp = 'Y')
1863: OR
1864: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1865: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1866: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1867: --bug 3442528: We need to delete SO for model entities as well.
1868: --(MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) AND p_ato_model_line_id is null THEN
1861: Delete bucketed demands and rollup supplies*/
1862: IF ((p_time_phased_atp = 'Y')
1863: OR
1864: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1865: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1866: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1867: --bug 3442528: We need to delete SO for model entities as well.
1868: --(MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) AND p_ato_model_line_id is null THEN
1869: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) THEN
1862: IF ((p_time_phased_atp = 'Y')
1863: OR
1864: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1865: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1866: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1867: --bug 3442528: We need to delete SO for model entities as well.
1868: --(MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) AND p_ato_model_line_id is null THEN
1869: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) THEN
1870:
1864: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
1865: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1866: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1867: --bug 3442528: We need to delete SO for model entities as well.
1868: --(MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) AND p_ato_model_line_id is null THEN
1869: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) THEN
1870:
1871: IF PG_DEBUG in ('Y', 'C') THEN
1872: msc_sch_wb.atp_debug('Delete_Row: before update of msc_alloc_demands');
1865: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
1866: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
1867: --bug 3442528: We need to delete SO for model entities as well.
1868: --(MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) AND p_ato_model_line_id is null THEN
1869: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))) THEN
1870:
1871: IF PG_DEBUG in ('Y', 'C') THEN
1872: msc_sch_wb.atp_debug('Delete_Row: before update of msc_alloc_demands');
1873: END IF;
1871: IF PG_DEBUG in ('Y', 'C') THEN
1872: msc_sch_wb.atp_debug('Delete_Row: before update of msc_alloc_demands');
1873: END IF;
1874:
1875: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'N' THEN
1876: -- If condition added for summary enhancement
1877: -- For non summary case since no returning is required hence direct bulk update is used
1878:
1879: IF l_identifier_tab IS NOT NULL and l_identifier_tab.COUNT > 0 THEN
1921:
1922:
1923: END IF;
1924:
1925: ELSE -- IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'N' THEN
1926:
1927: SELECT sales_order_line_id,
1928: inventory_item_id,
1929: organization_id,
1954: AND sales_order_line_id IN (
1955: SELECT component_identifier
1956: FROM msc_bom_temp
1957: START WITH assembly_identifier = p_identifier
1958: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1959: AND assembly_identifier <> component_identifier
1960: CONNECT BY PRIOR component_identifier = assembly_identifier
1961: AND assembly_identifier <> component_identifier
1962: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1958: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1959: AND assembly_identifier <> component_identifier
1960: CONNECT BY PRIOR component_identifier = assembly_identifier
1961: AND assembly_identifier <> component_identifier
1962: AND session_id = MSC_ATP_PVT.G_SESSION_ID
1963: UNION ALL
1964: SELECT p_identifier FROM dual)
1965: Comment out code refering msc_bom_temp
1966: */
2057: AND sales_order_line_id IN (
2058: SELECT component_identifier
2059: FROM msc_bom_temp
2060: START WITH assembly_identifier = p_identifier
2061: AND session_id = MSC_ATP_PVT.G_SESSION_ID
2062: AND assembly_identifier <> component_identifier
2063: CONNECT BY PRIOR component_identifier = assembly_identifier
2064: AND assembly_identifier <> component_identifier
2065: AND session_id = MSC_ATP_PVT.G_SESSION_ID
2061: AND session_id = MSC_ATP_PVT.G_SESSION_ID
2062: AND assembly_identifier <> component_identifier
2063: CONNECT BY PRIOR component_identifier = assembly_identifier
2064: AND assembly_identifier <> component_identifier
2065: AND session_id = MSC_ATP_PVT.G_SESSION_ID
2066: UNION ALL
2067: SELECT p_identifier FROM dual)
2068: Comment out code refering msc_bom_temp
2069: */
2168: END IF; -- IF i_ins_item_id_tab IS NOT NULL and i_ins_item_id_tab.COUNT > 0 THEN
2169:
2170: x_copy_demand_id := l_copy_demand_id;
2171:
2172: END IF; -- IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'N' THEN
2173:
2174: END IF; -- IF
2175: -- CTO ODR and Simplified Pegging
2176: MSC_ATP_PEG.Add_Offset_Data(p_identifier ,
2191:
2192: END IF; -- IF p_plan_id = -1 THEN
2193:
2194: -- Commit removed for PDS cases - summary enhancement
2195: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 AND G_ORIG_INV_CTP = 5 THEN
2196: -- Condition for INV_CTP added for bug 3295831 because summary
2197: -- is not supported in PDS-ODS switch.
2198: IF PG_DEBUG in ('Y', 'C') THEN
2199: msc_sch_wb.atp_debug('Summary mode commit, in Delete_Row');
2239: from mrp_atp_details_temp
2240: where ((pegging_id <> p_identifier and (p_mode = 2 or p_mode = 3)) or
2241: (p_mode = 1))
2242: and record_type in (3,4)
2243: and session_id = MSC_ATP_PVT.G_SESSION_ID
2244: start with pegging_id = p_identifier
2245: and session_id = MSC_ATP_PVT.G_SESSION_ID
2246: and record_type = 3
2247: connect by parent_pegging_id = prior pegging_id
2241: (p_mode = 1))
2242: and record_type in (3,4)
2243: and session_id = MSC_ATP_PVT.G_SESSION_ID
2244: start with pegging_id = p_identifier
2245: and session_id = MSC_ATP_PVT.G_SESSION_ID
2246: and record_type = 3
2247: connect by parent_pegging_id = prior pegging_id
2248: AND session_id = prior session_id
2249: AND record_type in (3,4);
2266: -- time_phased_atp
2267: l_atf_date date;
2268:
2269: -- bug 9911034, ALLOC ATP CHANGES, 12973673
2270: l_inv_ctp number:= MSC_ATP_PVT.G_INV_CTP;
2271: l_allocated_atp varchar2(1):= MSC_ATP_PVT.G_ALLOCATED_ATP;
2272:
2273: BEGIN
2274: IF PG_DEBUG in ('Y', 'C') THEN
2267: l_atf_date date;
2268:
2269: -- bug 9911034, ALLOC ATP CHANGES, 12973673
2270: l_inv_ctp number:= MSC_ATP_PVT.G_INV_CTP;
2271: l_allocated_atp varchar2(1):= MSC_ATP_PVT.G_ALLOCATED_ATP;
2272:
2273: BEGIN
2274: IF PG_DEBUG in ('Y', 'C') THEN
2275: msc_sch_wb.atp_debug('***** Begin Remove_Invalid_SD_Rec Procedure *****');
2281:
2282: -- rajjain 05/19/2003 bug 2959840
2283: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Reset all the global variables ');
2284: -- Begin ATP4drp Allocation not supported for DRP plans.
2285: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5) THEN
2286: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2287: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2288: IF PG_DEBUG in ('Y', 'C') THEN
2289: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2282: -- rajjain 05/19/2003 bug 2959840
2283: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Reset all the global variables ');
2284: -- Begin ATP4drp Allocation not supported for DRP plans.
2285: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5) THEN
2286: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2287: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2288: IF PG_DEBUG in ('Y', 'C') THEN
2289: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2290: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'PF and Allocated ATP not applicable for DRP plans');
2283: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Reset all the global variables ');
2284: -- Begin ATP4drp Allocation not supported for DRP plans.
2285: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5) THEN
2286: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2287: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2288: IF PG_DEBUG in ('Y', 'C') THEN
2289: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2290: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'PF and Allocated ATP not applicable for DRP plans');
2291: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2291: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2292: END IF;
2293: ELSE
2294: -- ATP4drp set using the original value
2295: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
2296: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
2297: END IF;
2298: -- End ATP4drp
2299: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
2292: END IF;
2293: ELSE
2294: -- ATP4drp set using the original value
2295: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
2296: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
2297: END IF;
2298: -- End ATP4drp
2299: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
2300:
2295: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
2296: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
2297: END IF;
2298: -- End ATP4drp
2299: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
2300:
2301: IF PG_DEBUG in ('Y', 'C') THEN
2302: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATION_METHOD= ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
2303: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATED_ATP= ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2298: -- End ATP4drp
2299: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
2300:
2301: IF PG_DEBUG in ('Y', 'C') THEN
2302: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATION_METHOD= ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
2303: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATED_ATP= ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2304: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'INV_CTP= ' || MSC_ATP_PVT.G_INV_CTP);
2305: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_mode= ' || p_mode);
2306: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_identifier= ' || p_identifier);
2299: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
2300:
2301: IF PG_DEBUG in ('Y', 'C') THEN
2302: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATION_METHOD= ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
2303: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATED_ATP= ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2304: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'INV_CTP= ' || MSC_ATP_PVT.G_INV_CTP);
2305: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_mode= ' || p_mode);
2306: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_identifier= ' || p_identifier);
2307: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_instance_id = '||p_instance_id);
2300:
2301: IF PG_DEBUG in ('Y', 'C') THEN
2302: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATION_METHOD= ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
2303: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'G_ALLOCATED_ATP= ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2304: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'INV_CTP= ' || MSC_ATP_PVT.G_INV_CTP);
2305: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_mode= ' || p_mode);
2306: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_identifier= ' || p_identifier);
2307: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'p_instance_id = '||p_instance_id);
2308: END IF;
2330: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Destination inv_item id := ' || c1.dest_inv_item_id);
2331: END IF;
2332: l_organization_id := null;
2333:
2334: IF p_mode = MSC_ATP_PVT.INVALID or (p_mode=MSC_ATP_PVT.UNDO and p_instance_id is null) THEN
2335:
2336: MSC_ATP_DB_UTILS.Delete_Pegging(c1.pegging_id);
2337:
2338: IF PG_DEBUG in ('Y', 'C') THEN
2363:
2364: -- time_phased_atp
2365: IF (c1.aggregate_time_fence_date is not null)
2366: OR
2367: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2368: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2369: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2370: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2371:
2364: -- time_phased_atp
2365: IF (c1.aggregate_time_fence_date is not null)
2366: OR
2367: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2368: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2369: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2370: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2371:
2372: IF PG_DEBUG in ('Y', 'C') THEN
2365: IF (c1.aggregate_time_fence_date is not null)
2366: OR
2367: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2368: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2369: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2370: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2371:
2372: IF PG_DEBUG in ('Y', 'C') THEN
2373: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: before delete of ' ||
2366: OR
2367: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2368: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2369: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2370: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2371:
2372: IF PG_DEBUG in ('Y', 'C') THEN
2373: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: before delete of ' ||
2374: ' msc_alloc_supplies');
2479:
2480: -- time_phased_atp
2481: IF (c1.aggregate_time_fence_date is not null)
2482: OR
2483: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2484: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2485: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2486: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2487:
2480: -- time_phased_atp
2481: IF (c1.aggregate_time_fence_date is not null)
2482: OR
2483: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2484: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2485: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2486: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2487:
2488: IF PG_DEBUG in ('Y', 'C') THEN
2481: IF (c1.aggregate_time_fence_date is not null)
2482: OR
2483: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2484: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2485: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2486: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2487:
2488: IF PG_DEBUG in ('Y', 'C') THEN
2489: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: before delete of' ||
2482: OR
2483: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2484: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2485: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
2486: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
2487:
2488: IF PG_DEBUG in ('Y', 'C') THEN
2489: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: before delete of' ||
2490: ' msc_alloc_demands');
2610: IF PG_DEBUG in ('Y', 'C') THEN
2611: msc_sch_wb.atp_debug('Rows deleted := ' || SQL%ROWCOUNT);
2612: END IF;
2613:
2614: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND G_ORIG_INV_CTP = 5 THEN
2615: -- Condition for INV_CTP added for bug 3295831 because summary
2616: -- is not supported in PDS-ODS switch.
2617: IF PG_DEBUG in ('Y', 'C') THEN
2618: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Update summary sales order tbale');
2758: CLOSE pegging;
2759:
2760: -- bug 9911034, ALLOC ATP CHANGES, 12973673
2761: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Reset G_INV_CTP and G_ALLOCATED_ATP to runtime changed values, if any');
2762: MSC_ATP_PVT.G_INV_CTP := nvl(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
2763: MSC_ATP_PVT.G_ALLOCATED_ATP := nvl(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
2764:
2765: IF PG_DEBUG in ('Y', 'C') THEN
2766: msc_sch_wb.atp_debug('***** End Remove_Invalid_SD_Rec Procedure *****');
2759:
2760: -- bug 9911034, ALLOC ATP CHANGES, 12973673
2761: msc_sch_wb.atp_debug('Remove_Invalid_SD_Rec: ' || 'Reset G_INV_CTP and G_ALLOCATED_ATP to runtime changed values, if any');
2762: MSC_ATP_PVT.G_INV_CTP := nvl(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
2763: MSC_ATP_PVT.G_ALLOCATED_ATP := nvl(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
2764:
2765: IF PG_DEBUG in ('Y', 'C') THEN
2766: msc_sch_wb.atp_debug('***** End Remove_Invalid_SD_Rec Procedure *****');
2767: END IF;
2791: , last_update_date = sysdate
2792: , last_updated_by = FND_GLOBAL.USER_ID
2793: , last_update_login = FND_GLOBAL.USER_ID
2794: WHERE pegging_id = p_pegging_id
2795: AND session_id = MSC_ATP_PVT.G_SESSION_ID
2796: AND record_type = 3;
2797:
2798: IF PG_DEBUG in ('Y', 'C') THEN
2799: msc_sch_wb.atp_debug('End Update_Pegging');
2817: p_start_date IN DATE, -- Bug 3241766
2818: p_order_date IN DATE, -- Bug 3241766
2819: p_mem_item_id IN NUMBER, -- Bug 3293163
2820: p_pf_item_id IN NUMBER,
2821: p_mode IN NUMBER := MSC_ATP_PVT.UNDO,
2822: p_uom_conv_rate IN NUMBER := NULL
2823: )
2824: IS
2825:
2873: , l_receive_org_id, l_organization_id, l_instance_id -- ATP4drp
2874: FROM mrp_atp_details_temp
2875: WHERE pegging_id = p_pegging_id
2876: AND record_type = 3
2877: AND session_id = MSC_ATP_PVT.G_SESSION_ID ;
2878:
2879: IF PG_DEBUG in ('Y', 'C') THEN
2880: msc_sch_wb.atp_debug('Update_Planned_Order: ' || 'after select');
2881: msc_sch_wb.atp_debug('Update_Planned_Order: ' || 'l_sd_date := ' || l_sd_date);
2890: msc_sch_wb.atp_debug('Update_Planned_Order: ' || 'l_transaction_id := ' || l_transaction_id);
2891: -- ATP4drp print out organizations
2892: END IF;
2893: --diag_ATP: Do not remove the planned order in diagnostic mode even if the quantity is zero
2894: IF NVL(p_quantity, -1) = 0 AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 or p_mode = MSC_ATP_PVT.INVALID) THEN
2895:
2896: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
2897: p_pegging_id,
2898: null,
2896: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
2897: p_pegging_id,
2898: null,
2899: p_plan_id,
2900: MSC_ATP_PVT.UNDO,
2901: 0,
2902: l_return_status);
2903:
2904: IF PG_DEBUG in ('Y', 'C') THEN
2905: msc_sch_wb.atp_debug('Update_Planned_Order: ' || 'after delete mrp_atp_details_temp by calling remove');
2906: END IF;
2907:
2908: --s_cto_rearch
2909: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
2910: DELETE from msc_supplies
2911: WHERE plan_id = p_plan_id
2912: AND transaction_id = l_transaction_id;
2913: END IF;
2928: END IF;
2929:
2930: -- For bug 2259824, move the supply to the end of day
2931: --s_cto_rearch:
2932: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
2933: UPDATE msc_supplies
2934: SET new_schedule_date = TRUNC(NVL(p_date, new_schedule_date)) + MSC_ATP_PVT.G_END_OF_DAY ,
2935: new_order_quantity = NVL(p_quantity, new_order_quantity),
2936: -- rajjain 02/19/2003 Bug 2788302 Begin
2930: -- For bug 2259824, move the supply to the end of day
2931: --s_cto_rearch:
2932: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
2933: UPDATE msc_supplies
2934: SET new_schedule_date = TRUNC(NVL(p_date, new_schedule_date)) + MSC_ATP_PVT.G_END_OF_DAY ,
2935: new_order_quantity = NVL(p_quantity, new_order_quantity),
2936: -- rajjain 02/19/2003 Bug 2788302 Begin
2937: supplier_id = Decode(p_supplier_id,
2938: -1,null,
2941: -1,null,
2942: p_supplier_site_id),
2943: -- rajjain 02/19/2003 Bug 2788302 End
2944: -- Bug 3821358, Making the dates at the end of the day
2945: new_dock_date = TRUNC(NVL(p_dock_date, new_dock_date)) + MSC_ATP_PVT.G_END_OF_DAY,
2946: -- rajjain 02/19/2003 Bug 2788302 Begin
2947: source_supplier_id = decode(p_supplier_id,
2948: -1,null,
2949: p_supplier_id),
2956: source_organization_id = Decode(NVL(p_supplier_id,-1), -1, l_organization_id, NULL), --4767922
2957: source_sr_instance_id = DEcode(NVL(p_supplier_id,-1), -1, l_instance_id, NULL), --4767922
2958: -- End ATP4drp
2959: -- Bug 3821358, Making the dates at the end of the day
2960: new_ship_date = TRUNC(NVL(p_ship_date,new_ship_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2961: new_wip_start_date = TRUNC(NVL(p_start_date,new_wip_start_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2962: new_order_placement_date = TRUNC(NVL(p_order_date,new_order_placement_date)) + MSC_ATP_PVT.G_END_OF_DAY -- Bug 3241766
2963:
2964: WHERE plan_id = p_plan_id
2957: source_sr_instance_id = DEcode(NVL(p_supplier_id,-1), -1, l_instance_id, NULL), --4767922
2958: -- End ATP4drp
2959: -- Bug 3821358, Making the dates at the end of the day
2960: new_ship_date = TRUNC(NVL(p_ship_date,new_ship_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2961: new_wip_start_date = TRUNC(NVL(p_start_date,new_wip_start_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2962: new_order_placement_date = TRUNC(NVL(p_order_date,new_order_placement_date)) + MSC_ATP_PVT.G_END_OF_DAY -- Bug 3241766
2963:
2964: WHERE plan_id = p_plan_id
2965: AND transaction_id = l_transaction_id
2958: -- End ATP4drp
2959: -- Bug 3821358, Making the dates at the end of the day
2960: new_ship_date = TRUNC(NVL(p_ship_date,new_ship_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2961: new_wip_start_date = TRUNC(NVL(p_start_date,new_wip_start_date)) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
2962: new_order_placement_date = TRUNC(NVL(p_order_date,new_order_placement_date)) + MSC_ATP_PVT.G_END_OF_DAY -- Bug 3241766
2963:
2964: WHERE plan_id = p_plan_id
2965: AND transaction_id = l_transaction_id
2966: returning inventory_item_id, sr_instance_id, organization_id
2993: RAISE FND_API.G_EXC_ERROR;
2994: END IF;
2995:
2996: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
2997: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2998: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2999: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3000: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3001:
2994: END IF;
2995:
2996: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
2997: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2998: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2999: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3000: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3001:
3002: IF PG_DEBUG in ('Y', 'C') THEN
2995:
2996: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
2997: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2998: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2999: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3000: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3001:
3002: IF PG_DEBUG in ('Y', 'C') THEN
3003: msc_sch_wb.atp_debug('Update_Planned_Order: before update of' ||
2996: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
2997: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
2998: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2999: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3000: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3001:
3002: IF PG_DEBUG in ('Y', 'C') THEN
3003: msc_sch_wb.atp_debug('Update_Planned_Order: before update of' ||
3004: ' msc_alloc_supplies');
3167: l_supplier_atp_date, l_summary_flag
3168: FROM mrp_atp_details_temp
3169: WHERE parent_pegging_id = p_pegging_id
3170: AND record_type = 3
3171: AND session_id = MSC_ATP_PVT.G_SESSION_ID;
3172:
3173: EXCEPTION
3174: WHEN others THEN
3175: l_demand_id := NULL;
3196: END IF;
3197: l_inventory_item_id := null;
3198:
3199: -- dsting diag_atp do not adjust demands
3200: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
3201:
3202: l_prim_uom_dmd_qty := p_quantity * nvl(p_uom_conv_rate, 1);
3203:
3204: UPDATE msc_demands
3238: RAISE FND_API.G_EXC_ERROR;
3239: END IF;
3240:
3241: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3242: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3243: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3244: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3246:
3239: END IF;
3240:
3241: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3242: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3243: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3244: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3246:
3247: IF PG_DEBUG in ('Y', 'C') THEN
3240:
3241: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3242: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3243: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3244: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3246:
3247: IF PG_DEBUG in ('Y', 'C') THEN
3248: msc_sch_wb.atp_debug('Update_Planned_Order: before update of' ||
3241: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3242: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3243: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3244: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3246:
3247: IF PG_DEBUG in ('Y', 'C') THEN
3248: msc_sch_wb.atp_debug('Update_Planned_Order: before update of' ||
3249: ' msc_alloc_demands');
3294: END IF;
3295: **/
3296: END IF; -- if not DIAGNOSTIC ATP then update demands
3297: --5239441
3298: ELSIF p_quantity IS NOT NULL and NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
3299: IF PG_DEBUG in ('Y', 'C') THEN
3300: msc_sch_wb.atp_debug('Update_Planned_Order: ' || 'l_demand_id := '|| l_demand_id);
3301: END IF;
3302: l_prim_uom_dmd_qty := p_quantity * nvl(p_uom_conv_rate, 1);
3354:
3355: -- time_phased_atp
3356: l_bucketed_demands_rec MSC_ATP_PF.Bucketed_Demands_Rec;
3357: l_return_status varchar2(1);
3358: l_alloc_atp VARCHAR2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
3359:
3360: BEGIN
3361:
3362: IF PG_DEBUG in ('Y', 'C') THEN
3371: msc_sch_wb.atp_debug('Update_SD_Date: ' || 'p_identifier := ' || p_identifier);
3372: msc_sch_wb.atp_debug('Update_SD_Date: ' || 'p_atf_date := ' || p_atf_date);
3373: END IF;
3374:
3375: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3376: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
3377: END IF;
3378: -- dsting ATO 2465370
3379:
3372: msc_sch_wb.atp_debug('Update_SD_Date: ' || 'p_atf_date := ' || p_atf_date);
3373: END IF;
3374:
3375: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3376: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
3377: END IF;
3378: -- dsting ATO 2465370
3379:
3380: BEGIN
3379:
3380: BEGIN
3381: UPDATE mrp_atp_details_temp
3382: --bug 3328421
3383: --SET required_date = TRUNC(NVL(p_supply_demand_date, required_date)) + MSC_ATP_PVT.G_END_OF_DAY
3384: SET actual_supply_demand_date = TRUNC(NVL(p_supply_demand_date, actual_supply_demand_date)) + MSC_ATP_PVT.G_END_OF_DAY
3385: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3386: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3387: AND record_type = 3
3380: BEGIN
3381: UPDATE mrp_atp_details_temp
3382: --bug 3328421
3383: --SET required_date = TRUNC(NVL(p_supply_demand_date, required_date)) + MSC_ATP_PVT.G_END_OF_DAY
3384: SET actual_supply_demand_date = TRUNC(NVL(p_supply_demand_date, actual_supply_demand_date)) + MSC_ATP_PVT.G_END_OF_DAY
3385: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3386: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3387: AND record_type = 3
3388: RETURNING identifier3, summary_flag INTO l_demand_id, l_summary_flag;
3381: UPDATE mrp_atp_details_temp
3382: --bug 3328421
3383: --SET required_date = TRUNC(NVL(p_supply_demand_date, required_date)) + MSC_ATP_PVT.G_END_OF_DAY
3384: SET actual_supply_demand_date = TRUNC(NVL(p_supply_demand_date, actual_supply_demand_date)) + MSC_ATP_PVT.G_END_OF_DAY
3385: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3386: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3387: AND record_type = 3
3388: RETURNING identifier3, summary_flag INTO l_demand_id, l_summary_flag;
3389: EXCEPTION
3382: --bug 3328421
3383: --SET required_date = TRUNC(NVL(p_supply_demand_date, required_date)) + MSC_ATP_PVT.G_END_OF_DAY
3384: SET actual_supply_demand_date = TRUNC(NVL(p_supply_demand_date, actual_supply_demand_date)) + MSC_ATP_PVT.G_END_OF_DAY
3385: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3386: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3387: AND record_type = 3
3388: RETURNING identifier3, summary_flag INTO l_demand_id, l_summary_flag;
3389: EXCEPTION
3390: WHEN OTHERS THEN
3393: RETURN;
3394: END;
3395:
3396: IF PG_DEBUG in ('Y','C') THEN
3397: msc_sch_wb.atp_debug('ATO update pegging id ' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
3398: END IF;
3399:
3400: IF p_plan_id = -1 THEN
3401: -- ngoel, changed for performance reason, don't
3402: -- do anything in case p_supply_demand_date is NULL.
3403: IF p_supply_demand_date IS NOT NULL THEN
3404: -- For bug 2259824, move the demand to the end of day
3405: UPDATE MSC_SALES_ORDERS
3406: SET REQUIREMENT_DATE = TRUNC(p_supply_demand_date) + MSC_ATP_PVT.G_END_OF_DAY,
3407: REQUEST_DATE = TRUNC(p_request_arrival_date),--plan by request date
3408: SCHEDULE_ARRIVAL_DATE = TRUNC(p_sch_arrival_date) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3409: LATEST_ACCEPTABLE_DATE = p_lat_date,
3410: ORDER_DATE_TYPE_CODE = p_order_date_type,
3404: -- For bug 2259824, move the demand to the end of day
3405: UPDATE MSC_SALES_ORDERS
3406: SET REQUIREMENT_DATE = TRUNC(p_supply_demand_date) + MSC_ATP_PVT.G_END_OF_DAY,
3407: REQUEST_DATE = TRUNC(p_request_arrival_date),--plan by request date
3408: SCHEDULE_ARRIVAL_DATE = TRUNC(p_sch_arrival_date) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3409: LATEST_ACCEPTABLE_DATE = p_lat_date,
3410: ORDER_DATE_TYPE_CODE = p_order_date_type,
3411: SHIP_SET_NAME = p_ship_set_name, --plan by request date
3412: ARRIVAL_SET_NAME = p_arrival_set_name, --plan by request date
3417: -- dsting ATO 2465370 I already selected l_demand_id
3418: AND DEMAND_ID = l_demand_id
3419: returning demand_class, inventory_item_id into l_demand_class, l_inventory_item_id;
3420:
3421: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND NVL(l_inventory_item_id, 0) > 0
3422: AND G_ORIG_INV_CTP = 5 THEN -- Condition added for bug 3295831 because summary
3423: -- is not supported in PDS-ODS switch.
3424: IF PG_DEBUG in ('Y', 'C') THEN
3425: msc_sch_wb.atp_debug('Update_SD_Date: ' || 'Summary Flag is on');
3429: --- G_DEMAND_PEGGING_ID wil be null for non atpbale items
3430: select supply_demand_quantity, supply_demand_date, organization_id
3431: into l_sd_qty, l_sd_date, l_org_id
3432: from mrp_atp_details_temp
3433: where pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3434: and session_id = MSC_ATP_PVT.G_SESSION_ID
3435: and record_type = 3;
3436: EXCEPTION
3437: WHEN OTHERS THEN
3430: select supply_demand_quantity, supply_demand_date, organization_id
3431: into l_sd_qty, l_sd_date, l_org_id
3432: from mrp_atp_details_temp
3433: where pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3434: and session_id = MSC_ATP_PVT.G_SESSION_ID
3435: and record_type = 3;
3436: EXCEPTION
3437: WHEN OTHERS THEN
3438: l_sd_qty := null;
3587:
3588: UPDATE MSC_DEMANDS
3589: SET
3590: --start changes for plan by request date
3591: SCHEDULE_SHIP_DATE = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3592: USING_ASSEMBLY_DEMAND_DATE =
3593: decode(ORIGINATION_TYPE,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3590: --start changes for plan by request date
3591: SCHEDULE_SHIP_DATE = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3592: USING_ASSEMBLY_DEMAND_DATE =
3593: decode(ORIGINATION_TYPE,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3591: SCHEDULE_SHIP_DATE = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3592: USING_ASSEMBLY_DEMAND_DATE =
3593: decode(ORIGINATION_TYPE,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3592: USING_ASSEMBLY_DEMAND_DATE =
3593: decode(ORIGINATION_TYPE,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3593: decode(ORIGINATION_TYPE,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3594: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3595: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3596: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3597: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3598: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3599: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3600: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3601: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3602: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3603: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3604: REQUEST_SHIP_DATE,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3605: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3606: REQUEST_SHIP_DATE,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3607: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3608: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3609: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3610: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3611: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3612: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3613: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
3614: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3621: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3615: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
3616: TRUNC(NVL(p_supply_demand_date,PROMISE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3621: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3622: TRUNC(NVL(p_supply_demand_date,USING_ASSEMBLY_DEMAND_DATE)) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
3623: promise_ship_date = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3617: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3621: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3622: TRUNC(NVL(p_supply_demand_date,USING_ASSEMBLY_DEMAND_DATE)) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
3623: promise_ship_date = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3624: request_date = p_request_arrival_date, --plan by request date
3625: promise_date = p_sch_arrival_date, --plan by request date
3618: REQUEST_SHIP_DATE,
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3621: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3622: TRUNC(NVL(p_supply_demand_date,USING_ASSEMBLY_DEMAND_DATE)) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
3623: promise_ship_date = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3624: request_date = p_request_arrival_date, --plan by request date
3625: promise_date = p_sch_arrival_date, --plan by request date
3626: ship_set_name = p_ship_set_name, --plan by request date
3619: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
3620: REQUEST_SHIP_DATE,
3621: TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY),
3622: TRUNC(NVL(p_supply_demand_date,USING_ASSEMBLY_DEMAND_DATE)) + MSC_ATP_PVT.G_END_OF_DAY), --plan by request date
3623: promise_ship_date = TRUNC(NVL(p_supply_demand_date,SCHEDULE_SHIP_DATE)) + MSC_ATP_PVT.G_END_OF_DAY, --plan by request date
3624: request_date = p_request_arrival_date, --plan by request date
3625: promise_date = p_sch_arrival_date, --plan by request date
3626: ship_set_name = p_ship_set_name, --plan by request date
3627: arrival_set_name = p_arrival_set_name, --plan by request date
3630: USING_REQUIREMENT_QUANTITY = MSC_ATP_UTILS.Truncate_Demand(NVL(p_supply_demand_qty,USING_REQUIREMENT_QUANTITY)), -- Bug 1501787
3631: -- 24x7 -- 5598066
3632: ATP_SYNCHRONIZATION_FLAG = 0,
3633: -- bug 2795053-reopen (ssurendr) update the demand_satisfied_date in msc_demands
3634: DMD_SATISFIED_DATE = TRUNC(GREATEST(p_dmd_satisfied_date,DMD_SATISFIED_DATE)) + MSC_ATP_PVT.G_END_OF_DAY,
3635: -- ship_rec_cal changes begin
3636: SCHEDULE_ARRIVAL_DATE = NVL(p_sch_arrival_date, SCHEDULE_ARRIVAL_DATE),
3637: ORDER_DATE_TYPE_CODE = NVL(p_order_date_type, ORDER_DATE_TYPE_CODE),
3638: LATEST_ACCEPTABLE_DATE = NVL(p_lat_date, LATEST_ACCEPTABLE_DATE)
3664: END IF;
3665: -- time_phased_atp changes end
3666:
3667: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3668: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3669: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3670: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3671: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3672:
3665: -- time_phased_atp changes end
3666:
3667: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3668: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3669: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3670: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3671: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3672:
3673: IF PG_DEBUG in ('Y', 'C') THEN
3666:
3667: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3668: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3669: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3670: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3671: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3672:
3673: IF PG_DEBUG in ('Y', 'C') THEN
3674: msc_sch_wb.atp_debug('Update_SD_Date: before update of ' ||
3667: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
3668: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
3669: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
3670: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
3671: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
3672:
3673: IF PG_DEBUG in ('Y', 'C') THEN
3674: msc_sch_wb.atp_debug('Update_SD_Date: before update of ' ||
3675: ' msc_alloc_demands');
3797: **/
3798: END IF; -- if p_summly_demand_qty is not null or....
3799: END IF ; -- if plan_id = -1
3800:
3801: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3802: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
3803: END IF;
3804: -- commit removed for PDS cases - summary enhancement
3805: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') and p_plan_id = -1 AND G_ORIG_INV_CTP = 5 THEN
3798: END IF; -- if p_summly_demand_qty is not null or....
3799: END IF ; -- if plan_id = -1
3800:
3801: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3802: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
3803: END IF;
3804: -- commit removed for PDS cases - summary enhancement
3805: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') and p_plan_id = -1 AND G_ORIG_INV_CTP = 5 THEN
3806: -- Condition for INV_CTP added for bug 3295831 because summary
3801: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3802: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
3803: END IF;
3804: -- commit removed for PDS cases - summary enhancement
3805: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') and p_plan_id = -1 AND G_ORIG_INV_CTP = 5 THEN
3806: -- Condition for INV_CTP added for bug 3295831 because summary
3807: -- is not supported in PDS-ODS switch.
3808: commit;
3809: END IF;
3871: l_plan_id MRP_ATP_PUB.number_arr := MRP_ATP_PUB.number_arr();
3872:
3873: -- CTO ODR and Simplified Pegging
3874: l_return_status VARCHAR2(1);
3875: l_alloc_atp VARCHAR2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES -12973673
3876:
3877: BEGIN
3878: IF PG_DEBUG in ('Y', 'C') THEN
3879: msc_sch_wb.atp_debug('**********Begin Undo_Delete_Row Procedure************');
3878: IF PG_DEBUG in ('Y', 'C') THEN
3879: msc_sch_wb.atp_debug('**********Begin Undo_Delete_Row Procedure************');
3880: END IF;
3881:
3882: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3883: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
3884: END IF;
3885:
3886: --3720018, reverting back incase, rescheduling fails
3879: msc_sch_wb.atp_debug('**********Begin Undo_Delete_Row Procedure************');
3880: END IF;
3881:
3882: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
3883: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
3884: END IF;
3885:
3886: --3720018, reverting back incase, rescheduling fails
3887: IF (p_del_ods_demand_ids IS NOT NULL AND p_del_ods_demand_ids.count > 0) THEN
3902: IF PG_DEBUG in ('Y', 'C') THEN
3903: msc_sch_wb.atp_debug('Number of SO lines updated := ' || SQL%ROWCOUNT);
3904: END IF;
3905: --5357370
3906: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
3907: IF PG_DEBUG in ('Y', 'C') THEN
3908: msc_sch_wb.atp_debug('Inside summary mode set to yes');
3909: msc_sch_wb.atp_debug('p_identifiers.count := ' || p_identifiers.count);
3910: END IF;
3985: SQL%BULK_ROWCOUNT(m)||' records');
3986: END LOOP;
3987: END IF;
3988:
3989: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') and (p_copy_demand_ids IS NOT NULL) and (p_copy_demand_ids.COUNT > 0) THEN
3990: -- Code to update summary records removed for summary enhancement
3991: /** code commented for time being. Will be removed after code review
3992: IF PG_DEBUG in ('Y', 'C') THEN
3993: msc_sch_wb.atp_debug('Undo_Delete_Row: ' || 'update Demands in summary mode');
4005: p_instance_id);
4006: **/
4007:
4008: -- Delete the copy SOs and copy stealing records for summary enhancement
4009: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4010: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4011: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4012: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4013: (p_time_phased_set = 'Y') THEN
4006: **/
4007:
4008: -- Delete the copy SOs and copy stealing records for summary enhancement
4009: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4010: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4011: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4012: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4013: (p_time_phased_set = 'Y') THEN
4014:
4007:
4008: -- Delete the copy SOs and copy stealing records for summary enhancement
4009: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4010: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4011: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4012: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4013: (p_time_phased_set = 'Y') THEN
4014:
4015: -- Delete from MSC_ALLOC_DEMANDS
4008: -- Delete the copy SOs and copy stealing records for summary enhancement
4009: IF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4010: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4011: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4012: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4013: (p_time_phased_set = 'Y') THEN
4014:
4015: -- Delete from MSC_ALLOC_DEMANDS
4016: FORALL i IN 1..p_copy_demand_ids.COUNT
4038:
4039: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
4040:
4041: IF (p_time_phased_set = 'Y')
4042: OR ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4043: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4044: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4045: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4046:
4039: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
4040:
4041: IF (p_time_phased_set = 'Y')
4042: OR ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4043: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4044: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4045: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4046:
4047: IF PG_DEBUG in ('Y', 'C') THEN
4040:
4041: IF (p_time_phased_set = 'Y')
4042: OR ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4043: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4044: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4045: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4046:
4047: IF PG_DEBUG in ('Y', 'C') THEN
4048: msc_sch_wb.atp_debug('Undo_Delete_Row: before update of ' ||
4041: IF (p_time_phased_set = 'Y')
4042: OR ((MSC_ATP_PVT.G_INV_CTP = 4) AND
4043: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4044: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4045: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4046:
4047: IF PG_DEBUG in ('Y', 'C') THEN
4048: msc_sch_wb.atp_debug('Undo_Delete_Row: before update of ' ||
4049: ' msc_alloc_demands');
4153: l_return_status);
4154: -- End CTO ODR and Simplified Pegging
4155: END IF; --3720018
4156:
4157: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
4158: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
4159: END IF;
4160:
4161: IF PG_DEBUG in ('Y', 'C') THEN
4154: -- End CTO ODR and Simplified Pegging
4155: END IF; --3720018
4156:
4157: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
4158: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
4159: END IF;
4160:
4161: IF PG_DEBUG in ('Y', 'C') THEN
4162: msc_sch_wb.atp_debug('**********End Undo_Delete_Row Procedure************');
4585: p_transaction_id, p_stealing_quantity, 46, p_identifier,p_demand_source_type, 1, ---cmro
4586: FND_GLOBAL.USER_ID, sysdate, FND_GLOBAL.USER_ID, sysdate, p_stolen_demand_class,
4587: p_ato_model_line_id, p_refresh_number, -- For summary enhancement
4588: --bug3684383
4589: p_order_number,MSC_ATP_PVT.G_PARTNER_ID,MSC_ATP_PVT.G_PARTNER_SITE_ID);
4590:
4591: l_rows_proc := SQL%ROWCOUNT;
4592:
4593: -- Next add the Stolen Data.
4610: p_transaction_id, -1 * p_stealing_quantity, 47, p_identifier,p_demand_source_type,1, --cmro
4611: FND_GLOBAL.USER_ID, sysdate, FND_GLOBAL.USER_ID, sysdate, p_stealing_demand_class,
4612: p_ato_model_line_id, p_refresh_number, -- For summary enhancement
4613: --bug3684383
4614: p_order_number,MSC_ATP_PVT.G_PARTNER_ID,MSC_ATP_PVT.G_PARTNER_SITE_ID);
4615:
4616: l_rows_proc := l_rows_proc + SQL%ROWCOUNT;
4617:
4618: IF PG_DEBUG in ('Y', 'C') THEN
4632: SELECT pegging_id, identifier1, identifier2, identifier3
4633: FROM mrp_atp_details_temp
4634: WHERE pegging_id = p_pegging_id
4635: AND record_type in (3,4)
4636: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4637: START WITH pegging_id = p_pegging_id
4638: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4639: AND record_type = 3
4640: CONNECT BY parent_pegging_id = PRIOR pegging_id
4634: WHERE pegging_id = p_pegging_id
4635: AND record_type in (3,4)
4636: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4637: START WITH pegging_id = p_pegging_id
4638: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4639: AND record_type = 3
4640: CONNECT BY parent_pegging_id = PRIOR pegging_id
4641: AND session_id = prior session_id
4642: AND record_type in (3,4);
4705: IF PG_DEBUG in ('Y', 'C') THEN
4706: msc_sch_wb.atp_debug('PROCEDURE move_SD_temp_into_mrp_details');
4707: msc_sch_wb.atp_debug('move_SD_temp_into_mrp_details: ' || ' p_pegging_id: ' || p_pegging_id);
4708: msc_sch_wb.atp_debug('move_SD_temp_into_mrp_details: ' || ' p_end_pegging_id: ' || p_end_pegging_id);
4709: msc_sch_wb.atp_debug('move_SD_temp_into_mrp_details: ' || ' session_id: ' || MSC_ATP_PVT.G_SESSION_ID);
4710: END IF;
4711:
4712: INSERT INTO mrp_atp_details_temp (
4713: session_id,
4759: ORIG_REQUEST_DATE, --bug3263368
4760: INVENTORY_ITEM_NAME --bug3579625
4761: )
4762: SELECT
4763: MSC_ATP_PVT.G_SESSION_ID,
4764: scenario_id,
4765: order_line_id,
4766: ATP_Level,
4767: Inventory_Item_Id,
4849:
4850: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'p_copy_demand_ids.COUNT : ' || p_copy_demand_ids.COUNT);
4851:
4852: IF p_copy_demand_ids.COUNT > 0 THEN
4853: IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4854: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4855: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4856: (p_time_phased_set = 'Y') THEN
4857:
4850: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'p_copy_demand_ids.COUNT : ' || p_copy_demand_ids.COUNT);
4851:
4852: IF p_copy_demand_ids.COUNT > 0 THEN
4853: IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4854: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4855: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4856: (p_time_phased_set = 'Y') THEN
4857:
4858: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'allocated ATP or time phased PF');
4851:
4852: IF p_copy_demand_ids.COUNT > 0 THEN
4853: IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4854: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4855: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) OR
4856: (p_time_phased_set = 'Y') THEN
4857:
4858: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'allocated ATP or time phased PF');
4859:
4866: WHERE plan_id = p_copy_plan_ids(i));
4867:
4868: END IF;
4869:
4870: IF NOT ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4871: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4872: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4873:
4874: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'unallocated ATP');
4867:
4868: END IF;
4869:
4870: IF NOT ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4871: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4872: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4873:
4874: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'unallocated ATP');
4875:
4868: END IF;
4869:
4870: IF NOT ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
4871: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
4872: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
4873:
4874: msc_sch_wb.atp_debug('Delete_Copy_Demand : ' || 'unallocated ATP');
4875:
4876: FORALL i IN 1..p_copy_demand_ids.COUNT
4894: END Delete_Copy_Demand;
4895:
4896: -- New procedure added for ship_rec_cal project
4897: PROCEDURE Flush_Data_In_Pds(
4898: p_ship_arrival_date_rec IN MSC_ATP_PVT.ship_arrival_date_rec_typ,
4899: x_return_status OUT NOCOPY VARCHAR2
4900: )
4901: IS
4902:
4939: END Flush_Data_In_Pds;
4940:
4941: -- New procedure added for plan by request date project
4942: PROCEDURE Flush_Data_In_Ods(
4943: p_ship_arrival_date_rec IN MSC_ATP_PVT.ship_arrival_date_rec_typ,
4944: x_return_status OUT NOCOPY VARCHAR2
4945: )
4946: IS
4947:
5083: FND_GLOBAL.USER_ID,
5084: sysdate,
5085: FND_GLOBAL.USER_ID,
5086: -- For bug 2259824, move the supply to the end of day
5087: TRUNC(p_supply_rec_type.schedule_date) + MSC_ATP_PVT.G_END_OF_DAY,
5088: p_supply_rec_type.disposition_status_type, -- 1512366: open
5089: p_supply_rec_type.supply_type,
5090: p_supply_rec_type.order_quantity,
5091: p_supply_rec_type.supplier_id,
5097: p_supply_rec_type.source_organization_id,
5098: p_supply_rec_type.process_seq_id,
5099: -- rajjain 02/19/2003 Bug 2788302 End
5100: p_supply_rec_type.firm_planned_type,
5101: --decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1, p_demand_class, null),
5102: ---2424357: after demand priority p_demand_class contains converted demand calss
5103: --- we always store the actual demand class passes as a part of the query.
5104: -- Bug 3558125 - Populate '-1' if G_ATP_DEMAND_CLASS is NULL
5105: decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS,'-1'), null),
5101: --decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1, p_demand_class, null),
5102: ---2424357: after demand priority p_demand_class contains converted demand calss
5103: --- we always store the actual demand class passes as a part of the query.
5104: -- Bug 3558125 - Populate '-1' if G_ATP_DEMAND_CLASS is NULL
5105: decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS,'-1'), null),
5106: -- decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,MSC_ATP_PVT.G_ATP_DEMAND_CLASS, null),
5107: NVL(MSC_ATP_PVT.G_PARTNER_ID,-1), -- Bug 3558125
5108: NVL(MSC_ATP_PVT.G_PARTNER_SITE_ID,-1), -- Bug 3558125
5109: p_supply_rec_type.record_source, -- for plan order pegging
5102: ---2424357: after demand priority p_demand_class contains converted demand calss
5103: --- we always store the actual demand class passes as a part of the query.
5104: -- Bug 3558125 - Populate '-1' if G_ATP_DEMAND_CLASS is NULL
5105: decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS,'-1'), null),
5106: -- decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,MSC_ATP_PVT.G_ATP_DEMAND_CLASS, null),
5107: NVL(MSC_ATP_PVT.G_PARTNER_ID,-1), -- Bug 3558125
5108: NVL(MSC_ATP_PVT.G_PARTNER_SITE_ID,-1), -- Bug 3558125
5109: p_supply_rec_type.record_source, -- for plan order pegging
5110: p_supply_rec_type.refresh_number, -- for summary enhancement
5103: --- we always store the actual demand class passes as a part of the query.
5104: -- Bug 3558125 - Populate '-1' if G_ATP_DEMAND_CLASS is NULL
5105: decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS,'-1'), null),
5106: -- decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,MSC_ATP_PVT.G_ATP_DEMAND_CLASS, null),
5107: NVL(MSC_ATP_PVT.G_PARTNER_ID,-1), -- Bug 3558125
5108: NVL(MSC_ATP_PVT.G_PARTNER_SITE_ID,-1), -- Bug 3558125
5109: p_supply_rec_type.record_source, -- for plan order pegging
5110: p_supply_rec_type.refresh_number, -- for summary enhancement
5111: -- ship_rec_cal changes begin
5104: -- Bug 3558125 - Populate '-1' if G_ATP_DEMAND_CLASS is NULL
5105: decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS,'-1'), null),
5106: -- decode(MSC_ATP_PVT.G_HIERARCHY_PROFILE, 1,MSC_ATP_PVT.G_ATP_DEMAND_CLASS, null),
5107: NVL(MSC_ATP_PVT.G_PARTNER_ID,-1), -- Bug 3558125
5108: NVL(MSC_ATP_PVT.G_PARTNER_SITE_ID,-1), -- Bug 3558125
5109: p_supply_rec_type.record_source, -- for plan order pegging
5110: p_supply_rec_type.refresh_number, -- for summary enhancement
5111: -- ship_rec_cal changes begin
5112: -- Bug 3821358, Making the dates at the end of the day.
5109: p_supply_rec_type.record_source, -- for plan order pegging
5110: p_supply_rec_type.refresh_number, -- for summary enhancement
5111: -- ship_rec_cal changes begin
5112: -- Bug 3821358, Making the dates at the end of the day.
5113: TRUNC(p_supply_rec_type.new_dock_date) + MSC_ATP_PVT.G_END_OF_DAY,
5114: TRUNC(p_supply_rec_type.new_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
5115: TRUNC(p_supply_rec_type.start_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5116: TRUNC(p_supply_rec_type.order_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5117: p_supply_rec_type.shipping_cal_code,
5110: p_supply_rec_type.refresh_number, -- for summary enhancement
5111: -- ship_rec_cal changes begin
5112: -- Bug 3821358, Making the dates at the end of the day.
5113: TRUNC(p_supply_rec_type.new_dock_date) + MSC_ATP_PVT.G_END_OF_DAY,
5114: TRUNC(p_supply_rec_type.new_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
5115: TRUNC(p_supply_rec_type.start_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5116: TRUNC(p_supply_rec_type.order_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5117: p_supply_rec_type.shipping_cal_code,
5118: p_supply_rec_type.receiving_cal_code,
5111: -- ship_rec_cal changes begin
5112: -- Bug 3821358, Making the dates at the end of the day.
5113: TRUNC(p_supply_rec_type.new_dock_date) + MSC_ATP_PVT.G_END_OF_DAY,
5114: TRUNC(p_supply_rec_type.new_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
5115: TRUNC(p_supply_rec_type.start_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5116: TRUNC(p_supply_rec_type.order_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5117: p_supply_rec_type.shipping_cal_code,
5118: p_supply_rec_type.receiving_cal_code,
5119: p_supply_rec_type.intransit_cal_code,
5112: -- Bug 3821358, Making the dates at the end of the day.
5113: TRUNC(p_supply_rec_type.new_dock_date) + MSC_ATP_PVT.G_END_OF_DAY,
5114: TRUNC(p_supply_rec_type.new_ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
5115: TRUNC(p_supply_rec_type.start_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5116: TRUNC(p_supply_rec_type.order_date) + MSC_ATP_PVT.G_END_OF_DAY, -- Bug 3241766
5117: p_supply_rec_type.shipping_cal_code,
5118: p_supply_rec_type.receiving_cal_code,
5119: p_supply_rec_type.intransit_cal_code,
5120: p_supply_rec_type.ship_method,
5149: RAISE FND_API.G_EXC_ERROR;
5150: END IF;
5151:
5152: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
5153: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
5154: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
5155: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
5156: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
5157:
5150: END IF;
5151:
5152: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
5153: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
5154: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
5155: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
5156: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
5157:
5158: IF PG_DEBUG in ('Y', 'C') THEN
5151:
5152: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
5153: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
5154: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
5155: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
5156: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
5157:
5158: IF PG_DEBUG in ('Y', 'C') THEN
5159: msc_sch_wb.atp_debug('Add_Supplies: ' || ' before insert into' ||
5152: -- Allocated ATP Based on Planning Details -- Agilent changes Begin
5153: ELSIF ((MSC_ATP_PVT.G_INV_CTP = 4) AND
5154: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
5155: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
5156: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
5157:
5158: IF PG_DEBUG in ('Y', 'C') THEN
5159: msc_sch_wb.atp_debug('Add_Supplies: ' || ' before insert into' ||
5160: ' msc_alloc_supplies');
5196: -- Allocated ATP Based on Planning Details -- Agilent changes End
5197:
5198: -- Code to make summary updates and commit removed for summary enhancement
5199: /** code commented for time being. Will be removed after code review
5200: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
5201: IF PG_DEBUG in ('Y', 'C') THEN
5202: msc_sch_wb.atp_debug('Add_Planned_Order: ' || 'Create planned orders for summary mode');
5203: msc_sch_wb.atp_debug('Add_Planned_Order: ' || 'First try to update ');
5204: END IF;
5260: Procedure call_delete_row (
5261: p_instance_id IN NUMBER,
5262: p_atp_table IN MRP_ATP_PUB.ATP_Rec_Typ,
5263: p_refresh_number IN NUMBER,
5264: x_delete_atp_rec OUT NoCopy MSC_ATP_PVT.DELETE_ATP_REC,
5265: x_return_status OUT NoCopy VARCHAR2
5266: ) IS
5267: i PLS_INTEGER := 1;
5268: m PLS_INTEGER := 1;
5280: l_time_phased_atp VARCHAR2(1) := 'N';
5281: l_time_phased_set VARCHAR2(1) := 'N';
5282: l_demand_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5283: l_inv_item_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5284: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
5285: l_del_demand_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5286: l_del_inv_item_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5287: l_del_plan_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5288: l_del_identifiers MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();
5319: l_ods_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5320: l_ods_cto_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5321: l_del_ods_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5322: l_del_ods_cto_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5323: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC;
5324: l_attribute_07 MRP_ATP_PUB.char30_Arr := MRP_ATP_PUB.char30_Arr();
5325: l_alloc_atp varchar2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; -- ALLOC ATP CHANGES, 12973673
5326:
5327: BEGIN
5321: l_del_ods_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5322: l_del_ods_cto_atp_refresh_no MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
5323: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC;
5324: l_attribute_07 MRP_ATP_PUB.char30_Arr := MRP_ATP_PUB.char30_Arr();
5325: l_alloc_atp varchar2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; -- ALLOC ATP CHANGES, 12973673
5326:
5327: BEGIN
5328: IF PG_DEBUG in ('Y', 'C') THEN
5329: msc_sch_wb.atp_debug('*** Begin Call_delete_row ***');
5350: -- not available for atp
5351: IF PG_DEBUG in ('Y', 'C') THEN
5352: msc_sch_wb.atp_debug('Call_delete_row: ' || 'ATP not available');
5353: END IF;
5354: x_delete_atp_rec.error_code(1) := MSC_ATP_PVT.TRY_ATP_LATER;
5355: RETURN;
5356:
5357: ELSIF l_summary_flag = 1 THEN
5358: ---- summary table is not ready. Switch to detail tables
5358: ---- summary table is not ready. Switch to detail tables
5359: IF PG_DEBUG in ('Y', 'C') THEN
5360: msc_sch_wb.atp_debug('Call_delete_row: ' || ' summary table is not ready. Switch to detail tables');
5361: END IF;
5362: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
5363:
5364: ELSIF l_summary_flag = 2 THEN
5365: IF PG_DEBUG in ('Y', 'C') THEN
5366: msc_sch_wb.atp_debug('Call_delete_row: ' || 'Summary Concurrent program is running');
5364: ELSIF l_summary_flag = 2 THEN
5365: IF PG_DEBUG in ('Y', 'C') THEN
5366: msc_sch_wb.atp_debug('Call_delete_row: ' || 'Summary Concurrent program is running');
5367: END IF;
5368: x_delete_atp_rec.error_code(1) := MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING;
5369: RETURN;
5370: END IF;
5371:
5372: IF (p_atp_table.Action.COUNT > 0 ) THEN
5378: FOR m in 1.. p_atp_table.Action.COUNT LOOP
5379: ---l_old_plan_id.Extend;
5380: -- we need to get the plan_id based on old org and old demand
5381: -- class
5382: --IF MSC_ATP_PVT.G_INV_CTP = 4 THEN --anuarg
5383: IF p_atp_table.old_source_organization_id(m) IS NOT NULL THEN -- we want to find plan only in case
5384: -- of reschedulling
5385: ----Subst: Get pf id for old inv item if
5386: IF NVL(p_atp_table.old_inventory_item_id(m), p_atp_table.inventory_item_id(m))
5398: IF PG_DEBUG in ('Y', 'C') THEN
5399: msc_sch_wb.atp_debug('Call_delete_row: ' || 'l_old_pf_item_id := ' || l_old_pf_item_id);
5400: END IF;
5401: END IF;
5402: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN --3720018, moved from above
5403: /* time_phased_atp changes begin
5404: Call new procedure Get_PF_Plan_Info*/
5405: IF p_atp_table.old_source_organization_id(m) IS NOT NULL THEN
5406: MSC_ATP_PF.Get_PF_Plan_Info(
5430: IF PG_DEBUG in ('Y', 'C') THEN
5431: msc_sch_wb.atp_debug('Call_delete_row: ' || 'reached here2');
5432: END IF;
5433:
5434: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
5435:
5436: IF PG_DEBUG in ('Y', 'C') THEN
5437: msc_sch_wb.atp_debug('Call_delete_row: ' || 'l_plan_info_rec.plan_id = '||l_plan_info_rec.plan_id);
5438: END IF;
5464: IF l_old_plan_id(m) IS NOT NULL THEN
5465: ---subst: add demand field
5466: ---bug 2384224: delete demand only if it has not been deleted
5467: l_delete_demand_flag := 1;
5468: --IF MSC_ATP_PVT.G_INV_CTP = 4 THEN --3720018, removed this condition
5469: -- Chagned the following loop
5470: --FOR i in 1..l_del_demand_ids.count LOOP
5471: -- IF p_atp_table.Identifier(m) = l_del_identifiers(i) and l_old_plan_id(m) = l_del_plan_ids(i) THEN
5472: -- IF PG_DEBUG in ('Y', 'C') THEN
5494: END IF;
5495: END IF;
5496: END LOOP;
5497: --END IF; --3720018
5498: IF (MSC_ATP_PVT.G_INV_CTP = 5) or (MSC_ATP_PVT.G_INV_CTP = 4 and l_delete_demand_flag = 1) THEN
5499: /* time_phased_atp */
5500: IF l_atf_dates(m) is not null THEN
5501: l_time_phased_atp := 'Y';
5502: END IF;
5505: l_time_phased_set := 'Y';
5506: END IF;
5507:
5508: -- ALLOC ATP CHANGES, 12973673
5509: IF (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y') THEN
5510: IF PG_DEBUG in ('Y', 'C') THEN
5511: msc_sch_wb.atp_debug('Call_delete_row: ' || 'G_HYBRID_ALLOC_ATP is Y');
5512: END IF;
5513:
5510: IF PG_DEBUG in ('Y', 'C') THEN
5511: msc_sch_wb.atp_debug('Call_delete_row: ' || 'G_HYBRID_ALLOC_ATP is Y');
5512: END IF;
5513:
5514: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_FUNC.check_alloc_exists(p_instance_id,
5515: -1, --PLAN_ID
5516: p_atp_table.Inventory_Item_Id(m),
5517: p_atp_table.old_source_organization_id(m),
5518: nvl(p_atp_table.Requested_Arrival_Date(m), p_atp_table.Requested_Ship_Date(m)));
5517: p_atp_table.old_source_organization_id(m),
5518: nvl(p_atp_table.Requested_Arrival_Date(m), p_atp_table.Requested_Ship_Date(m)));
5519:
5520: IF PG_DEBUG in ('Y', 'C') THEN
5521: msc_sch_wb.atp_debug('Call_delete_row: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP = '||MSC_ATP_PVT.G_ALLOCATED_ATP);
5522: END IF;
5523: END IF;
5524:
5525: MSC_ATP_DB_UTILS.Delete_Row(
5557: IF PG_DEBUG in ('Y', 'C') THEN
5558: msc_sch_wb.atp_debug('Call_delete_row: After call to Delete_Row' );
5559: END IF;
5560:
5561: --IF MSC_ATP_PVT.G_INV_CTP = 4 and l_old_plan_id(m) <> -1 THEN --3720018
5562: IF (l_old_plan_id(m) = -1) THEN
5563: IF l_demand_ids IS NOT NULL and l_demand_ids.count > 0 THEN
5564: l_count := l_del_ods_demand_ids.count;
5565: l_del_ods_demand_ids.extend(l_demand_ids.count);
5587: l_del_ods_cto_atp_refresh_no(l_count + i) := l_ods_cto_atp_refresh_no(i);
5588: END LOOP;
5589: END IF;
5590: --5357370
5591: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
5592: l_del_identifiers.extend(p_atp_table.Identifier.count);
5593: l_del_identifiers := p_atp_table.Identifier;
5594: END IF;
5595:
5692: END LOOP;
5693: END IF;
5694: -- END CTO ODR and Simplified Pegging
5695: END IF; --3720018
5696: END IF; --- IF (MSC_ATP_PVT.G_INV_CTP = 5) or (MSC_ATP_PVT.G_INV_CTP = 4 and l_delete_demand_flag = 1)
5697: END IF;
5698: IF PG_DEBUG in ('Y', 'C') THEN
5699: msc_sch_wb.atp_debug('Call_delete_row: ' || 'Count of records := ' || l_del_demand_ids.count);
5700: END IF;
5735: x_delete_atp_rec.del_ods_atp_refresh_no := l_del_ods_atp_refresh_no;
5736: x_delete_atp_rec.del_ods_cto_atp_refresh_no := l_del_ods_cto_atp_refresh_no;
5737: END IF;
5738:
5739: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
5740: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; -- ALLOC ATP CHANGES, 12973673
5741: END IF;
5742:
5743: IF PG_DEBUG in ('Y', 'C') THEN
5736: x_delete_atp_rec.del_ods_cto_atp_refresh_no := l_del_ods_cto_atp_refresh_no;
5737: END IF;
5738:
5739: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
5740: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; -- ALLOC ATP CHANGES, 12973673
5741: END IF;
5742:
5743: IF PG_DEBUG in ('Y', 'C') THEN
5744: msc_sch_wb.atp_debug('*** END Call_delete_row ***');
5943: supplier_atp_date, dest_inv_item_id, summary_flag
5944: , aggregate_time_fence_date
5945: from mrp_atp_details_temp
5946: where record_type in (3,4)
5947: and session_id = MSC_ATP_PVT.G_SESSION_ID
5948: start with pegging_id = p_identifier
5949: and session_id = MSC_ATP_PVT.G_SESSION_ID
5950: and record_type = 3
5951: connect by parent_pegging_id = prior pegging_id
5945: from mrp_atp_details_temp
5946: where record_type in (3,4)
5947: and session_id = MSC_ATP_PVT.G_SESSION_ID
5948: start with pegging_id = p_identifier
5949: and session_id = MSC_ATP_PVT.G_SESSION_ID
5950: and record_type = 3
5951: connect by parent_pegging_id = prior pegging_id
5952: AND session_id = prior session_id
5953: AND record_type in (3,4);
5952: AND session_id = prior session_id
5953: AND record_type in (3,4);
5954:
5955: c1 pegging%ROWTYPE;
5956: l_alloc_atp varchar2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; -- ALLOC ATP CHANGES, 12973673
5957: BEGIN
5958: IF PG_DEBUG in ('Y', 'C') THEN
5959: msc_sch_wb.atp_debug('***** Begin Hide_SD_Rec Procedure *****');
5960: msc_sch_wb.atp_debug('Hide_SD_Rec: ' || 'Reset all the global variables ');
5963:
5964: -- for ods, just need to remove the record from msc_sales_orders
5965: -- initialize API return status to success
5966: x_return_status := FND_API.G_RET_STS_SUCCESS;
5967: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
5968: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
5969: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
5970:
5971: OPEN pegging;
5964: -- for ods, just need to remove the record from msc_sales_orders
5965: -- initialize API return status to success
5966: x_return_status := FND_API.G_RET_STS_SUCCESS;
5967: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
5968: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
5969: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
5970:
5971: OPEN pegging;
5972: LOOP
5965: -- initialize API return status to success
5966: x_return_status := FND_API.G_RET_STS_SUCCESS;
5967: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
5968: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
5969: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
5970:
5971: OPEN pegging;
5972: LOOP
5973:
6001:
6002: -- time_phased_atp or demand priority AATP
6003: IF (c1.aggregate_time_fence_date is not null)
6004: OR
6005: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6006: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6007: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6008: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6009:
6002: -- time_phased_atp or demand priority AATP
6003: IF (c1.aggregate_time_fence_date is not null)
6004: OR
6005: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6006: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6007: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6008: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6009:
6010: IF PG_DEBUG in ('Y', 'C') THEN
6003: IF (c1.aggregate_time_fence_date is not null)
6004: OR
6005: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6006: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6007: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6008: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6009:
6010: IF PG_DEBUG in ('Y', 'C') THEN
6011: msc_sch_wb.atp_debug('Hide_SD_Rec: before update of msc_alloc_supplies');
6004: OR
6005: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6006: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6007: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6008: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6009:
6010: IF PG_DEBUG in ('Y', 'C') THEN
6011: msc_sch_wb.atp_debug('Hide_SD_Rec: before update of msc_alloc_supplies');
6012: END IF;
6050: END IF;
6051:
6052: IF (c1.aggregate_time_fence_date is not null)
6053: OR
6054: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6055: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6056: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6057: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6058:
6051:
6052: IF (c1.aggregate_time_fence_date is not null)
6053: OR
6054: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6055: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6056: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6057: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6058:
6059: IF PG_DEBUG in ('Y', 'C') THEN
6052: IF (c1.aggregate_time_fence_date is not null)
6053: OR
6054: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6055: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6056: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6057: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6058:
6059: IF PG_DEBUG in ('Y', 'C') THEN
6060: msc_sch_wb.atp_debug('Hide_SD_Rec: before update of' ||
6053: OR
6054: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6055: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6056: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6057: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6058:
6059: IF PG_DEBUG in ('Y', 'C') THEN
6060: msc_sch_wb.atp_debug('Hide_SD_Rec: before update of' ||
6061: ' msc_alloc_demands');
6090:
6091: END LOOP;
6092: CLOSE pegging;
6093:
6094: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6095: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; -- ALLOC ATP CHANGES, 12973673
6096: END IF;
6097:
6098: IF PG_DEBUG in ('Y', 'C') THEN
6091: END LOOP;
6092: CLOSE pegging;
6093:
6094: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6095: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; -- ALLOC ATP CHANGES, 12973673
6096: END IF;
6097:
6098: IF PG_DEBUG in ('Y', 'C') THEN
6099: msc_sch_wb.atp_debug('***** End Hide_SD_Rec Procedure *****');
6124: supplier_atp_date, dest_inv_item_id, summary_flag
6125: , aggregate_time_fence_date,from_organization_id
6126: from mrp_atp_details_temp
6127: where record_type in (3,4)
6128: and session_id = MSC_ATP_PVT.G_SESSION_ID
6129: start with pegging_id = p_pegging_id
6130: and session_id = MSC_ATP_PVT.G_SESSION_ID
6131: and record_type = 3
6132: connect by parent_pegging_id = prior pegging_id
6126: from mrp_atp_details_temp
6127: where record_type in (3,4)
6128: and session_id = MSC_ATP_PVT.G_SESSION_ID
6129: start with pegging_id = p_pegging_id
6130: and session_id = MSC_ATP_PVT.G_SESSION_ID
6131: and record_type = 3
6132: connect by parent_pegging_id = prior pegging_id
6133: AND session_id = prior session_id
6134: AND record_type in (3,4);
6133: AND session_id = prior session_id
6134: AND record_type in (3,4);
6135:
6136: c1 pegging%ROWTYPE;
6137: l_alloc_atp VARCHAR2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
6138: BEGIN
6139: IF PG_DEBUG in ('Y', 'C') THEN
6140: msc_sch_wb.atp_debug('***** Begin Delete_SD_Rec Procedure *****');
6141: END IF;
6140: msc_sch_wb.atp_debug('***** Begin Delete_SD_Rec Procedure *****');
6141: END IF;
6142:
6143: x_return_status := FND_API.G_RET_STS_SUCCESS;
6144: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6145: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6146: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6147:
6148: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6141: END IF;
6142:
6143: x_return_status := FND_API.G_RET_STS_SUCCESS;
6144: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6145: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6146: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6147:
6148: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6149: IF PG_DEBUG in ('Y', 'C') THEN
6142:
6143: x_return_status := FND_API.G_RET_STS_SUCCESS;
6144: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6145: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6146: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6147:
6148: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6149: IF PG_DEBUG in ('Y', 'C') THEN
6150: msc_sch_wb.atp_debug('Delete_SD_Rec: ' || 'p_pegging_tab(i) = ' || p_pegging_tab(i));
6182:
6183: -- time_phased_atp
6184: IF (c1.aggregate_time_fence_date is not null)
6185: OR
6186: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6187: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6188: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6189: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6190:
6183: -- time_phased_atp
6184: IF (c1.aggregate_time_fence_date is not null)
6185: OR
6186: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6187: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6188: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6189: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6190:
6191: DELETE FROM MSC_ALLOC_SUPPLIES
6184: IF (c1.aggregate_time_fence_date is not null)
6185: OR
6186: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6187: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6188: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6189: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6190:
6191: DELETE FROM MSC_ALLOC_SUPPLIES
6192: WHERE parent_transaction_id = c1.identifier3
6185: OR
6186: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6187: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6188: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6189: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6190:
6191: DELETE FROM MSC_ALLOC_SUPPLIES
6192: WHERE parent_transaction_id = c1.identifier3
6193: AND plan_id = c1.identifier2;
6223:
6224: -- time_phased_atp
6225: IF (c1.aggregate_time_fence_date is not null)
6226: OR
6227: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6228: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6229: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6230: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6231:
6224: -- time_phased_atp
6225: IF (c1.aggregate_time_fence_date is not null)
6226: OR
6227: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6228: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6229: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6230: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6231:
6232: DELETE FROM MSC_ALLOC_DEMANDS
6225: IF (c1.aggregate_time_fence_date is not null)
6226: OR
6227: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6228: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6229: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6230: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6231:
6232: DELETE FROM MSC_ALLOC_DEMANDS
6233: WHERE parent_demand_id = c1.identifier3
6226: OR
6227: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6228: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6229: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6230: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6231:
6232: DELETE FROM MSC_ALLOC_DEMANDS
6233: WHERE parent_demand_id = c1.identifier3
6234: AND old_allocated_quantity IS NULL
6256: END LOOP;
6257: CLOSE pegging;
6258: END LOOP; --FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6259:
6260: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6261: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
6262: END IF;
6263:
6264: IF PG_DEBUG in ('Y', 'C') THEN
6257: CLOSE pegging;
6258: END LOOP; --FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6259:
6260: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6261: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
6262: END IF;
6263:
6264: IF PG_DEBUG in ('Y', 'C') THEN
6265: msc_sch_wb.atp_debug('***** End Delete_SD_Rec Procedure *****');
6289: supplier_atp_date, dest_inv_item_id, summary_flag
6290: , aggregate_time_fence_date,from_organization_id
6291: from mrp_atp_details_temp
6292: where record_type in (3,4)
6293: and session_id = MSC_ATP_PVT.G_SESSION_ID
6294: start with pegging_id = p_pegging_id
6295: and session_id = MSC_ATP_PVT.G_SESSION_ID
6296: and record_type = 3
6297: connect by parent_pegging_id = prior pegging_id
6291: from mrp_atp_details_temp
6292: where record_type in (3,4)
6293: and session_id = MSC_ATP_PVT.G_SESSION_ID
6294: start with pegging_id = p_pegging_id
6295: and session_id = MSC_ATP_PVT.G_SESSION_ID
6296: and record_type = 3
6297: connect by parent_pegging_id = prior pegging_id
6298: AND session_id = prior session_id
6299: AND record_type in (3,4);
6298: AND session_id = prior session_id
6299: AND record_type in (3,4);
6300:
6301: c1 pegging%ROWTYPE;
6302: l_alloc_atp VARCHAR2(1) := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
6303:
6304: BEGIN
6305: IF PG_DEBUG in ('Y', 'C') THEN
6306: msc_sch_wb.atp_debug('***** Begin Restore_SD_Rec Procedure *****');
6308:
6309: -- for ods, just need to remove the record from msc_sales_orders
6310: -- initialize API return status to success
6311: x_return_status := FND_API.G_RET_STS_SUCCESS;
6312: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6313: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6314: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6315:
6316: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6309: -- for ods, just need to remove the record from msc_sales_orders
6310: -- initialize API return status to success
6311: x_return_status := FND_API.G_RET_STS_SUCCESS;
6312: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6313: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6314: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6315:
6316: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6317: IF PG_DEBUG in ('Y', 'C') THEN
6310: -- initialize API return status to success
6311: x_return_status := FND_API.G_RET_STS_SUCCESS;
6312: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'),2);
6313: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(FND_PROFILE.value('MSC_ALLOCATED_ATP'),'N');
6314: MSC_ATP_PVT.G_INV_CTP := FND_PROFILE.value('INV_CTP') ;
6315:
6316: FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6317: IF PG_DEBUG in ('Y', 'C') THEN
6318: msc_sch_wb.atp_debug('Delete_SD_Rec: ' || 'p_pegging_tab(i) = ' || p_pegging_tab(i));
6351:
6352: -- time_phased_atp
6353: IF (c1.aggregate_time_fence_date is not null)
6354: OR
6355: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6356: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6357: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6358: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6359:
6352: -- time_phased_atp
6353: IF (c1.aggregate_time_fence_date is not null)
6354: OR
6355: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6356: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6357: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6358: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6359:
6360: UPDATE MSC_ALLOC_SUPPLIES
6353: IF (c1.aggregate_time_fence_date is not null)
6354: OR
6355: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6356: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6357: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6358: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6359:
6360: UPDATE MSC_ALLOC_SUPPLIES
6361: SET inventory_item_id = -1*inventory_item_id
6354: OR
6355: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6356: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6357: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6358: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6359:
6360: UPDATE MSC_ALLOC_SUPPLIES
6361: SET inventory_item_id = -1*inventory_item_id
6362: WHERE parent_transaction_id = c1.identifier3
6398:
6399: -- time_phased_atp
6400: IF (c1.aggregate_time_fence_date is not null)
6401: OR
6402: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6403: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6404: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6405: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6406:
6399: -- time_phased_atp
6400: IF (c1.aggregate_time_fence_date is not null)
6401: OR
6402: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6403: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6404: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6405: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6406:
6407: UPDATE MSC_ALLOC_DEMANDS
6400: IF (c1.aggregate_time_fence_date is not null)
6401: OR
6402: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6403: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6404: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6405: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6406:
6407: UPDATE MSC_ALLOC_DEMANDS
6408: SET inventory_item_id = -1*inventory_item_id
6401: OR
6402: ((MSC_ATP_PVT.G_INV_CTP = 4) AND
6403: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
6404: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
6405: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
6406:
6407: UPDATE MSC_ALLOC_DEMANDS
6408: SET inventory_item_id = -1*inventory_item_id
6409: WHERE parent_demand_id = c1.identifier3
6433: END LOOP;
6434: CLOSE pegging;
6435: END LOOP; --FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6436:
6437: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6438: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
6439: END IF;
6440:
6441: IF PG_DEBUG in ('Y', 'C') THEN
6434: CLOSE pegging;
6435: END LOOP; --FOR i IN p_pegging_tab.FIRST..p_pegging_tab.COUNT LOOP
6436:
6437: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
6438: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp; --ALLOC ATP CHANGES, 12973673
6439: END IF;
6440:
6441: IF PG_DEBUG in ('Y', 'C') THEN
6442: msc_sch_wb.atp_debug('***** End Restore_SD_Rec Procedure *****');