DBA Data[Home] [Help]

APPS.MSC_ATP_PVT dependencies on MSC_ATP_PVT

Line 1: PACKAGE BODY MSC_ATP_PVT AS

1: PACKAGE BODY MSC_ATP_PVT AS
2: /* $Header: MSCGATPB.pls 120.66 2011/12/06 09:56:19 vjuluri ship $ */
3: G_PKG_NAME CONSTANT VARCHAR2(30) := 'MSC_ATP_PVT';
4:
5: -- ship_rec_cal

Line 3: G_PKG_NAME CONSTANT VARCHAR2(30) := 'MSC_ATP_PVT';

1: PACKAGE BODY MSC_ATP_PVT AS
2: /* $Header: MSCGATPB.pls 120.66 2011/12/06 09:56:19 vjuluri ship $ */
3: G_PKG_NAME CONSTANT VARCHAR2(30) := 'MSC_ATP_PVT';
4:
5: -- ship_rec_cal
6: G_CALENDAR_CONSTRAINT VARCHAR2(1) := 'N';
7:

Line 169: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec;

165:
166: ---subst
167: l_item_substitute_rec MSC_ATP_SUBST.Item_Info_Rec_Typ;
168: l_null_item_sub_rec MSC_ATP_SUBST.Item_Info_Rec_Typ;
169: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec;
170: l_pre_pro_lt number;
171: l_post_pro_lt number;
172: l_fixed_lt number;
173: l_variable_lt number;

Line 193: l_org_attribute_rec MSC_ATP_PVT.org_attribute_rec;

189: -- Error handling insert
190: l_tmp_pegging_id NUMBER;
191: /* Modularize Item and Org Info */
192: -- Local item record already provided
193: l_org_attribute_rec MSC_ATP_PVT.org_attribute_rec;
194: -- Used for bug 2392456
195: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
196: l_bkwd_pass_atf_date_qty NUMBER; --bug3397904
197:

Line 195: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;

191: /* Modularize Item and Org Info */
192: -- Local item record already provided
193: l_org_attribute_rec MSC_ATP_PVT.org_attribute_rec;
194: -- Used for bug 2392456
195: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
196: l_bkwd_pass_atf_date_qty NUMBER; --bug3397904
197:
198: --bug 2384224
199: l_del_demand_ids MRP_ATP_PUB.number_arr:=MRP_ATP_PUB.number_arr();

Line 287: l_ship_arrival_date_rec MSC_ATP_PVT.ship_arrival_date_rec_typ;

283: l_new_ship_date DATE;
284: l_new_dock_date DATE;
285: l_group_arrival_date DATE;
286: l_order_date_type NUMBER;
287: l_ship_arrival_date_rec MSC_ATP_PVT.ship_arrival_date_rec_typ;
288: l_encoded_text varchar2(4000);
289: l_msg_app varchar2(50);
290: l_msg_name varchar2(30);
291: l_error_code INTEGER;

Line 304: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC; --3720018

300:
301: --bug 3751114
302: l_peg_record_type NUMBER := 3;
303: l_constraint_path_flag NUMBER := 1;
304: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC; --3720018
305:
306: --2814895
307: l_partner_type NUMBER := 2;
308:

Line 344: MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := 'N';

340: IF PG_DEBUG in ('Y', 'C') THEN
341: msc_sch_wb.atp_debug('**********IN Schedule Procedure************');
342: END IF;
343: --initialize ATP_SET_FLAG TO NO --4460369
344: MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := 'N';
345: -- initialize API return status to success
346: x_return_status := FND_API.G_RET_STS_SUCCESS;
347:
348: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');

Line 348: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');

344: MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := 'N';
345: -- initialize API return status to success
346: x_return_status := FND_API.G_RET_STS_SUCCESS;
347:
348: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');
349: IF PG_DEBUG in ('Y', 'C') THEN
350: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
351: END IF;
352:

Line 350: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);

346: x_return_status := FND_API.G_RET_STS_SUCCESS;
347:
348: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');
349: IF PG_DEBUG in ('Y', 'C') THEN
350: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
351: END IF;
352:
353: MSC_ATP_PVT.G_PARTNER_ID := NULL;
354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

Line 353: MSC_ATP_PVT.G_PARTNER_ID := NULL;

349: IF PG_DEBUG in ('Y', 'C') THEN
350: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
351: END IF;
352:
353: MSC_ATP_PVT.G_PARTNER_ID := NULL;
354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
355:
356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:

Line 354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

350: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
351: END IF;
352:
353: MSC_ATP_PVT.G_PARTNER_ID := NULL;
354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
355:
356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN

Line 356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;

352:
353: MSC_ATP_PVT.G_PARTNER_ID := NULL;
354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
355:
356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

Line 358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN

354: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
355:
356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

Line 359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

355:
356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
363: IF PG_DEBUG in ('Y', 'C') THEN

Line 360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

356: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
363: IF PG_DEBUG in ('Y', 'C') THEN
364: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');

Line 361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

357:
358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
363: IF PG_DEBUG in ('Y', 'C') THEN
364: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');
365: END IF;

Line 362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

358: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
359: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
360: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
361: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
362: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
363: IF PG_DEBUG in ('Y', 'C') THEN
364: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');
365: END IF;
366:

Line 383: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN

379:
380: --- BUG: 1777496
381: --- WE dont want to do Allocated ATP in case of ODS
382: --- Allocattion flag is set to 'NO' if it is ODS
383: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
384: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
385: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
386: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; --ALLOC ATP CHANGES, 12973673
387: END IF;

Line 384: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';

380: --- BUG: 1777496
381: --- WE dont want to do Allocated ATP in case of ODS
382: --- Allocattion flag is set to 'NO' if it is ODS
383: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
384: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
385: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
386: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; --ALLOC ATP CHANGES, 12973673
387: END IF;
388: -- we either have a line here or a set (arrival set or ship set)

Line 385: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767

381: --- WE dont want to do Allocated ATP in case of ODS
382: --- Allocattion flag is set to 'NO' if it is ODS
383: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
384: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
385: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
386: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; --ALLOC ATP CHANGES, 12973673
387: END IF;
388: -- we either have a line here or a set (arrival set or ship set)
389: -- this l_ship_count store the # of line for the ship set.

Line 386: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; --ALLOC ATP CHANGES, 12973673

382: --- Allocattion flag is set to 'NO' if it is ODS
383: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
384: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
385: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
386: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; --ALLOC ATP CHANGES, 12973673
387: END IF;
388: -- we either have a line here or a set (arrival set or ship set)
389: -- this l_ship_count store the # of line for the ship set.
390:

Line 406: AND (MSC_ATP_PVT.G_INV_CTP = 4)) THEN

402: END IF;
403: ---diag_atp: Enable diagnostic ATP only if calling module tells us to do so and for ATP inquiry only
404: ---Also Diag ATP is supported for PDS.
405: IF ((p_atp_table.Action(1) = ATPQUERY) AND (NVL(p_atp_table.attribute_02(1), 2) = 1)
406: AND (MSC_ATP_PVT.G_INV_CTP = 4)) THEN
407:
408: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
409:
410: ELSE

Line 408: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;

404: ---Also Diag ATP is supported for PDS.
405: IF ((p_atp_table.Action(1) = ATPQUERY) AND (NVL(p_atp_table.attribute_02(1), 2) = 1)
406: AND (MSC_ATP_PVT.G_INV_CTP = 4)) THEN
407:
408: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
409:
410: ELSE
411:
412: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;

Line 412: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;

408: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
409:
410: ELSE
411:
412: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;
413:
414: END IF;
415: IF PG_DEBUG in ('Y', 'C') THEN
416: msc_sch_wb.atp_debug('Schedule: ' || 'G_DIAGNOSTIC_ATP := ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);

Line 416: msc_sch_wb.atp_debug('Schedule: ' || 'G_DIAGNOSTIC_ATP := ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);

412: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;
413:
414: END IF;
415: IF PG_DEBUG in ('Y', 'C') THEN
416: msc_sch_wb.atp_debug('Schedule: ' || 'G_DIAGNOSTIC_ATP := ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
417: END IF;
418:
419: /************ Bug 2085071 Assignment set changes ************/
420: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN

Line 543: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

539:
540: l_stmt := 30;
541: IF PG_DEBUG in ('Y', 'C') THEN
542: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
543: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
544: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);

Line 544: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);

540: l_stmt := 30;
541: IF PG_DEBUG in ('Y', 'C') THEN
542: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
543: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
544: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
548: END IF;

Line 545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

541: IF PG_DEBUG in ('Y', 'C') THEN
542: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
543: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
544: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
548: END IF;
549: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND

Line 547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);

543: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
544: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
548: END IF;
549: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
550: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
551: --IF coming from planning server then we want to disable Summary mode for

Line 549: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND

545: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
548: END IF;
549: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
550: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
551: --IF coming from planning server then we want to disable Summary mode for
552: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
553: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE

Line 550: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN

546: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
547: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
548: END IF;
549: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
550: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
551: --IF coming from planning server then we want to disable Summary mode for
552: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
553: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE
554: --Bug3765793 adding trim functions to remove spaces from db_link

Line 556: INTO MSC_ATP_PVT.G_DATABASE_LINK, l_summary_flag

552: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
553: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE
554: --Bug3765793 adding trim functions to remove spaces from db_link
555: SELECT ltrim(rtrim(M2A_DBLINK)), summary_flag
556: INTO MSC_ATP_PVT.G_DATABASE_LINK, l_summary_flag
557: FROM msc_apps_instances
558: WHERE instance_id = p_instance_id;
559:
560: ---bug 2301524:

Line 565: msc_sch_wb.atp_debug('Schedule: ' || ' G_DATABASE_LINK := ' || NVL(MSC_ATP_PVT.G_DATABASE_LINK,'NULL'));

561: --- 2301524: Summary mode is not supported for backlog workbench.
562: IF PG_DEBUG in ('Y', 'C') THEN
563: msc_sch_wb.atp_debug('Schedule: ' || 'calling_module := ' || p_atp_table.calling_module(1));
564: msc_sch_wb.atp_debug('Schedule: ' || ' l_summary_flag := ' || l_summary_flag);
565: msc_sch_wb.atp_debug('Schedule: ' || ' G_DATABASE_LINK := ' || NVL(MSC_ATP_PVT.G_DATABASE_LINK,'NULL'));
566: END IF;
567:
568: -- After summary enhancement summary ATP is supported for BWB as well - except for ODS case
569: IF NVL(p_atp_table.calling_module(1), -99) = -1 AND NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN

Line 569: IF NVL(p_atp_table.calling_module(1), -99) = -1 AND NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN

565: msc_sch_wb.atp_debug('Schedule: ' || ' G_DATABASE_LINK := ' || NVL(MSC_ATP_PVT.G_DATABASE_LINK,'NULL'));
566: END IF;
567:
568: -- After summary enhancement summary ATP is supported for BWB as well - except for ODS case
569: IF NVL(p_atp_table.calling_module(1), -99) = -1 AND NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
570: --- if backlog workbench is used then set the summary falg to 200
571: IF PG_DEBUG in ('Y', 'C') THEN
572: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, update tables and turnoff summary for ODS case');
573: END IF;

Line 578: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

574:
575: update msc_apps_instances
576: set summary_flag = 200;
577:
578: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
579: ELSIF NVL(l_summary_flag, -1) = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
580: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
581: IF PG_DEBUG in ('Y', 'C') THEN
582: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');

Line 579: ELSIF NVL(l_summary_flag, -1) = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN

575: update msc_apps_instances
576: set summary_flag = 200;
577:
578: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
579: ELSIF NVL(l_summary_flag, -1) = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
580: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
581: IF PG_DEBUG in ('Y', 'C') THEN
582: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');
583: END IF;

Line 584: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

580: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
581: IF PG_DEBUG in ('Y', 'C') THEN
582: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');
583: END IF;
584: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
585: END IF;
586:
587: END IF;
588:

Line 590: IF MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL AND MSC_ATP_PVT.G_INV_CTP = 5 THEN

586:
587: END IF;
588:
589: ---- After summary enhancement summary will be supported for distributed cases as well - except for ODS case
590: IF MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
591: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
592: IF PG_DEBUG in ('Y', 'C') THEN
593: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed scenario + ODS, turning summary flag off');
594: END IF;

Line 591: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

587: END IF;
588:
589: ---- After summary enhancement summary will be supported for distributed cases as well - except for ODS case
590: IF MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
591: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
592: IF PG_DEBUG in ('Y', 'C') THEN
593: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed scenario + ODS, turning summary flag off');
594: END IF;
595: END IF;

Line 605: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> -1 THEN

601:
602: /* bug3940999 Code moved to call_schedule_remote.
603: -- Code added for bug 2368426 to match source destination INV_CTP start
604:
605: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> -1 THEN
606:
607: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
608:
609: IF PG_DEBUG in ('Y', 'C') THEN

Line 607: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN

603: -- Code added for bug 2368426 to match source destination INV_CTP start
604:
605: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> -1 THEN
606:
607: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
608:
609: IF PG_DEBUG in ('Y', 'C') THEN
610: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
611: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

Line 610: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);

606:
607: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
608:
609: IF PG_DEBUG in ('Y', 'C') THEN
610: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
611: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
612: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP not in sync with destination ');
613: END IF;
614: -- apply the error code in l_atp_table

Line 611: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

607: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
608:
609: IF PG_DEBUG in ('Y', 'C') THEN
610: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
611: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
612: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP not in sync with destination ');
613: END IF;
614: -- apply the error code in l_atp_table
615:

Line 618: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;

614: -- apply the error code in l_atp_table
615:
616: FOR l_counter IN 1..l_atp_table.error_code.COUNT LOOP
617: IF l_counter=1 THEN
618: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
619: ELSE
620: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.GROUPEL_ERROR;
621: END IF;
622: END LOOP;

Line 620: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.GROUPEL_ERROR;

616: FOR l_counter IN 1..l_atp_table.error_code.COUNT LOOP
617: IF l_counter=1 THEN
618: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
619: ELSE
620: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.GROUPEL_ERROR;
621: END IF;
622: END LOOP;
623: RAISE NO_DATA_FOUND;
624:

Line 644: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

640: l_demand_ids.Extend(p_atp_table.action.count);
641: l_inv_item_ids.extend(p_atp_table.action.count);
642: l_req_arr_date.extend(p_atp_table.action.count);--for plan by request date
643: -- bug 2152184
644: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
645: -- we store the pf id and old org id. l_pf_item_id will contain either PF item id if we are doing
646: --- product family for the item or the inventory_item_id itself for regular item
647: ---we store these ids because of change in PF atp approach to do PF ATP on PF item level
648: -- Under new approach, for PF ATP, demand is stored on PF item level instead on member item level

Line 710: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR

706: x_return_status := FND_API.G_RET_STS_ERROR;
707: RAISE FND_API.G_EXC_ERROR;
708: END IF;
709:
710: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
711: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
712: l_atp_table.error_code(1) := l_delete_atp_rec.error_code(1);
713: RAISE NO_DATA_FOUND;
714: END IF;

Line 711: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN

707: RAISE FND_API.G_EXC_ERROR;
708: END IF;
709:
710: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
711: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
712: l_atp_table.error_code(1) := l_delete_atp_rec.error_code(1);
713: RAISE NO_DATA_FOUND;
714: END IF;
715: END IF;

Line 803: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;

799: -- 1873918: PDS-ODS fix
800: -- introduce 2 variables to hold the global variable value.
801: -- we need to know the original values and then reset it each time.
802:
803: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
804: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
805: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
806: --5221865 If ODS ATP then set initial value as No else read whatever is set.
807: IF PG_DEBUG in ('Y', 'C') THEN

Line 804: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;

800: -- introduce 2 variables to hold the global variable value.
801: -- we need to know the original values and then reset it each time.
802:
803: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
804: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
805: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
806: --5221865 If ODS ATP then set initial value as No else read whatever is set.
807: IF PG_DEBUG in ('Y', 'C') THEN
808: msc_sch_wb.atp_debug('Schedule: G_INV_CTP = '||G_INV_CTP);

Line 805: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);

801: -- we need to know the original values and then reset it each time.
802:
803: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
804: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
805: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
806: --5221865 If ODS ATP then set initial value as No else read whatever is set.
807: IF PG_DEBUG in ('Y', 'C') THEN
808: msc_sch_wb.atp_debug('Schedule: G_INV_CTP = '||G_INV_CTP);
809: msc_sch_wb.atp_debug('Schedule: G_FORWARD_ATP = '||G_FORWARD_ATP);

Line 811: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

807: IF PG_DEBUG in ('Y', 'C') THEN
808: msc_sch_wb.atp_debug('Schedule: G_INV_CTP = '||G_INV_CTP);
809: msc_sch_wb.atp_debug('Schedule: G_FORWARD_ATP = '||G_FORWARD_ATP);
810: END IF;
811: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
812: l_forward_atp := MSC_ATP_PVT.G_FORWARD_ATP;
813: ELSE
814: l_forward_atp := 'N';
815: END IF;

Line 812: l_forward_atp := MSC_ATP_PVT.G_FORWARD_ATP;

808: msc_sch_wb.atp_debug('Schedule: G_INV_CTP = '||G_INV_CTP);
809: msc_sch_wb.atp_debug('Schedule: G_FORWARD_ATP = '||G_FORWARD_ATP);
810: END IF;
811: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
812: l_forward_atp := MSC_ATP_PVT.G_FORWARD_ATP;
813: ELSE
814: l_forward_atp := 'N';
815: END IF;
816:

Line 830: p_session_id => MSC_ATP_PVT.G_SESSION_ID,

826: p_customer_site_id => p_atp_table.Customer_Site_Id(1),
827: p_calling_module => p_atp_table.Calling_Module(1),
828: -- i.e. Source (ERP) or Destination (724)
829: p_instance_id => p_instance_id,
830: p_session_id => MSC_ATP_PVT.G_SESSION_ID,
831: p_dblink => NULL,
832: x_return_status => l_return_status );
833:
834: -- ngoel 9/27/2001 : Assigned values to G_SR_PARTNER_SITE_ID GLOBAL Variable

Line 873: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

869: -- 1873918: PDS-ODS fix
870: IF PG_DEBUG in ('Y', 'C') THEN
871: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
872: END IF;
873: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
874: -- ATP4drp re-set using original profile value.
875: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
876: -- End ATP4drp
877: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

Line 875: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

871: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
872: END IF;
873: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
874: -- ATP4drp re-set using original profile value.
875: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
876: -- End ATP4drp
877: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
878: --5221865 Set original value for each line
879: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

Line 877: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

873: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
874: -- ATP4drp re-set using original profile value.
875: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
876: -- End ATP4drp
877: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
878: --5221865 Set original value for each line
879: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
880: l_plan_id := -1;
881: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN

Line 879: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

875: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
876: -- End ATP4drp
877: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
878: --5221865 Set original value for each line
879: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
880: l_plan_id := -1;
881: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN
882: IF PG_DEBUG in ('Y', 'C') THEN
883: msc_sch_wb.atp_debug('Schedule: ' || '724');

Line 963: --IF MSC_ATP_PVT.G_INV_CTP = 5 THEN

959: l_atp_table := p_atp_table;
960:
961: END IF;
962:
963: --IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
964: -- Bug 4091487 Checking so_tbl_status in PDS ATP also.
965: -- if this is ods atp, we need to make sure planning is not doing
966: -- the complete refresh . populate error code if we are in the
967: -- the complete refresh.

Line 974: MSC_ATP_PVT.G_APPS_VER -- 2300767

970: NVL(summary_flag, 1),
971: apps_ver
972: INTO l_so_tbl_status,
973: l_summary_flag,
974: MSC_ATP_PVT.G_APPS_VER -- 2300767
975: FROM msc_apps_instances
976: WHERE instance_id = p_instance_id;
977:
978: IF PG_DEBUG in ('Y', 'C') THEN

Line 981: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_APPS_VER = ' || MSC_ATP_PVT.G_APPS_VER);

977:
978: IF PG_DEBUG in ('Y', 'C') THEN
979: msc_sch_wb.atp_debug('Schedule: ' || 'l_so_tbl_status = '||l_so_tbl_status);
980: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag = ' || l_summary_flag);
981: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_APPS_VER = ' || MSC_ATP_PVT.G_APPS_VER);
982: END IF; -- 2300767
983:
984:
985: IF NVL(l_so_tbl_status, 1) = 2 THEN

Line 999: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

995: ---- summary table is not ready. Switch to detail tables
996: IF PG_DEBUG in ('Y', 'C') THEN
997: msc_sch_wb.atp_debug('Schedule: ' || ' summary table is not ready. Switch to detail tables');
998: END IF;
999: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1000:
1001: ELSIF l_summary_flag = 2 THEN
1002:
1003: IF PG_DEBUG in ('Y', 'C') THEN

Line 1027: IF (MSC_ATP_PVT.G_ASSIGN_SET_ID IS NULL) THEN

1023:
1024: l_stmt := 90;
1025:
1026: /*
1027: IF (MSC_ATP_PVT.G_ASSIGN_SET_ID IS NULL) THEN
1028: FND_MESSAGE.set_name('MRP','MRP_NO_ATP_ASSIGN_SET');
1029: -- need to add error message
1030: l_atp_table.Error_Code(k) := ATP_NO_ASSIGN_SET;
1031: RAISE NO_DATA_FOUND;

Line 1074: MSC_ATP_PVT.G_SESSION_ID,

1070: l_assign_set_id,
1071: --s_cto_rearch
1072: l_item_sourcing_info_rec,
1073: --p_atp_table.inventory_item_id,
1074: MSC_ATP_PVT.G_SESSION_ID,
1075: l_sources,
1076: l_return_status,
1077: l_partner_type, --2814895
1078: p_atp_table.party_site_id(k), --2814895

Line 1097: MSC_ATP_PVT.G_SESSION_ID,

1093: l_assign_set_id,
1094: --s_cto_rearch
1095: l_item_sourcing_info_rec,
1096: --MRP_ATP_PUB.number_arr(NULL),
1097: MSC_ATP_PVT.G_SESSION_ID,
1098: l_sources,
1099: l_return_status,
1100: l_partner_type, --2814895
1101: p_atp_table.party_site_id(k), --2814895

Line 1129: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN

1125: END IF;
1126: --4091487 In case no records in msc_item_id_lid
1127: --raise seperate error item not collected in case item not found in
1128:
1129: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1130: l_atp_table.error_code(k) := TRY_ATP_LATER;
1131: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1132: FOR l_count in 1..l_atp_table.error_code.count LOOP
1133: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

Line 1131: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN

1127: --raise seperate error item not collected in case item not found in
1128:
1129: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1130: l_atp_table.error_code(k) := TRY_ATP_LATER;
1131: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1132: FOR l_count in 1..l_atp_table.error_code.count LOOP
1133: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1134: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1135: END IF;

Line 1133: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

1129: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1130: l_atp_table.error_code(k) := TRY_ATP_LATER;
1131: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1132: FOR l_count in 1..l_atp_table.error_code.count LOOP
1133: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1134: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1135: END IF;
1136: END LOOP;
1137: --- set the variable back to null

Line 1138: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1134: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1135: END IF;
1136: END LOOP;
1137: --- set the variable back to null
1138: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1139: ELSE
1140:
1141: l_atp_table.Error_Code(k):= ATP_NO_SOURCES;
1142: END IF;

Line 1188: MSC_ATP_PVT.G_SESSION_ID,

1184:
1185: MSC_ATP_CTO.Validate_CTO_Sources(l_sources,
1186: l_atp_table.identifier,
1187: p_instance_id,
1188: MSC_ATP_PVT.G_SESSION_ID,
1189: l_return_status);
1190:
1191: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1192: --warehouse entered is not a valid warehouse for one of the models

Line 1191: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

1187: p_instance_id,
1188: MSC_ATP_PVT.G_SESSION_ID,
1189: l_return_status);
1190:
1191: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1192: --warehouse entered is not a valid warehouse for one of the models
1193: l_atp_table.Error_Code(k):= MSC_ATP_PVT.INVALID_OSS_WAREHOUSE;
1194: RAISE NO_DATA_FOUND;
1195: END IF;

Line 1193: l_atp_table.Error_Code(k):= MSC_ATP_PVT.INVALID_OSS_WAREHOUSE;

1189: l_return_status);
1190:
1191: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1192: --warehouse entered is not a valid warehouse for one of the models
1193: l_atp_table.Error_Code(k):= MSC_ATP_PVT.INVALID_OSS_WAREHOUSE;
1194: RAISE NO_DATA_FOUND;
1195: END IF;
1196:
1197: ELSE

Line 1297: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

1293: END IF;*/
1294:
1295: -- initialize the group date in case it is a ship set
1296: -- Bug 2259824
1297: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
1298: IF PG_DEBUG in ('Y', 'C') THEN
1299: msc_sch_wb.atp_debug('Schedule: 2259824 l_group_date = '||
1300: to_char(l_group_date, 'DD-MON-YYYY HH24:MI:SS'));
1301: END IF;

Line 1335: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

1331: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
1332: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
1333: msc_sch_wb.atp_debug('Schedule: Reinitialize global org/item/plan recs');
1334: END IF;
1335: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1336: -- ATP4drp re-set using original profile value
1337: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1338: -- End ATP4drp
1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

Line 1337: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

1333: msc_sch_wb.atp_debug('Schedule: Reinitialize global org/item/plan recs');
1334: END IF;
1335: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1336: -- ATP4drp re-set using original profile value
1337: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1338: -- End ATP4drp
1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1340: --5221865 Set original value for each line
1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

Line 1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

1335: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1336: -- ATP4drp re-set using original profile value
1337: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1338: -- End ATP4drp
1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1340: --5221865 Set original value for each line
1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
1342: -- 2741997
1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;

Line 1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

1337: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1338: -- End ATP4drp
1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1340: --5221865 Set original value for each line
1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
1342: -- 2741997
1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;

Line 1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;

1339: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1340: --5221865 Set original value for each line
1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
1342: -- 2741997
1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1346:
1347: --diag_atp: Reset the allocation rule name varibale as it may get reset.

Line 1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;

1340: --5221865 Set original value for each line
1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
1342: -- 2741997
1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1346:
1347: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1348: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;

Line 1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;

1341: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
1342: -- 2741997
1343: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1346:
1347: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1348: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;
1349: IF PG_DEBUG in ('Y', 'C') THEN

Line 1348: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;

1344: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1345: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1346:
1347: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1348: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;
1349: IF PG_DEBUG in ('Y', 'C') THEN
1350: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP '||G_INV_CTP|| ' G_ALLOCATED_ATP '||G_ALLOCATED_ATP);
1351: END IF;
1352:

Line 1354: -- MSC_ATP_PVT.G_CALENDAR_CONSTRAINT := 'N';

1350: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP '||G_INV_CTP|| ' G_ALLOCATED_ATP '||G_ALLOCATED_ATP);
1351: END IF;
1352:
1353: -- ship_rec_cal
1354: -- MSC_ATP_PVT.G_CALENDAR_CONSTRAINT := 'N';
1355: -- Bug3593394 - No need to reset it here. If contraint is not there then this will be explicitly set to 'N'
1356:
1357: -- assign l_process_item_id.
1358: -- this is for product family atp. when we do

Line 1373: MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL -- (Distributed case or BWB)

1369: --bug 2301524
1370: -- After summary enhancement Summary will be disabled only for ODS case
1371: IF (
1372: (
1373: MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL -- (Distributed case or BWB)
1374: OR l_summary_flag = 200 -- and ODS
1375: OR p_atp_table.calling_module(1) = -1
1376: )
1377: AND MSC_ATP_PVT.G_INV_CTP = 5

Line 1377: AND MSC_ATP_PVT.G_INV_CTP = 5

1373: MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL -- (Distributed case or BWB)
1374: OR l_summary_flag = 200 -- and ODS
1375: OR p_atp_table.calling_module(1) = -1
1376: )
1377: AND MSC_ATP_PVT.G_INV_CTP = 5
1378: )
1379: OR
1380: (
1381: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and

Line 1381: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and

1377: AND MSC_ATP_PVT.G_INV_CTP = 5
1378: )
1379: OR
1380: (
1381: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1382: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1383: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1384: ) THEN
1385: IF PG_DEBUG in ('Y', 'C') THEN

Line 1382: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP

1378: )
1379: OR
1380: (
1381: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1382: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1383: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1384: ) THEN
1385: IF PG_DEBUG in ('Y', 'C') THEN
1386: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||

Line 1383: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1

1379: OR
1380: (
1381: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1382: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1383: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1384: ) THEN
1385: IF PG_DEBUG in ('Y', 'C') THEN
1386: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1387: 'always do ATP against details table');

Line 1388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);

1384: ) THEN
1385: IF PG_DEBUG in ('Y', 'C') THEN
1386: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1387: 'always do ATP against details table');
1388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1389: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1391: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1392: END IF;

Line 1389: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

1385: IF PG_DEBUG in ('Y', 'C') THEN
1386: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1387: 'always do ATP against details table');
1388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1389: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1391: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1392: END IF;
1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

Line 1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

1386: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1387: 'always do ATP against details table');
1388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1389: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1391: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1392: END IF;
1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1394: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN

Line 1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

1389: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1391: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1392: END IF;
1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1394: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1395: --- we re-read this summary profile option because it might get changed with plan
1396: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1397: END IF;

Line 1394: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN

1390: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1391: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1392: END IF;
1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1394: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1395: --- we re-read this summary profile option because it might get changed with plan
1396: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1397: END IF;
1398: IF PG_DEBUG in ('Y', 'C') THEN

Line 1396: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');

1392: END IF;
1393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1394: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1395: --- we re-read this summary profile option because it might get changed with plan
1396: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1397: END IF;
1398: IF PG_DEBUG in ('Y', 'C') THEN
1399: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1400: END IF;

Line 1399: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

1395: --- we re-read this summary profile option because it might get changed with plan
1396: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1397: END IF;
1398: IF PG_DEBUG in ('Y', 'C') THEN
1399: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1400: END IF;
1401:
1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);

Line 1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);

1398: IF PG_DEBUG in ('Y', 'C') THEN
1399: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1400: END IF;
1401:
1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';

Line 1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);

1399: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1400: END IF;
1401:
1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1407:

Line 1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);

1400: END IF;
1401:
1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1407:
1408: -- krajan : 2408902 - populate global variable (for use with CTO items)

Line 1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;

1401:
1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1407:
1408: -- krajan : 2408902 - populate global variable (for use with CTO items)
1409: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);

Line 1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';

1402: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1403: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1404: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1407:
1408: -- krajan : 2408902 - populate global variable (for use with CTO items)
1409: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1410: IF PG_DEBUG in ('Y', 'C') THEN

Line 1409: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);

1405: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1406: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1407:
1408: -- krajan : 2408902 - populate global variable (for use with CTO items)
1409: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1410: IF PG_DEBUG in ('Y', 'C') THEN
1411: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1412: END IF;
1413:

Line 1411: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );

1407:
1408: -- krajan : 2408902 - populate global variable (for use with CTO items)
1409: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1410: IF PG_DEBUG in ('Y', 'C') THEN
1411: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1412: END IF;
1413:
1414: -- 9/24/2001, ngoel added to identify if current line is a MATO line, initializing here.
1415: MSC_ATP_PVT.G_CTO_LINE := 'N';

Line 1415: MSC_ATP_PVT.G_CTO_LINE := 'N';

1411: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1412: END IF;
1413:
1414: -- 9/24/2001, ngoel added to identify if current line is a MATO line, initializing here.
1415: MSC_ATP_PVT.G_CTO_LINE := 'N';
1416:
1417: l_stmt := 180;
1418:
1419: --6014992

Line 1428: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1424: -- here we first to see if the item in ods is atpable or not.
1425: -- if not atpable, don't bother to look for plan_id
1426:
1427: -- set the variable to null before calling get_atp_flag
1428: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1429:
1430: /* Modularize Item and Org Info */
1431: -- Get item information into the local variable
1432: -- and assign it to the global.

Line 1459: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND

1455: -- raise error as in PDS plan won't be available and ATP can't be done in ODS as well.
1456:
1457: -- Need to check for atp_components_flag as well and fail if either of them were not 'N' on source.
1458:
1459: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND
1460: (NVL(l_atp_table.attribute_06(i), 'N') <> 'N' OR NVL(l_atp_table.atp_components_flag(i), 'N') <> 'N') THEN
1461:
1462: IF PG_DEBUG in ('Y', 'C') THEN
1463: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);

Line 1463: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);

1459: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND
1460: (NVL(l_atp_table.attribute_06(i), 'N') <> 'N' OR NVL(l_atp_table.atp_components_flag(i), 'N') <> 'N') THEN
1461:
1462: IF PG_DEBUG in ('Y', 'C') THEN
1463: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);
1464: END IF;
1465:
1466: FOR l_count in 1..l_atp_table.error_code.count LOOP
1467: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

Line 1467: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

1463: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);
1464: END IF;
1465:
1466: FOR l_count in 1..l_atp_table.error_code.count LOOP
1467: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1468: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1469: END IF;
1470: END LOOP;
1471:

Line 1473: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1469: END IF;
1470: END LOOP;
1471:
1472: -- set variable as null and raise exception, dont proceed for item/ ship set.
1473: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1474:
1475: RAISE NO_DATA_FOUND;
1476:
1477: END IF;

Line 1526: MSC_ATP_PVT.G_SESSION_ID, -- ???

1522: NULL, -- customer id
1523: NULL, -- customer site id
1524: NULL, -- supplier id
1525: NULL, -- supplier site id
1526: MSC_ATP_PVT.G_SESSION_ID, -- ???
1527: NULL, -- partner site id
1528: l_atp_table.ship_method(i),
1529: l_atp_table.delivery_lead_time(i),
1530: NULL,

Line 1551: MSC_ATP_PVT.G_SESSION_ID, -- ???

1547: l_atp_table.customer_id(i),
1548: l_atp_table.customer_site_id(1),
1549: NULL,
1550: NULL,
1551: MSC_ATP_PVT.G_SESSION_ID, -- ???
1552: l_atp_table.customer_site_id(i),
1553: l_atp_table.ship_method(i),
1554: l_atp_table.delivery_lead_time(i),
1555: NULL,

Line 1576: MSC_ATP_PVT.G_SESSION_ID, -- ???

1572: NULL, --l_atp_table.customer_id(i), 2814895
1573: NULL, --l_atp_table.customer_site_id(1), 2814895
1574: NULL,
1575: NULL,
1576: MSC_ATP_PVT.G_SESSION_ID, -- ???
1577: NULL, --l_atp_table.customer_site_id(i),
1578: l_atp_table.ship_method(i),
1579: l_atp_table.delivery_lead_time(i),
1580: 4, --2814895, partner_type for party_site_id

Line 1601: MSC_ATP_PVT.G_SESSION_ID, -- ???

1597: NULL, --l_atp_table.customer_id(i), 2814895
1598: NULL, --l_atp_table.customer_site_id(1), 2814895
1599: NULL,
1600: NULL,
1601: MSC_ATP_PVT.G_SESSION_ID, -- ???
1602: NULL, --l_atp_table.customer_site_id(i), 2814895
1603: l_atp_table.ship_method(i),
1604: l_atp_table.delivery_lead_time(i),
1605: 5, --2814895 , partner_type for address parameters

Line 1621: INTO MSC_ATP_PVT.G_PARTNER_ID

1617: -- bug3593394 - Run this SQL only if customer has changed.
1618: IF (i=1) OR (l_atp_table.customer_id(i) <> NVL(l_atp_table.customer_id(i-1),-1)) THEN
1619: BEGIN
1620: SELECT TP_ID
1621: INTO MSC_ATP_PVT.G_PARTNER_ID
1622: FROM msc_tp_id_lid tp
1623: WHERE tp.SR_TP_ID = l_atp_table.customer_id(i)
1624: AND tp.SR_INSTANCE_ID = p_instance_id
1625: AND tp.PARTNER_TYPE = 2;

Line 1628: MSC_ATP_PVT.G_PARTNER_ID := NULL;

1624: AND tp.SR_INSTANCE_ID = p_instance_id
1625: AND tp.PARTNER_TYPE = 2;
1626: EXCEPTION
1627: WHEN NO_DATA_FOUND THEN
1628: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1629: END ;
1630: END IF;
1631: ELSE
1632: -- bug3593394 - reset to NULL

Line 1633: MSC_ATP_PVT.G_PARTNER_ID := NULL;

1629: END ;
1630: END IF;
1631: ELSE
1632: -- bug3593394 - reset to NULL
1633: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1634: END IF;
1635:
1636: IF PG_DEBUG in ('Y', 'C') THEN
1637: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_ID = '||MSC_ATP_PVT.G_PARTNER_ID);

Line 1637: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_ID = '||MSC_ATP_PVT.G_PARTNER_ID);

1633: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1634: END IF;
1635:
1636: IF PG_DEBUG in ('Y', 'C') THEN
1637: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_ID = '||MSC_ATP_PVT.G_PARTNER_ID);
1638: END IF;
1639:
1640: IF l_atp_table.customer_site_id(i) IS NOT NULL THEN
1641: -- bug3593394 - Run this SQL only if customer site has changed.

Line 1645: INTO MSC_ATP_PVT.G_PARTNER_SITE_ID

1641: -- bug3593394 - Run this SQL only if customer site has changed.
1642: IF (i=1) OR (l_atp_table.customer_site_id(i) <> NVL(l_atp_table.customer_site_id(i-1),-1)) THEN
1643: BEGIN
1644: SELECT TP_SITE_ID
1645: INTO MSC_ATP_PVT.G_PARTNER_SITE_ID
1646: FROM msc_tp_site_id_lid tpsite
1647: WHERE tpsite.SR_TP_SITE_ID = l_atp_table.customer_site_id(i)
1648: AND tpsite.SR_INSTANCE_ID = p_instance_id
1649: AND tpsite.PARTNER_TYPE = 2;

Line 1652: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

1648: AND tpsite.SR_INSTANCE_ID = p_instance_id
1649: AND tpsite.PARTNER_TYPE = 2;
1650: EXCEPTION
1651: WHEN NO_DATA_FOUND THEN
1652: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1653: END ;
1654: END IF;
1655: ELSE
1656: -- bug3593394 - reset to NULL

Line 1657: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

1653: END ;
1654: END IF;
1655: ELSE
1656: -- bug3593394 - reset to NULL
1657: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1658: END IF;
1659:
1660: IF PG_DEBUG in ('Y', 'C') THEN
1661: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_SITE_ID = '||MSC_ATP_PVT.G_PARTNER_SITE_ID);

Line 1661: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_SITE_ID = '||MSC_ATP_PVT.G_PARTNER_SITE_ID);

1657: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1658: END IF;
1659:
1660: IF PG_DEBUG in ('Y', 'C') THEN
1661: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_SITE_ID = '||MSC_ATP_PVT.G_PARTNER_SITE_ID);
1662: END IF;
1663:
1664: -- ship_rec_cal changes begin
1665: IF PG_DEBUG in ('Y', 'C') THEN

Line 1670: msc_sch_wb.atp_debug('* Partner ID : '|| MSC_ATP_PVT.G_PARTNER_ID );

1666: msc_sch_wb.atp_debug('**************** Calendar Codes ******************************');
1667: msc_sch_wb.atp_debug('* ___________________Input_____________________');
1668: msc_sch_wb.atp_debug('* ');
1669: msc_sch_wb.atp_debug('* Source Cust ID : '|| l_atp_table.customer_id(i) );
1670: msc_sch_wb.atp_debug('* Partner ID : '|| MSC_ATP_PVT.G_PARTNER_ID );
1671: msc_sch_wb.atp_debug('* Partner Site ID : '|| MSC_ATP_PVT.G_PARTNER_SITE_ID );
1672: msc_sch_wb.atp_debug('* Ship Method : '|| l_atp_table.ship_method(i) );
1673: msc_sch_wb.atp_debug('* Org ID : '|| l_atp_table.organization_id(i) );
1674: msc_sch_wb.atp_debug('* Internal Org ID : '|| l_atp_table.internal_org_id(i) );

Line 1671: msc_sch_wb.atp_debug('* Partner Site ID : '|| MSC_ATP_PVT.G_PARTNER_SITE_ID );

1667: msc_sch_wb.atp_debug('* ___________________Input_____________________');
1668: msc_sch_wb.atp_debug('* ');
1669: msc_sch_wb.atp_debug('* Source Cust ID : '|| l_atp_table.customer_id(i) );
1670: msc_sch_wb.atp_debug('* Partner ID : '|| MSC_ATP_PVT.G_PARTNER_ID );
1671: msc_sch_wb.atp_debug('* Partner Site ID : '|| MSC_ATP_PVT.G_PARTNER_SITE_ID );
1672: msc_sch_wb.atp_debug('* Ship Method : '|| l_atp_table.ship_method(i) );
1673: msc_sch_wb.atp_debug('* Org ID : '|| l_atp_table.organization_id(i) );
1674: msc_sch_wb.atp_debug('* Internal Org ID : '|| l_atp_table.internal_org_id(i) );
1675: msc_sch_wb.atp_debug('* Source Org ID : '|| l_sourcing_org_id );

Line 1682: -- IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

1678: -- Bug 3515520, don't use org in case customer/site is populated.
1679: -- IF NVL(l_atp_table.internal_org_id(i), l_atp_table.organization_id(i)) IS NOT NULL THEN
1680:
1681: -- Bug 3647208 -- Move the check to individual "IF"s
1682: -- IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1683:
1684: IF (l_atp_table.internal_org_id(i) IS NOT NULL) OR
1685: (l_atp_table.organization_id(i) IS NOT NULL AND l_atp_table.customer_id(i) is NULL AND
1686: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN

Line 1686: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN

1682: -- IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1683:
1684: IF (l_atp_table.internal_org_id(i) IS NOT NULL) OR
1685: (l_atp_table.organization_id(i) IS NOT NULL AND l_atp_table.customer_id(i) is NULL AND
1686: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN
1687: -- Bug3593394 - Call this proc only if parameters have changed
1688: IF (i=1) OR (l_atp_table.internal_org_id(i)<>l_atp_table.internal_org_id(i-1))
1689: OR (l_atp_table.organization_id(i)<>l_atp_table.organization_id(i-1))
1690: OR (l_atp_table.ship_method(i)<>l_atp_table.ship_method(i-1)) THEN

Line 1708: ELSIF l_atp_table.customer_id(i) IS NOT NULL AND MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

1704: IF PG_DEBUG in ('Y', 'C') THEN
1705: msc_sch_wb.atp_debug('Schedule: ' || 'Calendar parameters have not changed for ORC');
1706: END IF;
1707: END IF;
1708: ELSIF l_atp_table.customer_id(i) IS NOT NULL AND MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1709: -- Bug 3647208 - Call CRC only if using ship/rec cal
1710: -- receiving party is customer
1711: -- Bug3593394 - Call this proc only if parameters have changed
1712: IF (i=1) OR (NVL(l_atp_table.customer_id(i),-1)<>NVL(l_atp_table.customer_id(i-1),-1))

Line 1720: MSC_ATP_PVT.G_PARTNER_ID,

1716: l_receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
1717: p_instance_id,
1718: null,
1719: null,
1720: MSC_ATP_PVT.G_PARTNER_ID,
1721: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1722: 2,
1723: null,
1724: l_atp_table.ship_method(i),

Line 1721: MSC_ATP_PVT.G_PARTNER_SITE_ID,

1717: p_instance_id,
1718: null,
1719: null,
1720: MSC_ATP_PVT.G_PARTNER_ID,
1721: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1722: 2,
1723: null,
1724: l_atp_table.ship_method(i),
1725: MSC_CALENDAR.CRC);

Line 1737: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

1733: -- Neither org nor customer provided
1734: l_receiving_cal_code := MSC_CALENDAR.FOC;
1735: END IF;
1736:
1737: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1738: -- Bug 3647208 -- Move the check to individual "IF"s
1739: IF (i=1) OR (l_atp_table.ship_method(i)<>l_atp_table.ship_method(i-1)) THEN
1740: -- Bug3593394 - Call this proc only if parameters have changed
1741: l_intransit_cal_code := MSC_CALENDAR.Get_Calendar_Code(

Line 1804: l_manufacturing_cal_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;

1800: -- Bug 2783787 fix involving removing the call to obtain org defaults
1801: -- restored here
1802: MSC_ATP_PROC.get_global_org_info(p_instance_id,
1803: l_process_org_id);
1804: l_manufacturing_cal_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
1805: -- End ATP4drp
1806: ELSE
1807: l_manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i-1);
1808: IF PG_DEBUG in ('Y', 'C') THEN

Line 1887: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;

1883: -- ship_rec_cal changes end
1884:
1885: --- 2178544: We assign it to null so that this parameter set for last item is not used for current item.
1886: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
1887: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1888: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1889:
1890: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1891: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR

Line 1888: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;

1884:
1885: --- 2178544: We assign it to null so that this parameter set for last item is not used for current item.
1886: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
1887: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1888: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1889:
1890: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1891: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1892: (MSC_ATP_PVT.G_INV_CTP = 4 AND

Line 1891: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR

1887: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1888: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1889:
1890: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1891: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1892: (MSC_ATP_PVT.G_INV_CTP = 4 AND
1893: NVL(l_atp_table.old_source_organization_id(i), -1) <> l_process_org_id ) THEN
1894: IF PG_DEBUG in ('Y', 'C') THEN
1895: msc_sch_wb.atp_debug('Schedule: ' || 'Either old source ors is null or is not same as l_process_org_id');

Line 1892: (MSC_ATP_PVT.G_INV_CTP = 4 AND

1888: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1889:
1890: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1891: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1892: (MSC_ATP_PVT.G_INV_CTP = 4 AND
1893: NVL(l_atp_table.old_source_organization_id(i), -1) <> l_process_org_id ) THEN
1894: IF PG_DEBUG in ('Y', 'C') THEN
1895: msc_sch_wb.atp_debug('Schedule: ' || 'Either old source ors is null or is not same as l_process_org_id');
1896: msc_sch_wb.atp_debug('Schedule: ' || 'Old org :=' || l_atp_table.old_source_organization_id(i));

Line 1936: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

1932: RAISE NO_DATA_FOUND;
1933: END IF;
1934: -- since we know the org now, we can get the plan_id if it is PDS
1935:
1936: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1937: /* Modularize Item and Org Info */
1938: -- Information already obtained
1939: /*l_atp_comp_flag := MSC_ATP_FUNC.get_atp_comp_flag(p_instance_id,
1940: l_plan_id,

Line 2019: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and

2015: -- ATP4drp changes begin
2016: -- No changes here since DRP plan should not support ATO.
2017: -- ATP4drp changes end
2018:
2019: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
2020: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
2021: IF PG_DEBUG in ('Y', 'C') THEN
2022: msc_sch_wb.atp_debug('plan found for matched item');
2023: END IF;

Line 2020: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then

2016: -- No changes here since DRP plan should not support ATO.
2017: -- ATP4drp changes end
2018:
2019: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
2020: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
2021: IF PG_DEBUG in ('Y', 'C') THEN
2022: msc_sch_wb.atp_debug('plan found for matched item');
2023: END IF;
2024: l_plan_found_for_match := 1;

Line 2035: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id,

2031: --get item attributes of the matched item
2032: MSC_ATP_PROC.get_item_attributes(p_instance_id,
2033: --3917625: Read attributes from correct plan
2034: --l_plan_id,
2035: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id,
2036: l_atp_table.match_item_id(i),
2037: l_process_org_id,
2038: l_item_attribute_rec);
2039:

Line 2053: MSC_ATP_PVT.G_ITEM_INFO_REC.sr_inv_item_id := null;

2049: l_atp_table.match_item_id(i) := null;
2050:
2051: -- we got plan for match. All fields in G_ITEM_INFO_REC were populated
2052: --as a results plan was not getting read.
2053: MSC_ATP_PVT.G_ITEM_INFO_REC.sr_inv_item_id := null;
2054: END IF;
2055: END IF;
2056:
2057: IF PG_DEBUG in ('Y', 'C') THEN

Line 2084: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN

2080: RAISE FND_API.G_EXC_ERROR;
2081: END IF;
2082:
2083: -- ATP4drp changes begin
2084: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
2085: -- time_phased_atp - Reset variables
2086: l_process_item_id := l_requested_item_id;
2087: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2088: IF PG_DEBUG in ('Y', 'C') THEN

Line 2087: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

2083: -- ATP4drp changes begin
2084: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
2085: -- time_phased_atp - Reset variables
2086: l_process_item_id := l_requested_item_id;
2087: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2088: IF PG_DEBUG in ('Y', 'C') THEN
2089: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2090: msc_sch_wb.atp_debug('Schedule: ' || 'PF and Allocated ATP not applicable for DRP plans');
2091: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

Line 2091: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

2087: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2088: IF PG_DEBUG in ('Y', 'C') THEN
2089: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2090: msc_sch_wb.atp_debug('Schedule: ' || 'PF and Allocated ATP not applicable for DRP plans');
2091: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2092: msc_sch_wb.atp_debug('Schedule: ' || 'l_requested_item_id ' || l_requested_item_id);
2093: msc_sch_wb.atp_debug('Schedule: ' || 'l_process_item_id ' || l_process_item_id);
2094: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2095: END IF;

Line 2109: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

2105: /* time_phased_atp changes end*/
2106:
2107: END IF;
2108:
2109: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
2110: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
2111: l_plan_id := l_plan_info_rec.plan_id;
2112: /* time_phased_atp Add plan_id to l_atp_table so that it can later be used
2113: this way we save call to get_global_plan_info*/

Line 2132: l_atp_table.Error_Code(i):= MSC_ATP_PVT.PLAN_DOWN_TIME;

2128: END IF;
2129: x_return_status := FND_API.G_RET_STS_ERROR;
2130: --bug 2854351: Raise plan down time error
2131: --l_atp_table.Error_Code(i):= PLAN_NOT_FOUND;
2132: l_atp_table.Error_Code(i):= MSC_ATP_PVT.PLAN_DOWN_TIME;
2133: RAISE NO_DATA_FOUND;
2134: ELSIF l_plan_id = -100 THEN
2135: IF PG_DEBUG in ('Y', 'C') THEN
2136: msc_sch_wb.atp_debug('Schedule: ' || 'Summary Concurrent program is running');

Line 2169: MSC_ATP_PVT.G_INV_CTP := 5;

2165: l_atp_table.Error_Code(i):= PDS_TO_ODS_SWITCH;
2166: IF PG_DEBUG in ('Y', 'C') THEN
2167: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2168: END IF;
2169: MSC_ATP_PVT.G_INV_CTP := 5;
2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673

Line 2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';

2166: IF PG_DEBUG in ('Y', 'C') THEN
2167: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2168: END IF;
2169: MSC_ATP_PVT.G_INV_CTP := 5;
2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
2174: --5221865 In cases of PDS ODS Swith we turn iterative scheduling off

Line 2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;

2167: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2168: END IF;
2169: MSC_ATP_PVT.G_INV_CTP := 5;
2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
2174: --5221865 In cases of PDS ODS Swith we turn iterative scheduling off
2175: MSC_ATP_PVT.G_FORWARD_ATP := 'N';

Line 2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034

2168: END IF;
2169: MSC_ATP_PVT.G_INV_CTP := 5;
2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
2174: --5221865 In cases of PDS ODS Swith we turn iterative scheduling off
2175: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
2176:

Line 2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673

2169: MSC_ATP_PVT.G_INV_CTP := 5;
2170: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
2174: --5221865 In cases of PDS ODS Swith we turn iterative scheduling off
2175: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
2176:
2177: /* Switching to ODS, Set the Global comp flag to NO */

Line 2175: MSC_ATP_PVT.G_FORWARD_ATP := 'N';

2171: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2172: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --bug 9911034
2173: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
2174: --5221865 In cases of PDS ODS Swith we turn iterative scheduling off
2175: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
2176:
2177: /* Switching to ODS, Set the Global comp flag to NO */
2178: --s_cto_rearch
2179: IF G_ITEM_INFO_REC.bom_item_type in (1, 4) and G_ITEM_INFO_REC.replenish_to_ord_flag = 'Y' THEN

Line 2214: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

2210:
2211: -- Doing PDS-ODS switch. Summary will be diabled in all cases because ODS summary
2212: -- will commit even PDS data from previous lines
2213: msc_sch_wb.atp_debug('Schedule: ' || 'Summary will be disabled');
2214: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2215:
2216: IF NVL(l_so_tbl_status, 1) = 2 THEN
2217: -- not available for atp
2218: IF PG_DEBUG in ('Y', 'C') THEN

Line 2230: -- MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

2226: */
2227: END IF; -- END IF l_plan_id is NULL
2228: --ELSE
2229: --- if ATP and ATPComp falg is no then we dont want to do summary approach
2230: -- MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2231: -- Bug 4091487 Checking so_tbl_status in PDS ATP also.
2232: SELECT so_tbl_status,
2233: NVL(summary_flag, 1)
2234: INTO l_so_tbl_status,

Line 2257: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

2253: -- Summary will be diabled in all cases because ODS summary
2254: -- will commit even PDS data from previous lines
2255: IF l_plan_id = -1 THEN
2256:
2257: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2258:
2259: IF PG_DEBUG in ('Y', 'C') THEN
2260: msc_sch_wb.atp_debug('Schedule: ' || 'Summary will be disabled');
2261: END IF;

Line 2331: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

2327: l_atp_rec.intransit_cal_code := l_atp_table.intransit_cal_code(i);
2328: l_atp_rec.manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i);
2329:
2330: -- Bug 3226083
2331: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2332: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2333:
2334: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --9239406 if switch has happened then this points to correct value.
2335: --optional_fw start New loop added to get the date on which qty is found.

Line 2332: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;

2328: l_atp_rec.manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i);
2329:
2330: -- Bug 3226083
2331: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2332: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2333:
2334: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --9239406 if switch has happened then this points to correct value.
2335: --optional_fw start New loop added to get the date on which qty is found.
2336: --for second line in set we need to reset these

Line 2334: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --9239406 if switch has happened then this points to correct value.

2330: -- Bug 3226083
2331: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2332: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2333:
2334: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --9239406 if switch has happened then this points to correct value.
2335: --optional_fw start New loop added to get the date on which qty is found.
2336: --for second line in set we need to reset these
2337:
2338: G_FW_CTP_PEGGING_ID.DELETE;

Line 2360: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --5158454 if switch has happened then this points to correct value.

2356: l_atp_peg_id := NULL;
2357: l_loop_count := 1;
2358: l_last_success_atp_rec := NULL;
2359: l_second_good_run := NULL;
2360: l_g_inv_ctp := MSC_ATP_PVT.G_INV_CTP; --5158454 if switch has happened then this points to correct value.
2361: G_DEMAND_ID := NULL; --5158454
2362: G_NUMBER_OF_ITERATIONS := NULL; --5211558 holds the numbet of iterations binary search will take
2363: G_LOOP_COUNT := l_loop_count; --5211558 holds the present count of loop iteration
2364:

Line 2369: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);

2365: LOOP
2366: EXIT WHEN l_low_seqnum > l_high_seqnum; --both are null for first time.
2367: IF PG_DEBUG in ('Y', 'C') THEN
2368: msc_sch_wb.atp_debug('Schedule: ' || '___OPTIONAL FW PASS Binary Search Start____');
2369: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);
2370: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
2371: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_date_quantity: ' || l_atp_rec.requested_date_quantity);
2372: msc_sch_wb.atp_debug('Schedule: ' || 'l_loop_count start : ' || l_loop_count);
2373: END IF;

Line 2384: IF (MSC_ATP_PVT.G_OPTIONAL_FW is null) AND l_loop_count = 2

2380: END IF;
2381: --If more iteration are needed then go inside this if condition.
2382: --First time we will not go inside as loop count will be 1.
2383: --Only second time we come here as after that G_OPTIONAL_FW is set to not null value.
2384: IF (MSC_ATP_PVT.G_OPTIONAL_FW is null) AND l_loop_count = 2
2385: AND (Nvl(l_atp_rec.requested_date_quantity,0) < l_atp_rec.quantity_ordered)
2386: THEN
2387: IF PG_DEBUG in ('Y', 'C') THEN
2388: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);

Line 2395: MSC_ATP_PVT.G_OPTIONAL_FW := 1;

2391: msc_sch_wb.atp_debug('Schedule: ' || 'l_request_date_qty: ' || l_request_date_qty);
2392: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_ship_date: ' || l_atp_rec.requested_ship_date);
2393: END IF;
2394:
2395: MSC_ATP_PVT.G_OPTIONAL_FW := 1;
2396:
2397: l_atp_rec.quantity_ordered := l_atp_rec.quantity_ordered -
2398: GREATEST(NVL(l_atp_rec.combined_requested_date_qty,
2399: l_atp_rec.requested_date_quantity), 0);

Line 2418: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);

2414: l_atp_rec.combined_requested_date_qty := NULL;
2415: l_atp_rec.atf_date_quantity := NULL;
2416:
2417: IF PG_DEBUG in ('Y', 'C') THEN
2418: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);
2419: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
2420: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_ship_date: ' || l_atp_rec.requested_ship_date);
2421: msc_sch_wb.atp_debug('Schedule: ' || 'l_request_date_qty: ' || l_request_date_qty);
2422: END IF;

Line 2445: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);

2441: l_atp_rec.instance_id,
2442: l_last_date);
2443: IF PG_DEBUG in ('Y', 'C') THEN
2444: msc_sch_wb.atp_debug('Schedule: ' || 'l_first_date: ' || l_first_date);
2445: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_OPTIONAL_FW: ' || MSC_ATP_PVT.G_OPTIONAL_FW);
2446: msc_sch_wb.atp_debug('Schedule: ' || 'l_low_seqnum: ' || l_low_seqnum);
2447: msc_sch_wb.atp_debug('Schedule: ' || 'l_high_seqnum: ' || l_high_seqnum);
2448: END IF;
2449: END IF;

Line 2452: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;

2448: END IF;
2449: END IF;
2450:
2451: --For each iteration these should be set to original values
2452: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
2453: l_atp_rec.ship_date := NULL;
2454: l_atp_rec.available_quantity := NULL;
2455: l_atp_rec.parent_so_quantity := l_quan_ordered;
2456: l_atp_rec.used_available_quantity := NULL;

Line 2466: IF (MSC_ATP_PVT.G_OPTIONAL_FW is not null) AND (nvl(l_last_search,0) <> 1) THEN

2462: G_ITEM_INFO_REC := l_item_attribute_rec; --for each loop this should point to main item and
2463: --not substitutes.
2464: G_ITEM_INFO_REC.atp_comp_flag := l_atp_comp_flag ; --bug9596003
2465: --Get the seq_num for both dates depending upon the shipping cal code.
2466: IF (MSC_ATP_PVT.G_OPTIONAL_FW is not null) AND (nvl(l_last_search,0) <> 1) THEN
2467: l_low_seqnum := msc_atp_pvt.get_seq_num(l_first_date,
2468: l_atp_rec.shipping_cal_code,
2469: l_atp_rec.instance_id
2470: );

Line 2467: l_low_seqnum := msc_atp_pvt.get_seq_num(l_first_date,

2463: --not substitutes.
2464: G_ITEM_INFO_REC.atp_comp_flag := l_atp_comp_flag ; --bug9596003
2465: --Get the seq_num for both dates depending upon the shipping cal code.
2466: IF (MSC_ATP_PVT.G_OPTIONAL_FW is not null) AND (nvl(l_last_search,0) <> 1) THEN
2467: l_low_seqnum := msc_atp_pvt.get_seq_num(l_first_date,
2468: l_atp_rec.shipping_cal_code,
2469: l_atp_rec.instance_id
2470: );
2471: IF PG_DEBUG in ('Y', 'C') THEN

Line 2474: l_high_seqnum := msc_atp_pvt.get_seq_num(l_last_date,

2470: );
2471: IF PG_DEBUG in ('Y', 'C') THEN
2472: msc_sch_wb.atp_debug('Schedule: ' || 'l_low_seqnum: ' || l_low_seqnum);
2473: END IF;
2474: l_high_seqnum := msc_atp_pvt.get_seq_num(l_last_date,
2475: l_atp_rec.shipping_cal_code,
2476: l_atp_rec.instance_id
2477: );
2478: IF PG_DEBUG in ('Y', 'C') THEN

Line 2488: l_atp_rec.requested_ship_date := msc_atp_pvt.get_date_from_seqnum(

2484: IF PG_DEBUG in ('Y', 'C') THEN
2485: msc_sch_wb.atp_debug('Schedule: ' || 'l_middle_seqnum: ' || l_middle_seqnum);
2486: END IF;
2487:
2488: l_atp_rec.requested_ship_date := msc_atp_pvt.get_date_from_seqnum(
2489: l_middle_seqnum,
2490: l_atp_rec.shipping_cal_code,
2491: l_atp_rec.instance_id
2492: );

Line 2525: OR (MSC_ATP_PVT.G_OPTIONAL_FW is null)

2521: msc_sch_wb.atp_debug('Schedule: ');
2522: END IF;
2523: -- Bug3593394 - Recalculate date only if parameters have changed
2524: IF (i=1)
2525: OR (MSC_ATP_PVT.G_OPTIONAL_FW is null)
2526: --optional_fw first time when second line comes do again as
2527: --l_requested_ship_date will be pointing to last iteration of 1st line.
2528: OR (l_atp_rec.receiving_cal_code <> l_atp_table.receiving_cal_code(i-1))
2529: OR (l_atp_rec.intransit_cal_code <> l_atp_table.intransit_cal_code(i-1))

Line 2597: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;

2593: msc_sch_wb.atp_debug('Schedule: ' || '___________________End Offset___________________');
2594: END IF;
2595:
2596: IF l_requested_ship_date is NULL THEN
2597: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;
2598: RAISE FND_API.G_EXC_ERROR;
2599: END IF;
2600:
2601: --bug 3322846: Move past due ship date to the first working day after sysdate

Line 2603: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476

2599: END IF;
2600:
2601: --bug 3322846: Move past due ship date to the first working day after sysdate
2602: --L_MOVE_PAST_DUE_TO_SYSDATE := NVL(FND_PROFILE.value('MSC_MOVE_PAST_DUE_TO_SYSDATE'), 'Y'); -- Bug 5584634/5618929
2603: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476
2604: IF PG_DEBUG in ('Y', 'C') THEN
2605: msc_sch_wb.atp_debug('Schedule: ' || 'MOVE_PAST_DUE_TO_SYS_DATE :'|| L_MOVE_PAST_DUE_TO_SYSDATE);
2606: END IF;
2607: if L_MOVE_PAST_DUE_TO_SYSDATE = 'Y' THEN -- Bug 5584634/5618929

Line 2626: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;

2622: END IF;
2623: END IF; -- Bug 5584634/5618929
2624:
2625: IF l_requested_ship_date is NULL THEN
2626: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;
2627: RAISE FND_API.G_EXC_ERROR;
2628: END IF;
2629:
2630: ELSE -- Bug3593394

Line 2643: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

2639: l_atp_rec.requested_ship_date := l_requested_ship_date;
2640: l_atp_rec.requested_arrival_date := null;
2641:
2642: --optional_fw this will have the original date after calendar validation.
2643: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
2644: G_REQUESTED_SHIP_DATE := l_requested_ship_date;
2645: END IF;
2646:
2647:

Line 2655: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

2651: -- is not specified.
2652:
2653: -- 2783787 (ssurendr) Null demand class in request should be considered as "Others"
2654: /*
2655: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2656: (l_atp_table.Demand_Class(i) IS NULL) THEN
2657: MSC_ATP_PROC.get_global_org_info(l_atp_rec.instance_id,
2658: l_atp_rec.organization_id);
2659: l_default_atp_rule_id := G_ORG_INFO_REC.default_atp_rule_id;

Line 2676: --IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN

2672:
2673: l_atp_rec.demand_class := l_atp_table.Demand_Class(i);
2674:
2675: -- rajjain 02/11/2003 Bug 2788144
2676: --IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN
2677:
2678: -- rajjain 02/11/2003 Bug 2788144
2679: --END IF;
2680: -- ATP Override rajjain begin

Line 2707: l_atp_rec.component_identifier := MSC_ATP_PVT.G_COMP_LINE_ID;

2703: l_atp_rec.customer_id := l_atp_table.customer_id(i);
2704: l_atp_rec.refresh_number := p_refresh_number;
2705: l_atp_rec.atp_lead_time := l_atp_table.Atp_Lead_Time(i);
2706: l_atp_rec.Order_Number := l_atp_table.Order_Number(i);
2707: l_atp_rec.component_identifier := MSC_ATP_PVT.G_COMP_LINE_ID;
2708:
2709: ---This will be populated in case of reschedulling.
2710: --- This will be demand id for the old demand
2711: --bug 2384224: since we are always going to add demand, we dont need to remember old demand id

Line 2742: MSC_ATP_PVT.G_CTO_PF_ATP := 'N';

2738: l_scenario_id := j;
2739:
2740: -- CTO_PF_PRJ_2 changes for CTO PF Cross Project Impacts
2741: -- Set the default to No PF ATP Items being processed.
2742: MSC_ATP_PVT.G_CTO_PF_ATP := 'N';
2743: IF PG_DEBUG in ('Y', 'C') THEN
2744: msc_sch_wb.atp_debug('Schedule: ' || 'Before ATP_Check for this l_atp_rec ');
2745: msc_sch_wb.atp_debug('Schedule: Init G_CTO_PF_ATP to ' ||
2746: MSC_ATP_PVT.G_CTO_PF_ATP);

Line 2746: MSC_ATP_PVT.G_CTO_PF_ATP);

2742: MSC_ATP_PVT.G_CTO_PF_ATP := 'N';
2743: IF PG_DEBUG in ('Y', 'C') THEN
2744: msc_sch_wb.atp_debug('Schedule: ' || 'Before ATP_Check for this l_atp_rec ');
2745: msc_sch_wb.atp_debug('Schedule: Init G_CTO_PF_ATP to ' ||
2746: MSC_ATP_PVT.G_CTO_PF_ATP);
2747: END IF;
2748: -- End CTO_PF_PRJ_2 changes for CTO PF Cross Project Impacts
2749:
2750: --- subst

Line 2753: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);

2749:
2750: --- subst
2751:
2752: IF PG_DEBUG in ('Y', 'C') THEN
2753: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2754: END IF;
2755:
2756: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2757: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN

Line 2756: IF MSC_ATP_PVT.G_INV_CTP = 4 AND

2752: IF PG_DEBUG in ('Y', 'C') THEN
2753: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2754: END IF;
2755:
2756: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2757: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN
2758: IF PG_DEBUG in ('Y', 'C') THEN
2759: msc_sch_wb.atp_debug('Schedule: ' || 'count := ' || l_item_substitute_rec.inventory_item_id.count);
2760: msc_sch_wb.atp_debug('Schedule: ' || 'G_CREATE_SUPPLY_FLAG := ' || MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG);

Line 2757: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN

2753: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2754: END IF;
2755:
2756: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2757: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN
2758: IF PG_DEBUG in ('Y', 'C') THEN
2759: msc_sch_wb.atp_debug('Schedule: ' || 'count := ' || l_item_substitute_rec.inventory_item_id.count);
2760: msc_sch_wb.atp_debug('Schedule: ' || 'G_CREATE_SUPPLY_FLAG := ' || MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG);
2761: msc_sch_wb.atp_debug('Schedule: ' || 'get item attributes for the top item');

Line 2769: l_atp_rec.error_code := MSC_ATP_PVT.NOREQ_DATE;

2765: -- requested_arrival_date is provided
2766: IF ((l_atp_rec.requested_ship_date IS NULL) and
2767: (l_atp_rec.requested_arrival_date IS NULL)) THEN
2768:
2769: l_atp_rec.error_code := MSC_ATP_PVT.NOREQ_DATE;
2770: -- krajan : 2437459
2771: l_atp_table.error_code(i) := MSC_ATP_PVT.NOREQ_DATE;
2772:
2773: RAISE FND_API.G_EXC_ERROR;

Line 2771: l_atp_table.error_code(i) := MSC_ATP_PVT.NOREQ_DATE;

2767: (l_atp_rec.requested_arrival_date IS NULL)) THEN
2768:
2769: l_atp_rec.error_code := MSC_ATP_PVT.NOREQ_DATE;
2770: -- krajan : 2437459
2771: l_atp_table.error_code(i) := MSC_ATP_PVT.NOREQ_DATE;
2772:
2773: RAISE FND_API.G_EXC_ERROR;
2774:
2775: ELSIF ((l_atp_rec.requested_ship_date IS NOT NULL) and

Line 2778: l_atp_rec.error_code := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;

2774:
2775: ELSIF ((l_atp_rec.requested_ship_date IS NOT NULL) and
2776: (l_atp_rec.requested_arrival_date IS NOT NULL)) THEN
2777:
2778: l_atp_rec.error_code := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2779: -- krajan : 2437459
2780: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2781:
2782: RAISE FND_API.G_EXC_ERROR;

Line 2780: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;

2776: (l_atp_rec.requested_arrival_date IS NOT NULL)) THEN
2777:
2778: l_atp_rec.error_code := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2779: -- krajan : 2437459
2780: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2781:
2782: RAISE FND_API.G_EXC_ERROR;
2783: END IF;
2784: IF PG_DEBUG in ('Y', 'C') THEN

Line 2867: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN

2863: IF l_item_substitute_rec.inventory_item_id.count > 0 AND
2864: (NVL(l_substitution_type, 4) = 4 OR
2865: l_atp_rec.override_flag = 'Y'
2866: ---diag_atp
2867: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN
2868: --- if item has substitutes but we dont want to do any substitution then
2869: --- we will do breadth first search. But we dont want to use any substitutes.
2870: --- Therefore we remove all the substitutes from the table
2871: IF PG_DEBUG in ('Y', 'C') THEN

Line 2874: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';

2870: --- Therefore we remove all the substitutes from the table
2871: IF PG_DEBUG in ('Y', 'C') THEN
2872: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined but not doing substitution');
2873: END IF;
2874: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2875: l_highest_rev := l_item_substitute_rec.highest_revision_item_id(1);
2876: l_item_substitute_rec := l_null_item_sub_rec;
2877:
2878: ELSIF NVL(l_substitution_type, 4) = 4 or

Line 2883: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';

2879: (l_item_substitute_rec.inventory_item_id.count = 0) THEN
2880: IF PG_DEBUG in ('Y', 'C') THEN
2881: msc_sch_wb.atp_debug('Schedule: ' || 'Substitute not defined');
2882: END IF;
2883: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2884: ELSE
2885: IF PG_DEBUG in ('Y', 'C') THEN
2886: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined and doing substitution');
2887: END IF;

Line 2888: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';

2884: ELSE
2885: IF PG_DEBUG in ('Y', 'C') THEN
2886: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined and doing substitution');
2887: END IF;
2888: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2889: END IF;
2890:
2891: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
2892:

Line 2891: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN

2887: END IF;
2888: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2889: END IF;
2890:
2891: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
2892:
2893: IF MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG = 702
2894: AND l_item_substitute_rec.inventory_item_id.count = 0 THEN
2895: l_create_supply_on_orig_item := 1;

Line 2929: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;

2925:
2926: -- time_phased_atp
2927: IF l_time_phased_atp = 'Y' or l_pf_atp = 'Y' THEN
2928: l_item_substitute_rec.Family_sr_id(l_count) := l_process_item_id;
2929: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2930: l_item_substitute_rec.Family_item_name(l_count) := MSC_ATP_FUNC.Get_Inv_Item_Name(
2931: p_instance_id,
2932: l_process_item_id,
2933: l_atp_rec.organization_id

Line 2940: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

2936: ELSE
2937: --bug3709707 passing correct item id
2938: --l_item_substitute_rec.Family_sr_id(l_count) := l_inventory_item_id;
2939: l_item_substitute_rec.Family_sr_id(l_count) := l_requested_item_id;
2940: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2941: l_item_substitute_rec.Family_item_name(l_count) := l_item_name;
2942: l_item_substitute_rec.atf_date(l_count) := null;
2943: END IF;
2944:

Line 2959: l_item_substitute_rec.substitution_window(l_count) := LEAST(MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window,

2955: -- dsting additional attributes for diagnostic atp
2956: /* time_phased_atp
2957: Substitution window should not be more than aggregate time fence days*/
2958: IF (l_pf_atp = 'Y' OR l_time_phased_atp = 'Y') THEN
2959: l_item_substitute_rec.substitution_window(l_count) := LEAST(MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window,
2960: nvl(MSC_ATP_PF.Get_Atf_Days(
2961: p_instance_id,
2962: l_inventory_item_id,
2963: l_atp_rec.organization_id

Line 2968: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;

2964: ),
2965: 0)
2966: );
2967: ELSE
2968: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2969: END IF;
2970:
2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;

Line 2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;

2967: ELSE
2968: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2969: END IF;
2970:
2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;

Line 2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;

2968: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2969: END IF;
2970:
2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2976: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;

Line 2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;

2969: END IF;
2970:
2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2976: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2977: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;

Line 2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;

2970:
2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2976: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2977: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;
2978: l_item_substitute_rec.fixed_lt(l_count) := l_fixed_lt;

Line 2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;

2971: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2972: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2973: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2974: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2975: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2976: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2977: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;
2978: l_item_substitute_rec.fixed_lt(l_count) := l_fixed_lt;
2979: l_item_substitute_rec.variable_lt(l_count) := l_variable_lt;

Line 2997: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';

2993: END IF;
2994:
2995: ELSE
2996:
2997: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2998:
2999: END IF;
3000: IF PG_DEBUG in ('Y', 'C') THEN
3001: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);

Line 3001: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);

2997: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2998:
2999: END IF;
3000: IF PG_DEBUG in ('Y', 'C') THEN
3001: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3002: msc_sch_wb.atp_debug('Schedule: ' || 'l_plan_id := ' || l_plan_id);
3003: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
3004: msc_sch_wb.atp_debug('Schedule: ' || 'l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3005: END IF;

Line 3003: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);

2999: END IF;
3000: IF PG_DEBUG in ('Y', 'C') THEN
3001: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3002: msc_sch_wb.atp_debug('Schedule: ' || 'l_plan_id := ' || l_plan_id);
3003: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
3004: msc_sch_wb.atp_debug('Schedule: ' || 'l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3005: END IF;
3006:
3007: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

Line 3007: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

3003: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
3004: msc_sch_wb.atp_debug('Schedule: ' || 'l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3005: END IF;
3006:
3007: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
3008:
3009: l_atp_rec.substitution_type := l_atp_table.substitution_typ_code(i);
3010: l_atp_rec.req_item_detail_flag := l_atp_table.req_item_detail_flag(i);
3011:

Line 3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed

3053: msc_sch_wb.atp_debug('Schedule: ' || 'l_bkwd_pass_atf_date_qty = '||l_bkwd_pass_atf_date_qty);
3054: END IF;
3055: --bug3467631 end
3056:
3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;

Line 3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;

3054: END IF;
3055: --bug3467631 end
3056:
3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;

Line 3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;

3055: --bug3467631 end
3056:
3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
3063:

Line 3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

3056:
3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
3063:
3064: ---bug 2361283: For determining the date on which we want to see the substitution we offset the

Line 3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;

3057: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
3063:
3064: ---bug 2361283: For determining the date on which we want to see the substitution we offset the
3065: --- lead time from requested_ship_date and save it in l_atp_rec.requested_ship_date itself

Line 3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;

3058: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
3059: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
3060: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3061: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
3062: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
3063:
3064: ---bug 2361283: For determining the date on which we want to see the substitution we offset the
3065: --- lead time from requested_ship_date and save it in l_atp_rec.requested_ship_date itself
3066: --- As a result we are loosing time component. So we restore the date back.

Line 3080: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;

3076: -- Commented for bug 2748730. G_END_OF_DAY not required here.
3077: /*
3078: -- for bug 2259824, add end of day to ship date
3079: IF l_atp_rec.ship_date IS NOT NULL THEN
3080: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
3081: IF PG_DEBUG in ('Y', 'C') THEN
3082: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
3083: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));
3084: END IF;

Line 3119: MSC_ATP_PVT.ATP_Check(l_atp_rec,

3115: IF PG_DEBUG in ('Y', 'C') THEN
3116: msc_sch_wb.atp_debug('Call ATP_Check');
3117: END IF;
3118: --e_cto_rearch
3119: MSC_ATP_PVT.ATP_Check(l_atp_rec,
3120: l_plan_id,
3121: l_level,
3122: l_scenario_id,
3123: l_search,

Line 3131: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

3127: l_atp_period,
3128: l_atp_supply_demand,
3129: l_return_status);
3130:
3131: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3132: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3133:
3134: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3135: IF PG_DEBUG in ('Y', 'C') THEN

Line 3132: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;

3128: l_atp_supply_demand,
3129: l_return_status);
3130:
3131: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3132: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3133:
3134: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3135: IF PG_DEBUG in ('Y', 'C') THEN
3136: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails');

Line 3153: IF MSC_ATP_PVT.G_OPTIONAL_FW is null then

3149: -- No NVL is needed on atf_date_quantity bug3555084
3150: --l_atp_rec.atf_date_quantity := GREATEST(NVL(l_atp_rec.atf_date_quantity, 0), 0);
3151: --bug3397904 start
3152: --optional_fw this should be executed only in b/w pass. check this one!!
3153: IF MSC_ATP_PVT.G_OPTIONAL_FW is null then
3154: IF l_atp_rec.requested_ship_date <= l_atf_date THEN
3155: l_bkwd_pass_atf_date_qty := GREATEST(NVL(l_atp_rec.combined_requested_date_qty,
3156: l_atp_rec.requested_date_quantity), 0);
3157: ELSE

Line 3166: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;

3162: -- Commented for bug 2748730. G_END_OF_DAY not required here.
3163: /*
3164: -- for bug 2259824, add end of day to ship date
3165: IF l_atp_rec.ship_date IS NOT NULL THEN
3166: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
3167: IF PG_DEBUG in ('Y', 'C') THEN
3168: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
3169: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));
3170: END IF;

Line 3175: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'

3171: END IF;
3172: */
3173: --diag_atp
3174: --optional_fw we never want to do this f/w pass if G_FORWARD_ATP is Yes
3175: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'
3176: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 AND G_FORWARD_ATP = 'N' THEN
3177:
3178: l_future_atp_rec := l_atp_rec;
3179:

Line 3176: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 AND G_FORWARD_ATP = 'N' THEN

3172: */
3173: --diag_atp
3174: --optional_fw we never want to do this f/w pass if G_FORWARD_ATP is Yes
3175: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'
3176: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 AND G_FORWARD_ATP = 'N' THEN
3177:
3178: l_future_atp_rec := l_atp_rec;
3179:
3180: l_future_atp_rec.error_code := ALLSUCCESS;

Line 3203: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;

3199: l_future_atp_rec.atf_date_quantity := NULL;
3200:
3201: -- The date might have been set by a lower level component. we reset it again
3202: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
3203: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
3204: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
3205:
3206: --9239406
3207: IF PG_DEBUG in ('Y', 'C') THEN

Line 3204: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;

3200:
3201: -- The date might have been set by a lower level component. we reset it again
3202: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
3203: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
3204: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
3205:
3206: --9239406
3207: IF PG_DEBUG in ('Y', 'C') THEN
3208: msc_sch_wb.atp_debug('Schedule: ' || 'l_g_inv_ctp = '||l_g_inv_ctp );

Line 3212: MSC_ATP_PVT.G_INV_CTP := 5;

3208: msc_sch_wb.atp_debug('Schedule: ' || 'l_g_inv_ctp = '||l_g_inv_ctp );
3209: END IF;
3210: IF (l_g_inv_ctp = 5) then -- -- If it is set to one, PDS-ODS switch has happened, otherwise no.
3211:
3212: MSC_ATP_PVT.G_INV_CTP := 5;
3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';

Line 3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';

3209: END IF;
3210: IF (l_g_inv_ctp = 5) then -- -- If it is set to one, PDS-ODS switch has happened, otherwise no.
3211:
3212: MSC_ATP_PVT.G_INV_CTP := 5;
3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';
3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673

Line 3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;

3210: IF (l_g_inv_ctp = 5) then -- -- If it is set to one, PDS-ODS switch has happened, otherwise no.
3211:
3212: MSC_ATP_PVT.G_INV_CTP := 5;
3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';
3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
3218: MSC_ATP_PVT.G_FORWARD_ATP := 'N';

Line 3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';

3212: MSC_ATP_PVT.G_INV_CTP := 5;
3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';
3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
3218: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
3219:
3220: IF PG_DEBUG in ('Y', 'C') THEN

Line 3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673

3213: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';
3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
3218: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
3219:
3220: IF PG_DEBUG in ('Y', 'C') THEN
3221: msc_sch_wb.atp_debug('Schedule: ' || 'Reset the profiles in case of PSD-ODS switch' );

Line 3218: MSC_ATP_PVT.G_FORWARD_ATP := 'N';

3214: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
3215: --bug 9911034, We don't do enhance f/w atp and ALLOC_ATP in ODS cases
3216: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N';
3217: MSC_ATP_PVT.G_HYBRID_ALLOC_ATP := 'N'; -- ALLOC ATP CHANGES, 12973673
3218: MSC_ATP_PVT.G_FORWARD_ATP := 'N';
3219:
3220: IF PG_DEBUG in ('Y', 'C') THEN
3221: msc_sch_wb.atp_debug('Schedule: ' || 'Reset the profiles in case of PSD-ODS switch' );
3222: END IF;

Line 3227: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ='||MSC_ATP_PVT.G_INV_CTP );

3223:
3224: END IF;
3225:
3226: IF PG_DEBUG in ('Y', 'C') THEN
3227: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ='||MSC_ATP_PVT.G_INV_CTP );
3228: msc_sch_wb.atp_debug('Schedule: ' || 'l_future_atp_rec.quantity_ordered ='||l_future_atp_rec.quantity_ordered );
3229: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_date_quantity ='||l_atp_rec.requested_date_quantity);
3230: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.combined_requested_date_qty ='||l_atp_rec.combined_requested_date_qty);
3231: END IF;

Line 3233: MSC_ATP_PVT.ATP_Check(l_future_atp_rec,

3229: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_date_quantity ='||l_atp_rec.requested_date_quantity);
3230: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.combined_requested_date_qty ='||l_atp_rec.combined_requested_date_qty);
3231: END IF;
3232:
3233: MSC_ATP_PVT.ATP_Check(l_future_atp_rec,
3234: l_plan_id,
3235: l_level,
3236: l_scenario_id,
3237: 2,

Line 3245: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

3241: l_future_atp_period,
3242: l_future_atp_supply_demand,
3243: l_return_status);
3244:
3245: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3246: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3247: -- dsting 2764213
3248: ELSIF l_return_status in (
3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,

Line 3246: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;

3242: l_future_atp_supply_demand,
3243: l_return_status);
3244:
3245: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3246: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3247: -- dsting 2764213
3248: ELSIF l_return_status in (
3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
3250: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,

Line 3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,

3245: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3246: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3247: -- dsting 2764213
3248: ELSIF l_return_status in (
3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
3250: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
3251: MSC_ATP_PVT.G_NO_PLAN_FOUND)
3252: THEN
3253: IF PG_DEBUG in ('Y', 'C') THEN

Line 3250: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,

3246: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3247: -- dsting 2764213
3248: ELSIF l_return_status in (
3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
3250: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
3251: MSC_ATP_PVT.G_NO_PLAN_FOUND)
3252: THEN
3253: IF PG_DEBUG in ('Y', 'C') THEN
3254: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails in future case');

Line 3251: MSC_ATP_PVT.G_NO_PLAN_FOUND)

3247: -- dsting 2764213
3248: ELSIF l_return_status in (
3249: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
3250: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
3251: MSC_ATP_PVT.G_NO_PLAN_FOUND)
3252: THEN
3253: IF PG_DEBUG in ('Y', 'C') THEN
3254: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails in future case');
3255: END IF;

Line 3266: l_atp_rec.ship_date := TRUNC(l_future_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;

3262:
3263: -- Commented for bug 2748730. G_END_OF_DAY not required here.
3264: /*
3265: -- for bug 2259824, add end of day to ship date
3266: l_atp_rec.ship_date := TRUNC(l_future_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
3267:
3268: IF PG_DEBUG in ('Y', 'C') THEN
3269: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
3270: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));

Line 3356: END IF; -- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4

3352: -- for aatp
3353: l_atp_rec.requested_date_quantity :=
3354: l_atp_rec.combined_requested_date_qty;
3355: END IF;
3356: END IF; -- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4
3357: --optional_fw start
3358: IF PG_DEBUG in ('Y', 'C') THEN
3359: msc_sch_wb.atp_debug('Schedule: ' || '___OPTIONAL FW PASS Binary Search End ____');
3360: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_last_search: ' || l_last_search);

Line 3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);

3363: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_middle_seqnum: ' || l_middle_seqnum);
3364: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.requested_ship_date: ' || l_atp_rec.requested_ship_date);
3365: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.requested_date_quantity: ' || l_atp_rec.requested_date_quantity);
3366: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);
3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454

Line 3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);

3364: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.requested_ship_date: ' || l_atp_rec.requested_ship_date);
3365: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.requested_date_quantity: ' || l_atp_rec.requested_date_quantity);
3366: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);
3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454
3372: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_g_inv_ctp := ' || l_g_inv_ctp); --5158454

Line 3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);

3365: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.requested_date_quantity: ' || l_atp_rec.requested_date_quantity);
3366: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);
3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454
3372: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3373: END IF;

Line 3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);

3366: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_atp_rec.quantity_ordered: ' || l_atp_rec.quantity_ordered);
3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);
3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454
3372: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3373: END IF;
3374: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

Line 3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454

3367: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3368: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_FORWARD_ATP: ' || MSC_ATP_PVT.G_FORWARD_ATP);
3369: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_SUBSTITUTION_FLAG: ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454
3372: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3373: END IF;
3374: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
3375: IF PG_DEBUG in ('Y', 'C') THEN

Line 3374: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

3370: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_DIAGNOSTIC_ATP: ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
3371: msc_sch_wb.atp_debug('Schedule: ' || 'End: MSC_ATP_PVT.G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP); --5158454
3372: msc_sch_wb.atp_debug('Schedule: ' || 'End: l_g_inv_ctp := ' || l_g_inv_ctp); --5158454
3373: END IF;
3374: IF MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
3375: IF PG_DEBUG in ('Y', 'C') THEN
3376: msc_sch_wb.atp_debug('Schedule: ' || 'Inside IF condition of binary search loop');
3377: END IF;
3378: --If I have got the quantity then I don't need to go for more passes

Line 3380: OR (MSC_ATP_PVT.G_ATP_COMP_FLAG = 'N')

3376: msc_sch_wb.atp_debug('Schedule: ' || 'Inside IF condition of binary search loop');
3377: END IF;
3378: --If I have got the quantity then I don't need to go for more passes
3379: IF ( (l_atp_rec.quantity_ordered <= l_atp_rec.requested_date_quantity)
3380: OR (MSC_ATP_PVT.G_ATP_COMP_FLAG = 'N')
3381: )AND MSC_ATP_PVT.G_FORWARD_ATP = 'Y'
3382: THEN --for first iteration this will be one
3383:
3384: IF PG_DEBUG in ('Y', 'C') THEN

Line 3381: )AND MSC_ATP_PVT.G_FORWARD_ATP = 'Y'

3377: END IF;
3378: --If I have got the quantity then I don't need to go for more passes
3379: IF ( (l_atp_rec.quantity_ordered <= l_atp_rec.requested_date_quantity)
3380: OR (MSC_ATP_PVT.G_ATP_COMP_FLAG = 'N')
3381: )AND MSC_ATP_PVT.G_FORWARD_ATP = 'Y'
3382: THEN --for first iteration this will be one
3383:
3384: IF PG_DEBUG in ('Y', 'C') THEN
3385: msc_sch_wb.atp_debug('Schedule: ' || 'Exiting the loop from G_FORWARD_ATP is yes ');

Line 3388: ELSIF MSC_ATP_PVT.G_FORWARD_ATP = 'N' OR MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'

3384: IF PG_DEBUG in ('Y', 'C') THEN
3385: msc_sch_wb.atp_debug('Schedule: ' || 'Exiting the loop from G_FORWARD_ATP is yes ');
3386: END IF;
3387: EXIT;
3388: ELSIF MSC_ATP_PVT.G_FORWARD_ATP = 'N' OR MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
3389: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
3390: OR MSC_ATP_PVT.G_INV_CTP = 5
3391: OR l_g_inv_ctp = 5 --5158454 incases where PDS-ODS switch happens the G_INV_CTP is set to 5 but
3392: --inside the loop when if profile value is again accessed then it is

Line 3389: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1

3385: msc_sch_wb.atp_debug('Schedule: ' || 'Exiting the loop from G_FORWARD_ATP is yes ');
3386: END IF;
3387: EXIT;
3388: ELSIF MSC_ATP_PVT.G_FORWARD_ATP = 'N' OR MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
3389: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
3390: OR MSC_ATP_PVT.G_INV_CTP = 5
3391: OR l_g_inv_ctp = 5 --5158454 incases where PDS-ODS switch happens the G_INV_CTP is set to 5 but
3392: --inside the loop when if profile value is again accessed then it is
3393: --reset to 4 again.

Line 3390: OR MSC_ATP_PVT.G_INV_CTP = 5

3386: END IF;
3387: EXIT;
3388: ELSIF MSC_ATP_PVT.G_FORWARD_ATP = 'N' OR MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
3389: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
3390: OR MSC_ATP_PVT.G_INV_CTP = 5
3391: OR l_g_inv_ctp = 5 --5158454 incases where PDS-ODS switch happens the G_INV_CTP is set to 5 but
3392: --inside the loop when if profile value is again accessed then it is
3393: --reset to 4 again.
3394: THEN

Line 3432: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

3428: END IF;
3429: END IF;
3430:
3431: IF PG_DEBUG in ('Y', 'C') THEN
3432: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3433: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3434: END IF;
3435:
3436: IF l_steal_atp_peg_id.count > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' then

Line 3433: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

3429: END IF;
3430:
3431: IF PG_DEBUG in ('Y', 'C') THEN
3432: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3433: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3434: END IF;
3435:
3436: IF l_steal_atp_peg_id.count > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' then
3437: --Remove stealing records/pegging

Line 3436: IF l_steal_atp_peg_id.count > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' then

3432: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3433: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3434: END IF;
3435:
3436: IF l_steal_atp_peg_id.count > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' then
3437: --Remove stealing records/pegging
3438: MSC_ATP_DB_UTILS.Delete_SD_Rec(l_steal_atp_peg_id,l_return_status);
3439: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3440: IF PG_DEBUG in ('Y', 'C') THEN

Line 3460: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

3456: IF PG_DEBUG in ('Y', 'C') THEN
3457: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_PEGGING_ID ' || G_FW_PEGGING_ID);
3458: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID.COUNT ' || G_FW_STEAL_PEGGING_ID.COUNT);
3459: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID.COUNT ' || G_FW_CTP_PEGGING_ID.COUNT);
3460: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3461: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3462: END IF;
3463:
3464: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

Line 3461: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

3457: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_PEGGING_ID ' || G_FW_PEGGING_ID);
3458: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID.COUNT ' || G_FW_STEAL_PEGGING_ID.COUNT);
3459: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID.COUNT ' || G_FW_CTP_PEGGING_ID.COUNT);
3460: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3461: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3462: END IF;
3463:
3464: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3465:

Line 3464: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

3460: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3461: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3462: END IF;
3463:
3464: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3465:
3466: --Hide the forward stealing records with -1*inventory_item_id
3467: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP
3468: IF PG_DEBUG in ('Y', 'C') THEN

Line 3467: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP

3463:
3464: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 and MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3465:
3466: --Hide the forward stealing records with -1*inventory_item_id
3467: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP
3468: IF PG_DEBUG in ('Y', 'C') THEN
3469: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3470: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID ' || G_FW_STEAL_PEGGING_ID(i));
3471: END IF;

Line 3483: FOR i in 1..MSC_ATP_PVT.G_FW_CTP_PEGGING_ID.COUNT LOOP

3479: END IF;
3480: END LOOP;
3481: END IF;
3482:
3483: FOR i in 1..MSC_ATP_PVT.G_FW_CTP_PEGGING_ID.COUNT LOOP
3484: IF PG_DEBUG in ('Y', 'C') THEN
3485: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3486: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID ' || G_FW_CTP_PEGGING_ID(i));
3487: END IF;

Line 3500: l_last_date := msc_atp_pvt.get_date_from_seqnum(

3496: END IF;
3497: END LOOP;
3498: END IF; --end of IF l_high_seqnum >= l_low_seqnum THEN
3499:
3500: l_last_date := msc_atp_pvt.get_date_from_seqnum(
3501: l_high_seqnum,
3502: l_atp_rec.shipping_cal_code,
3503: l_atp_rec.instance_id
3504: );

Line 3536: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

3532:
3533: IF PG_DEBUG in ('Y', 'C') THEN
3534: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID.COUNT ' || G_FW_STEAL_PEGGING_ID.COUNT);
3535: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID.COUNT ' || G_FW_CTP_PEGGING_ID.COUNT);
3536: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3537: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3538: END IF;
3539:
3540: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

Line 3537: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

3533: IF PG_DEBUG in ('Y', 'C') THEN
3534: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID.COUNT ' || G_FW_STEAL_PEGGING_ID.COUNT);
3535: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID.COUNT ' || G_FW_CTP_PEGGING_ID.COUNT);
3536: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3537: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3538: END IF;
3539:
3540: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3541: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP

Line 3540: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

3536: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
3537: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3538: END IF;
3539:
3540: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3541: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP
3542: IF PG_DEBUG in ('Y', 'C') THEN
3543: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3544: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID ' || G_FW_STEAL_PEGGING_ID(i));

Line 3541: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP

3537: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3538: END IF;
3539:
3540: IF G_FW_STEAL_PEGGING_ID.COUNT > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3541: FOR i in 1..MSC_ATP_PVT.G_FW_STEAL_PEGGING_ID.COUNT LOOP
3542: IF PG_DEBUG in ('Y', 'C') THEN
3543: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3544: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_STEAL_PEGGING_ID ' || G_FW_STEAL_PEGGING_ID(i));
3545: END IF;

Line 3551: MSC_ATP_PVT.UNDO,

3547: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
3548: G_FW_STEAL_PEGGING_ID(i),
3549: null,
3550: l_plan_id,
3551: MSC_ATP_PVT.UNDO,
3552: 0,
3553: l_return_status);
3554: END IF;
3555: END LOOP;

Line 3558: FOR i in 1..MSC_ATP_PVT.G_FW_CTP_PEGGING_ID.COUNT LOOP

3554: END IF;
3555: END LOOP;
3556: END IF;
3557:
3558: FOR i in 1..MSC_ATP_PVT.G_FW_CTP_PEGGING_ID.COUNT LOOP
3559: IF PG_DEBUG in ('Y', 'C') THEN
3560: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3561: msc_sch_wb.atp_debug('Schedule: ' || 'G_FW_CTP_PEGGING_ID ' || G_FW_CTP_PEGGING_ID(i));
3562: END IF;

Line 3569: MSC_ATP_PVT.UNDO,

3565: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
3566: G_FW_CTP_PEGGING_ID(i),
3567: null,
3568: l_plan_id,
3569: MSC_ATP_PVT.UNDO,
3570: 0,
3571: l_return_status);
3572: END IF;
3573: END LOOP;

Line 3584: msc_atp_pvt.get_date_from_seqnum(l_low_seqnum,

3580: ELSE
3581:
3582: l_low_seqnum := l_middle_seqnum + 1;
3583: l_first_date :=
3584: msc_atp_pvt.get_date_from_seqnum(l_low_seqnum,
3585: l_atp_rec.shipping_cal_code,
3586: l_atp_rec.instance_id
3587: );
3588: END IF;

Line 3598: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);

3594: msc_sch_wb.atp_debug('Schedule: ' || 'l_last_successful_date: ' || l_last_successful_date);
3595: msc_sch_wb.atp_debug('Schedule: ' || 'l_last_date: ' || l_last_date);
3596: msc_sch_wb.atp_debug('Schedule: ' || 'G_LOOP_COUNT end: ' || G_LOOP_COUNT); --5211558
3597: msc_sch_wb.atp_debug('Schedule: ' || 'l_loop_count end: ' || l_loop_count);
3598: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ATP_COMP_FLAG: ' || MSC_ATP_PVT.G_ATP_COMP_FLAG);
3599: END IF;
3600: l_loop_count := l_loop_count + 1;
3601: --If this is the last search then we need to exit the loop and restore the s/d records and dates
3602: IF l_last_search = 1 THEN

Line 3620: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP :' || MSC_ATP_PVT.G_ALLOCATED_ATP);

3616: END IF;
3617:
3618: IF PG_DEBUG in ('Y', 'C') THEN
3619: msc_sch_wb.atp_debug('Schedule: ' || 'l_steal_atp_peg_id.count :' || l_steal_atp_peg_id.count);
3620: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP :' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3621: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP :' || MSC_ATP_PVT.G_INV_CTP);
3622: END IF;
3623:
3624: IF l_steal_atp_peg_id.count > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

Line 3621: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP :' || MSC_ATP_PVT.G_INV_CTP);

3617:
3618: IF PG_DEBUG in ('Y', 'C') THEN
3619: msc_sch_wb.atp_debug('Schedule: ' || 'l_steal_atp_peg_id.count :' || l_steal_atp_peg_id.count);
3620: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP :' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3621: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP :' || MSC_ATP_PVT.G_INV_CTP);
3622: END IF;
3623:
3624: IF l_steal_atp_peg_id.count > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3625: MSC_ATP_DB_UTILS.Restore_SD_Rec(l_steal_atp_peg_id,l_return_status);

Line 3624: IF l_steal_atp_peg_id.count > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

3620: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP :' || MSC_ATP_PVT.G_ALLOCATED_ATP);
3621: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_INV_CTP :' || MSC_ATP_PVT.G_INV_CTP);
3622: END IF;
3623:
3624: IF l_steal_atp_peg_id.count > 0 AND MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
3625: MSC_ATP_DB_UTILS.Restore_SD_Rec(l_steal_atp_peg_id,l_return_status);
3626: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3627: IF PG_DEBUG in ('Y', 'C') THEN
3628: msc_sch_wb.atp_debug('Schedule: ' || 'Error occured in procedure Restore_SD_Rec');

Line 3649: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null then

3645: msc_sch_wb.atp_debug('Schedule: ' || 'l_request_date_qty: ' || l_request_date_qty);
3646: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.available_quantity: ' || l_atp_rec.available_quantity);
3647: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.combined_requested_date_qty: ' || l_atp_rec.combined_requested_date_qty);
3648: END IF;
3649: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null then
3650: l_atp_rec.quantity_ordered := l_quan_ordered;
3651: l_atp_rec.requested_ship_date := G_REQUESTED_SHIP_DATE;
3652: l_atp_rec.requested_date_quantity := l_request_date_qty;
3653: l_atp_rec.parent_so_quantity := l_quan_ordered;

Line 3664: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

3660: IF PG_DEBUG in ('Y', 'C') THEN
3661: msc_sch_wb.atp_debug('Schedule: ' || 'After ATP_Check for this l_atp_rec ');
3662: END IF;
3663: -- check the return status
3664: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3665: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3666: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3667: RAISE FND_API.G_EXC_ERROR;
3668: END IF;

Line 3665: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;

3661: msc_sch_wb.atp_debug('Schedule: ' || 'After ATP_Check for this l_atp_rec ');
3662: END IF;
3663: -- check the return status
3664: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3665: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3666: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3667: RAISE FND_API.G_EXC_ERROR;
3668: END IF;
3669:

Line 3782: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

3778: l_atp_rec.arrival_date := MSC_CALENDAR.THREE_STEP_CAL_OFFSET_DATE(
3779: l_atp_rec.ship_date, l_atp_rec.shipping_cal_code, 1,
3780: l_atp_rec.intransit_cal_code, nvl(l_atp_rec.delivery_lead_time, 0), 1,
3781: l_atp_rec.receiving_cal_code, 1, p_instance_id) ;
3782: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
3783: /* ship_rec_cal changes end */
3784:
3785: IF l_atp_rec.requested_arrival_date is not null THEN
3786: l_atp_rec.arrival_date := TRUNC(GREATEST(l_atp_rec.requested_arrival_date,

Line 3787: l_atp_rec.arrival_date));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

3783: /* ship_rec_cal changes end */
3784:
3785: IF l_atp_rec.requested_arrival_date is not null THEN
3786: l_atp_rec.arrival_date := TRUNC(GREATEST(l_atp_rec.requested_arrival_date,
3787: l_atp_rec.arrival_date));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3788: END IF;
3789:
3790: IF PG_DEBUG in ('Y', 'C') THEN
3791: msc_sch_wb.atp_debug('Schedule: l_atp_rec.arrival_date = '||

Line 3804: --4460369 + MSC_ATP_PVT.G_END_OF_DAY;

3800: NVL(l_atp_rec.original_request_date,l_atp_rec.requested_ship_date),
3801: l_atp_rec.shipping_cal_code, 1,
3802: l_atp_rec.intransit_cal_code, nvl(l_atp_rec.delivery_lead_time, 0), 1,
3803: l_atp_rec.receiving_cal_code, 1, p_instance_id) ;
3804: --4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3805: ELSE
3806: -- date type is arrival
3807: l_original_req_arrival_date := NVL(l_atp_rec.original_request_date,l_atp_rec.requested_arrival_date);
3808: END IF;

Line 3837: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN

3833: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Inventory_item_id(i)='||l_atp_table.Inventory_item_id(i));
3834: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.atf_date='||l_atp_rec.atf_date);
3835: END IF;
3836: --- subst
3837: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
3838:
3839: IF l_atp_rec.inventory_item_id <> l_atp_table.Inventory_item_id(i) THEN
3840: --- substitution has occured. Load subst_flag for substitution workflow
3841: l_atp_table.subst_flag(i) := 1;

Line 3869: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

3865: l_atp_table.req_item_req_date_qty(i) := l_atp_rec.req_item_req_date_qty;
3866:
3867: -- Bug 2259824
3868: l_atp_table.req_item_available_date(i) := TRUNC(l_atp_rec.req_item_available_date) ;
3869: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
3870: IF PG_DEBUG in ('Y', 'C') THEN
3871: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_table.req_item_available_date(i) = '||
3872: to_char(l_atp_table.req_item_available_date(i), 'DD-MON-YYYY HH24:MI:SS'));
3873: END IF;

Line 3906: END IF; --- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'

3902: /* Modularize Item and Org Info */
3903: IF PG_DEBUG in ('Y', 'C') THEN
3904: msc_sch_wb.atp_debug ('Schedule: ' || 'after item name');
3905: END IF;
3906: END IF; --- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
3907: l_atp_table.Source_Organization_Id(i):=
3908: l_atp_rec.organization_id;
3909: IF PG_DEBUG in ('Y', 'C') THEN
3910: msc_sch_wb.atp_debug ('Schedule: ' || 'after source org id ');

Line 3935: l_atp_table.Ship_Date(i) := l_atp_rec.ship_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

3931: l_atp_table.Delivery_Lead_Time(i) := l_atp_rec.delivery_lead_time;
3932: -- Bug 2748730. Return the end of day as the timestamp for outgoing dates.
3933: -- For ship date and arrival date, this is the right place to move the date
3934: -- to the end of day.
3935: l_atp_table.Ship_Date(i) := l_atp_rec.ship_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3936: l_atp_table.arrival_date(i) := l_atp_rec.arrival_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3937:
3938: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3939: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;

Line 3936: l_atp_table.arrival_date(i) := l_atp_rec.arrival_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

3932: -- Bug 2748730. Return the end of day as the timestamp for outgoing dates.
3933: -- For ship date and arrival date, this is the right place to move the date
3934: -- to the end of day.
3935: l_atp_table.Ship_Date(i) := l_atp_rec.ship_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3936: l_atp_table.arrival_date(i) := l_atp_rec.arrival_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3937:
3938: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3939: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;
3940:

Line 3942: l_atp_table.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

3938: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3939: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;
3940:
3941: l_atp_table.Scenario_Id(i) := j;
3942: l_atp_table.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3943:
3944: -- time_phased_atp
3945: l_atp_table.atf_date(i) := l_atp_rec.atf_date;
3946: l_atp_table.atp_flag(i) := l_atp_flag; --4460369

Line 4003: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

3999:
4000: END IF;
4001: ---diag_atp
4002: ---In diagnostic ATP we continue as if we are able to meet the demand on request date
4003: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
4004: IF PG_DEBUG in ('Y', 'C') THEN
4005: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode');
4006: END IF;
4007: l_atp_rec.error_code := ALLSUCCESS;

Line 4014: and session_id = MSC_ATP_PVT.G_SESSION_ID

4010: /*-- performance dsting merged queries, added distinct
4011: update mrp_atp_details_temp
4012: set constrained_path = 1
4013: where record_type = 3
4014: and session_id = MSC_ATP_PVT.G_SESSION_ID
4015: and pegging_id in
4016: (select distinct madt.pegging_id
4017: from mrp_atp_details_temp madt
4018: where record_type = 3

Line 4019: and session_id = MSC_ATP_PVT.G_SESSION_ID

4015: and pegging_id in
4016: (select distinct madt.pegging_id
4017: from mrp_atp_details_temp madt
4018: where record_type = 3
4019: and session_id = MSC_ATP_PVT.G_SESSION_ID
4020: start with madt.pegging_id in (
4021: select pegging_id
4022: from mrp_atp_details_temp madt1
4023: where session_id = MSC_ATP_PVT.G_SESSION_ID

Line 4023: where session_id = MSC_ATP_PVT.G_SESSION_ID

4019: and session_id = MSC_ATP_PVT.G_SESSION_ID
4020: start with madt.pegging_id in (
4021: select pegging_id
4022: from mrp_atp_details_temp madt1
4023: where session_id = MSC_ATP_PVT.G_SESSION_ID
4024: and record_type = 3
4025: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4026: and constraint_type is not null)
4027: connect by madt.pegging_id = PRIOR parent_pegging_id);

Line 4025: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

4021: select pegging_id
4022: from mrp_atp_details_temp madt1
4023: where session_id = MSC_ATP_PVT.G_SESSION_ID
4024: and record_type = 3
4025: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4026: and constraint_type is not null)
4027: connect by madt.pegging_id = PRIOR parent_pegging_id);
4028: */
4029: --3751114: replace hardcoded values with local varibales

Line 4034: and session_id = MSC_ATP_PVT.G_SESSION_ID

4030: --- so that they do not show up as literals
4031: UPDATE mrp_atp_details_temp
4032: set constrained_path = l_constraint_path_flag
4033: where record_type = l_peg_record_type
4034: and session_id = MSC_ATP_PVT.G_SESSION_ID
4035: and pegging_id in
4036: (select pegging_id
4037: from mrp_atp_details_temp
4038: where record_type = l_peg_record_type

Line 4039: and session_id = MSC_ATP_PVT.G_SESSION_ID

4035: and pegging_id in
4036: (select pegging_id
4037: from mrp_atp_details_temp
4038: where record_type = l_peg_record_type
4039: and session_id = MSC_ATP_PVT.G_SESSION_ID
4040: start with session_id = MSC_ATP_PVT.G_SESSION_ID
4041: and record_type = l_peg_record_type
4042: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4043: and constraint_type is not null

Line 4040: start with session_id = MSC_ATP_PVT.G_SESSION_ID

4036: (select pegging_id
4037: from mrp_atp_details_temp
4038: where record_type = l_peg_record_type
4039: and session_id = MSC_ATP_PVT.G_SESSION_ID
4040: start with session_id = MSC_ATP_PVT.G_SESSION_ID
4041: and record_type = l_peg_record_type
4042: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4043: and constraint_type is not null
4044: connect by pegging_id = PRIOR parent_pegging_id

Line 4042: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

4038: where record_type = l_peg_record_type
4039: and session_id = MSC_ATP_PVT.G_SESSION_ID
4040: start with session_id = MSC_ATP_PVT.G_SESSION_ID
4041: and record_type = l_peg_record_type
4042: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4043: and constraint_type is not null
4044: connect by pegging_id = PRIOR parent_pegging_id
4045: and record_type = l_peg_record_type
4046: and session_id = MSC_ATP_PVT.G_SESSION_ID);

Line 4046: and session_id = MSC_ATP_PVT.G_SESSION_ID);

4042: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4043: and constraint_type is not null
4044: connect by pegging_id = PRIOR parent_pegging_id
4045: and record_type = l_peg_record_type
4046: and session_id = MSC_ATP_PVT.G_SESSION_ID);
4047:
4048:
4049: END IF;
4050:

Line 4065: l_atp_table.ship_date(i) := TRUNC(l_atp_table.requested_ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;

4061: l_atp_table.instance_id(i) := p_instance_id;
4062: IF NVL(l_atp_table.override_flag(i), 'N') = 'Y' THEN
4063:
4064: /* ship_rec_cal do we need this???
4065: l_atp_table.ship_date(i) := TRUNC(l_atp_table.requested_ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
4066:
4067: IF l_atp_table.ship_date(i) IS NULL THEN
4068: l_atp_table.ship_date(i) := TRUNC(MSC_CALENDAR.prev_work_day(
4069: l_atp_table.source_organization_id(i),

Line 4074: )) + MSC_ATP_PVT.G_END_OF_DAY;

4070: p_instance_id,
4071: MSC_CALENDAR.TYPE_DAILY_BUCKET,
4072: l_atp_table.requested_arrival_date(i)
4073: - nvl(l_atp_table.delivery_lead_time(i), 0)
4074: )) + MSC_ATP_PVT.G_END_OF_DAY;
4075: END IF;
4076:
4077: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_arrival_date(i))
4078: + MSC_ATP_PVT.G_END_OF_DAY;

Line 4078: + MSC_ATP_PVT.G_END_OF_DAY;

4074: )) + MSC_ATP_PVT.G_END_OF_DAY;
4075: END IF;
4076:
4077: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_arrival_date(i))
4078: + MSC_ATP_PVT.G_END_OF_DAY;
4079: IF l_atp_table.arrival_date(i) IS NULL THEN
4080: -- dsting 2815549
4081: IF l_atp_table.customer_id(i) is null and l_atp_table.organization_id(i) is not null THEN
4082: l_atp_table.arrival_date(i) := TRUNC(MSC_CALENDAR.next_work_day(

Line 4088: )) + MSC_ATP_PVT.G_END_OF_DAY;

4084: p_instance_id,
4085: MSC_CALENDAR.TYPE_DAILY_BUCKET,
4086: l_atp_table.requested_ship_date(i)
4087: + nvl(l_atp_table.delivery_lead_time(i), 0)
4088: )) + MSC_ATP_PVT.G_END_OF_DAY;
4089: ELSE
4090: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_ship_date(i)
4091: + nvl(l_atp_table.delivery_lead_time(i), 0)) + MSC_ATP_PVT.G_END_OF_DAY;
4092: END IF;

Line 4091: + nvl(l_atp_table.delivery_lead_time(i), 0)) + MSC_ATP_PVT.G_END_OF_DAY;

4087: + nvl(l_atp_table.delivery_lead_time(i), 0)
4088: )) + MSC_ATP_PVT.G_END_OF_DAY;
4089: ELSE
4090: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_ship_date(i)
4091: + nvl(l_atp_table.delivery_lead_time(i), 0)) + MSC_ATP_PVT.G_END_OF_DAY;
4092: END IF;
4093: END IF;*/
4094:
4095: IF PG_DEBUG in ('Y', 'C') THEN

Line 4116: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476

4112: msc_sch_wb.atp_debug('arrival_date: ' || l_atp_table.arrival_date(i));
4113: END IF;
4114: --bug3439591 start
4115: --L_MOVE_PAST_DUE_TO_SYSDATE := NVL(FND_PROFILE.value('MSC_MOVE_PAST_DUE_TO_SYSDATE'), 'Y'); -- Bug 5584634/5618929
4116: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476
4117: IF PG_DEBUG in ('Y', 'C') THEN
4118: msc_sch_wb.atp_debug('Schedule: ' || 'MOVE_PAST_DUE_TO_SYS_DATE :'|| L_MOVE_PAST_DUE_TO_SYSDATE);
4119: END IF;
4120: if L_MOVE_PAST_DUE_TO_SYSDATE = 'Y' THEN -- Bug 5584634/5618929

Line 4206: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records

4202:
4203: IF PG_DEBUG in ('Y', 'C') THEN
4204: msc_sch_wb.atp_debug('Schedule: ' || 'bug 1225631');
4205: END IF;
4206: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
4207: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4208: -- From request level (Call_schedule)
4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;

Line 4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN

4205: END IF;
4206: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
4207: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4208: -- From request level (Call_schedule)
4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

Line 4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;

4206: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
4207: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4208: -- From request level (Call_schedule)
4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

Line 4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4207: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4208: -- From request level (Call_schedule)
4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN

Line 4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4208: -- From request level (Call_schedule)
4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));

Line 4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4209: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;

Line 4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4210: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4211: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;
4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

Line 4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));

4212: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4213: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;
4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4219: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4220: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

Line 4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

4214: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;
4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4219: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4220: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4221: END LOOP;
4222: END IF;

Line 4219: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;

4215: IF PG_DEBUG in ('Y', 'C') THEN
4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;
4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4219: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4220: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4221: END LOOP;
4222: END IF;
4223:

Line 4220: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

4216: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
4217: END IF;
4218: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4219: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4220: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4221: END LOOP;
4222: END IF;
4223:
4224: /* --3720018, donot call remove_invalid_sd_rec here

Line 4225: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4221: END LOOP;
4222: END IF;
4223:
4224: /* --3720018, donot call remove_invalid_sd_rec here
4225: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4226: IF PG_DEBUG in ('Y', 'C') THEN
4227: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4228: END IF;
4229: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4230: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4226: IF PG_DEBUG in ('Y', 'C') THEN
4227: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4228: END IF;
4229: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4230: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4231: p_instance_id,
4232: l_plan_id,
4233: UNDO,
4234: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4234: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4230: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4231: p_instance_id,
4232: l_plan_id,
4233: UNDO,
4234: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4235: l_return_status);
4236:
4237: END LOOP; */ --3720018
4238:

Line 4246: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_DATE_QTY(i) := ' || MSC_ATP_PVT.G_REQ_DATE_QTY(i));

4242: IF l_atp_rec.error_code = ATP_REQ_DATE_FAIL THEN
4243: l_sd_qty := l_atp_rec.quantity_ordered;
4244: IF PG_DEBUG in ('Y', 'C') THEN
4245: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
4246: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_DATE_QTY(i) := ' || MSC_ATP_PVT.G_REQ_DATE_QTY(i));
4247: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_ATP_DATE(i) := ' || MSC_ATP_PVT.G_REQ_ATP_DATE(i));
4248: END IF;
4249: -- rajjain begin 01/30/2003 Bug 2777661
4250: -- bug 2795053-reopen (ssurendr): Do date offset for override case as well

Line 4247: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_ATP_DATE(i) := ' || MSC_ATP_PVT.G_REQ_ATP_DATE(i));

4243: l_sd_qty := l_atp_rec.quantity_ordered;
4244: IF PG_DEBUG in ('Y', 'C') THEN
4245: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
4246: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_DATE_QTY(i) := ' || MSC_ATP_PVT.G_REQ_DATE_QTY(i));
4247: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_ATP_DATE(i) := ' || MSC_ATP_PVT.G_REQ_ATP_DATE(i));
4248: END IF;
4249: -- rajjain begin 01/30/2003 Bug 2777661
4250: -- bug 2795053-reopen (ssurendr): Do date offset for override case as well
4251: -- IF NVL(l_atp_rec.override_flag, 'N') = 'Y' THEN

Line 4286: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4282: p_instance_id,
4283: l_sd_date,
4284: l_plan_id,
4285: l_sd_qty,
4286: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4287: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4288: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4289: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4290: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973

Line 4287: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

4283: l_sd_date,
4284: l_plan_id,
4285: l_sd_qty,
4286: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4287: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4288: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4289: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4290: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
4291: l_atp_rec.atf_date, -- For time_phased_atp

Line 4288: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787

4284: l_plan_id,
4285: l_sd_qty,
4286: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4287: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4288: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4289: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4290: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
4291: l_atp_rec.atf_date, -- For time_phased_atp
4292: l_atp_rec.atf_date_quantity, -- For time_phased_atp

Line 4378: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

4374: BEGIN
4375: SELECT identifier3
4376: INTO l_ship_arrival_date_rec.demand_id
4377: FROM mrp_atp_details_temp
4378: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4379: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4380: AND record_type = 3;
4381: EXCEPTION
4382: WHEN OTHERS THEN

Line 4379: AND session_id = MSC_ATP_PVT.G_SESSION_ID

4375: SELECT identifier3
4376: INTO l_ship_arrival_date_rec.demand_id
4377: FROM mrp_atp_details_temp
4378: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
4379: AND session_id = MSC_ATP_PVT.G_SESSION_ID
4380: AND record_type = 3;
4381: EXCEPTION
4382: WHEN OTHERS THEN
4383: l_ship_arrival_date_rec.demand_id := null;

Line 4424: IF i = l_atp_table.action.count AND l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN

4420: /* ship_rec_cal changes end */
4421:
4422: l_stmt := 330;
4423: -- dsting setproc
4424: IF i = l_atp_table.action.count AND l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
4425: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
4426: l_overall_status := ALLSUCCESS ;
4427: END IF;
4428:

Line 4462: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

4458: END IF;
4459: -- End of New Code
4460:
4461: --diag_atp
4462: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
4463: IF PG_DEBUG in ('Y', 'C') THEN
4464: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode 2');
4465: END IF;
4466: l_atp_table.Error_Code(i) := MSC_ATP_PVT.DIAGNOSTIC_ATP_ENABLED;

Line 4466: l_atp_table.Error_Code(i) := MSC_ATP_PVT.DIAGNOSTIC_ATP_ENABLED;

4462: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
4463: IF PG_DEBUG in ('Y', 'C') THEN
4464: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode 2');
4465: END IF;
4466: l_atp_table.Error_Code(i) := MSC_ATP_PVT.DIAGNOSTIC_ATP_ENABLED;
4467: END IF;
4468: ELSE --- bug 1104565
4469:
4470: -- The request_date fails

Line 4538: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4534: -NVL(l_atp_rec.atp_lead_time, 0)),
4535: */
4536: l_plan_id,
4537: l_sd_qty,
4538: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4539: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4540: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4541: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4542: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973

Line 4539: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

4535: */
4536: l_plan_id,
4537: l_sd_qty,
4538: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4539: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4540: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4541: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4542: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
4543: l_atp_rec.atf_date, -- For time_phased_atp

Line 4540: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787

4536: l_plan_id,
4537: l_sd_qty,
4538: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4539: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4540: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4541: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
4542: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
4543: l_atp_rec.atf_date, -- For time_phased_atp
4544: l_atp_rec.atf_date_quantity, -- For time_phased_atp

Line 4579: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);

4575: IF PG_DEBUG in ('Y', 'C') THEN
4576: msc_sch_wb.atp_debug('arrival cntr k: ' || k);
4577: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
4578: msc_sch_wb.atp_debug('i: ' || i);
4579: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
4580: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
4581: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
4582: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
4583: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);

Line 4580: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);

4576: msc_sch_wb.atp_debug('arrival cntr k: ' || k);
4577: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
4578: msc_sch_wb.atp_debug('i: ' || i);
4579: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
4580: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
4581: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
4582: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
4583: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
4584: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);

Line 4581: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);

4577: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
4578: msc_sch_wb.atp_debug('i: ' || i);
4579: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
4580: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
4581: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
4582: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
4583: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
4584: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);
4585: END IF;

Line 4582: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);

4578: msc_sch_wb.atp_debug('i: ' || i);
4579: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
4580: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
4581: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
4582: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
4583: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
4584: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);
4585: END IF;
4586:

Line 4616: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);

4612: l_demand_class_atp_flag.trim(l_fst_src_pegging_ids.count - k + 1);
4613: END IF;
4614:
4615: msc_sch_wb.atp_debug('adding to fst_src_peg p');
4616: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4617: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4618: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4619: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);

Line 4618: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);

4614:
4615: msc_sch_wb.atp_debug('adding to fst_src_peg p');
4616: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4617: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4618: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4619: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4621: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

Line 4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);

4616: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4617: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4618: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4619: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4621: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,

Line 4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

4618: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4619: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4621: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4626: MSC_ATP_PVT.GROUPEL_ERROR,

Line 4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,

4620: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4621: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4626: MSC_ATP_PVT.GROUPEL_ERROR,
4627: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4628: THEN

Line 4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,

4621: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4626: MSC_ATP_PVT.GROUPEL_ERROR,
4627: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4628: THEN
4629: l_date_higher_src := 'Y';

Line 4626: MSC_ATP_PVT.GROUPEL_ERROR,

4622: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4626: MSC_ATP_PVT.GROUPEL_ERROR,
4627: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4628: THEN
4629: l_date_higher_src := 'Y';
4630: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);

Line 4627: MSC_ATP_PVT.ATP_ACCEPT_FAIL)

4623:
4624: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4625: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4626: MSC_ATP_PVT.GROUPEL_ERROR,
4627: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4628: THEN
4629: l_date_higher_src := 'Y';
4630: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);
4631: END IF;

Line 4633: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records

4629: l_date_higher_src := 'Y';
4630: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);
4631: END IF;
4632: -- cleanup only if not arrival set
4633: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
4634: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4635: -- From request level (Call_schedule)
4636: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4637: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN

Line 4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN

4634: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4635: -- From request level (Call_schedule)
4636: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4637: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

Line 4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;

4635: -- From request level (Call_schedule)
4636: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4637: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

Line 4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4636: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4637: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

Line 4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4637: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;

Line 4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

4638: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);

Line 4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4639: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);
4647: END LOOP;

Line 4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

4640: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);
4647: END LOOP;
4648: END IF;

Line 4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;

4641: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);
4647: END LOOP;
4648: END IF;
4649: ELSE --3720018

Line 4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);

4642: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4643: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4644: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4645: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4646: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(m);
4647: END LOOP;
4648: END IF;
4649: ELSE --3720018
4650: MSC_ATP_PROC.cleanup_set(p_instance_id,

Line 4652: MSC_ATP_PVT.G_PEGGING_FOR_SET,

4648: END IF;
4649: ELSE --3720018
4650: MSC_ATP_PROC.cleanup_set(p_instance_id,
4651: l_plan_id,
4652: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4653: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4654: END IF; --3720018
4655: END IF; --3720018
4656: ELSE

Line 4653: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

4649: ELSE --3720018
4650: MSC_ATP_PROC.cleanup_set(p_instance_id,
4651: l_plan_id,
4652: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4653: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4654: END IF; --3720018
4655: END IF; --3720018
4656: ELSE
4657: -- not using these in fst src peg, so always clean up

Line 4660: MSC_ATP_PVT.G_PEGGING_FOR_SET,

4656: ELSE
4657: -- not using these in fst src peg, so always clean up
4658: MSC_ATP_PROC.cleanup_set(p_instance_id,
4659: l_plan_id,
4660: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4661: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4662: END IF;
4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

Line 4661: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

4657: -- not using these in fst src peg, so always clean up
4658: MSC_ATP_PROC.cleanup_set(p_instance_id,
4659: l_plan_id,
4660: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4661: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4662: END IF;
4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

Line 4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4660: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4661: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4662: END IF;
4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4666: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4667: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4668:

Line 4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4661: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4662: END IF;
4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4666: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4667: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4668:
4669: IF j = l_sources.source_type.count THEN

Line 4666: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4662: END IF;
4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4666: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4667: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4668:
4669: IF j = l_sources.source_type.count THEN
4670: IF PG_DEBUG in ('Y', 'C') THEN

Line 4667: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4663:
4664: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4665: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4666: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4667: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4668:
4669: IF j = l_sources.source_type.count THEN
4670: IF PG_DEBUG in ('Y', 'C') THEN
4671: msc_sch_wb.atp_debug('Schedule: ' || 'l_fst_src_pegging_ids.count'|| l_fst_src_pegging_ids.count);

Line 4712: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4708: msc_sch_wb.atp_debug('Schedule: ' || 'bug 1225631');
4709: END IF;
4710:
4711: -- ROLLBACK to SAVEPOINT start_atp;
4712: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4713: IF PG_DEBUG in ('Y', 'C') THEN
4714: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4715: END IF;
4716: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4717: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4713: IF PG_DEBUG in ('Y', 'C') THEN
4714: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4715: END IF;
4716: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4717: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4718: p_instance_id,
4719: l_plan_id,
4720: UNDO,
4721: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4721: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4717: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4718: p_instance_id,
4719: l_plan_id,
4720: UNDO,
4721: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4722: l_return_status);
4723:
4724: END LOOP;
4725:

Line 4726: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4722: l_return_status);
4723:
4724: END LOOP;
4725:
4726: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4728: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4729: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4730: IF PG_DEBUG in ('Y', 'C') THEN

Line 4727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4723:
4724: END LOOP;
4725:
4726: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4728: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4729: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4730: IF PG_DEBUG in ('Y', 'C') THEN
4731: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');

Line 4728: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4724: END LOOP;
4725:
4726: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4728: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4729: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4730: IF PG_DEBUG in ('Y', 'C') THEN
4731: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');
4732: END IF;

Line 4729: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4725:
4726: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4728: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4729: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4730: IF PG_DEBUG in ('Y', 'C') THEN
4731: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');
4732: END IF;
4733:

Line 4745: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN

4741: IF (i = l_ship_count) AND (l_ship_count > 1 ) THEN
4742: -- this is a set, make sure this set is successful
4743: -- dsting setproc
4744: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
4745: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
4746: FOR m in 1.. l_ship_count LOOP
4747: l_atp_table.Group_Ship_Date(m):= l_group_date;
4748:
4749: IF (l_atp_table.Action(m)<> ATPQUERY) THEN

Line 4751: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

4747: l_atp_table.Group_Ship_Date(m):= l_group_date;
4748:
4749: IF (l_atp_table.Action(m)<> ATPQUERY) THEN
4750:
4751: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
4752: /* time_phased_atp use plan_id populated in l_atp_table.plan_id
4753: -- New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
4754: -- (SCLT)
4755: MSC_ATP_PROC.get_global_plan_info(p_instance_id,

Line 4760: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

4756: l_atp_table.inventory_item_id(m),
4757: l_atp_table.organization_id(m),
4758: l_atp_table.demand_class(m));
4759:
4760: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
4761: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
4762:
4763: l_temp_plan_id := l_plan_info_rec.plan_id;
4764: l_temp_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 4784: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4780: END IF;
4781:
4782: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4783: p_instance_id, l_group_date, l_temp_plan_id,null,
4784: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4785: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4786: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4787: l_group_date, -- bug 2795053-reopen (ssurendr)
4788: null, -- For time_phased_atp

Line 4785: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

4781:
4782: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4783: p_instance_id, l_group_date, l_temp_plan_id,null,
4784: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4785: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4786: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4787: l_group_date, -- bug 2795053-reopen (ssurendr)
4788: null, -- For time_phased_atp
4789: l_atp_table.atf_date(m), -- For time_phased_atp

Line 4786: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787

4782: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4783: p_instance_id, l_group_date, l_temp_plan_id,null,
4784: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4785: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4786: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4787: l_group_date, -- bug 2795053-reopen (ssurendr)
4788: null, -- For time_phased_atp
4789: l_atp_table.atf_date(m), -- For time_phased_atp
4790: null, -- For time_phased_atp

Line 4816: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4812: END LOOP;
4813:
4814: -- 1072816 need to do something to undo
4815:
4816: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4817: IF PG_DEBUG in ('Y', 'C') THEN
4818: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4819: END IF;
4820: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4821: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4817: IF PG_DEBUG in ('Y', 'C') THEN
4818: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4819: END IF;
4820: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4821: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4822: p_instance_id,
4823: l_plan_id,
4824: UNDO,
4825: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4825: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4821: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4822: p_instance_id,
4823: l_plan_id,
4824: UNDO,
4825: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4826: l_return_status);
4827:
4828: END LOOP;
4829:

Line 4830: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4826: l_return_status);
4827:
4828: END LOOP;
4829:
4830: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4831: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4832: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4833: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4834: IF PG_DEBUG in ('Y', 'C') THEN

Line 4831: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4827:
4828: END LOOP;
4829:
4830: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4831: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4832: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4833: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4834: IF PG_DEBUG in ('Y', 'C') THEN
4835: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');

Line 4832: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4828: END LOOP;
4829:
4830: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4831: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4832: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4833: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4834: IF PG_DEBUG in ('Y', 'C') THEN
4835: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');
4836: END IF;

Line 4833: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4829:
4830: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4831: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4832: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4833: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4834: IF PG_DEBUG in ('Y', 'C') THEN
4835: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');
4836: END IF;
4837:

Line 4853: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN

4849: l_return_status);
4850:
4851: -- now exit the loop since we are successful
4852: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
4853: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
4854: l_overall_status := ALLSUCCESS ;
4855: END IF;
4856:
4857:

Line 4870: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4866: IF ((l_ship_count = 1 AND l_arrival_count = 1) OR
4867: (l_arrival_count > 1 AND k = l_arrival_count) OR
4868: (l_ship_count > 1 AND i = l_ship_count) ) THEN
4869:
4870: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4871: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4872: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4873: p_instance_id,
4874: l_plan_id,

Line 4872: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4868: (l_ship_count > 1 AND i = l_ship_count) ) THEN
4869:
4870: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4871: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4872: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4873: p_instance_id,
4874: l_plan_id,
4875: UNDO,
4876: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4876: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4872: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4873: p_instance_id,
4874: l_plan_id,
4875: UNDO,
4876: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4877: l_return_status);
4878:
4879: END LOOP;
4880:

Line 4881: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4877: l_return_status);
4878:
4879: END LOOP;
4880:
4881: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4882: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4883: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4884: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4885: IF PG_DEBUG in ('Y', 'C') THEN

Line 4882: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4878:
4879: END LOOP;
4880:
4881: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4882: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4883: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4884: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4885: IF PG_DEBUG in ('Y', 'C') THEN
4886: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');

Line 4883: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4879: END LOOP;
4880:
4881: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4882: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4883: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4884: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4885: IF PG_DEBUG in ('Y', 'C') THEN
4886: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');
4887: END IF;

Line 4884: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4880:
4881: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4882: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4883: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4884: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4885: IF PG_DEBUG in ('Y', 'C') THEN
4886: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');
4887: END IF;
4888: END IF;

Line 4901: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4897: END LOOP;
4898:
4899: -- 1072816 need to do something to undo
4900:
4901: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4902: IF PG_DEBUG in ('Y', 'C') THEN
4903: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4904: END IF;
4905: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4906: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4902: IF PG_DEBUG in ('Y', 'C') THEN
4903: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4904: END IF;
4905: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4906: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4907: p_instance_id,
4908: l_plan_id,
4909: UNDO,
4910: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4910: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4906: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4907: p_instance_id,
4908: l_plan_id,
4909: UNDO,
4910: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4911: l_return_status);
4912:
4913: END LOOP;
4914:

Line 4915: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4911: l_return_status);
4912:
4913: END LOOP;
4914:
4915: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4916: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4917: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4918: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4919: IF PG_DEBUG in ('Y', 'C') THEN

Line 4916: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4912:
4913: END LOOP;
4914:
4915: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4916: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4917: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4918: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4919: IF PG_DEBUG in ('Y', 'C') THEN
4920: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');

Line 4917: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4913: END LOOP;
4914:
4915: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4916: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4917: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4918: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4919: IF PG_DEBUG in ('Y', 'C') THEN
4920: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');
4921: END IF;

Line 4918: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4914:
4915: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4916: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4917: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4918: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4919: IF PG_DEBUG in ('Y', 'C') THEN
4920: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');
4921: END IF;
4922:

Line 5065: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

5061: END IF;
5062:
5063: -- BEGIN Bug 2400781
5064: -- Re-assign the global variables
5065: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
5066: -- ATP4drp re-set using original profile value
5067: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5068: -- End ATP4drp
5069: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

Line 5067: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

5063: -- BEGIN Bug 2400781
5064: -- Re-assign the global variables
5065: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
5066: -- ATP4drp re-set using original profile value
5067: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5068: -- End ATP4drp
5069: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
5070: --5221865 in the end of i loop we should re-set by original value.
5071: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

Line 5069: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

5065: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
5066: -- ATP4drp re-set using original profile value
5067: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5068: -- End ATP4drp
5069: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
5070: --5221865 in the end of i loop we should re-set by original value.
5071: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
5072: IF PG_DEBUG in ('Y', 'C') THEN
5073: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '

Line 5071: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;

5067: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5068: -- End ATP4drp
5069: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
5070: --5221865 in the end of i loop we should re-set by original value.
5071: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
5072: IF PG_DEBUG in ('Y', 'C') THEN
5073: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '
5074: || MSC_ATP_PVT.G_INV_CTP);
5075: --5221865

Line 5074: || MSC_ATP_PVT.G_INV_CTP);

5070: --5221865 in the end of i loop we should re-set by original value.
5071: MSC_ATP_PVT.G_FORWARD_ATP := l_forward_atp;
5072: IF PG_DEBUG in ('Y', 'C') THEN
5073: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '
5074: || MSC_ATP_PVT.G_INV_CTP);
5075: --5221865
5076: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination G_FORWARD_ATP '
5077: || MSC_ATP_PVT.G_FORWARD_ATP);
5078: END IF;

Line 5077: || MSC_ATP_PVT.G_FORWARD_ATP);

5073: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '
5074: || MSC_ATP_PVT.G_INV_CTP);
5075: --5221865
5076: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination G_FORWARD_ATP '
5077: || MSC_ATP_PVT.G_FORWARD_ATP);
5078: END IF;
5079: -- The local variables were assigned at the beginning of the Loop
5080: -- Values should be reset after every ship-set row.
5081: -- END Bug 2400781

Line 5241: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

5237:
5238: -- xxxx to be consistent with ship sets...
5239: IF l_arrival_count > 1 and p_atp_table.quantity_ordered(1) <> 0 THEN
5240: -- Bug 2259824
5241: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
5242: IF PG_DEBUG in ('Y', 'C') THEN
5243: msc_sch_wb.atp_debug('Schedule: 2259824 l_group_date = '||
5244: to_char(l_group_date, 'DD-MON-YYYY HH24:MI:SS'));
5245: END IF;

Line 5273: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

5269: -- This ensures that group dates are also moved to the end of day
5270: l_group_date := greatest(l_group_date,
5271: l_temp_arr_atp_table.Ship_Date(i)+
5272: NVL(l_temp_arr_atp_table.delivery_lead_time(i),0));
5273: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
5274:
5275: MSC_SATP_FUNC.Assign_Atp_Input_Rec(l_temp_arr_atp_table,
5276: i,
5277: x_atp_table,

Line 5353: p_atp_table.Requested_Arrival_Date(k)));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;

5349: -- for this line we can satisfy on the request date
5350: -- For bug 2748730. Move the group date to end of day even if line is overridden
5351: -- This ensures that group dates are also moved to the end of day
5352: l_group_date := TRUNC(Greatest(l_group_date,
5353: p_atp_table.Requested_Arrival_Date(k)));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
5354: ELSE
5355: l_group_date := NULL;
5356: END IF;
5357: END LOOP; -- end of k loop

Line 5392: + MSC_ATP_PVT.G_END_OF_DAY;

5388: -- This ensures that group dates are also moved to the end of day
5389: l_group_date := TRUNC(greatest(l_group_date,
5390: l_temp_arr_atp_table.Ship_Date(i)+
5391: NVL(l_temp_arr_atp_table.delivery_lead_time(i),0)))
5392: + MSC_ATP_PVT.G_END_OF_DAY;
5393: END LOOP;
5394: */
5395:
5396:

Line 5430: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

5426: l_plan_id,
5427: l_fst_src_pegging_ids,
5428: l_demand_class_atp_flag);
5429: /*
5430: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
5431: IF PG_DEBUG in ('Y', 'C') THEN
5432: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
5433: END IF;
5434: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 5435: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

5431: IF PG_DEBUG in ('Y', 'C') THEN
5432: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
5433: END IF;
5434: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
5435: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
5436: p_instance_id,
5437: l_plan_id,
5438: UNDO,
5439: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 5439: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

5435: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
5436: p_instance_id,
5437: l_plan_id,
5438: UNDO,
5439: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
5440: l_return_status);
5441: END LOOP;
5442: */
5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

Line 5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

5439: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
5440: l_return_status);
5441: END LOOP;
5442: */
5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5444: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5445: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5446: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5447: IF PG_DEBUG in ('Y', 'C') THEN

Line 5444: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

5440: l_return_status);
5441: END LOOP;
5442: */
5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5444: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5445: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5446: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5447: IF PG_DEBUG in ('Y', 'C') THEN
5448: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');

Line 5445: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

5441: END LOOP;
5442: */
5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5444: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5445: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5446: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5447: IF PG_DEBUG in ('Y', 'C') THEN
5448: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');
5449: END IF;

Line 5446: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

5442: */
5443: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5444: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5445: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5446: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5447: IF PG_DEBUG in ('Y', 'C') THEN
5448: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');
5449: END IF;
5450: ELSE

Line 5457: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;

5453: END IF;
5454: -- dsting setproc
5455:
5456: -- 2902265
5457: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
5458: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
5459: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
5460: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
5461:

Line 5458: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;

5454: -- dsting setproc
5455:
5456: -- 2902265
5457: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
5458: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
5459: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
5460: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
5461:
5462: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date

Line 5459: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;

5455:
5456: -- 2902265
5457: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
5458: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
5459: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
5460: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
5461:
5462: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date
5463: END IF;

Line 5460: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;

5456: -- 2902265
5457: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
5458: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
5459: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
5460: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
5461:
5462: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date
5463: END IF;
5464:

Line 5490: msc_sch_wb.atp_debug('Schedule: Debug G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

5486:
5487: ---bug 2384224
5488: IF PG_DEBUG in ('Y', 'C') THEN
5489: msc_sch_wb.atp_debug('Schedule: Debug l_inv_ctp ' || l_inv_ctp);
5490: msc_sch_wb.atp_debug('Schedule: Debug G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
5491: msc_sch_wb.atp_debug('Schedule: Debug x_atp_table.Action(1)' || x_atp_table.Action(1));
5492: END IF;
5493: IF /*(l_inv_ctp = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5494: x_atp_table.Action(1) = DEMANDADD OR

Line 5554: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;

5550: --3720018 ,changes to refer all the records from l_delete_atp_rec
5551:
5552: -- Append copy SO ids for summary enhancement --3720018
5553: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
5554: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5557: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);

Line 5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);

5551:
5552: -- Append copy SO ids for summary enhancement --3720018
5553: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
5554: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5557: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
5559: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);

Line 5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);

5552: -- Append copy SO ids for summary enhancement --3720018
5553: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
5554: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5557: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
5559: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
5560: END LOOP;

Line 5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);

5554: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5557: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
5559: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
5560: END LOOP;
5561: END IF;
5562:

Line 5559: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);

5555: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5556: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
5557: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
5558: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
5559: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
5560: END LOOP;
5561: END IF;
5562:
5563: --Changes for Bug 3629191 : Population of Offset data in Global Records.

Line 5566: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5562:
5563: --Changes for Bug 3629191 : Population of Offset data in Global Records.
5564:
5565: IF PG_DEBUG in ('Y', 'C') THEN
5566: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5567: END IF;
5568:
5569: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5566: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5567: END IF;
5568:
5569: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5571: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5572: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5573: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5574: IF PG_DEBUG in ('Y', 'C') THEN

Line 5571: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);

5567: END IF;
5568:
5569: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5571: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5572: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5573: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5574: IF PG_DEBUG in ('Y', 'C') THEN
5575: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);

Line 5572: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);

5568:
5569: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5571: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5572: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5573: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5574: IF PG_DEBUG in ('Y', 'C') THEN
5575: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5576: END IF;

Line 5573: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);

5569: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5570: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5571: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5572: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5573: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5574: IF PG_DEBUG in ('Y', 'C') THEN
5575: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5576: END IF;
5577: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP

Line 5578: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;

5574: IF PG_DEBUG in ('Y', 'C') THEN
5575: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5576: END IF;
5577: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5578: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5579: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5580: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5581: END LOOP;
5582: END IF;

Line 5579: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);

5575: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5576: END IF;
5577: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5578: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5579: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5580: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5581: END LOOP;
5582: END IF;
5583:

Line 5580: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);

5576: END IF;
5577: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5578: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5579: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5580: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5581: END LOOP;
5582: END IF;
5583:
5584: IF PG_DEBUG in ('Y', 'C') THEN

Line 5585: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5581: END LOOP;
5582: END IF;
5583:
5584: IF PG_DEBUG in ('Y', 'C') THEN
5585: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5586: END IF;
5587:
5588: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5585: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5586: END IF;
5587:
5588: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5590: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5591: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5592: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5593: IF PG_DEBUG in ('Y', 'C') THEN

Line 5590: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);

5586: END IF;
5587:
5588: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5590: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5591: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5592: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5593: IF PG_DEBUG in ('Y', 'C') THEN
5594: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);

Line 5591: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

5587:
5588: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5590: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5591: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5592: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5593: IF PG_DEBUG in ('Y', 'C') THEN
5594: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5595: END IF;

Line 5592: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

5588: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5589: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5590: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5591: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5592: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5593: IF PG_DEBUG in ('Y', 'C') THEN
5594: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5595: END IF;
5596: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP

Line 5597: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);

5593: IF PG_DEBUG in ('Y', 'C') THEN
5594: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5595: END IF;
5596: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5597: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5598: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5599: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5600: END LOOP;
5601: END IF;

Line 5598: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);

5594: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5595: END IF;
5596: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5597: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5598: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5599: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5600: END LOOP;
5601: END IF;
5602:

Line 5599: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);

5595: END IF;
5596: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5597: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5598: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5599: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5600: END LOOP;
5601: END IF;
5602:
5603: IF PG_DEBUG in ('Y', 'C') THEN

Line 5604: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5600: END LOOP;
5601: END IF;
5602:
5603: IF PG_DEBUG in ('Y', 'C') THEN
5604: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5605: END IF;
5606:
5607: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5604: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5605: END IF;
5606:
5607: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5609: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5610: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5611: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5612: IF PG_DEBUG in ('Y', 'C') THEN

Line 5609: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);

5605: END IF;
5606:
5607: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5609: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5610: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5611: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5612: IF PG_DEBUG in ('Y', 'C') THEN
5613: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );

Line 5610: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5606:
5607: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5609: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5610: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5611: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5612: IF PG_DEBUG in ('Y', 'C') THEN
5613: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5614: END IF;

Line 5611: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5607: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5608: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5609: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5610: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5611: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5612: IF PG_DEBUG in ('Y', 'C') THEN
5613: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5614: END IF;
5615: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP

Line 5616: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);

5612: IF PG_DEBUG in ('Y', 'C') THEN
5613: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5614: END IF;
5615: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5616: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5617: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5618: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5619: END LOOP;
5620: END IF;

Line 5617: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);

5613: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5614: END IF;
5615: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5616: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5617: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5618: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5619: END LOOP;
5620: END IF;
5621:

Line 5618: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);

5614: END IF;
5615: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5616: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5617: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5618: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5619: END LOOP;
5620: END IF;
5621:
5622: IF PG_DEBUG in ('Y', 'C') THEN

Line 5623: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5619: END LOOP;
5620: END IF;
5621:
5622: IF PG_DEBUG in ('Y', 'C') THEN
5623: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5624: END IF;
5625:
5626: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5623: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5624: END IF;
5625:
5626: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5628: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5629: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5630: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5631: IF PG_DEBUG in ('Y', 'C') THEN

Line 5628: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5624: END IF;
5625:
5626: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5628: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5629: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5630: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5631: IF PG_DEBUG in ('Y', 'C') THEN
5632: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );

Line 5629: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5625:
5626: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5628: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5629: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5630: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5631: IF PG_DEBUG in ('Y', 'C') THEN
5632: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5633: END IF;

Line 5630: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5626: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5627: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5628: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5629: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5630: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5631: IF PG_DEBUG in ('Y', 'C') THEN
5632: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5633: END IF;
5634: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP

Line 5635: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);

5631: IF PG_DEBUG in ('Y', 'C') THEN
5632: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5633: END IF;
5634: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5635: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5636: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5637: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5638: END LOOP;
5639: END IF;

Line 5636: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);

5632: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5633: END IF;
5634: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5635: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5636: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5637: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5638: END LOOP;
5639: END IF;
5640: --3720018

Line 5637: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);

5633: END IF;
5634: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5635: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5636: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5637: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5638: END LOOP;
5639: END IF;
5640: --3720018
5641:

Line 5643: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5639: END IF;
5640: --3720018
5641:
5642: IF PG_DEBUG in ('Y', 'C') THEN
5643: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5644: END IF;
5645:
5646: --Changes for Bug 3629191: Population of Offset data in Global record ends.
5647:

Line 5706: AND NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

5702: END IF; -- Bug 1661545
5703:
5704: /*-- we now insert new picture for each session. Hence we do not need to update old picture
5705: IF l_inv_ctp = 4 and MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1
5706: AND NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5707: IF (x_atp_table.action(1) = ATPQUERY or
5708: ((x_atp_table.Action(1) = DEMANDMODIFY OR
5709: x_atp_table.Action(1) = DEMANDADD OR
5710: x_atp_table.Action(1) = DMDRSVADD)

Line 5739: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5735:
5736: --3720018, arrays to be refered from l_delete_atp_rec.
5737:
5738: IF PG_DEBUG in ('Y', 'C') THEN
5739: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5740: END IF;
5741:
5742: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5739: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5740: END IF;
5741:
5742: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5744: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5745: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5746: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5747: IF PG_DEBUG in ('Y', 'C') THEN

Line 5744: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);

5740: END IF;
5741:
5742: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5744: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5745: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5746: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5747: IF PG_DEBUG in ('Y', 'C') THEN
5748: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);

Line 5745: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);

5741:
5742: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5744: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5745: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5746: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5747: IF PG_DEBUG in ('Y', 'C') THEN
5748: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5749: END IF;

Line 5746: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);

5742: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5743: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5744: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5745: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5746: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5747: IF PG_DEBUG in ('Y', 'C') THEN
5748: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5749: END IF;
5750: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP

Line 5751: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;

5747: IF PG_DEBUG in ('Y', 'C') THEN
5748: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5749: END IF;
5750: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5751: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5752: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5753: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5754: END LOOP;
5755: END IF;

Line 5752: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);

5748: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5749: END IF;
5750: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5751: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5752: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5753: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5754: END LOOP;
5755: END IF;
5756:

Line 5753: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);

5749: END IF;
5750: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5751: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5752: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5753: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5754: END LOOP;
5755: END IF;
5756:
5757:

Line 5759: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5755: END IF;
5756:
5757:
5758: IF PG_DEBUG in ('Y', 'C') THEN
5759: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5760: END IF;
5761:
5762: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5759: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5760: END IF;
5761:
5762: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5764: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5765: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5766: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5767: IF PG_DEBUG in ('Y', 'C') THEN

Line 5764: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);

5760: END IF;
5761:
5762: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5764: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5765: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5766: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5767: IF PG_DEBUG in ('Y', 'C') THEN
5768: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);

Line 5765: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

5761:
5762: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5764: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5765: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5766: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5767: IF PG_DEBUG in ('Y', 'C') THEN
5768: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5769: END IF;

Line 5766: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

5762: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5763: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5764: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5765: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5766: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5767: IF PG_DEBUG in ('Y', 'C') THEN
5768: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5769: END IF;
5770: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP

Line 5771: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);

5767: IF PG_DEBUG in ('Y', 'C') THEN
5768: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5769: END IF;
5770: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5771: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5772: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5773: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5774: END LOOP;
5775: END IF;

Line 5772: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);

5768: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5769: END IF;
5770: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5771: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5772: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5773: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5774: END LOOP;
5775: END IF;
5776:

Line 5773: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);

5769: END IF;
5770: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5771: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5772: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5773: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5774: END LOOP;
5775: END IF;
5776:
5777:

Line 5779: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5775: END IF;
5776:
5777:
5778: IF PG_DEBUG in ('Y', 'C') THEN
5779: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5780: END IF;
5781:
5782: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5779: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5780: END IF;
5781:
5782: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5784: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5785: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5786: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5787: IF PG_DEBUG in ('Y', 'C') THEN

Line 5784: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);

5780: END IF;
5781:
5782: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5784: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5785: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5786: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5787: IF PG_DEBUG in ('Y', 'C') THEN
5788: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );

Line 5785: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5781:
5782: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5784: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5785: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5786: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5787: IF PG_DEBUG in ('Y', 'C') THEN
5788: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5789: END IF;

Line 5786: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5782: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5783: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5784: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5785: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5786: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5787: IF PG_DEBUG in ('Y', 'C') THEN
5788: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5789: END IF;
5790: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP

Line 5791: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);

5787: IF PG_DEBUG in ('Y', 'C') THEN
5788: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5789: END IF;
5790: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5791: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5792: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5793: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5794: END LOOP;
5795: END IF;

Line 5792: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);

5788: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5789: END IF;
5790: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5791: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5792: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5793: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5794: END LOOP;
5795: END IF;
5796:

Line 5793: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);

5789: END IF;
5790: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5791: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5792: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5793: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5794: END LOOP;
5795: END IF;
5796:
5797:

Line 5799: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5795: END IF;
5796:
5797:
5798: IF PG_DEBUG in ('Y', 'C') THEN
5799: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5800: END IF;
5801:
5802: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

Line 5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

5799: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5800: END IF;
5801:
5802: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5804: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5805: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5806: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5807: IF PG_DEBUG in ('Y', 'C') THEN

Line 5804: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5800: END IF;
5801:
5802: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5804: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5805: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5806: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5807: IF PG_DEBUG in ('Y', 'C') THEN
5808: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );

Line 5805: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5801:
5802: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5804: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5805: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5806: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5807: IF PG_DEBUG in ('Y', 'C') THEN
5808: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5809: END IF;

Line 5806: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5802: IF l_delete_atp_rec.del_atp_peg_res_reqs IS NOT NULL and l_delete_atp_rec.del_atp_peg_res_reqs.COUNT > 0 THEN
5803: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5804: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5805: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5806: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5807: IF PG_DEBUG in ('Y', 'C') THEN
5808: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5809: END IF;
5810: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP

Line 5811: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);

5807: IF PG_DEBUG in ('Y', 'C') THEN
5808: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5809: END IF;
5810: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5811: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5812: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5813: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5814: END LOOP;
5815: END IF;

Line 5812: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);

5808: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_res_reqs.count ' || l_delete_atp_rec.del_atp_peg_res_reqs.count );
5809: END IF;
5810: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5811: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5812: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5813: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5814: END LOOP;
5815: END IF;
5816: IF PG_DEBUG in ('Y', 'C') THEN

Line 5813: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);

5809: END IF;
5810: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5811: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5812: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5813: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5814: END LOOP;
5815: END IF;
5816: IF PG_DEBUG in ('Y', 'C') THEN
5817: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

Line 5817: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

5813: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5814: END LOOP;
5815: END IF;
5816: IF PG_DEBUG in ('Y', 'C') THEN
5817: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5818: END IF;
5819: --3720018
5820:
5821: --Changes for Bug 3629191: Population of Offset data in Global record ends.

Line 5887: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);

5883: -- Resetting global variables for additional issue encountered while bug 3295831
5884: IF PG_DEBUG in ('Y', 'C') THEN
5885: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5886: END IF;
5887: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5888: -- ATP4drp re-set using original profile value
5889: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5891: -- End ATP4drp

Line 5889: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);

5885: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5886: END IF;
5887: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5888: -- ATP4drp re-set using original profile value
5889: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5891: -- End ATP4drp
5892: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5893: --5221865

Line 5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

5886: END IF;
5887: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5888: -- ATP4drp re-set using original profile value
5889: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5891: -- End ATP4drp
5892: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5893: --5221865
5894: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

Line 5892: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);

5888: -- ATP4drp re-set using original profile value
5889: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5891: -- End ATP4drp
5892: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5893: --5221865
5894: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
5895:
5896: -- Modified by NGOEL 12/13/00, replaced x_return_status with l_return_status

Line 5894: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

5890: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5891: -- End ATP4drp
5892: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5893: --5221865
5894: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
5895:
5896: -- Modified by NGOEL 12/13/00, replaced x_return_status with l_return_status
5897: -- Earlier error status was getting overwritten with the error status of the proc.
5898:

Line 5928: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

5924: msc_sch_wb.atp_debug('Schedule: NO_DATA_FOUND: Stmt = '||l_stmt);
5925: END IF;
5926: -- 1072816 need to do something to undo
5927:
5928: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
5929: IF PG_DEBUG in ('Y', 'C') THEN
5930: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5931: END IF;
5932: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,

Line 5932: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,

5928: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
5929: IF PG_DEBUG in ('Y', 'C') THEN
5930: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5931: END IF;
5932: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,
5933: l_plan_id, UNDO, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),l_return_status);
5934: END LOOP;
5935:
5936: -- 2902265

Line 5933: l_plan_id, UNDO, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),l_return_status);

5929: IF PG_DEBUG in ('Y', 'C') THEN
5930: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5931: END IF;
5932: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,
5933: l_plan_id, UNDO, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),l_return_status);
5934: END LOOP;
5935:
5936: -- 2902265
5937: MSC_ATP_PROC.cleanup_set(p_instance_id,

Line 5942: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

5938: l_plan_id,
5939: l_fst_src_pegging_ids,
5940: l_demand_class_atp_flag);
5941:
5942: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5943: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5944: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5945: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5946: IF PG_DEBUG in ('Y', 'C') THEN

Line 5943: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

5939: l_fst_src_pegging_ids,
5940: l_demand_class_atp_flag);
5941:
5942: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5943: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5944: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5945: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5946: IF PG_DEBUG in ('Y', 'C') THEN
5947: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');

Line 5944: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

5940: l_demand_class_atp_flag);
5941:
5942: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5943: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5944: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5945: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5946: IF PG_DEBUG in ('Y', 'C') THEN
5947: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');
5948: msc_sch_wb.atp_debug('Schedule: ' || 'after the fix to remove the data');

Line 5945: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

5941:
5942: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5943: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5944: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5945: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5946: IF PG_DEBUG in ('Y', 'C') THEN
5947: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');
5948: msc_sch_wb.atp_debug('Schedule: ' || 'after the fix to remove the data');
5949: END IF;

Line 5954: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS

5950:
5951: -- Bug 1661545, if scheduling was unsuccessful, make sure that old demand record is
5952: -- preserved back, as it was updated to 0 in the begining in case of reschedule.
5953:
5954: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5955: x_atp_table.Action(1) = DEMANDADD OR
5956: x_atp_table.Action(1) = DMDRSVADD) THEN
5957:
5958: IF PG_DEBUG in ('Y', 'C') THEN

Line 6008: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

6004: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6005: END IF;
6006:
6007: /* --s_cto_rearch
6008: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6009: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6010: x_atp_table,
6011: MSC_ATP_CTO.FAIL);
6012: END IF;

Line 6026: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);

6022: -- Resetting global variables for additional issue encountered while bug 3295831
6023: IF PG_DEBUG in ('Y', 'C') THEN
6024: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6025: END IF;
6026: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6027: -- ATP4drp re-set using original profile value
6028: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6030: -- End ATP4drp

Line 6028: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);

6024: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6025: END IF;
6026: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6027: -- ATP4drp re-set using original profile value
6028: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6030: -- End ATP4drp
6031: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6032: --5221865

Line 6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

6025: END IF;
6026: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6027: -- ATP4drp re-set using original profile value
6028: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6030: -- End ATP4drp
6031: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6032: --5221865
6033: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

Line 6031: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);

6027: -- ATP4drp re-set using original profile value
6028: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6030: -- End ATP4drp
6031: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6032: --5221865
6033: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6034:
6035: -- 2625800: krajan

Line 6033: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

6029: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6030: -- End ATP4drp
6031: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6032: --5221865
6033: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6034:
6035: -- 2625800: krajan
6036: ---agilent arrival set bug
6037: IF l_arrival_count > 1 THEN

Line 6073: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

6069: --END IF;
6070: -- Remove invalid SD recs.
6071: BEGIN
6072: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
6073: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
6074: AND order_line_id = x_atp_table.identifier(i)
6075: AND parent_pegging_id is NULL
6076: AND record_type in (3,4);
6077: EXCEPTION

Line 6097: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS

6093: -- Error Handling Changes End.
6094:
6095: -- INSERT HERE
6096: -- Error Handling changes - handling for rescheduling case
6097: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
6098: x_atp_table.Action(1) = DEMANDADD OR
6099: x_atp_table.Action(1) = DMDRSVADD) THEN
6100:
6101: IF PG_DEBUG in ('Y', 'C') THEN

Line 6150: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

6146: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6147: END IF;
6148:
6149: /* --s_cto_rearch
6150: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6151: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6152: x_atp_table,
6153: MSC_ATP_CTO.FAIL);
6154: END IF;

Line 6175: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);

6171: -- Resetting global variables for additional issue encountered while bug 3295831
6172: IF PG_DEBUG in ('Y', 'C') THEN
6173: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6174: END IF;
6175: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6176: -- ATP4drp re-set using original profile value
6177: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6179: -- End ATP4drp

Line 6177: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);

6173: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6174: END IF;
6175: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6176: -- ATP4drp re-set using original profile value
6177: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6179: -- End ATP4drp
6180: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6181: --5221865

Line 6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

6174: END IF;
6175: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6176: -- ATP4drp re-set using original profile value
6177: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6179: -- End ATP4drp
6180: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6181: --5221865
6182: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

Line 6180: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);

6176: -- ATP4drp re-set using original profile value
6177: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6179: -- End ATP4drp
6180: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6181: --5221865
6182: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6183:
6184: -- 2625800: krajan

Line 6182: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

6178: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6179: -- End ATP4drp
6180: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6181: --5221865
6182: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6183:
6184: -- 2625800: krajan
6185: ---agilent arrival set bug
6186: IF l_arrival_count > 1 THEN

Line 6219: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

6215: x_atp_table.Error_Code(i) := ATP_INVALID_OBJECTS; -- NO OBJECTS FOUND
6216: END IF;
6217: BEGIN
6218: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
6219: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
6220: AND order_line_id = x_atp_table.identifier(i)
6221: AND parent_pegging_id is NULL
6222: AND record_type in (3,4);
6223: EXCEPTION

Line 6248: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS

6244: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
6245: END IF;
6246:
6247: -- Error Handling changes - handling for rescheduling case
6248: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
6249: x_atp_table.Action(1) = DEMANDADD OR
6250: x_atp_table.Action(1) = DMDRSVADD) THEN
6251:
6252: IF PG_DEBUG in ('Y', 'C') THEN

Line 6301: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

6297: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6298: END IF;
6299:
6300: /*--s_cto_rearch
6301: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6302: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6303: x_atp_table,
6304: MSC_ATP_CTO.FAIL);
6305: END IF;

Line 6325: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);

6321: -- Resetting global variables for additional issue encountered while bug 3295831
6322: IF PG_DEBUG in ('Y', 'C') THEN
6323: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6324: END IF;
6325: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6326: -- ATP4drp re-set using original profile value
6327: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6329: -- End ATP4drp

Line 6327: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);

6323: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6324: END IF;
6325: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6326: -- ATP4drp re-set using original profile value
6327: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6329: -- End ATP4drp
6330: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6331: --5221865

Line 6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

6324: END IF;
6325: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6326: -- ATP4drp re-set using original profile value
6327: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6329: -- End ATP4drp
6330: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6331: --5221865
6332: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

Line 6330: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);

6326: -- ATP4drp re-set using original profile value
6327: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6329: -- End ATP4drp
6330: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6331: --5221865
6332: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6333:
6334: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN

Line 6332: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

6328: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6329: -- End ATP4drp
6330: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6331: --5221865
6332: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6333:
6334: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6335: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
6336: END IF;

Line 6375: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

6371: x_atp_table.Error_Code(i) := NO_MATCHING_CAL_DATE;
6372: END IF;
6373: BEGIN
6374: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
6375: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
6376: AND order_line_id = x_atp_table.identifier(i)
6377: AND parent_pegging_id is NULL
6378: AND record_type in (3,4);
6379: EXCEPTION

Line 6402: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS

6398: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6399: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
6400: END IF;
6401: -- Error Handling Changes End.
6402: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
6403: x_atp_table.Action(1) = DEMANDADD OR
6404: x_atp_table.Action(1) = DMDRSVADD) THEN
6405:
6406: IF PG_DEBUG in ('Y', 'C') THEN

Line 6455: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

6451: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6452: END IF;
6453:
6454: /* --s_cto_rearch
6455: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6456: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6457: x_atp_table,
6458: MSC_ATP_CTO.FAIL);
6459: END IF;

Line 6475: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);

6471: -- Resetting global variables for additional issue encountered while bug 3295831
6472: IF PG_DEBUG in ('Y', 'C') THEN
6473: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6474: END IF;
6475: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6476: -- ATP4drp re-set using original profile value
6477: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6479: -- End ATP4drp

Line 6477: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);

6473: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
6474: END IF;
6475: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6476: -- ATP4drp re-set using original profile value
6477: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6479: -- End ATP4drp
6480: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6481: --5221865

Line 6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;

6474: END IF;
6475: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
6476: -- ATP4drp re-set using original profile value
6477: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6479: -- End ATP4drp
6480: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6481: --5221865
6482: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

Line 6480: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);

6476: -- ATP4drp re-set using original profile value
6477: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6479: -- End ATP4drp
6480: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6481: --5221865
6482: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6483:
6484: /* Check if this is actually coming from a calendar routine*/

Line 6482: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);

6478: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
6479: -- End ATP4drp
6480: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
6481: --5221865
6482: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_forward_atp,MSC_ATP_PVT.G_FORWARD_ATP);
6483:
6484: /* Check if this is actually coming from a calendar routine*/
6485: l_encoded_text := fnd_message.GET_ENCODED;
6486: IF l_encoded_text IS NULL THEN

Line 6549: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

6545: x_atp_table.Error_Code(i) := l_error_code;
6546: END IF;
6547: BEGIN
6548: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
6549: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
6550: AND order_line_id = x_atp_table.identifier(i)
6551: AND parent_pegging_id is NULL
6552: AND record_type in (3,4);
6553: EXCEPTION

Line 6576: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS

6572: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
6573: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
6574: END IF;
6575: -- Error Handling Changes End.
6576: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
6577: x_atp_table.Action(1) = DEMANDADD OR
6578: x_atp_table.Action(1) = DMDRSVADD) THEN
6579:
6580: IF PG_DEBUG in ('Y', 'C') THEN

Line 6629: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN

6625: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6626: END IF;
6627:
6628: /* --s_cto_rearch
6629: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6630: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6631: x_atp_table,
6632: MSC_ATP_CTO.FAIL);
6633: END IF;

Line 6755: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted

6751: l_atp_ship_date DATE;
6752: l_parent_ptf_date DATE;
6753: l_ptf_date_for_child DATE; -- Bug 3782472
6754: l_req_date_qty NUMBER;
6755: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted
6756: l_substitution_window NUMBER;
6757: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6758: -- Only specific to this procedure
6759: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info

Line 6759: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info

6755: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted
6756: l_substitution_window NUMBER;
6757: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6758: -- Only specific to this procedure
6759: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6760: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6761: -- Added for bug 2392456
6762: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6763:

Line 6760: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.

6756: l_substitution_window NUMBER;
6757: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6758: -- Only specific to this procedure
6759: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6760: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6761: -- Added for bug 2392456
6762: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6763:
6764: --diag_atp

Line 6762: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;

6758: -- Only specific to this procedure
6759: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6760: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6761: -- Added for bug 2392456
6762: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6763:
6764: --diag_atp
6765: L_CONSTRAINT_FLAG NUMBER;
6766: L_PTF_DUE_DATE DATE;

Line 6780: l_update_PO_mode NUMBER := MSC_ATP_PVT.UNDO;

6776: L_GET_MAT_IN_REC MSC_ATP_REQ.get_mat_in_rec;
6777: l_get_mat_out_rec MSC_ATP_REQ.get_mat_out_rec;
6778: l_allocation_rule_name varchar2(30);
6779:
6780: l_update_PO_mode NUMBER := MSC_ATP_PVT.UNDO;
6781: l_atp_quantity_this_level_fwd NUMBER;
6782: l_last_good_pegging_id NUMBER;
6783: l_have_make_buy_parent NUMBER := G_HAVE_MAKE_BUY_PARENT;
6784: l_subst_existing_PO_qty NUMBER;

Line 6830: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;

6826: --s_cto_rearch
6827: l_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6828: l_null_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6829: l_get_comp_info_rec MSC_ATP_REQ.get_comp_info_rec;
6830: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;
6831: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
6832: l_atp_rule_name varchar2(80);
6833: l_enforce_model_lt VARCHAR2(1);
6834:

Line 6831: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

6827: l_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6828: l_null_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6829: l_get_comp_info_rec MSC_ATP_REQ.get_comp_info_rec;
6830: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;
6831: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
6832: l_atp_rule_name varchar2(80);
6833: l_enforce_model_lt VARCHAR2(1);
6834:
6835: -- time_phased_atp

Line 6945: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

6941: msc_sch_wb.atp_debug('ATP_Check: ' || 'supplier_site_id:' || to_char(p_atp_record.supplier_site_id) );
6942: msc_sch_wb.atp_debug('ATP_Check: ' || 'Insert_Flag:' || to_char(p_atp_record.Insert_Flag) );
6943: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error_Code:' || to_char(p_atp_record.Error_Code) );
6944: msc_sch_wb.atp_debug('ATP_Check: ' || 'Order_Number:' || to_char(p_atp_record.Order_Number) );
6945: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
6946: msc_sch_wb.atp_debug('ATP_Check: ' || 'original_item_flag := ' || p_atp_record.original_item_flag);
6947: -- 2462661 : krajan
6948: msc_sch_wb.atp_debug('ATP_Check: ' || 'SRC_ATP_FLAG := ' || p_atp_record.src_atp_flag);
6949: msc_sch_wb.atp_debug('ATP_Check: ' || 'Line Id := ' || p_atp_record.demand_source_line);

Line 6971: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

6967: msc_sch_wb.atp_debug('ATP_Check: ' || 'intransit_cal_code := ' || p_atp_record.intransit_cal_code);
6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'shipping_cal_code := ' || p_atp_record.shipping_cal_code);
6969: msc_sch_wb.atp_debug('ATP_Check: ' || 'manufacturing_cal_code := ' || p_atp_record.manufacturing_cal_code);
6970: msc_sch_wb.atp_debug('ATP_Check: ' || 'demand_source_type := ' || p_atp_record.demand_source_type);--cmro
6971: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
6972: msc_sch_wb.atp_debug('ATP_Check: ' || 'bill_seq_id := ' || p_atp_record.bill_seq_id); --4741012
6973: msc_sch_wb.atp_debug('ATP_Check: ' || 'after printing the values');
6974: END IF;
6975:

Line 6980: IF (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y') THEN

6976: -- dsting
6977: p_atp_record.children_type := NO_MAKE_BUY_CHILDREN;
6978:
6979: -- Alloc ATP changes, 12973673
6980: IF (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y') THEN
6981: IF PG_DEBUG in ('Y', 'C') THEN
6982: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HYBRID_ALLOC_ATP is Y');
6983: END IF;
6984:

Line 6985: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_FUNC.check_alloc_exists(p_atp_record.instance_id,

6981: IF PG_DEBUG in ('Y', 'C') THEN
6982: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HYBRID_ALLOC_ATP is Y');
6983: END IF;
6984:
6985: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_FUNC.check_alloc_exists(p_atp_record.instance_id,
6986: -1, --PLAN_ID
6987: p_atp_record.Inventory_Item_Id,
6988: p_atp_record.organization_id,
6989: nvl(p_atp_record.Requested_Arrival_Date, p_atp_record.Requested_Ship_Date));

Line 6992: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP = '||MSC_ATP_PVT.G_ALLOCATED_ATP);

6988: p_atp_record.organization_id,
6989: nvl(p_atp_record.Requested_Arrival_Date, p_atp_record.Requested_Ship_Date));
6990:
6991: IF PG_DEBUG in ('Y', 'C') THEN
6992: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP = '||MSC_ATP_PVT.G_ALLOCATED_ATP);
6993: END IF;
6994: END IF;
6995:
6996: -- check if one and only one of the requested_ship_date and

Line 7020: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'N';

7016: msc_sch_wb.atp_debug('ATP_Check: Sys Next Date is: ' || l_sys_next_date);
7017: END IF;
7018: /* To support new logic for dependent demands allocation in time phased PF rule based AATP scenarios
7019: Reset global variable*/
7020: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'N';
7021:
7022: IF (NVL(p_atp_record.supplier_id, -1) = -1) THEN
7023: -- doing atp check in an inventory org
7024:

Line 7031: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

7027: END IF;
7028:
7029: -- krajan : 2462661 : post fix
7030: -- set the global variable to null
7031: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
7032:
7033: /* time_phased_atp changes begin
7034: In PDS Case, find if this is time phased atp scenario*/
7035: l_request_item_id := nvl(p_atp_record.request_item_id, p_atp_record.inventory_item_id); --do I really need this??

Line 7046: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';

7042: l_pf_atp := 'N';
7043:
7044: /* To support new logic for dependent demands allocation in time phased PF rule based AATP scenarios
7045: Set global variable too. This is used in Get_Item_Demand_Alloc_Percent function*/
7046: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';
7047:
7048: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
7049: -- If dealing with Time Phased ATP Item set the global for CTO_PF
7050: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';

Line 7050: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';

7046: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';
7047:
7048: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
7049: -- If dealing with Time Phased ATP Item set the global for CTO_PF
7050: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';
7051:
7052: IF PG_DEBUG in ('Y', 'C') THEN
7053: msc_sch_wb.atp_debug('ATP_Check: ' || '*** Perform Time Phased ATP for this item *** ');
7054: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATF Date := ' || p_atp_record.atf_date);

Line 7056: MSC_ATP_PVT.G_CTO_PF_ATP);

7052: IF PG_DEBUG in ('Y', 'C') THEN
7053: msc_sch_wb.atp_debug('ATP_Check: ' || '*** Perform Time Phased ATP for this item *** ');
7054: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATF Date := ' || p_atp_record.atf_date);
7055: msc_sch_wb.atp_debug('ATP_Check: Re-set G_CTO_PF_ATP to ' ||
7056: MSC_ATP_PVT.G_CTO_PF_ATP);
7057: END IF;
7058: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
7059: ELSE
7060: l_pf_atp := 'Y';

Line 7071: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_TIME_PHASED_PF_ENABLED := ' || MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED);

7067: END IF;
7068: END IF;
7069:
7070: IF PG_DEBUG in ('Y', 'C') THEN
7071: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_TIME_PHASED_PF_ENABLED := ' || MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED);
7072: END IF;
7073:
7074: /* Now we store member item's info in G_ITEM_INFO_REC (C_ITEM_INFO_REC)
7075: PF_ITEM_INFO_REC is used to store family item's info*/

Line 7089: MSC_ATP_PVT.G_ITEM_INFO_REC.organization_id := null;

7085: -- we should recheck model's attribute so that model flags are set correctly.
7086: IF PG_DEBUG in ('Y', 'C') THEN
7087: msc_sch_wb.atp_debug('This models atp flag = Y. We are coming here for second time');
7088: END IF;
7089: MSC_ATP_PVT.G_ITEM_INFO_REC.organization_id := null;
7090: END IF;
7091: --e_cto_rearch
7092: MSC_ATP_PROC.get_global_item_info(p_atp_record.instance_id,
7093: --3917625: read item attributes from planned data

Line 7128: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and NVL(p_atp_record.original_item_flag, 2) = 1 and

7124: END IF;
7125: /* time_phased_atp changes end */
7126:
7127: --subst
7128: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and NVL(p_atp_record.original_item_flag, 2) = 1 and
7129: MSC_ATP_SUBST.G_REQ_ITEM_SR_INV_ID <> p_atp_record.inventory_item_id THEN
7130: -- if it a subst item then we consider subst window
7131: l_substitution_window := C_ITEM_INFO_REC.substitution_window;
7132: ELSE

Line 7170: if (MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID is not NULL) AND

7166: -- If we defer, then error out
7167: IF PG_DEBUG in ('Y', 'C') THEN
7168: msc_sch_wb.atp_debug ('Checking for uncollected item ' );
7169: end if;
7170: if (MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID is not NULL) AND
7171: (NVL(p_atp_record.src_atp_flag,'N') <> 'N') then
7172: IF PG_DEBUG in ('Y', 'C') THEN
7173: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Not Collected as flags differ');
7174: END IF;

Line 7177: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

7173: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Not Collected as flags differ');
7174: END IF;
7175: p_atp_record.error_code := ATP_ITEM_NOT_COLLECTED;
7176:
7177: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
7178: end if;
7179: -- end changes for 2462661
7180: /************ Bug 1510853 ATP Rule Check ************/
7181: -- Initialize the rule flag

Line 7213: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN

7209: -- based on region of customer site.
7210:
7211: --2814895, populating variables for the call to atp_sources
7212:
7213: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN
7214: l_partner_type := 2;
7215: l_party_site_id := NULL;
7216: l_order_line_id := NULL;
7217: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;

Line 7217: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;

7213: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN
7214: l_partner_type := 2;
7215: l_party_site_id := NULL;
7216: l_order_line_id := NULL;
7217: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;
7218: l_location_id := p_atp_record.to_location_id;
7219: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
7220: l_site_id := NULL;
7221: l_partner_type := 4;

Line 7219: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN

7215: l_party_site_id := NULL;
7216: l_order_line_id := NULL;
7217: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;
7218: l_location_id := p_atp_record.to_location_id;
7219: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
7220: l_site_id := NULL;
7221: l_partner_type := 4;
7222: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
7223: l_order_line_id := NULL;

Line 7222: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;

7218: l_location_id := p_atp_record.to_location_id;
7219: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
7220: l_site_id := NULL;
7221: l_partner_type := 4;
7222: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
7223: l_order_line_id := NULL;
7224: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
7225: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
7226: l_partner_type := 5;

Line 7224: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;

7220: l_site_id := NULL;
7221: l_partner_type := 4;
7222: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
7223: l_order_line_id := NULL;
7224: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
7225: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
7226: l_partner_type := 5;
7227: l_party_site_id := NULL;
7228: l_order_line_id := p_atp_record.identifier;

Line 7225: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN

7221: l_partner_type := 4;
7222: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
7223: l_order_line_id := NULL;
7224: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
7225: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
7226: l_partner_type := 5;
7227: l_party_site_id := NULL;
7228: l_order_line_id := p_atp_record.identifier;
7229: l_site_id := NULL;

Line 7255: MSC_ATP_PVT.G_SESSION_ID,

7251: NULL, -- customer_id
7252: NULL, -- customer_site_id
7253: NULL, -- supplier_id
7254: NULL, -- supplier_site_id
7255: MSC_ATP_PVT.G_SESSION_ID,
7256: l_site_id,
7257: l_ship_method,
7258: l_delivery_lead_time,
7259: l_partner_type, --2814895

Line 7315: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

7311: IF PG_DEBUG in ('Y', 'C') THEN
7312: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_original_req_ship_date: '||l_original_req_ship_date);
7313: END IF;
7314:
7315: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
7316: --- postprocess summary
7317: --- The following array stores 1 if we are doing Demand Class ATP for item-org
7318: --- We are doing this way because if we need to reomve or update the demand then
7319: --- we know that we need to do demand class based update or removal of the demand in

Line 7322: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN

7318: --- We are doing this way because if we need to reomve or update the demand then
7319: --- we know that we need to do demand class based update or removal of the demand in
7320: ---- case of ODS
7321: IF ((p_search = 1) and (p_parent_pegging_id is null)) THEN
7322: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
7323: --- THIS IS OSD case, backward case, and top demand
7324: IF PG_DEBUG in ('Y', 'C') THEN
7325: msc_sch_wb.atp_debug('ATP_Check: ' || 'Find out ATP_DEMAND_class flag for that item ');
7326: END IF;

Line 7357: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;

7353: ---pds cae
7354: l_demand_class_flag := 0;
7355: END IF;
7356: --- now extend the array which holds the demand_class atp_flag and add l_demand_class_flag to it
7357: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
7358: IF PG_DEBUG in ('Y', 'C') THEN
7359: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count := ' || MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
7360: END IF;
7361: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;

Line 7359: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count := ' || MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);

7355: END IF;
7356: --- now extend the array which holds the demand_class atp_flag and add l_demand_class_flag to it
7357: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
7358: IF PG_DEBUG in ('Y', 'C') THEN
7359: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count := ' || MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
7360: END IF;
7361: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;
7362: END IF;
7363:

Line 7361: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;

7357: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
7358: IF PG_DEBUG in ('Y', 'C') THEN
7359: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count := ' || MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
7360: END IF;
7361: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;
7362: END IF;
7363:
7364: -- 1143475:
7365: -- IF atp lead time > 0 then we must do the offset no matter that item

Line 7447: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

7443:
7444: IF p_parent_pegging_id is null THEN
7445: IF PG_DEBUG in ('Y', 'C') THEN
7446: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
7447: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7448: END IF;
7449:
7450: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7451: IF PG_DEBUG in ('Y', 'C') THEN

Line 7450: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

7446: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
7447: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7448: END IF;
7449:
7450: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7451: IF PG_DEBUG in ('Y', 'C') THEN
7452: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7453: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7454: END IF;

Line 7452: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

7448: END IF;
7449:
7450: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7451: IF PG_DEBUG in ('Y', 'C') THEN
7452: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7453: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7454: END IF;
7455:
7456: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

Line 7456: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

7452: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7453: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7454: END IF;
7455:
7456: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7457:
7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7460:

Line 7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

7454: END IF;
7455:
7456: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7457:
7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7460:
7461: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7462: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

Line 7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

7455:
7456: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7457:
7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7460:
7461: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7462: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7463:

Line 7461: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;

7457:
7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7460:
7461: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7462: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7463:
7464: END IF;
7465:

Line 7462: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

7458: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7459: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7460:
7461: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7462: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7463:
7464: END IF;
7465:
7466: -- Bugs 2020607, 2104018, 2031894, 1869748

Line 7483: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

7479: -- Bug 2625791, 2623816: If it is a transfer case then We should take
7480: -- into consideration PTF date passed to us from the top organization.
7481: -- We should satisfy the damand as per the PTF date from the top org.
7482: IF PG_DEBUG in ('Y', 'C') THEN
7483: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
7484: END IF;
7485:
7486: --s_cto_rearch: bug 3169831 : Honor lead time only when profile option is turned on
7487: l_enforce_model_lt := NVL(FND_PROFILE.VALUE('MSC_ENFORCE_MODEL_LT'), 'Y');

Line 7493: IF MSC_ATP_PVT.G_INV_CTP = 5 and C_ITEM_INFO_REC.bom_item_type = 1

7489: IF PG_DEBUG in ('Y', 'C') THEN
7490: msc_sch_wb.atp_debug('l_enforce_model_lt := ' || l_enforce_model_lt);
7491: END IF;
7492:
7493: IF MSC_ATP_PVT.G_INV_CTP = 5 and C_ITEM_INFO_REC.bom_item_type = 1
7494: and C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y'
7495: and l_enforce_model_lt = ' Y' THEN
7496:
7497: -- in ODS ATP we want to honor lead times for ATO models

Line 7498: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

7494: and C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y'
7495: and l_enforce_model_lt = ' Y' THEN
7496:
7497: -- in ODS ATP we want to honor lead times for ATO models
7498: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
7499: l_net_processing_lt := (l_fixed_lt + l_variable_lt * p_atp_record.quantity_ordered)*
7500: (1 + l_mso_lead_time_factor);
7501: l_ato_date := MSC_CALENDAR.DATE_OFFSET
7502: (p_atp_record.organization_id,

Line 7517: p_atp_record.ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_ato_date);

7513: IF PG_DEBUG in ('Y', 'C') THEN
7514: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date < l_sysdate');
7515: END IF;
7516: p_atp_record.requested_date_quantity := 0.0;
7517: p_atp_record.ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_ato_date);
7518: ELSE
7519: IF PG_DEBUG in ('Y', 'C') THEN
7520: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date >= l_sysdate');
7521: END IF;

Line 7524: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

7520: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date >= l_sysdate');
7521: END IF;
7522: p_atp_record.requested_date_quantity :=
7523: p_atp_record.quantity_ordered;
7524: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
7525: END IF;
7526: */
7527:
7528: -- Bugs 2020607, 2104018, 2031894, 1869748

Line 7542: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE); --5160663

7538: p_atp_record.quantity_ordered;
7539:
7540: -- cchen 1276131 make sure we offset if atp_lead time exists
7541: --p_atp_record.ship_date := l_requested_ship_date;
7542: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE); --5160663
7543: /* s_cto_arch: do not honor atp lead time
7544: IF NVL(p_atp_record.atp_lead_time, 0) > 0 THEN
7545: p_atp_record.ship_date := MSC_CALENDAR.DATE_OFFSET
7546: (p_atp_record.organization_id,

Line 7598: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

7594: -- l_fst_src_pegging_ids would have same number of records.
7595:
7596: IF p_parent_pegging_id is null THEN
7597:
7598: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7599: IF PG_DEBUG in ('Y', 'C') THEN
7600: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
7601: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7602: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

Line 7601: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

7597:
7598: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7599: IF PG_DEBUG in ('Y', 'C') THEN
7600: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
7601: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7602: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7603: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7604: END IF;
7605:

Line 7602: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

7598: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
7599: IF PG_DEBUG in ('Y', 'C') THEN
7600: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
7601: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7602: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7603: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7604: END IF;
7605:
7606: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

Line 7606: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

7602: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
7603: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
7604: END IF;
7605:
7606: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7607:
7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7610:

Line 7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

7604: END IF;
7605:
7606: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7607:
7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7610:
7611: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7612: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

Line 7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

7605:
7606: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
7607:
7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7610:
7611: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7612: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7613:

Line 7611: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;

7607:
7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7610:
7611: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7612: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7613:
7614: END IF;
7615:

Line 7612: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

7608: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
7609: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
7610:
7611: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
7612: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
7613:
7614: END IF;
7615:
7616: -- cchen 1276131 make sure we offset if atp_lead time exists

Line 7624: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE),

7620: (p_atp_record.organization_id,
7621: p_atp_record.instance_id,
7622: 1,
7623: -- Bug 2625791, 2623816
7624: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE),
7625: p_atp_record.atp_lead_time);
7626: ELSE
7627: p_atp_record.ship_date := l_requested_ship_date;
7628: END IF;

Line 7685: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7681: ELSE
7682: l_atp_insert_rec.old_demand_id := null;
7683: END IF;
7684:
7685: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7686: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7687:
7688: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
7689: p_plan_id,

Line 7712: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN

7708: -- atp_date_quantity_this_level
7709:
7710: -- hierarchy changes due to arrival set
7711:
7712: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
7713: IF PG_DEBUG in ('Y', 'C') THEN
7714: msc_sch_wb.atp_debug('ATP_Check: ' || 'customer class or demand class : same calls');
7715: END IF;
7716:

Line 7746: IF MSC_ATP_PVT.G_MEM_RULE_WITHIN_ATF = 'Y' THEN

7742: RAISE FND_API.G_EXC_ERROR;
7743: END IF;
7744:
7745: IF l_requested_ship_date <= p_atp_record.atf_date THEN
7746: IF MSC_ATP_PVT.G_MEM_RULE_WITHIN_ATF = 'Y' THEN
7747: l_item_to_use := l_inv_item_id;
7748: ELSE
7749: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7750: END IF;

Line 7752: IF MSC_ATP_PVT.G_PF_RULE_OUTSIDE_ATF = 'Y' THEN

7748: ELSE
7749: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7750: END IF;
7751: ELSE
7752: IF MSC_ATP_PVT.G_PF_RULE_OUTSIDE_ATF = 'Y' THEN
7753: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7754: ELSE
7755: l_item_to_use := l_inv_item_id;
7756: END IF;

Line 7769: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

7765: /* New allocation logic for time_phased_atp changes end */
7766:
7767: p_atp_record.demand_class :=
7768:
7769: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
7770: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7771: l_item_to_use, -- For new allocation logic for time_phased_atp
7772: p_atp_record.organization_id,
7773: p_atp_record.instance_id,

Line 7770: MSC_ATP_PVT.G_PARTNER_SITE_ID,

7766:
7767: p_atp_record.demand_class :=
7768:
7769: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
7770: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7771: l_item_to_use, -- For new allocation logic for time_phased_atp
7772: p_atp_record.organization_id,
7773: p_atp_record.instance_id,
7774: l_requested_ship_date,

Line 7778: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

7774: l_requested_ship_date,
7775: NULL, -- level_id
7776: p_atp_record.Demand_Class);
7777: --diag_atp
7778: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
7779: IF PG_DEBUG in ('Y', 'C') THEN
7780: msc_sch_wb.atp_debug('ATP_Check: ' || 'after getting the dummy demand class');
7781: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.demand_class = '||p_atp_record.demand_class);
7782: END IF;

Line 7786: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and

7782: END IF;
7783:
7784: END IF;
7785: ---subst
7786: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and
7787: ((p_search = BACKWARD_SCHEDULING AND NVL(p_atp_record.original_item_flag, 2) = 1) OR
7788: (p_search = FORWARD_SCHEDULING AND p_atp_record.top_tier_org_flag = 1)) THEN
7789: --- in case of product substitution
7790: ---1) Backward case- we do not want to look for top item's availability as it is already been

Line 7839: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN

7835: -- ATP4drp If we are dealing with a component
7836: -- then set the origination type to Constrained Kit Demand
7837: -- for DRP plans.
7838: IF (NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id) <> p_atp_record.inventory_item_id AND
7839: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
7840: l_atp_insert_rec.origination_type := 47;
7841: IF PG_DEBUG in ('Y', 'C') THEN
7842: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
7843: msc_sch_wb.atp_debug('ATP_Check: ' || 'DRP origination_type ='|| l_atp_insert_rec.origination_type);

Line 7887: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7883: ELSE
7884: l_atp_insert_rec.ship_method := null;
7885: END IF;
7886: END IF;
7887: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7888: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7889:
7890: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
7891: p_plan_id,

Line 7903: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7899:
7900: -- populate insert rec to pegging tree for this demand
7901: --bug 2422847: add demand pegging
7902:
7903: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7904: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
7905: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
7906: l_pegging_rec.atp_level:= p_level;
7907: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 7904: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

7900: -- populate insert rec to pegging tree for this demand
7901: --bug 2422847: add demand pegging
7902:
7903: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7904: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
7905: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
7906: l_pegging_rec.atp_level:= p_level;
7907: l_pegging_rec.organization_id:= p_atp_record.organization_id;
7908: l_pegging_rec.organization_code := l_org_code;

Line 7938: l_pegging_rec.supply_demand_date:= GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

7934: l_pegging_rec.supply_demand_quantity:=
7935: p_atp_record.quantity_ordered ;
7936: l_pegging_rec.supply_demand_type:= 1;
7937: -- Bug 2625791, 2623816: consider PTF date passed from the top org.
7938: l_pegging_rec.supply_demand_date:= GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
7939:
7940:
7941: -- dsting ATO 2465370
7942: -- IF NVL(p_atp_record.override_flag, 'N') = 'Y'

Line 7953: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;

7949: ELSE
7950: -- Bug 2748730. No need to move date to the end of as we will be doing that
7951: -- inside the procedure Add_Pegging
7952: -- l_pegging_rec.required_date:= TRUNC(
7953: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;
7954: --bug 3328421: required date always conatin the original req date
7955: l_pegging_rec.required_date:= l_requested_ship_date;
7956: l_pegging_rec.actual_supply_demand_date :=
7957: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

Line 7957: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

7953: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;
7954: --bug 3328421: required date always conatin the original req date
7955: l_pegging_rec.required_date:= l_requested_ship_date;
7956: l_pegging_rec.actual_supply_demand_date :=
7957: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
7958: END IF;
7959:
7960: -- for demo:1153192
7961: l_pegging_rec.constraint_flag := 'N';

Line 7963: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

7959:
7960: -- for demo:1153192
7961: l_pegging_rec.constraint_flag := 'N';
7962: l_pegging_rec.component_identifier :=
7963: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
7964:
7965: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
7966: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
7967: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 7965: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

7961: l_pegging_rec.constraint_flag := 'N';
7962: l_pegging_rec.component_identifier :=
7963: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
7964:
7965: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
7966: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
7967: --- cto looks at pegging tree to place their demands. Since CTO expects to find
7968: -- id for the requested item, we add the following column. CTO will now read from this column
7969: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 8063: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8059: ELSE
8060: l_atp_insert_rec.ship_method := null;
8061: END IF;
8062: END IF;
8063: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8064: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
8065:
8066: l_demand_id := p_atp_record.subs_demand_id; --5088719
8067:

Line 8087: --MSC_ATP_PVT.G_DEMAND_PEGGING_ID := p_parent_pegging_id;

8083: /*l_org_code := MSC_ATP_FUNC.get_org_code(p_atp_record.instance_id,
8084: p_atp_record.organization_id);
8085: Modularize Item and Org Info */
8086: l_atp_date_this_level := null;
8087: --MSC_ATP_PVT.G_DEMAND_PEGGING_ID := p_parent_pegging_id;
8088: --5026618 Start 4902658 Fix 5216528
8089: l_substitutes_rec.inventory_item_id.EXTEND;
8090: l_substitutes_rec.pegging_id.EXTEND;
8091: l_substitutes_rec.sub_atp_qty.EXTEND;

Line 8129: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE from parent := ' || MSC_ATP_PVT.G_PTF_DATE);

8125: --- availabilty on greatest of (PTF of parent , req_date)
8126: --- Here PTF_date is ptf date for parent i.e if we came here from get_comp_req then
8127: --- it is PTF for parent item. If we came here for transfer then PTF will be that of last org
8128: IF PG_DEBUG in ('Y', 'C') THEN
8129: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE from parent := ' || MSC_ATP_PVT.G_PTF_DATE);
8130: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_request_date := ' || l_atp_request_date);
8131: END IF;
8132:
8133: --diag_atp

Line 8145: (MSC_ATP_PVT.G_INV_CTP = 4) AND

8141: -- Model's sourcing organization.
8142: --support forward scheduling for all level
8143: --(p_parent_pegging_id IS NULL) AND
8144: --- End Enhance CTO Phase 1 Req #17
8145: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8146: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8147: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8148: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
8149:

Line 8146: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

8142: --support forward scheduling for all level
8143: --(p_parent_pegging_id IS NULL) AND
8144: --- End Enhance CTO Phase 1 Req #17
8145: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8146: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8147: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8148: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
8149:
8150: /*

Line 8147: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

8143: --(p_parent_pegging_id IS NULL) AND
8144: --- End Enhance CTO Phase 1 Req #17
8145: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8146: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8147: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8148: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
8149:
8150: /*
8151: --- Enhance CTO Phase 1 Req #17

Line 8148: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN

8144: --- End Enhance CTO Phase 1 Req #17
8145: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8146: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8147: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8148: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
8149:
8150: /*
8151: --- Enhance CTO Phase 1 Req #17
8152: -- Support Forward Stealing for components of ATO model in

Line 8165: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

8161: l_parent_peg_forward := p_parent_pegging_id;
8162: IF PG_DEBUG in ('Y', 'C') THEN
8163: msc_sch_wb.atp_debug('ATP_Check: ' || 'Parent Pegging Id :' || l_parent_peg_forward);
8164: msc_sch_wb.atp_debug('ATP_Check: ' || 'Future Pegging Id :' || l_future_pegging_id);
8165: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
8166: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);
8167: END IF;
8168:
8169: l_get_mat_in_rec.parent_bom_item_type := p_atp_record.parent_bom_item_type;

Line 8166: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);

8162: IF PG_DEBUG in ('Y', 'C') THEN
8163: msc_sch_wb.atp_debug('ATP_Check: ' || 'Parent Pegging Id :' || l_parent_peg_forward);
8164: msc_sch_wb.atp_debug('ATP_Check: ' || 'Future Pegging Id :' || l_future_pegging_id);
8165: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
8166: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);
8167: END IF;
8168:
8169: l_get_mat_in_rec.parent_bom_item_type := p_atp_record.parent_bom_item_type;
8170: l_get_mat_in_rec.bom_item_type := C_ITEM_INFO_REC.bom_item_type;

Line 8221: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8217: l_demand_id := l_get_mat_out_rec.demand_id;
8218:
8219: ELSE
8220:
8221: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8222:
8223: END IF;
8224: p_atp_record.atf_date_quantity := NVL(l_atf_date_qty, 0);
8225:

Line 8233: ELSE -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1

8229: msc_sch_wb.atp_debug('ATP_Check: ' || '********** Result from Get_Forward_Material_Atp **********');
8230: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_used_available_quantity : '|| l_used_available_quantity); --bug3409973
8231: END IF;
8232:
8233: ELSE -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1
8234: -- time_phased_atp changes begin
8235: l_mat_atp_info_rec.instance_id := p_atp_record.instance_id;
8236: l_mat_atp_info_rec.plan_id := p_plan_id;
8237: l_mat_atp_info_rec.level := p_level + 1;

Line 8276: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN

8272: -- time_phased_atp changes end
8273: /* rajjain changes for re-review comments
8274: removed check for rule based AATP as this should be set
8275: for all scenarios
8276: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN
8277: l_used_available_quantity := l_mat_atp_info_rec.atp_date_quantity_this_level;
8278: END IF; --bug3409973*/
8279: l_used_available_quantity := l_mat_atp_info_rec.atp_date_quantity_this_level;
8280:

Line 8286: END IF; -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1

8282: IF PG_DEBUG in ('Y', 'C') THEN
8283: msc_sch_wb.atp_debug('ATP_Check: ' || '********** Result from Get_Material_Atp_Info **********');
8284: END IF;
8285:
8286: END IF; -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1
8287:
8288: -- Bug 3782472
8289: IF PG_DEBUG in ('Y', 'C') THEN
8290: msc_sch_wb.atp_debug('p_search '||p_search);

Line 8291: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_PTF_DATE '||MSC_ATP_PVT.G_PTF_DATE);

8287:
8288: -- Bug 3782472
8289: IF PG_DEBUG in ('Y', 'C') THEN
8290: msc_sch_wb.atp_debug('p_search '||p_search);
8291: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_PTF_DATE '||MSC_ATP_PVT.G_PTF_DATE);
8292: msc_sch_wb.atp_debug('l_ptf_date '||l_ptf_date);
8293: msc_sch_wb.atp_debug('l_requested_ship_date '||l_requested_ship_date);
8294: msc_sch_wb.atp_debug('l_net_demand '||l_net_demand);
8295: END IF;

Line 8298: MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date THEN

8294: msc_sch_wb.atp_debug('l_net_demand '||l_net_demand);
8295: END IF;
8296: IF p_search = FORWARD_SCHEDULING AND
8297: l_requested_date_quantity >= p_atp_record.quantity_ordered and
8298: MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date THEN
8299: l_net_demand := l_net_demand;
8300: l_atp_comp_flag := 'N';
8301: ELSE
8302:

Line 8396: (MSC_ATP_PVT.G_INV_CTP = 4) AND

8392: -- demand.
8393: --- Enhance CTO Phase 1 Req #16 and #17
8394:
8395: IF NOT((p_search = FORWARD_SCHEDULING) AND
8396: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8397: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8398: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8399: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
8400:

Line 8397: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

8393: --- Enhance CTO Phase 1 Req #16 and #17
8394:
8395: IF NOT((p_search = FORWARD_SCHEDULING) AND
8396: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8397: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8398: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8399: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
8400:
8401: /*---bug 3524230 ---

Line 8398: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

8394:
8395: IF NOT((p_search = FORWARD_SCHEDULING) AND
8396: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8397: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8398: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8399: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
8400:
8401: /*---bug 3524230 ---
8402: Demand in demand priority allocated ATP for items with

Line 8399: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'

8395: IF NOT((p_search = FORWARD_SCHEDULING) AND
8396: (MSC_ATP_PVT.G_INV_CTP = 4) AND
8397: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
8398: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
8399: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
8400:
8401: /*---bug 3524230 ---
8402: Demand in demand priority allocated ATP for items with
8403: atp flag is 'Y' is added in get_forward_material_ATP info procedure.

Line 8473: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')

8469: --stealing will be supported at all levels
8470: -- AND ((p_parent_pegging_id IS NULL) OR -- Bug 2745728 Stealing for components.
8471: -- NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id )
8472: AND (p_search =1)
8473: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')
8474: --bug 3524230: When ATP flag for model is 'Y' then we do ATP on this model
8475: --- only when we are making it. Therefore, we need to add full quantity
8476: -- when not doing ATP check on the model
8477: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and

Line 8496: and MSC_ATP_PVT.G_SUB_COMP = 'Y')

8492: --5220357
8493: /*
8494: --5151972 insert demand for primary component = demand quantity found.
8495: IF (p_search = BACKWARD_SCHEDULING) and (p_parent_pegging_id is not null
8496: and MSC_ATP_PVT.G_SUB_COMP = 'Y')
8497: --5192094 added check to see if actually we have calculated material availiability
8498: and (l_atp_flag = 'Y') THEN
8499: IF PG_DEBUG in ('Y', 'C') THEN
8500: msc_sch_wb.atp_debug('ATP_Check: ' || 'Inside comp substitution ');

Line 8528: IF (p_parent_pegging_id is NULL) or MSC_ATP_PVT.G_INV_CTP = 5 THEN

8524: /* Enhance CTO Phase 1 Req #16 */
8525: -- Create Sales Orders instead of Plan Order Demands for
8526: -- CTO items and set the order line id for the item
8527: -- only for the appropriate organizations.
8528: IF (p_parent_pegging_id is NULL) or MSC_ATP_PVT.G_INV_CTP = 5 THEN
8529: --NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) THEN
8530:
8531: -- this is top level demand, which we should consider it
8532: -- as sales order demand.

Line 8552: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN

8548: -- ATP4drp If we are dealing with a component
8549: -- then set the origination type to Constrained Kit Demand
8550: -- for DRP plans.
8551: IF (NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id) <> p_atp_record.inventory_item_id AND
8552: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
8553: l_atp_insert_rec.origination_type := 47;
8554: IF PG_DEBUG in ('Y', 'C') THEN
8555: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
8556: msc_sch_wb.atp_debug('ATP_Check: ' || 'DRP origination_type ='|| l_atp_insert_rec.origination_type);

Line 8609: IF ((p_search = 1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null )) OR

8605: IF PG_DEBUG in ('Y', 'C') THEN
8606: msc_sch_wb.atp_debug('ATP_Check: ' || 'temp l_net_demand : '|| l_net_demand);
8607: END IF;
8608: --optional_fw Only in first iteration code should come here or while adding POD lower level
8609: IF ((p_search = 1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null )) OR
8610: ((p_search= 2 AND p_parent_pegging_id is not null)
8611: OR (MSC_ATP_PVT.G_OPTIONAL_FW is not null AND p_parent_pegging_id is not null))
8612: --- IN ODS ATP, we do not want add demand for model only once.
8613: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN

Line 8611: OR (MSC_ATP_PVT.G_OPTIONAL_FW is not null AND p_parent_pegging_id is not null))

8607: END IF;
8608: --optional_fw Only in first iteration code should come here or while adding POD lower level
8609: IF ((p_search = 1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null )) OR
8610: ((p_search= 2 AND p_parent_pegging_id is not null)
8611: OR (MSC_ATP_PVT.G_OPTIONAL_FW is not null AND p_parent_pegging_id is not null))
8612: --- IN ODS ATP, we do not want add demand for model only once.
8613: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN
8614:
8615: --s_cto_rearch

Line 8613: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN

8609: IF ((p_search = 1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null )) OR
8610: ((p_search= 2 AND p_parent_pegging_id is not null)
8611: OR (MSC_ATP_PVT.G_OPTIONAL_FW is not null AND p_parent_pegging_id is not null))
8612: --- IN ODS ATP, we do not want add demand for model only once.
8613: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN
8614:
8615: --s_cto_rearch
8616: l_atp_insert_rec.Top_Model_line_id := p_atp_record.Top_Model_line_id;
8617: l_atp_insert_rec.ATO_Parent_Model_Line_Id := p_atp_record.ATO_Parent_Model_Line_Id;

Line 8644: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8640: END IF;
8641: IF PG_DEBUG in ('Y', 'C') THEN
8642: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_insert_rec.ship_method : '|| l_atp_insert_rec.ship_method);
8643: END IF;
8644: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8645: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
8646:
8647: ---bug 4267076: Do not create demand for planned outbound shipment
8648: IF NOT(p_parent_pegging_id is not null

Line 8651: AND NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN --5067205

8647: ---bug 4267076: Do not create demand for planned outbound shipment
8648: IF NOT(p_parent_pegging_id is not null
8649: AND NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id)
8650: = p_atp_record.inventory_item_id
8651: AND NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN --5067205
8652:
8653: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
8654: p_plan_id,
8655: l_demand_class_flag,

Line 8666: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8662: END IF;
8663:
8664: -- populate insert rec to pegging tree for this demand
8665:
8666: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8667: --s_cto_rearch: store actual line id for lower level components
8668: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8669: l_pegging_rec.order_line_id := p_atp_record.demand_source_line;
8670: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;

Line 8668: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8664: -- populate insert rec to pegging tree for this demand
8665:
8666: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8667: --s_cto_rearch: store actual line id for lower level components
8668: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8669: l_pegging_rec.order_line_id := p_atp_record.demand_source_line;
8670: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8671: l_pegging_rec.atp_level:= p_level;
8672: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 8715: -- l_pegging_rec.required_date := TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;

8711: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
8712: ELSE
8713: -- Bug 2748730. No need to move date to the end of as we will be doing that
8714: -- inside the procedure Add_Pegging
8715: -- l_pegging_rec.required_date := TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;
8716: l_pegging_rec.required_date := l_requested_ship_date ;
8717: --bug 3328421
8718: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
8719: END IF;

Line 8723: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 and MSC_ATP_PVT.G_CALENDAR_CONSTRAINT='Y'

8719: END IF;
8720:
8721: /* ship_rec_cal
8722: calendar constraint*/
8723: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 and MSC_ATP_PVT.G_CALENDAR_CONSTRAINT='Y'
8724: and p_parent_pegging_id is NULL THEN
8725: l_pegging_rec.constraint_type :=7;
8726: END IF;
8727:

Line 8731: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

8727:
8728: -- for demo:1153192
8729: l_pegging_rec.constraint_flag := 'N';
8730: l_pegging_rec.component_identifier :=
8731: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8732:
8733: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8734: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8735: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 8733: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8729: l_pegging_rec.constraint_flag := 'N';
8730: l_pegging_rec.component_identifier :=
8731: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8732:
8733: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8734: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8735: --- cto looks at pegging tree to place their demands. Since CTO expects to find
8736: -- id for the requested item, we add the following column. CTO will now read from this column
8737: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 8740: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --item demand node

8736: -- id for the requested item, we add the following column. CTO will now read from this column
8737: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
8738:
8739: --diag_atp
8740: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --item demand node
8741:
8742: --s_cto_rearch
8743:
8744: IF (p_atp_record.parent_bom_item_type in (1, 4) and p_atp_record.parent_repl_order_flag = 'Y')

Line 8777: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;

8773:
8774: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8775:
8776: IF p_search = 1 AND p_parent_pegging_id is null THEN
8777: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;
8778: END IF;
8779: ELSE
8780: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8781: --5158454 In cases when profile is set to yes and time phased ATP happens then

Line 8780: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8776: IF p_search = 1 AND p_parent_pegging_id is null THEN
8777: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;
8778: END IF;
8779: ELSE
8780: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8781: --5158454 In cases when profile is set to yes and time phased ATP happens then
8782: -- we need the value in l_demand_id of originally inserted SO demand.
8783: IF l_time_phased_atp = 'Y' AND G_FORWARD_ATP = 'Y' THEN
8784:

Line 8801: l_pegging_id := MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG;

8797: END IF;
8798: ELSE
8799: --for demand priority forward ATP we have already set l_pegging_id after get_forward
8800: /*
8801: l_pegging_id := MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG;
8802: IF PG_DEBUG in ('Y', 'C') THEN
8803: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id for Forward Stealing is : ' || l_pegging_id);
8804: END IF;
8805:

Line 8813: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8809: l_pegging_id := l_get_mat_out_rec.demand_pegging_id;
8810:
8811: ELSE
8812:
8813: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8814:
8815: END IF;
8816:
8817: END IF;

Line 8824: IF (p_parent_pegging_id is null) AND (p_search = 1) AND MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

8820: IF PG_DEBUG in ('Y', 'C') THEN
8821: msc_sch_wb.atp_debug('ATP_Check: ' || 'Right before pegging');
8822: END IF;
8823: --optional_fw first iteration we should come here
8824: IF (p_parent_pegging_id is null) AND (p_search = 1) AND MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
8825: IF PG_DEBUG in ('Y', 'C') THEN
8826: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8827: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

Line 8827: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

8823: --optional_fw first iteration we should come here
8824: IF (p_parent_pegging_id is null) AND (p_search = 1) AND MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
8825: IF PG_DEBUG in ('Y', 'C') THEN
8826: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8827: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8830: END IF;
8831:

Line 8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

8824: IF (p_parent_pegging_id is null) AND (p_search = 1) AND MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
8825: IF PG_DEBUG in ('Y', 'C') THEN
8826: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8827: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8830: END IF;
8831:
8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

Line 8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);

8825: IF PG_DEBUG in ('Y', 'C') THEN
8826: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8827: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8830: END IF;
8831:
8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

Line 8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

8828: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8830: END IF;
8831:
8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN

Line 8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

8829: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8830: END IF;
8831:
8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN
8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

Line 8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

8830: END IF;
8831:
8832: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN
8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8838: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

Line 8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

8833: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN
8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8838: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8839: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8840: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8841: END IF;

Line 8838: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

8834: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN
8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8838: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8839: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8840: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8841: END IF;
8842:

Line 8839: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);

8835:
8836: IF PG_DEBUG in ('Y', 'C') THEN
8837: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8838: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8839: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8840: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8841: END IF;
8842:
8843:

Line 8844: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;

8840: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8841: END IF;
8842:
8843:
8844: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8845: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8846: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8847:
8848: END IF;

Line 8845: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;

8841: END IF;
8842:
8843:
8844: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8845: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8846: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8847:
8848: END IF;
8849: IF PG_DEBUG in ('Y', 'C') THEN

Line 8846: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;

8842:
8843:
8844: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8845: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8846: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8847:
8848: END IF;
8849: IF PG_DEBUG in ('Y', 'C') THEN
8850: msc_sch_wb.atp_debug('ATP_Check: ' || 'Right after pegging');

Line 8858: (MSC_ATP_PVT.G_OPTIONAL_FW is not null )

8854: --optional_fw we need to come here for condition added
8855: IF (
8856: (
8857: ( p_search = 2 AND p_parent_pegging_id is not null) OR
8858: (MSC_ATP_PVT.G_OPTIONAL_FW is not null )
8859: )
8860: OR
8861: ((p_search=1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null ))
8862: ) AND

Line 8861: ((p_search=1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null ))

8857: ( p_search = 2 AND p_parent_pegging_id is not null) OR
8858: (MSC_ATP_PVT.G_OPTIONAL_FW is not null )
8859: )
8860: OR
8861: ((p_search=1) AND (MSC_ATP_PVT.G_OPTIONAL_FW is null ))
8862: ) AND
8863: --bug 4428128: Add supply pegging if req date >= ITF
8864: ((l_atp_flag in ('Y', 'C') AND
8865: NOT(C_ITEM_INFO_REC.bom_item_type = 1 and

Line 8877: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8873: -- on the request date, we need to populate it.
8874: (NVL(l_parent_peg_forward, 0) = 0) THEN
8875: --- Enhance CTO Phase 1 Req #17
8876:
8877: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8878: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8879: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8880: l_pegging_rec.atp_level:= p_level + 1;
8881: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 8878: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8874: (NVL(l_parent_peg_forward, 0) = 0) THEN
8875: --- Enhance CTO Phase 1 Req #17
8876:
8877: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8878: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8879: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8880: l_pegging_rec.atp_level:= p_level + 1;
8881: l_pegging_rec.organization_id:= p_atp_record.organization_id;
8882: l_pegging_rec.organization_code := l_org_code;

Line 8915: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

8911: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
8912: l_pegging_rec.supply_demand_type:= 2;
8913: l_pegging_rec.source_type := 0;
8914: l_pegging_rec.component_identifier :=
8915: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8916:
8917: -- for demo:1153192
8918: --optional_fw
8919: IF ((p_search = 1)

Line 8929: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8925: l_pegging_rec.constraint_flag := 'N';
8926:
8927: END IF;
8928:
8929: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8930: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8931: --- cto looks at pegging tree to place their demands. Since CTO expects to find
8932: -- id for the requested item, we add the following column. CTO will now read from this column
8933: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 8955: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

8951: l_pegging_rec.atp_rule_name := l_get_mat_out_rec.atp_rule_name;
8952: l_pegging_rec.rounding_control := l_rounding_control_flag;
8953: l_pegging_rec.atp_flag := l_atp_flag;
8954: l_pegging_rec.atp_component_flag := l_atp_comp_flag;
8955: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
8956: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
8957: l_pegging_rec.processing_lead_time := l_process_lt; -- 5438149
8958: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
8959: l_pegging_rec.fixed_lead_time := l_fixed_lt;

Line 8971: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN

8967: l_pegging_rec.REVERSE_CUM_YIELD := p_atp_record.reverse_cumulative_yield;
8968: l_pegging_rec.model_sd_flag := 2;
8969:
8970:
8971: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN
8972: IF ((p_search = 1) and (l_atp_comp_flag = 'N') and
8973: (p_atp_record.quantity_ordered > l_requested_date_quantity)) THEN
8974: l_pegging_rec.constraint_type := 1;
8975: p_atp_record.combined_requested_date_qty := l_requested_date_quantity;

Line 9031: IF (MSC_ATP_PVT.G_OPTIONAL_FW is not null and p_parent_pegging_id is null) THEN

9027: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_atp_pegging_id);
9028:
9029: -- Add pegging_id to the l_atp_period and l_atp_supply_demand
9030: --optional_fw store the the supply line pegging id for forward pass
9031: IF (MSC_ATP_PVT.G_OPTIONAL_FW is not null and p_parent_pegging_id is null) THEN
9032: G_FW_PEGGING_ID := l_atp_pegging_id;
9033: IF PG_DEBUG in ('Y', 'C') THEN
9034: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting G_FW_PEGGING_ID for ATP supply line ' || G_FW_PEGGING_ID);
9035: END IF;

Line 9040: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9036: END IF;
9037:
9038: FOR i in 1..l_atp_period.Level.COUNT LOOP
9039: l_atp_period.Pegging_Id(i) := l_atp_pegging_id;
9040: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9041: END LOOP;
9042:
9043:
9044: -- dsting: supply/demand details pl/sql table no longer used

Line 9047: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9043:
9044: -- dsting: supply/demand details pl/sql table no longer used
9045: /* FOR i in 1..l_atp_supply_demand.Level.COUNT LOOP
9046: l_atp_supply_demand.Pegging_Id(i) := l_atp_pegging_id;
9047: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9048: END LOOP;
9049: */
9050: IF p_atp_record.insert_flag <> 0 THEN
9051: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,

Line 9052: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

9048: END LOOP;
9049: */
9050: IF p_atp_record.insert_flag <> 0 THEN
9051: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,
9052: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
9053: END IF;
9054:
9055:
9056: -- Now if this item was a component of a BOM, then check the

Line 9061: and l_net_demand > 0 and MSC_ATP_PVT.G_SUB_COMP = 'Y') THEN

9057: -- substitutes and see if we can satisfy the demand
9058:
9059: -- Nagaraj
9060: IF ( p_search = BACKWARD_SCHEDULING) and (p_parent_pegging_id is not null --5006799
9061: and l_net_demand > 0 and MSC_ATP_PVT.G_SUB_COMP = 'Y') THEN
9062: IF PG_DEBUG in ('Y', 'C') THEN
9063: msc_sch_wb.atp_debug('ATP_Check: ' || 'Before check substitutes call:'||
9064: to_char(p_parent_pegging_id) || ':' || to_char(l_net_demand));
9065: END IF;

Line 9180: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ORG_INFO_REC.org_type:'|| MSC_ATP_PVT.G_ORG_INFO_REC.org_type);

9176: IF PG_DEBUG in ('Y', 'C') THEN
9177: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_demand:'|| l_net_demand);
9178: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_sub_requested_date_quantity:'|| l_sub_requested_date_quantity);
9179: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
9180: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ORG_INFO_REC.org_type:'|| MSC_ATP_PVT.G_ORG_INFO_REC.org_type);
9181: END IF;
9182: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
9183: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND p_atp_record.scaling_type IN (0,2))) AND l_net_demand = 0 then
9184: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.

Line 9182: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR

9178: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_sub_requested_date_quantity:'|| l_sub_requested_date_quantity);
9179: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
9180: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ORG_INFO_REC.org_type:'|| MSC_ATP_PVT.G_ORG_INFO_REC.org_type);
9181: END IF;
9182: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
9183: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND p_atp_record.scaling_type IN (0,2))) AND l_net_demand = 0 then
9184: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
9185: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
9186: END IF;

Line 9183: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND p_atp_record.scaling_type IN (0,2))) AND l_net_demand = 0 then

9179: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
9180: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_ORG_INFO_REC.org_type:'|| MSC_ATP_PVT.G_ORG_INFO_REC.org_type);
9181: END IF;
9182: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
9183: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND p_atp_record.scaling_type IN (0,2))) AND l_net_demand = 0 then
9184: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
9185: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
9186: END IF;
9187:

Line 9188: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN

9184: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
9185: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
9186: END IF;
9187:
9188: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN
9189: IF ((p_search = 1) and (l_atp_comp_flag = 'N') and
9190: (p_atp_record.quantity_ordered > l_requested_date_quantity)) THEN
9191: l_pegging_rec.constraint_type := 1;
9192: p_atp_record.combined_requested_date_qty := l_requested_date_quantity +

Line 9224: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

9220: IF l_sub_requested_date_quantity > 0 THEN
9221: IF PG_DEBUG in ('Y', 'C') THEN
9222: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update POD for Primary Component');
9223: END IF;
9224: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
9225: MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id,
9226: null,
9227: p_atp_record.quantity_ordered-
9228: l_sub_requested_date_quantity );

Line 9262: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

9258: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Increment_Bucketed_Demands_Qty');
9259: END IF;
9260: RAISE FND_API.G_EXC_ERROR;
9261: END IF;
9262: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9263: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9264: update msc_alloc_demands
9265: set allocated_quantity = (allocated_quantity -
9266: greatest(l_sub_requested_date_quantity, 0))

Line 9263: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

9259: END IF;
9260: RAISE FND_API.G_EXC_ERROR;
9261: END IF;
9262: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9263: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9264: update msc_alloc_demands
9265: set allocated_quantity = (allocated_quantity -
9266: greatest(l_sub_requested_date_quantity, 0))
9267: where parent_demand_id = l_demand_id --updating for primary only

Line 9276: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

9272: END IF;
9273: END IF;
9274: IF PG_DEBUG in ('Y', 'C') THEN
9275: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
9276: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
9277: END IF;
9278:
9279: -- update summary records removed in ODS case - for summary enhancement
9280: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 9280: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

9276: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
9277: END IF;
9278:
9279: -- update summary records removed in ODS case - for summary enhancement
9280: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
9281: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,
9282: p_plan_id,
9283: p_atp_record.organization_id,
9284: l_inventory_item_id,

Line 9363: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN

9359: ( (p_parent_pegging_id IS NULL) OR
9360: NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) AND
9361: --- End Enhance CTO Phase 1 Req #17
9362: (p_search =1)
9363: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN
9364:
9365: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND
9366: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
9367: -- (p_parent_pegging_id is null)) THEN

Line 9365: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND

9361: --- End Enhance CTO Phase 1 Req #17
9362: (p_search =1)
9363: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN
9364:
9365: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND
9366: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
9367: -- (p_parent_pegging_id is null)) THEN
9368: */
9369: IF (l_net_demand > 0) AND

Line 9370: (p_search =1) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')

9366: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
9367: -- (p_parent_pegging_id is null)) THEN
9368: */
9369: IF (l_net_demand > 0) AND
9370: (p_search =1) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')
9371: --bug 3423277: Restrict stealing only for cases where we are
9372: ---doing atp check for model.
9373: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and
9374: ( C_ITEM_INFO_REC.atp_comp_flag in ('Y', 'C') and

Line 9382: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9378: -- Model's sourcing organization.
9379: -- Do not reset the parent pegging Id in such a case.
9380: /* We support stealing at all levels.
9381: IF (NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) <> p_atp_record.organization_id) THEN
9382: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9383: END IF;
9384: */
9385:
9386: IF p_parent_pegging_id is null THEN

Line 9387: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9383: END IF;
9384: */
9385:
9386: IF p_parent_pegging_id is null THEN
9387: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9388: END IF;
9389: --- End Enhance CTO Phase 1 Req #17
9390:
9391: IF PG_DEBUG in ('Y', 'C') THEN

Line 9499: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

9495:
9496: /* time_phased_atp
9497: put qty stolen upto req date ((not upto ATF) on member item */
9498: --5211558 we want to update the demands only in first pass and not in further passes
9499: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
9500: --using the same insert rec we prepared earlier
9501: l_atp_insert_rec.quantity_ordered := p_atp_record.quantity_ordered;
9502: l_atp_insert_rec.requested_date_quantity := l_atp_insert_rec.requested_date_quantity + nvl(l_stealing_qty, 0);
9503: l_atp_insert_rec.atf_date_quantity := l_atp_insert_rec.atf_date_quantity + nvl(l_mem_stealing_qty, 0);

Line 9520: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

9516: /* update atf date quantity */
9517: p_atp_record.atf_date_quantity := l_atp_insert_rec.atf_date_quantity;
9518: /* Reset l_atf_date_qty to 0*/
9519: l_atf_date_qty := 0;
9520: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9521: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9522:
9523: update msc_alloc_demands
9524: set allocated_quantity = p_atp_record.quantity_ordered

Line 9521: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

9517: p_atp_record.atf_date_quantity := l_atp_insert_rec.atf_date_quantity;
9518: /* Reset l_atf_date_qty to 0*/
9519: l_atf_date_qty := 0;
9520: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9521: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9522:
9523: update msc_alloc_demands
9524: set allocated_quantity = p_atp_record.quantity_ordered
9525: where parent_demand_id = l_demand_id

Line 9566: (MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date) THEN

9562: END IF; -- end if G_ALLOCATED_ATP
9563: -- PTF
9564: IF (p_search = FORWARD_SCHEDULING) AND
9565: (p_parent_pegging_id IS NOT NULL) AND
9566: (MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date) THEN
9567: IF PG_DEBUG in ('Y', 'C') THEN
9568: msc_sch_wb.atp_debug('ATP_Check: ' || 'Look forward to meet the remaining shortage of comp');
9569: END IF;
9570: --Bug2682094 Do not reset the demand

Line 9585: MSC_ATP_PVT.G_INV_CTP = 4 THEN

9581: IF l_net_demand > 0 and C_ITEM_INFO_REC.bom_item_type = 1 and
9582: C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y' and
9583: C_ITEM_INFO_REC.atp_flag = 'Y' and
9584: C_ITEM_INFO_REC.atp_comp_flag = 'N' and
9585: MSC_ATP_PVT.G_INV_CTP = 4 THEN
9586:
9587: MSC_ATP_CTO.Check_Base_Model_For_Cap_Check(C_ITEM_INFO_REC.dest_inv_item_id,
9588: C_ITEM_INFO_REC.base_item_id,
9589: l_requested_ship_date,

Line 9645: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN

9641: p_atp_record.used_available_quantity:=
9642: p_atp_record.combined_requested_date_qty; --bug3409973
9643: -- p_atp_record.available_quantity:=l_atp_date_quantity_this_level;
9644: --optional_fw further iterations error code should be set 53
9645: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN
9646: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
9647: END IF;
9648: IF PG_DEBUG in ('Y', 'C') THEN
9649: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.atf_date_quantity = '||p_atp_record.atf_date_quantity);

Line 9653: ELSIF (l_atp_comp_flag = 'N') AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

9649: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.atf_date_quantity = '||p_atp_record.atf_date_quantity);
9650: msc_sch_wb.atp_debug('ATP_Check: ' || 'after insert row, 1');
9651: END IF;
9652: --diag_atp
9653: ELSIF (l_atp_comp_flag = 'N') AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
9654: IF PG_DEBUG in ('Y', 'C') THEN
9655: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATP Component flag = N');
9656: END IF;
9657:

Line 9665: IF (p_parent_pegging_id IS NULL and MSC_ATP_PVT.G_OPTIONAL_FW is null and G_FORWARD_ATP = 'Y') then

9661: --Either we set the component flag and do not do any more iterations, for this
9662: --we neeed to set this flag only for the top org and that too for first b.w pass only so that subsequent
9663: --f,w pass may not be needed and loop may surely exit.
9664:
9665: IF (p_parent_pegging_id IS NULL and MSC_ATP_PVT.G_OPTIONAL_FW is null and G_FORWARD_ATP = 'Y') then
9666: MSC_ATP_PVT.G_ATP_COMP_FLAG := 'N'; --setting global variable for optional_fw
9667: END IF;
9668:
9669: p_atp_record.requested_date_quantity:=l_requested_date_quantity;

Line 9666: MSC_ATP_PVT.G_ATP_COMP_FLAG := 'N'; --setting global variable for optional_fw

9662: --we neeed to set this flag only for the top org and that too for first b.w pass only so that subsequent
9663: --f,w pass may not be needed and loop may surely exit.
9664:
9665: IF (p_parent_pegging_id IS NULL and MSC_ATP_PVT.G_OPTIONAL_FW is null and G_FORWARD_ATP = 'Y') then
9666: MSC_ATP_PVT.G_ATP_COMP_FLAG := 'N'; --setting global variable for optional_fw
9667: END IF;
9668:
9669: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
9670:

Line 9671: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

9667: END IF;
9668:
9669: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
9670:
9671: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9672: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9673: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
9674: --support forward stealing for all levels
9675: AND p_parent_pegging_id IS NULL

Line 9672: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

9668:
9669: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
9670:
9671: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9672: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9673: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
9674: --support forward stealing for all levels
9675: AND p_parent_pegging_id IS NULL
9676: THEN

Line 9673: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)

9669: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
9670:
9671: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9672: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9673: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
9674: --support forward stealing for all levels
9675: AND p_parent_pegging_id IS NULL
9676: THEN
9677: IF PG_DEBUG in ('Y', 'C') THEN

Line 9789: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2)

9785: END IF;
9786:
9787: ELSE
9788: IF (l_stealing_requested_date_qty > 0) AND
9789: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2)
9790: THEN
9791: --pumehta Bug2471377 Begin Changes
9792: --Make another pass to check if we can get a better date
9793: --as stealing has happened.

Line 9812: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type = 1) THEN

9808: l_sysdate)
9809: OR (l_atp_period_first.period_start_date(i) >
9810: l_sysdate))
9811: THEN
9812: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type = 1) THEN
9813: l_atp_date_quantity_this_level :=
9814: FLOOR(l_atp_period_first.cumulative_quantity(i));
9815: ELSE
9816: l_atp_date_quantity_this_level :=

Line 9931: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY

9927: --AND p_parent_pegging_id is not null)
9928: --THEN
9929: --bug 3328421: required date contains the original request date
9930: -- actual_supply_demand_date contain the actual sd date
9931: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9932: update mrp_atp_details_temp set actual_supply_demand_date =
9933: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9934: where session_id = MSC_ATP_PVT.G_SESSION_ID
9935: and pegging_id = l_pegging_id

Line 9933: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY

9929: --bug 3328421: required date contains the original request date
9930: -- actual_supply_demand_date contain the actual sd date
9931: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9932: update mrp_atp_details_temp set actual_supply_demand_date =
9933: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9934: where session_id = MSC_ATP_PVT.G_SESSION_ID
9935: and pegging_id = l_pegging_id
9936: and record_type = 3;
9937:

Line 9934: where session_id = MSC_ATP_PVT.G_SESSION_ID

9930: -- actual_supply_demand_date contain the actual sd date
9931: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9932: update mrp_atp_details_temp set actual_supply_demand_date =
9933: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9934: where session_id = MSC_ATP_PVT.G_SESSION_ID
9935: and pegging_id = l_pegging_id
9936: and record_type = 3;
9937:
9938: IF PG_DEBUG in ('Y', 'C') THEN

Line 9952: SET REQUIREMENT_DATE = TRUNC(l_atp_date_this_level) --4460369+ MSC_ATP_PVT.G_END_OF_DAY

9948: -- For bug 2259824, move the demand to the end of day
9949: --s_cto_rearch: For ODS based ATP, we should be updating msc_sales_orders
9950: IF p_plan_id = -1 THEN
9951: UPDATE msc_sales_orders
9952: SET REQUIREMENT_DATE = TRUNC(l_atp_date_this_level) --4460369+ MSC_ATP_PVT.G_END_OF_DAY
9953: WHERE sr_instance_id = p_atp_record.instance_id
9954: AND DEMAND_ID = l_demand_id
9955: returning inventory_item_id into l_inventory_item_id;
9956: ELSE

Line 9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

9958: SET
9959: --start changes for plan by request date
9960: USING_ASSEMBLY_DEMAND_DATE =
9961: DECODE(ORIGINATION_TYPE,
9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

9959: --start changes for plan by request date
9960: USING_ASSEMBLY_DEMAND_DATE =
9961: DECODE(ORIGINATION_TYPE,
9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9960: USING_ASSEMBLY_DEMAND_DATE =
9961: DECODE(ORIGINATION_TYPE,
9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

9961: DECODE(ORIGINATION_TYPE,
9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9962: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

9963: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9964: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,

Line 9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

9965: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9966: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,

Line 9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

9967: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9968: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

Line 9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

9969: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9970: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

Line 9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9971: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

Line 9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

9972: l_original_req_ship_date,
9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

9973: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9974: l_original_req_ship_date,
9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

9975: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9976: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

9977: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9978: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,

Line 9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

9979: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9980: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9988: l_original_req_ship_date,

Line 9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

9981: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9982: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9988: l_original_req_ship_date,
9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

Line 9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

9983: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9984: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9988: l_original_req_ship_date,
9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9991: schedule_ship_date = DECODE(ORIGINATION_TYPE,

Line 9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9985: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9988: l_original_req_ship_date,
9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9991: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9986: l_original_req_ship_date,
9987: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9988: l_original_req_ship_date,
9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9991: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9994: NULL),

Line 9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9988: l_original_req_ship_date,
9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9991: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9994: NULL),
9995: promise_ship_date = DECODE(ORIGINATION_TYPE,
9996: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9989: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9990: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9991: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9994: NULL),
9995: promise_ship_date = DECODE(ORIGINATION_TYPE,
9996: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9997: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9996: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9992: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9994: NULL),
9995: promise_ship_date = DECODE(ORIGINATION_TYPE,
9996: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9997: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9998: NULL)
9999: --end of plan by request date enhanc
10000: WHERE demand_id = l_demand_id

Line 9997: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9993: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9994: NULL),
9995: promise_ship_date = DECODE(ORIGINATION_TYPE,
9996: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9997: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9998: NULL)
9999: --end of plan by request date enhanc
10000: WHERE demand_id = l_demand_id
10001: AND plan_id = p_plan_id

Line 10036: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

10032: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Move_PF_Bucketed_Demands');
10033: END IF;
10034: RAISE FND_API.G_EXC_ERROR;
10035: END IF;
10036: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10037: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
10038: update msc_alloc_demands
10039: set DEMAND_DATE = l_atp_date_this_level
10040: where parent_demand_id = l_demand_id

Line 10037: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

10033: END IF;
10034: RAISE FND_API.G_EXC_ERROR;
10035: END IF;
10036: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10037: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
10038: update msc_alloc_demands
10039: set DEMAND_DATE = l_atp_date_this_level
10040: where parent_demand_id = l_demand_id
10041: and plan_id = p_plan_id;

Line 10046: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' and (p_parent_pegging_id is not null) AND p_plan_id = -1 THEN

10042: END IF;
10043: -- time_phased_atp changes end
10044:
10045: -- update summary records removed in ODS cases - for summary enhancement
10046: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' and (p_parent_pegging_id is not null) AND p_plan_id = -1 THEN
10047: IF PG_DEBUG in ('Y', 'C') THEN
10048: msc_sch_wb.atp_debug('ATP_Check: ' || 'update old date demand');
10049: END IF;
10050: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,

Line 10113: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

10109: END IF;
10110: --END IF; -- end changes cto override
10111:
10112: --- Enhance CTO Phase 1 Req #17
10113: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
10116:
10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

Line 10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

10110: --END IF; -- end changes cto override
10111:
10112: --- Enhance CTO Phase 1 Req #17
10113: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
10116:
10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10118: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

Line 10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN

10111:
10112: --- Enhance CTO Phase 1 Req #17
10113: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
10116:
10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10118: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10119: l_pegging_rec.parent_pegging_id:= l_pegging_id;

Line 10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

10113: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
10116:
10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10118: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10119: l_pegging_rec.parent_pegging_id:= l_pegging_id;
10120: l_pegging_rec.atp_level:= p_level+ 1;
10121: l_pegging_rec.organization_id:=

Line 10118: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

10114: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10115: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
10116:
10117: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10118: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10119: l_pegging_rec.parent_pegging_id:= l_pegging_id;
10120: l_pegging_rec.atp_level:= p_level+ 1;
10121: l_pegging_rec.organization_id:=
10122: p_atp_record.organization_id;

Line 10186: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

10182:
10183: -- for demo:1153192
10184: l_pegging_rec.constraint_flag := 'N';
10185: l_pegging_rec.component_identifier :=
10186: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
10187:
10188: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
10189: --- cto looks at pegging tree to place their demands. Since CTO expects to find
10190: -- id for the requested item, we add the following column. CTO will now read from this column

Line 10194: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

10190: -- id for the requested item, we add the following column. CTO will now read from this column
10191: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
10192:
10193: --diag_atp
10194: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
10195:
10196: --s_cto_rearch
10197: l_pegging_rec.dest_inv_item_id := l_dest_inv_item_id;
10198: l_pegging_rec.model_sd_flag := 2;

Line 10200: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2

10196: --s_cto_rearch
10197: l_pegging_rec.dest_inv_item_id := l_dest_inv_item_id;
10198: l_pegging_rec.model_sd_flag := 2;
10199: --s_cto_rearch
10200: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2
10201: AND l_requested_date_quantity < p_atp_record.quantity_ordered
10202: AND G_FORWARD_ATP = 'N' THEN --optional_fw
10203: -- Bug 3828469 - Add constraint only if it exists
10204: IF PG_DEBUG in ('Y', 'C') THEN

Line 10213: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and

10209: --e_cto_rearch
10210:
10211: -- dsting: get_forward_material_info has already added the pegging
10212: -- in this case
10213: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
10214: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
10217: l_atp_comp_flag = 'N' AND

Line 10214: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

10210:
10211: -- dsting: get_forward_material_info has already added the pegging
10212: -- in this case
10213: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
10214: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
10217: l_atp_comp_flag = 'N' AND
10218: --p_parent_pegging_id is null AND

Line 10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND

10211: -- dsting: get_forward_material_info has already added the pegging
10212: -- in this case
10213: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
10214: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
10217: l_atp_comp_flag = 'N' AND
10218: --p_parent_pegging_id is null AND
10219: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)

Line 10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND

10212: -- in this case
10213: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
10214: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
10217: l_atp_comp_flag = 'N' AND
10218: --p_parent_pegging_id is null AND
10219: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
10220: THEN

Line 10219: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)

10215: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
10216: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
10217: l_atp_comp_flag = 'N' AND
10218: --p_parent_pegging_id is null AND
10219: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
10220: THEN
10221: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
10222: l_pegging_rec.demand_class := p_atp_record.demand_class;
10223: --4570421

Line 10221: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement

10217: l_atp_comp_flag = 'N' AND
10218: --p_parent_pegging_id is null AND
10219: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
10220: THEN
10221: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
10222: l_pegging_rec.demand_class := p_atp_record.demand_class;
10223: --4570421
10224: l_pegging_rec.scaling_type := p_atp_record.scaling_type;
10225: l_pegging_rec.scale_multiple := p_atp_record.scale_multiple;

Line 10243: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

10239: -- same info twice.
10240:
10241: --Bug2471377 Begin changes
10242: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
10243: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
10244: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
10246: -- Link the Supply Demand Details for
10247: --first Demand class to the pegging details

Line 10244: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

10240:
10241: --Bug2471377 Begin changes
10242: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
10243: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
10244: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
10246: -- Link the Supply Demand Details for
10247: --first Demand class to the pegging details
10248:

Line 10245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN

10241: --Bug2471377 Begin changes
10242: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
10243: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
10244: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10245: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
10246: -- Link the Supply Demand Details for
10247: --first Demand class to the pegging details
10248:
10249: IF l_atp_period_first.pegging_id.COUNT > 0 THEN

Line 10259: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

10255: FOR i in 1..l_atp_period_first.Level.COUNT LOOP
10256: l_atp_period_first.Pegging_Id(i) :=
10257: l_atp_pegging_id;
10258: l_atp_period_first.End_Pegging_Id(i) :=
10259: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
10260: END LOOP;
10261:
10262: MSC_ATP_PROC.Details_Output(l_atp_period_first,
10263: l_atp_supply_demand,

Line 10267: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

10263: l_atp_supply_demand,
10264: x_atp_period,
10265: x_atp_supply_demand,
10266: l_return_status);
10267: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10268: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10269: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10270: p_parent_pegging_id IS NULL THEN
10271: null;

Line 10268: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

10264: x_atp_period,
10265: x_atp_supply_demand,
10266: l_return_status);
10267: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10268: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10269: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10270: p_parent_pegging_id IS NULL THEN
10271: null;
10272: ELSE

Line 10269: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

10265: x_atp_supply_demand,
10266: l_return_status);
10267: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
10268: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
10269: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10270: p_parent_pegging_id IS NULL THEN
10271: null;
10272: ELSE
10273:

Line 10277: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

10273:
10274: FOR i in 1..l_atp_period.Level.COUNT LOOP
10275: l_atp_period.Pegging_Id(i) := l_atp_pegging_id;
10276: l_atp_period.End_Pegging_Id(i) :=
10277: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
10278: END LOOP;
10279:
10280: IF p_atp_record.insert_flag <> 0 THEN
10281: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,

Line 10282: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

10278: END LOOP;
10279:
10280: IF p_atp_record.insert_flag <> 0 THEN
10281: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,
10282: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
10283: END IF;
10284:
10285: MSC_ATP_PROC.Details_Output(l_atp_period,
10286: l_atp_supply_demand,

Line 10290: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y

10286: l_atp_supply_demand,
10287: x_atp_period,
10288: x_atp_supply_demand,
10289: l_return_status);
10290: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y
10291: END IF; --MSC_ATP_PVT.G_INV_CTP = 4
10292: END IF;
10293: --- End Enhance CTO Phase 1 Req #17
10294: END IF; --Bug2471377 End Changes

Line 10291: END IF; --MSC_ATP_PVT.G_INV_CTP = 4

10287: x_atp_period,
10288: x_atp_supply_demand,
10289: l_return_status);
10290: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y
10291: END IF; --MSC_ATP_PVT.G_INV_CTP = 4
10292: END IF;
10293: --- End Enhance CTO Phase 1 Req #17
10294: END IF; --Bug2471377 End Changes
10295:

Line 10362: (l_requested_ship_date < l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN

10358: IF ((p_search = BACKWARD_SCHEDULING) AND
10359: --bug 2235012
10360: --(l_requested_ship_date < GREATEST(l_sysdate, l_ptf_date))) THEN
10361: --diag_atp: we dont want to stop in case of diag ATP. We still want to explode sources
10362: (l_requested_ship_date < l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN
10363: IF PG_DEBUG in ('Y', 'C') THEN
10364: msc_sch_wb.atp_debug('ATP_Check: ' || 'backward, request ship date 10365: END IF;
10366: p_atp_record.requested_date_quantity:=0.0;

Line 10374: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';

10370: IF p_parent_pegging_id is null THEN
10371: IF PG_DEBUG in ('Y', 'C') THEN
10372: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
10373: END IF;
10374: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
10375: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
10376: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
10377: -- 1275751
10378: p_atp_record.error_code := ATP_REQ_DATE_FAIL;

Line 10375: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;

10371: IF PG_DEBUG in ('Y', 'C') THEN
10372: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
10373: END IF;
10374: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
10375: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
10376: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
10377: -- 1275751
10378: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
10379: ---- bug 1819638

Line 10376: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;

10372: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
10373: END IF;
10374: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
10375: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
10376: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
10377: -- 1275751
10378: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
10379: ---- bug 1819638
10380: ---remove the demand record as supply is 0 on the req_date

Line 10391: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

10387:
10388: -- time_phased_ATP
10389: IF (l_time_phased_atp = 'Y')
10390: OR
10391: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10392: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
10393:
10394: update msc_alloc_demands
10395: set ALLOCATED_QUANTITY = 0

Line 10392: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

10388: -- time_phased_ATP
10389: IF (l_time_phased_atp = 'Y')
10390: OR
10391: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10392: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
10393:
10394: update msc_alloc_demands
10395: set ALLOCATED_QUANTITY = 0
10396: where parent_demand_id = l_demand_id

Line 10401: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

10397: and plan_id = p_plan_id;
10398: END IF;
10399:
10400: -- update summary records removed in ODS cases - for summary enhancement
10401: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
10402: IF PG_DEBUG in ('Y', 'C') THEN
10403: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
10404: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
10405: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 10450: NOT (MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and

10446: END IF;
10447: -- for bug 1094773
10448: IF (p_search = FORWARD_SCHEDULING) AND
10449: --subst : for top org in case of subst we do not add pegg
10450: NOT (MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and
10451: p_atp_record.top_tier_org_flag = 1) THEN
10452:
10453: -- assume the atp date and quantity to be single level.
10454: -- this is the worst that we can get.

Line 10501: (MSC_ATP_PVT.G_INV_CTP = 4) AND

10497: NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) AND
10498: --- End Enhance CTO Phase 1 Req #17
10499: */
10500: IF (
10501: (MSC_ATP_PVT.G_INV_CTP = 4) AND
10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
10505: --optional_fw disabling it as no forward stealing

Line 10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

10498: --- End Enhance CTO Phase 1 Req #17
10499: */
10500: IF (
10501: (MSC_ATP_PVT.G_INV_CTP = 4) AND
10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
10505: --optional_fw disabling it as no forward stealing
10506: AND MSC_ATP_PVT.G_FORWARD_ATP = 'N'

Line 10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

10499: */
10500: IF (
10501: (MSC_ATP_PVT.G_INV_CTP = 4) AND
10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
10505: --optional_fw disabling it as no forward stealing
10506: AND MSC_ATP_PVT.G_FORWARD_ATP = 'N'
10507: --3423277

Line 10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'

10500: IF (
10501: (MSC_ATP_PVT.G_INV_CTP = 4) AND
10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
10505: --optional_fw disabling it as no forward stealing
10506: AND MSC_ATP_PVT.G_FORWARD_ATP = 'N'
10507: --3423277
10508: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and

Line 10506: AND MSC_ATP_PVT.G_FORWARD_ATP = 'N'

10502: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
10503: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
10504: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
10505: --optional_fw disabling it as no forward stealing
10506: AND MSC_ATP_PVT.G_FORWARD_ATP = 'N'
10507: --3423277
10508: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and
10509: ( C_ITEM_INFO_REC.atp_comp_flag in ('Y', 'C') and
10510: p_atp_record.parent_item_id is null)) THEN

Line 10522: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

10518: ELSE
10519: l_future_atp_period := l_atp_period;
10520: l_future_atp_supply_demand := l_atp_supply_demand;
10521:
10522: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10523: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10524: l_pegging_rec.parent_pegging_id:= l_pegging_id;
10525: l_pegging_rec.atp_level:= p_level+1;
10526: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 10523: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

10519: l_future_atp_period := l_atp_period;
10520: l_future_atp_supply_demand := l_atp_supply_demand;
10521:
10522: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10523: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10524: l_pegging_rec.parent_pegging_id:= l_pegging_id;
10525: l_pegging_rec.atp_level:= p_level+1;
10526: l_pegging_rec.organization_id:= p_atp_record.organization_id;
10527: l_pegging_rec.organization_code := l_org_code;

Line 10596: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

10592:
10593: -- for demo:1153192
10594: l_pegging_rec.constraint_flag := 'N';
10595: l_pegging_rec.component_identifier :=
10596: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
10597:
10598: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10599:
10600: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item

Line 10598: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

10594: l_pegging_rec.constraint_flag := 'N';
10595: l_pegging_rec.component_identifier :=
10596: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
10597:
10598: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10599:
10600: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
10601: --- cto looks at pegging tree to place their demands. Since CTO expects to find
10602: -- id for the requested item, we add the following column. CTO will now read from this column

Line 10612: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

10608: l_pegging_rec.atp_rule_name := l_get_mat_out_rec.atp_rule_name;
10609: l_pegging_rec.rounding_control := l_rounding_control_flag;
10610: l_pegging_rec.atp_flag := l_atp_flag;
10611: l_pegging_rec.atp_component_flag := l_atp_comp_flag;
10612: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
10613: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
10614: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
10615: l_pegging_rec.fixed_lead_time := l_fixed_lt;
10616: l_pegging_rec.variable_lead_time := l_variable_lt;

Line 10627: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2 THEN

10623:
10624: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
10625:
10626: --s_cto_rearch
10627: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2 THEN
10628: IF PG_DEBUG in ('Y', 'C') THEN
10629: msc_sch_wb.atp_debug('Forward ATP, add pegging constriant');
10630: END IF;
10631: l_pegging_rec.constraint_type := 1;

Line 10652: l_future_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

10648:
10649: -- bug 1225478
10650: FOR i in 1..l_future_atp_period.Level.COUNT LOOP
10651: l_future_atp_period.Pegging_Id(i) := l_future_pegging_id;
10652: l_future_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
10653: END LOOP;
10654:
10655: -- dsting: supply/demand details pl/sql table no longer used
10656: /*

Line 10659: l_future_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

10655: -- dsting: supply/demand details pl/sql table no longer used
10656: /*
10657: FOR i in 1..l_future_atp_supply_demand.Level.COUNT LOOP
10658: l_future_atp_supply_demand.Pegging_Id(i) := l_future_pegging_id;
10659: l_future_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
10660: END LOOP;
10661: */
10662: IF p_atp_record.insert_flag <> 0 THEN
10663: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,

Line 10664: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

10660: END LOOP;
10661: */
10662: IF p_atp_record.insert_flag <> 0 THEN
10663: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,
10664: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
10665: END IF;
10666:
10667: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
10668: END IF;

Line 10667: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN

10663: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,
10664: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
10665: END IF;
10666:
10667: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
10668: END IF;
10669: -- store this pegging id to l_parent_pegging_id so
10670: -- that we know how to peg to the demand for the planned
10671: -- order that we are going to create for each child.

Line 10727: (l_atp_date_this_level = l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN

10723:
10724: -- Do not do Any Forward processing of sources for past due orders .
10725: IF ((p_search = FORWARD_SCHEDULING) AND
10726: (l_atp_date_quantity_this_level >= p_atp_record.Quantity_Ordered) AND
10727: (l_atp_date_this_level = l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN
10728: --diag_atp: we dont want to stop in case of diag ATP. We still want to explode sources
10729: IF PG_DEBUG in ('Y', 'C') THEN
10730: msc_sch_wb.atp_debug('ATP_Check: ' ||
10731: 'Past Due Order Satisfied on Sysdate, Stop unless dia_atp ');

Line 10740: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2) THEN

10736:
10737: ----bug 2235012
10738: --diag_atp
10739: ELSIF NOT (p_search = BACKWARD_SCHEDULING AND l_requested_ship_date < l_ptf_date
10740: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2) THEN
10741:
10742: IF PG_DEBUG in ('Y', 'C') THEN
10743: msc_sch_wb.atp_debug('ATP_Check: ' || 'Find Sources');
10744: msc_sch_wb.atp_debug('bom_item_type := ' || C_ITEM_INFO_REC.bom_item_type);

Line 10766: IF MSC_ATP_PVT.G_INV_CTP = 5 or l_check_model_capacity = 1 THEN

10762: l_item_sourcing_info_rec.ato_line_id(1) := null;
10763: END IF;
10764:
10765: --if ods ATP and ATO model/item or if checking base model's capacity then we only make
10766: IF MSC_ATP_PVT.G_INV_CTP = 5 or l_check_model_capacity = 1 THEN
10767: IF PG_DEBUG in ('Y', 'C') THEN
10768: msc_sch_wb.atp_debug('ATP_Check: ' || 'ods atp, we always make');
10769: END IF;
10770:

Line 10800: MSC_ATP_PVT.G_SESSION_ID,

10796: NULL,
10797: p_assign_set_id,
10798: l_item_sourcing_info_rec,
10799: --MRP_ATP_PUB.number_arr(NULL),
10800: MSC_ATP_PVT.G_SESSION_ID,
10801: l_sources,
10802: l_return_status);
10803:
10804: END IF;

Line 10810: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then

10806: IF PG_DEBUG in ('Y', 'C') THEN
10807: msc_sch_wb.atp_debug('ATP_Check: ' || 'after atp_sources');
10808: END IF;
10809:
10810: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then
10811: --- Model has option specific sources which do not match with sourcing of model
10812: --update the demand pegging
10813: update mrp_atp_details_temp
10814: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL

Line 10814: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL

10810: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then
10811: --- Model has option specific sources which do not match with sourcing of model
10812: --update the demand pegging
10813: update mrp_atp_details_temp
10814: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL
10815: where session_id = MSC_ATP_PVT.G_SESSION_ID
10816: and pegging_id = l_pegging_id
10817: and record_type = 3;
10818:

Line 10815: where session_id = MSC_ATP_PVT.G_SESSION_ID

10811: --- Model has option specific sources which do not match with sourcing of model
10812: --update the demand pegging
10813: update mrp_atp_details_temp
10814: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL
10815: where session_id = MSC_ATP_PVT.G_SESSION_ID
10816: and pegging_id = l_pegging_id
10817: and record_type = 3;
10818:
10819: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

Line 10819: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

10815: where session_id = MSC_ATP_PVT.G_SESSION_ID
10816: and pegging_id = l_pegging_id
10817: and record_type = 3;
10818:
10819: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10820:
10821: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS OR
10822: l_sources.source_type.count = 0 THEN
10823: -- no sources in supply chain bill, then we assume

Line 10900: l_parent_ptf_date := NVL(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date);

10896: j := l_sources.source_type.FIRST;
10897:
10898:
10899: --- we store parent_ptf in a local varibale as it might get changed
10900: l_parent_ptf_date := NVL(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date);
10901: IF PG_DEBUG in ('Y', 'C') THEN
10902: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_ptf_date := ' || l_parent_ptf_date);
10903: END IF;
10904: WHILE (j IS NOT NULL) LOOP

Line 10926: MSC_ATP_PVT.G_PTF_DATE := l_parent_ptf_date;

10922: END IF;
10923: END IF;
10924:
10925: --bug 2178544: Since the ptf flag may be chnaged by transfer org, we reassign it for the curent plan
10926: MSC_ATP_PVT.G_PTF_DATE := l_parent_ptf_date;
10927:
10928: IF PG_DEBUG in ('Y', 'C') THEN
10929: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside while loop for the children');
10930: END IF;

Line 10979: MSC_ATP_PVT.G_SESSION_ID,

10975: NULL, -- p_customer_id
10976: NULL, -- p_customer_site_id
10977: null, -- Supplier_id
10978: null, --suplier_site_id
10979: MSC_ATP_PVT.G_SESSION_ID,
10980: NULL, -- p_partner_site_id
10981: l_atp_rec.ship_method,
10982: l_atp_rec.delivery_lead_time);
10983:

Line 11009: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

11005: null,
11006: MSC_CALENDAR.OMC);
11007:
11008: -- Bug 3593394
11009: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
11010: -- receiving party is org
11011: l_atp_rec.receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
11012: p_atp_record.instance_id,
11013: null,

Line 11106: MSC_ATP_PVT.G_SESSION_ID,

11102: NULL, -- p_customer_id
11103: NULL, -- p_customer_site_id
11104: l_sources.Supplier_Id(j),
11105: l_sources.Supplier_Site_Id(j),
11106: MSC_ATP_PVT.G_SESSION_ID,
11107: NULL, -- p_partner_site_id
11108: l_atp_rec.ship_method,
11109: l_atp_rec.delivery_lead_time);
11110:

Line 11115: --Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

11111: IF PG_DEBUG in ('Y', 'C') THEN
11112: msc_sch_wb.atp_debug('ATP_Check: Use SMC irrespective of profile G_USE_SHIP_REC_CAL');
11113: END IF;
11114: --l_atp_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;
11115: --Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
11116:
11117: l_atp_rec.manufacturing_cal_code := MSC_CALENDAR.Get_Calendar_Code(
11118: l_sources.instance_id(j),
11119: p_plan_id,

Line 11133: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

11129: null,
11130: MSC_CALENDAR.SMC);
11131:
11132: -- Bug 3593394
11133: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
11134:
11135: l_atp_rec.receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
11136: p_atp_record.instance_id,
11137: null,

Line 11169: /* Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

11165: null,
11166: l_atp_rec.ship_method,
11167: MSC_CALENDAR.SSC);
11168:
11169: /* Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
11170: l_atp_rec.manufacturing_cal_code := MSC_CALENDAR.Get_Calendar_Code(
11171: l_sources.instance_id(j),
11172: p_plan_id,
11173: --s_cto_rearch

Line 11197: /*Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

11193: l_atp_rec.receiving_cal_code := p_atp_record.manufacturing_cal_code;
11194: l_atp_rec.intransit_cal_code := MSC_CALENDAR.FOC;
11195: l_atp_rec.shipping_cal_code := MSC_CALENDAR.FOC;
11196:
11197: /*Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
11198: l_atp_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;*/
11199:
11200: END IF;
11201: END IF;

Line 11258: --IF ( MSC_ATP_PVT.G_CTO_LINE = 'Y' ) THEN

11254: l_atp_rec.demand_source_type := p_atp_record.demand_source_type;--cmro
11255: --- Enhance CTO Phase 1 Req #16, #17
11256: -- Pass the demand source line across only for CTO case.
11257: --IF NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id THEN
11258: --IF ( MSC_ATP_PVT.G_CTO_LINE = 'Y' ) THEN
11259: -- l_atp_rec.demand_source_line := p_atp_record.demand_source_line;
11260: --END IF;
11261: --- End Enhance CTO Phase 1 Req #16, #17
11262:

Line 11344: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

11340: end; */
11341: -- l_atp_rec.delivery_lead_time := l_post_pro_lt; -- suuplier intransit lt
11342:
11343: --l_atp_rec.ship_method := 'DEFAULT';
11344: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11345: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11346:
11347: --diag_atp
11348: l_atp_rec.plan_name := p_atp_record.plan_name;

Line 11345: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

11341: -- l_atp_rec.delivery_lead_time := l_post_pro_lt; -- suuplier intransit lt
11342:
11343: --l_atp_rec.ship_method := 'DEFAULT';
11344: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11345: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11346:
11347: --diag_atp
11348: l_atp_rec.plan_name := p_atp_record.plan_name;
11349: --Bug 5651914 start

Line 11353: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,-1) = -1 THEN

11349: --Bug 5651914 start
11350: IF PG_DEBUG in ('Y', 'C') THEN
11351: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PLAN_INFO_REC.sr_instance_id: ' || G_PLAN_INFO_REC.sr_instance_id);
11352: END IF;
11353: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,-1) = -1 THEN
11354: IF PG_DEBUG in ('Y', 'C') THEN
11355: msc_sch_wb.atp_debug('ATP_Check: ' || 'Re-calculating global plan information');
11356: END IF;
11357: SELECT trunc(cutoff_date),

Line 11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,

11370: ),
11371: sr_instance_id,
11372: trunc(plan_start_date),
11373: organization_id
11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,
11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,
11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,
11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,
11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id

Line 11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,

11371: sr_instance_id,
11372: trunc(plan_start_date),
11373: organization_id
11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,
11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,
11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,
11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,
11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id
11379: FROM msc_plans

Line 11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,

11372: trunc(plan_start_date),
11373: organization_id
11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,
11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,
11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,
11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,
11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id
11379: FROM msc_plans
11380: WHERE plan_id = p_plan_id;

Line 11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,

11373: organization_id
11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,
11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,
11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,
11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,
11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id
11379: FROM msc_plans
11380: WHERE plan_id = p_plan_id;
11381: END IF;

Line 11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id

11374: INTO MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date,
11375: MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_pur_lead_time,
11376: MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id,
11377: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date,
11378: MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id
11379: FROM msc_plans
11380: WHERE plan_id = p_plan_id;
11381: END IF;
11382: --Bug 5651914 end

Line 11424: ---- new plann then MSC_ATP_PVT.G_SUMMARY_FLAG will be set to 'N'.

11420:
11421: ---- store summary flags before and after get_plan_info
11422: ---- The reason we are doing it is that we haven't added
11423: ---- planned order as yet. If summary is not available for
11424: ---- new plann then MSC_ATP_PVT.G_SUMMARY_FLAG will be set to 'N'.
11425: ---- When we try to add planned order then the sumamry tables will
11426: ----- not be updated even though the G_SUMMARY_FLAG for the old org's
11427: ----- plan was 'Y'
11428:

Line 11429: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

11425: ---- When we try to add planned order then the sumamry tables will
11426: ----- not be updated even though the G_SUMMARY_FLAG for the old org's
11427: ----- plan was 'Y'
11428:
11429: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11430:
11431: /*
11432: -- New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
11433: -- (SCLT)

Line 11470: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

11466: RAISE FND_API.G_EXC_ERROR;
11467: END IF;
11468: /* time_phased_atp changes end*/
11469:
11470: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
11471: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
11472:
11473: l_plan_id := l_plan_info_rec.plan_id;
11474: l_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 11478: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

11474: l_assign_set_id := l_plan_info_rec.assignment_set_id;
11475: -- changes for bug 2392456 ends
11476:
11477:
11478: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11479:
11480: /* bug 3953635: Del_lead_time and ship method have already been populated
11481: -- for bug 1124206
11482: l_atp_rec.delivery_lead_time :=

Line 11514: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';

11510: END IF;
11511: --bug 2854351
11512: --l_atp_rec.error_code := TRY_ATP_LATER;
11513: l_atp_rec.error_code := PLAN_DOWN_TIME;
11514: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
11515: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11516:
11517: ELSIF l_plan_id is NOT NULL THEN
11518: -- dsting 2764213

Line 11515: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

11511: --bug 2854351
11512: --l_atp_rec.error_code := TRY_ATP_LATER;
11513: l_atp_rec.error_code := PLAN_DOWN_TIME;
11514: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
11515: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11516:
11517: ELSIF l_plan_id is NOT NULL THEN
11518: -- dsting 2764213
11519: l_planned_sources := 1;

Line 11534: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

11530: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
11531: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
11532: --l_PO_qty := CEIL(l_net_demand); --bug3397904
11533: IF (p_search = FORWARD_SCHEDULING)
11534: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11535: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11536: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11537:
11538: l_PO_qty := CEIL(p_atp_record.quantity_ordered);

Line 11535: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

11531: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
11532: --l_PO_qty := CEIL(l_net_demand); --bug3397904
11533: IF (p_search = FORWARD_SCHEDULING)
11534: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11535: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11536: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11537:
11538: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
11539: IF PG_DEBUG in ('Y', 'C') THEN

Line 11536: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

11532: --l_PO_qty := CEIL(l_net_demand); --bug3397904
11533: IF (p_search = FORWARD_SCHEDULING)
11534: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11535: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11536: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11537:
11538: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
11539: IF PG_DEBUG in ('Y', 'C') THEN
11540: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 11551: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

11547: END IF;
11548: ELSE
11549: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
11550: IF (p_search = FORWARD_SCHEDULING)
11551: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11552: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11553: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11554:
11555: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066

Line 11552: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

11548: ELSE
11549: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
11550: IF (p_search = FORWARD_SCHEDULING)
11551: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11552: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11553: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11554:
11555: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
11556: IF PG_DEBUG in ('Y', 'C') THEN

Line 11553: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

11549: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
11550: IF (p_search = FORWARD_SCHEDULING)
11551: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
11552: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
11553: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
11554:
11555: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
11556: IF PG_DEBUG in ('Y', 'C') THEN
11557: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 11599: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );

11595: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
11596: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
11597: msc_sch_wb.atp_debug('ATP_Check: ' || 'PPLT '||l_post_pro_lt);
11598: msc_sch_wb.atp_debug('ATP_Check: ' || 'Ship_method := ' || l_sources.ship_method(j));
11599: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );
11600: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
11601: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
11602: END IF;
11603:

Line 11620: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );

11616: l_atp_rec.intransit_cal_code, -1 * l_atp_rec.delivery_lead_time, -1,
11617: l_atp_rec.shipping_cal_code, -1, p_atp_record.instance_id);
11618: IF PG_DEBUG in ('Y', 'C') THEN
11619: msc_sch_wb.atp_debug('ATP_Check: ' || 'After 3 Set Cal Offset l_ptf_date_for_child := ' ||l_ptf_date_for_child );
11620: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );
11621: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
11622: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
11623: END IF;
11624:

Line 11625: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993

11621: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
11622: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
11623: END IF;
11624:
11625: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
11626:
11627: IF PG_DEBUG in ('Y', 'C') THEN
11628: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
11629: ||MSC_ATP_PVT.G_PTF_DATE );

Line 11628: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '

11624:
11625: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
11626:
11627: IF PG_DEBUG in ('Y', 'C') THEN
11628: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
11629: ||MSC_ATP_PVT.G_PTF_DATE );
11630: END IF;
11631:
11632: /* ship_rec_cal changes begin */

Line 11629: ||MSC_ATP_PVT.G_PTF_DATE );

11625: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
11626:
11627: IF PG_DEBUG in ('Y', 'C') THEN
11628: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
11629: ||MSC_ATP_PVT.G_PTF_DATE );
11630: END IF;
11631:
11632: /* ship_rec_cal changes begin */
11633: l_dock_date := MSC_CALENDAR.DATE_OFFSET (

Line 11641: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

11637: -1 * l_post_pro_lt, -1);
11638:
11639: IF PG_DEBUG in ('Y', 'C') THEN
11640: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child: '||l_ptf_date_for_child);
11641: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11642: msc_sch_wb.atp_debug('ATP_Check: ' || '___________________Start Offset___________________');
11643: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after subtracting PPLT using OMC: '||l_dock_date);
11644: END IF;
11645:

Line 11665: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE before offset : '||MSC_ATP_PVT.G_PTF_DATE);

11661: l_dock_date,
11662: -1 * l_atp_rec.delivery_lead_time, -1);
11663: -- Bug No 4592289/4667756/5053993 Start
11664: IF PG_DEBUG in ('Y', 'C') THEN
11665: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE before offset : '||MSC_ATP_PVT.G_PTF_DATE);
11666: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_PTF_DATE before offset : '||l_PTF_DATE);
11667: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_START_DATE before offset : '||l_START_DATE);
11668: msc_sch_wb.atp_debug('ATP_Check: ' || 'From Org : '|| l_atp_rec.organization_id);
11669: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);

Line 11672: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN

11668: msc_sch_wb.atp_debug('ATP_Check: ' || 'From Org : '|| l_atp_rec.organization_id);
11669: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
11670: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
11671: END IF;
11672: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
11673: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
11674: p_atp_record.instance_id,
11675: MSC_ATP_PVT.G_PTF_DATE ,
11676: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756

Line 11673: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,

11669: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
11670: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
11671: END IF;
11672: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
11673: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
11674: p_atp_record.instance_id,
11675: MSC_ATP_PVT.G_PTF_DATE ,
11676: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
11677: IF PG_DEBUG in ('Y', 'C') THEN

Line 11675: MSC_ATP_PVT.G_PTF_DATE ,

11671: END IF;
11672: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
11673: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
11674: p_atp_record.instance_id,
11675: MSC_ATP_PVT.G_PTF_DATE ,
11676: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
11677: IF PG_DEBUG in ('Y', 'C') THEN
11678: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
11679: END IF;

Line 11678: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);

11674: p_atp_record.instance_id,
11675: MSC_ATP_PVT.G_PTF_DATE ,
11676: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
11677: IF PG_DEBUG in ('Y', 'C') THEN
11678: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
11679: END IF;
11680: else
11681: G_PTF_DATE := l_PTF_DATE;
11682: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );

Line 11682: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );

11678: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
11679: END IF;
11680: else
11681: G_PTF_DATE := l_PTF_DATE;
11682: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );
11683: END IF;
11684: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
11685: l_atp_rec.shipping_cal_code,
11686: p_atp_record.instance_id,

Line 11684: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(

11680: else
11681: G_PTF_DATE := l_PTF_DATE;
11682: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );
11683: END IF;
11684: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
11685: l_atp_rec.shipping_cal_code,
11686: p_atp_record.instance_id,
11687: MSC_ATP_PVT.G_PTF_DATE );
11688: IF PG_DEBUG in ('Y', 'C') THEN

Line 11687: MSC_ATP_PVT.G_PTF_DATE );

11683: END IF;
11684: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
11685: l_atp_rec.shipping_cal_code,
11686: p_atp_record.instance_id,
11687: MSC_ATP_PVT.G_PTF_DATE );
11688: IF PG_DEBUG in ('Y', 'C') THEN
11689: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);
11690: END IF;
11691:

Line 11689: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);

11685: l_atp_rec.shipping_cal_code,
11686: p_atp_record.instance_id,
11687: MSC_ATP_PVT.G_PTF_DATE );
11688: IF PG_DEBUG in ('Y', 'C') THEN
11689: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);
11690: END IF;
11691:
11692: -- Bug No 4592289/4667756/5053993 Ends
11693:

Line 11717: -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);

11713: l_order_date := MSC_CALENDAR.DATE_OFFSET (
11714: p_atp_record.manufacturing_cal_code,
11715: p_atp_record.instance_id,
11716: l_atp_rec.requested_ship_date,
11717: -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);
11718:
11719: IF PG_DEBUG in ('Y', 'C') THEN
11720: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after subtracting pre PLT using OMC : '||l_order_date);
11721: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');

Line 11729: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = forward_scheduling) and

11725: IF PG_DEBUG in ('Y', 'C') THEN
11726: msc_sch_wb.atp_debug('ATP_Check: ' || 'Ship Date '||l_atp_rec.requested_ship_date);
11727: END IF;
11728:
11729: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = forward_scheduling) and
11730: -- ship_rec_cal
11731: -- (l_dock_date < l_ptf_date or l_order_date < sysdate) THEN
11732: -- Bug 3412143 - Ship date in source org should be greater than receiving org's PTF
11733: -- Also use l_trunc_sysdate instead of accessing sysdate directly.

Line 11750: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);

11746: l_ptf_due_date := MSC_CALENDAR.DATE_OFFSET (
11747: p_atp_record.manufacturing_cal_code,
11748: p_atp_record.instance_id,
11749: l_ptf_date,
11750: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);
11751:
11752: IF PG_DEBUG in ('Y', 'C') THEN
11753: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_ptf_due_date);
11754: END IF;

Line 11786: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);

11782: p_atp_record.manufacturing_cal_code,
11783: p_atp_record.instance_id,
11784: -- sysdate, - Bug 3512996 - Removed unnecessary reference to sysdate
11785: l_trunc_sysdate,
11786: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);
11787:
11788: -- Bug 3512996 - Set this date as PTF date for the source org so that the call to ATP_Check
11789: -- for source org does not return a date earlier than this date, thereby enforcing
11790: -- pre-PLT for transfer cases. Also this date doesn't need to be validated on OSC

Line 11792: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);

11788: -- Bug 3512996 - Set this date as PTF date for the source org so that the call to ATP_Check
11789: -- for source org does not return a date earlier than this date, thereby enforcing
11790: -- pre-PLT for transfer cases. Also this date doesn't need to be validated on OSC
11791: -- the output of ATP_Check will anyway be validated on OSC.
11792: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);
11793:
11794: IF PG_DEBUG in ('Y', 'C') THEN
11795: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_lt_due_date);
11796: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

Line 11796: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

11792: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);
11793:
11794: IF PG_DEBUG in ('Y', 'C') THEN
11795: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_lt_due_date);
11796: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11797: END IF;
11798:
11799: l_lt_due_date := MSC_CALENDAR.THREE_STEP_CAL_OFFSET_DATE(
11800: l_lt_due_date, l_atp_rec.shipping_cal_code, +1,

Line 11847: END IF; --- IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

11843: END IF;
11844:
11845: END IF;
11846:
11847: END IF; --- IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
11848:
11849: ELSE
11850: --s_cto_rearch
11851: l_atp_rec.base_model_id := C_ITEM_INFO_REC.base_item_id;

Line 11938: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;

11934: -- l_process_lt := l_fixed_lt + l_variable_lt * l_net_demand;
11935: -- Fixed + Variable is discontinued, Instead item's processing lead time
11936: -- essentially full_lead_time is used.
11937:
11938: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;
11939: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11940: IF PG_DEBUG in ('Y', 'C') THEN
11941: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Process_lead_time = '|| l_process_lt);
11942: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pre_pro_lt = ' || l_pre_pro_lt);

Line 11939: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;

11935: -- Fixed + Variable is discontinued, Instead item's processing lead time
11936: -- essentially full_lead_time is used.
11937:
11938: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;
11939: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11940: IF PG_DEBUG in ('Y', 'C') THEN
11941: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Process_lead_time = '|| l_process_lt);
11942: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pre_pro_lt = ' || l_pre_pro_lt);
11943: END IF;

Line 12019: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);

12015: p_atp_record.instance_id,
12016: l_parent_ptf_date,
12017: -1 * l_post_pro_lt, -1);
12018:
12019: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);
12020:
12021: /* ship_rec_cal changes begin */
12022: -- intransit lead time offset in case of capacity to ship
12023: IF l_sources.sup_cap_type(j) = 1 THEN

Line 12206: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);

12202:
12203: l_order_date := l_supplier_start_date; -- Bug 3241766
12204:
12205: -- Bug 3782472 - set ptf date for lower level
12206: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);
12207:
12208: IF PG_DEBUG in ('Y', 'C') THEN
12209: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');
12210: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);

Line 12213: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

12209: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');
12210: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
12211: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_supplier_start_date := ' || l_supplier_start_date);
12212: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' || l_ptf_date_for_child);
12213: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
12214: END IF;
12215: /* ship_rec_cal changes end */
12216:
12217: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and

Line 12217: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and

12213: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
12214: END IF;
12215: /* ship_rec_cal changes end */
12216:
12217: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and
12218: (l_start_date < l_ptf_date or
12219: l_supplier_start_date < l_trunc_sysdate) THEN -- Enforce Pur LT - change sysdate to avoid
12220: -- l_supplier_start_date < sysdate) THEN -- extraneous call to sysdate
12221:

Line 12438: MSC_ATP_PVT.G_PTF_DATE := GREATEST(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date_for_child);

12434: Instead pass this constraint as G_PTF_DATE
12435: l_atp_rec.requested_ship_date := GREATEST(l_atp_rec.requested_ship_date,l_supplier_request_date);
12436: */
12437:
12438: MSC_ATP_PVT.G_PTF_DATE := GREATEST(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date_for_child);
12439:
12440: -- PTF for lower level = greatest(sysdate+prePLT, current org's PTF, parent org's PTF)
12441: -- after validating on all applicable calendars.
12442:

Line 12447: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

12443: IF PG_DEBUG in ('Y', 'C') THEN
12444: msc_sch_wb.atp_debug('ATP_Check: ' || '___________________End Calc LT Due Date___________________');
12445: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_lt_due_date := ' || l_lt_due_date);
12446: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child: '||l_ptf_date_for_child);
12447: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
12448: END IF;
12449: /* ship_rec_cal changes end */
12450:
12451: -- Bug 3525582 - Constraint message should be added only if constraint actually exists

Line 12519: MSC_ATP_PVT.G_SUMMARY_FLAG := l_old_summary_flag;

12515: -- insert a plan order for the l_net_demand
12516: ---- Change the flag temprorily as new plan's summary flag might be
12517: ---- different from last plan's summary flag
12518: ----
12519: MSC_ATP_PVT.G_SUMMARY_FLAG := l_old_summary_flag;
12520: /* rajjain 02/19/2003 Bug 2788302 Begin
12521: * set org to null for Supplier's case. */
12522: IF NVL(l_atp_rec.supplier_id,-1) <> -1 THEN
12523: msc_sch_wb.atp_debug('Set Org id null in Supplier case');

Line 12539: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) AND (l_src_org_id is NOT NULL) THEN

12535: --bug 2792702: Remove this condition as we need to create planned order
12536: --during forward scheduling
12537: --IF l_pegging_rec.constraint_type IS NULL THEN
12538: -- Begin ATP4drp Create Planned Arrivals for DRP plans
12539: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) AND (l_src_org_id is NOT NULL) THEN
12540: l_supply_rec.instance_id := p_atp_record.instance_id;
12541: l_supply_rec.plan_id := p_plan_id;
12542: l_supply_rec.inventory_item_id :=
12543: C_ITEM_INFO_REC.dest_inv_item_id;

Line 12631: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

12627: msc_sch_wb.atp_debug('ATP_Check: ' || 'here the the parent_pegging_id inside the buy/transfer :'||
12628: l_pegging_id);
12629: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_pegging_id := ' || l_parent_pegging_id);
12630: END IF;
12631: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
12632: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12633: l_pegging_rec.parent_pegging_id:= l_parent_pegging_id;
12634: l_pegging_rec.atp_level:= p_level+1;
12635:

Line 12632: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

12628: l_pegging_id);
12629: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_pegging_id := ' || l_parent_pegging_id);
12630: END IF;
12631: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
12632: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12633: l_pegging_rec.parent_pegging_id:= l_parent_pegging_id;
12634: l_pegging_rec.atp_level:= p_level+1;
12635:
12636:

Line 12655: l_pegging_rec.organization_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

12651: ELSE
12652: /* Modularize Item and Org Info */
12653: MSC_ATP_PROC.get_global_org_info(p_atp_record.instance_id,
12654: l_pegging_rec.organization_id);
12655: l_pegging_rec.organization_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
12656: /* l_pegging_rec.organization_code :=
12657: MSC_ATP_FUNC.get_org_code(p_atp_record.instance_id,
12658: l_pegging_rec.organization_id);
12659: Modularize Item and Org Info */

Line 12725: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

12721: -- for demo:1153192
12722: l_pegging_rec.constraint_flag := 'N';
12723: l_pegging_rec.component_identifier :=
12724:
12725: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
12726: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
12727:
12728: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
12729: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 12726: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

12722: l_pegging_rec.constraint_flag := 'N';
12723: l_pegging_rec.component_identifier :=
12724:
12725: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
12726: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
12727:
12728: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
12729: --- cto looks at pegging tree to place their demands. Since CTO expects to find
12730: -- id for the requested item, we add the following column. CTO will now read from this column

Line 12741: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = BACKWARD_SCHEDULING

12737: l_pegging_rec.ptf_date := l_ptf_date;
12738: END IF;
12739:
12740: --diag_atp:
12741: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = BACKWARD_SCHEDULING
12742: AND l_constraint_flag = 1 THEN
12743: l_pegging_rec.supply_demand_quantity := 0;
12744: ELSE
12745: l_pegging_rec.supply_demand_quantity :=l_atp_rec.quantity_ordered;

Line 12751: l_pegging_rec.pegging_type := MSC_ATP_PVT.TRANSFER_SUPPLY;

12747: l_pegging_rec.ptf_date := l_ptf_date;
12748: IF l_sources.source_type(j) = TRANSFER THEN
12749: l_pegging_rec.intransit_lead_time := l_sources.Lead_Time(j);
12750: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
12751: l_pegging_rec.pegging_type := MSC_ATP_PVT.TRANSFER_SUPPLY;
12752: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
12753: -- Bug 3826234
12754: l_pegging_rec.shipping_cal_code := l_atp_rec.shipping_cal_code;
12755: l_pegging_rec.receiving_cal_code := l_atp_rec.receiving_cal_code;

Line 12764: l_pegging_rec.pegging_type := MSC_ATP_PVT.BUY_SUPPLY;

12760: l_pegging_rec.intransit_lead_time := l_atp_rec.delivery_lead_time; --supplier intransit LT
12761: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
12762: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
12763: l_pegging_rec.processing_lead_time := l_process_lt;
12764: l_pegging_rec.pegging_type := MSC_ATP_PVT.BUY_SUPPLY;
12765: -- Bug 3826234
12766: l_pegging_rec.shipping_cal_code := l_atp_rec.shipping_cal_code;
12767: l_pegging_rec.receiving_cal_code := l_atp_rec.receiving_cal_code;
12768: l_pegging_rec.intransit_cal_code := l_atp_rec.intransit_cal_code;

Line 12789: IF l_sources.source_type(j) = MSC_ATP_PVT.BUY

12785: --bug 3328421
12786: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
12787:
12788: -- dsting diag_atp
12789: IF l_sources.source_type(j) = MSC_ATP_PVT.BUY
12790: AND l_pegging_rec.constraint_type IS NULL
12791: THEN
12792: l_last_good_pegging_id := l_pegging_id;
12793: IF PG_DEBUG in ('Y', 'C') THEN

Line 12829: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT ' || MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT);

12825: --e_Cto_rearch
12826:
12827: -- dsting diag_atp
12828: IF PG_DEBUG in ('Y', 'C') THEN
12829: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT ' || MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT);
12830: END IF;
12831: -- dsting 2819716. we always add planned orders now
12832: -- so we should always add pegging.
12833: /*

Line 12835: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'

12831: -- dsting 2819716. we always add planned orders now
12832: -- so we should always add pegging.
12833: /*
12834: IF l_constraint_flag <> 1
12835: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'
12836: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1
12837: THEN
12838: */ l_pegging_rec.demand_class := p_atp_record.demand_class;
12839:

Line 12836: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1

12832: -- so we should always add pegging.
12833: /*
12834: IF l_constraint_flag <> 1
12835: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'
12836: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1
12837: THEN
12838: */ l_pegging_rec.demand_class := p_atp_record.demand_class;
12839:
12840: --4570421

Line 12860: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null

12856: ELSIF PG_DEBUG in ('Y', 'C') THEN
12857: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_OPTIONAL_FW := ' || G_OPTIONAL_FW);
12858: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FW_PEGGING_ID := ' || G_FW_PEGGING_ID);
12859: END IF;
12860: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null
12861: AND (G_FW_CTP_PEGGING_ID.COUNT = 0 --Means top level, for next source value = null
12862: OR G_FW_CTP_PEGGING_ID(G_FW_CTP_PEGGING_ID.COUNT) is null) then
12863: IF G_FW_CTP_PEGGING_ID.COUNT = 0 THEN
12864: G_FW_CTP_PEGGING_ID.EXTEND;

Line 12881: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;

12877: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_OPTIONAL_FW := ' || G_OPTIONAL_FW);
12878: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FW_PEGGING_ID := ' || G_FW_PEGGING_ID);
12879: END IF;
12880: --- now chnage back the summary flag for new plan
12881: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12882: -- 2178544:
12883: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12884: IF PG_DEBUG in ('Y', 'C') THEN
12885: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

Line 12883: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);

12879: END IF;
12880: --- now chnage back the summary flag for new plan
12881: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12882: -- 2178544:
12883: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12884: IF PG_DEBUG in ('Y', 'C') THEN
12885: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
12886: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' || l_ptf_date);
12887: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);

Line 12885: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

12881: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12882: -- 2178544:
12883: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12884: IF PG_DEBUG in ('Y', 'C') THEN
12885: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
12886: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' || l_ptf_date);
12887: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
12888: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside buy/transfer');
12889: END IF;

Line 12925: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673

12921: IF PG_DEBUG in ('Y', 'C') THEN
12922: msc_sch_wb.atp_debug('NO_MAKE_BUY_CHILDREN: pre atp_check');
12923: END IF;
12924:
12925: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
12926:
12927: MSC_ATP_PVT.ATP_Check(l_atp_rec,
12928: l_plan_id,
12929: p_level + 2,

Line 12927: MSC_ATP_PVT.ATP_Check(l_atp_rec,

12923: END IF;
12924:
12925: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
12926:
12927: MSC_ATP_PVT.ATP_Check(l_atp_rec,
12928: l_plan_id,
12929: p_level + 2,
12930: p_scenario_id,
12931: p_search,

Line 12939: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN

12935: l_tb_atp_period,
12936: l_tb_atp_supply_demand,
12937: l_return_status);
12938: -- krajan: 2400614
12939: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
12940: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;
12941: END IF;
12942:
12943:

Line 12940: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;

12936: l_tb_atp_supply_demand,
12937: l_return_status);
12938: -- krajan: 2400614
12939: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
12940: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;
12941: END IF;
12942:
12943:
12944: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

Line 12944: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

12940: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;
12941: END IF;
12942:
12943:
12944: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12945:
12946: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12947:
12948: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

Line 12946: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

12942:
12943:
12944: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12945:
12946: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12947:
12948: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
12949: IF PG_DEBUG in ('Y', 'C') THEN
12950: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12948: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

12944: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12945:
12946: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12947:
12948: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
12949: IF PG_DEBUG in ('Y', 'C') THEN
12950: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12952: END IF;

Line 12953: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

12949: IF PG_DEBUG in ('Y', 'C') THEN
12950: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12952: END IF;
12953: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
12954: -- dsting 2764213
12955: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
12956: IF PG_DEBUG in ('Y', 'C') THEN
12957: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12955: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

12951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12952: END IF;
12953: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
12954: -- dsting 2764213
12955: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
12956: IF PG_DEBUG in ('Y', 'C') THEN
12957: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12958: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12959: END IF;

Line 12960: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

12956: IF PG_DEBUG in ('Y', 'C') THEN
12957: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12958: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12959: END IF;
12960: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
12961: -- krajan 2752705
12962: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
12963: IF PG_DEBUG in ('Y', 'C') THEN
12964: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12962: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

12958: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12959: END IF;
12960: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
12961: -- krajan 2752705
12962: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
12963: IF PG_DEBUG in ('Y', 'C') THEN
12964: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12965: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12966: END IF;

Line 12967: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

12963: IF PG_DEBUG in ('Y', 'C') THEN
12964: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12965: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12966: END IF;
12967: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
12968: END IF;
12969:
12970: -- Bug 3633591 - Reset G_ITEM_INFO_REC as it may have changed.
12971: G_ITEM_INFO_REC := C_ITEM_INFO_REC;

Line 13080: -- Bug 3633591 - Dont use global variable here : -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);

13076: l_order_date := MSC_CALENDAR.DATE_OFFSET (
13077: p_atp_record.manufacturing_cal_code,
13078: p_atp_record.instance_id,
13079: l_sugg_start_date,
13080: -- Bug 3633591 - Dont use global variable here : -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);
13081: -1 * l_pre_pro_lt, -1);
13082: --bug3821358 Moving Order date to non past due non working date on a day closer to the first working day
13083: IF l_order_date < l_trunc_sysdate THEN
13084: IF PG_DEBUG in ('Y', 'C') THEN

Line 13332: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY

13328: THEN
13329: --bug 3328421: Update actual_supply_demand_date column
13330: --update mrp_atp_details_temp set required_date =
13331: update mrp_atp_details_temp set actual_supply_demand_date =
13332: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
13333: where session_id = MSC_ATP_PVT.G_SESSION_ID
13334: and pegging_id = l_parent_pegging_id
13335: and record_type = 3;
13336:

Line 13333: where session_id = MSC_ATP_PVT.G_SESSION_ID

13329: --bug 3328421: Update actual_supply_demand_date column
13330: --update mrp_atp_details_temp set required_date =
13331: update mrp_atp_details_temp set actual_supply_demand_date =
13332: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
13333: where session_id = MSC_ATP_PVT.G_SESSION_ID
13334: and pegging_id = l_parent_pegging_id
13335: and record_type = 3;
13336:
13337: IF PG_DEBUG in ('Y', 'C') THEN

Line 13378: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY

13374: THEN
13375: --bug 3328421: update actual suply demand date
13376: --update mrp_atp_details_temp set required_date =
13377: update mrp_atp_details_temp set actual_supply_demand_date =
13378: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY
13379: where session_id = MSC_ATP_PVT.G_SESSION_ID
13380: and pegging_id = l_parent_pegging_id
13381: and record_type = 3;
13382:

Line 13379: where session_id = MSC_ATP_PVT.G_SESSION_ID

13375: --bug 3328421: update actual suply demand date
13376: --update mrp_atp_details_temp set required_date =
13377: update mrp_atp_details_temp set actual_supply_demand_date =
13378: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY
13379: where session_id = MSC_ATP_PVT.G_SESSION_ID
13380: and pegging_id = l_parent_pegging_id
13381: and record_type = 3;
13382:
13383: IF PG_DEBUG in ('Y', 'C') THEN

Line 13392: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;

13388:
13389: -- remove what's bad
13390: --subst: we remember this pegging id so that when we go back in
13391: -- ATP_CHECK_SUBST we can remember to remove this pegging if need to be
13392: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;
13393: -- remove what's bad
13394:
13395: IF PG_DEBUG in ('Y', 'C') THEN
13396: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_pegging_tab : ' || l_atp_pegging_tab.COUNT);

Line 13481: MSC_ATP_PVT.UNDO, -- dsting 2754446

13477: l_sugg_start_date, -- Bug 3241766
13478: l_order_date, -- Bug 3241766
13479: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
13480: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
13481: MSC_ATP_PVT.UNDO, -- dsting 2754446
13482: l_conversion_rate -- dsting 2754446
13483: ); -- dock date
13484:
13485: -- move the supply/demand, period atp

Line 13503: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN

13499: msc_sch_wb.atp_debug('ATP_Check: ' || 'Are we here? we should adjust the planned order');
13500: END IF;
13501:
13502: --5183022 further iterations error code should be set 53
13503: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN
13504: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
13505: END IF;
13506: -- cchen: bug 1121227
13507: -- the quantity we want to adjust should not

Line 13513: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and

13509: -- l_atp_rec.requested_date_quantity
13510:
13511: IF( l_atp_rec.children_type <> MAKE_BUY_CHILDREN and
13512: l_have_make_buy_parent = 0 AND
13513: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
13514: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
13515: THEN
13516: l_update_PO_mode := MSC_ATP_PVT.INVALID;
13517: ELSE

Line 13514: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )

13510:
13511: IF( l_atp_rec.children_type <> MAKE_BUY_CHILDREN and
13512: l_have_make_buy_parent = 0 AND
13513: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
13514: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
13515: THEN
13516: l_update_PO_mode := MSC_ATP_PVT.INVALID;
13517: ELSE
13518: l_update_PO_mode := MSC_ATP_PVT.UNDO;

Line 13516: l_update_PO_mode := MSC_ATP_PVT.INVALID;

13512: l_have_make_buy_parent = 0 AND
13513: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
13514: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
13515: THEN
13516: l_update_PO_mode := MSC_ATP_PVT.INVALID;
13517: ELSE
13518: l_update_PO_mode := MSC_ATP_PVT.UNDO;
13519: END IF;
13520: IF PG_DEBUG in ('Y', 'C') THEN

Line 13518: l_update_PO_mode := MSC_ATP_PVT.UNDO;

13514: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
13515: THEN
13516: l_update_PO_mode := MSC_ATP_PVT.INVALID;
13517: ELSE
13518: l_update_PO_mode := MSC_ATP_PVT.UNDO;
13519: END IF;
13520: IF PG_DEBUG in ('Y', 'C') THEN
13521: msc_sch_wb.atp_debug('ATP_Check: ' || 'set l_update_PO_mode ' || l_update_PO_mode);
13522: msc_sch_wb.atp_debug('ATP_Check: ' || 'make_buy_children ' || l_atp_rec.children_type);

Line 13536: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR

13532: -- balance the parent demand and only update the pegging
13533: -- dsting 2819716. we always add planned orders now
13534: -- so we should always update them too.
13535: -- IF l_constraint_flag <> 1 THEN
13536: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR
13537: l_sources.source_type.next(j) is not NULL OR
13538: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1
13539: THEN
13540:

Line 13538: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1

13534: -- so we should always update them too.
13535: -- IF l_constraint_flag <> 1 THEN
13536: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR
13537: l_sources.source_type.next(j) is not NULL OR
13538: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1
13539: THEN
13540:
13541: IF PG_DEBUG in ('Y', 'C') THEN
13542: msc_sch_wb.atp_debug('l_PO_qty: ' || l_PO_qty);

Line 13566: IF l_update_PO_mode = MSC_ATP_PVT.UNDO THEN

13562: l_update_PO_mode,
13563: l_conversion_rate
13564: ); -- dock date
13565:
13566: IF l_update_PO_mode = MSC_ATP_PVT.UNDO THEN
13567: l_last_good_pegging_id := l_pegging_id;
13568: END IF;
13569:
13570: IF l_requested_ship_date <= p_atp_record.atf_date THEN

Line 13583: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13579: least(greatest(l_atp_rec.requested_date_quantity, 0)));
13580: END IF;
13581: */
13582: --5230396, updating planned order for diag ATP too in Buy case.
13583: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13584: IF PG_DEBUG in ('Y', 'C') THEN
13585: msc_sch_wb.atp_debug('l_PO_qty: ' || l_PO_qty);
13586: msc_sch_wb.atp_debug('l_prim_uom_req_date_qty: ' || l_prim_uom_req_date_qty);
13587: END IF;

Line 13662: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

13658: l_get_comp_info_rec.model_sr_inv_item_id := l_sr_inv_item_id;
13659: --bug 3059305: Pass ship date from last source as the cutoff date
13660: l_get_comp_info_rec.ship_date_this_level := p_atp_record.ship_date;
13661:
13662: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
13663: --4501944, call get_pf_plan_info in make cases too.
13664: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id := NULL; --NULL the plan_id in global array so that get_plan_info gets called properly
13665: MSC_ATP_PF.Get_PF_Plan_Info(
13666: p_atp_record.instance_id,

Line 13664: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id := NULL; --NULL the plan_id in global array so that get_plan_info gets called properly

13660: l_get_comp_info_rec.ship_date_this_level := p_atp_record.ship_date;
13661:
13662: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
13663: --4501944, call get_pf_plan_info in make cases too.
13664: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id := NULL; --NULL the plan_id in global array so that get_plan_info gets called properly
13665: MSC_ATP_PF.Get_PF_Plan_Info(
13666: p_atp_record.instance_id,
13667: p_atp_record.request_item_id,
13668: p_atp_record.inventory_item_id,

Line 13699: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, null);

13695:
13696: /* -- we also need to get model bom if it has not been collected
13697: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 THEN
13698:
13699: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, null);
13700: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
13701:
13702: END IF;
13703: */

Line 13722: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

13718: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
13719: --l_PO_qty := CEIL(l_net_demand);
13720: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13721: IF (p_search = FORWARD_SCHEDULING)
13722: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13723: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13724: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13725: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
13726: IF PG_DEBUG in ('Y', 'C') THEN

Line 13723: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

13719: --l_PO_qty := CEIL(l_net_demand);
13720: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13721: IF (p_search = FORWARD_SCHEDULING)
13722: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13723: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13724: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13725: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
13726: IF PG_DEBUG in ('Y', 'C') THEN
13727: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 13724: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

13720: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13721: IF (p_search = FORWARD_SCHEDULING)
13722: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13723: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13724: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13725: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
13726: IF PG_DEBUG in ('Y', 'C') THEN
13727: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
13728: END IF;

Line 13738: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

13734: END IF;
13735: ELSE
13736: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13737: IF (p_search = FORWARD_SCHEDULING)
13738: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13739: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13740: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13741:
13742: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066

Line 13739: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

13735: ELSE
13736: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13737: IF (p_search = FORWARD_SCHEDULING)
13738: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13739: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13740: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13741:
13742: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
13743: IF PG_DEBUG in ('Y', 'C') THEN

Line 13740: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

13736: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
13737: IF (p_search = FORWARD_SCHEDULING)
13738: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
13739: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
13740: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
13741:
13742: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
13743: IF PG_DEBUG in ('Y', 'C') THEN
13744: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 13774: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

13770: END IF;
13771: */
13772: --- bug 2178544
13773: ---- get mso_lead_time factor
13774: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
13775: --- Get the lead time for the item
13776: -- dsting 2754446
13777: l_net_processing_lt := CEIL((l_fixed_lt +
13778: (l_variable_lt * l_PO_qty))*(1 + l_mso_lead_time_factor)

Line 13793: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date;

13789: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_mso_lead_time_factor := ' || l_mso_lead_time_factor);
13790: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_processing_lt := ' || l_net_processing_lt);
13791: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_process_lt := ' || l_process_lt);
13792: END IF;
13793: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date;
13794: ---diag_ATP
13795: IF p_search = BACKWARD_SCHEDULING THEN
13796: l_constraint_flag := 2;
13797: --diag_ATP

Line 13856: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13852: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
13853: END IF;
13854: -- bug 2178544
13855:
13856: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13857: IF (l_order_date < l_sysdate OR l_start_date < l_ptf_date) THEN
13858: -- we set the constraint flag so that we know that an constraint has occured
13859: l_constraint_flag := 1;
13860:

Line 13915: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13911: l_pegging_rec.constraint_type := 2;
13912: END IF;
13913: END IF;
13914: END IF; -- IF (l_order_date < l_sysdate OR l_start_date < l_ptf_date) THEN
13915: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13916: END IF;
13917: IF p_search = FORWARD_SCHEDULING THEN
13918:
13919: -- p_sched_flag = FORWARD_SCHEDULING

Line 13927: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.organization_id,

13923: -- Therefore we calcuate these dates
13924: --- bug 2178544
13925: IF l_net_processing_lt > 0 THEN
13926: /* ship_rec_cal
13927: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13928: p_atp_record.instance_id,
13929: 1,
13930: l_sysdate,
13931: l_net_processing_lt); */

Line 13932: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,

13928: p_atp_record.instance_id,
13929: 1,
13930: l_sysdate,
13931: l_net_processing_lt); */
13932: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13933: p_atp_record.instance_id,
13934: l_sysdate,
13935: l_net_processing_lt, 1);
13936: ELSE

Line 13937: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := l_sysdate;

13933: p_atp_record.instance_id,
13934: l_sysdate,
13935: l_net_processing_lt, 1);
13936: ELSE
13937: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := l_sysdate;
13938: END IF;
13939:
13940: IF l_process_lt > 0 THEN
13941: /* ship_rec_cal

Line 13957: MSC_ATP_PVT.G_FUTURE_START_DATE := GREATEST(l_start_date, MSC_ATP_PVT.G_PTF_DATE);

13953: END IF;
13954: IF PG_DEBUG in ('Y', 'C') THEN
13955: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
13956: END IF;
13957: MSC_ATP_PVT.G_FUTURE_START_DATE := GREATEST(l_start_date, MSC_ATP_PVT.G_PTF_DATE);
13958: ---we make sure that PTF for this stage is greatst of Parent's ptf - lead time,
13959: -- current level's PTF and (sysdate + pre processing lt). The last part is the minimum
13960: -- start date. This PTF is start date for the components for the current itme
13961: IF l_pre_pro_lt >0 THEN

Line 13962: MSC_ATP_PVT.G_PTF_DATE := GREATEST(

13958: ---we make sure that PTF for this stage is greatst of Parent's ptf - lead time,
13959: -- current level's PTF and (sysdate + pre processing lt). The last part is the minimum
13960: -- start date. This PTF is start date for the components for the current itme
13961: IF l_pre_pro_lt >0 THEN
13962: MSC_ATP_PVT.G_PTF_DATE := GREATEST(
13963: /* ship_rec_cal
13964: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13965: p_atp_record.instance_id,
13966: 1,

Line 13967: MSC_ATP_PVT.G_PTF_DATE,

13963: /* ship_rec_cal
13964: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13965: p_atp_record.instance_id,
13966: 1,
13967: MSC_ATP_PVT.G_PTF_DATE,
13968: -1 * l_process_lt),*/
13969: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13970: p_atp_record.instance_id,
13971: MSC_ATP_PVT.G_PTF_DATE,

Line 13971: MSC_ATP_PVT.G_PTF_DATE,

13967: MSC_ATP_PVT.G_PTF_DATE,
13968: -1 * l_process_lt),*/
13969: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13970: p_atp_record.instance_id,
13971: MSC_ATP_PVT.G_PTF_DATE,
13972: -1 * l_process_lt, -1),
13973: l_ptf_date,
13974: /* ship_rec_cal
13975: MSC_CALENDAR.date_offset(p_atp_record.organization_id,

Line 13985: MSC_ATP_PVT.G_PTF_DATE := GREATEST(

13981: p_atp_record.instance_id,
13982: l_sysdate,
13983: l_pre_pro_lt, 1));
13984: ELSE
13985: MSC_ATP_PVT.G_PTF_DATE := GREATEST(
13986: /* ship_rec_cal
13987: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13988: p_atp_record.instance_id,
13989: 1,

Line 13990: MSC_ATP_PVT.G_PTF_DATE,

13986: /* ship_rec_cal
13987: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13988: p_atp_record.instance_id,
13989: 1,
13990: MSC_ATP_PVT.G_PTF_DATE,
13991: -1 * l_process_lt),*/
13992: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13993: p_atp_record.instance_id,
13994: MSC_ATP_PVT.G_PTF_DATE,

Line 13994: MSC_ATP_PVT.G_PTF_DATE,

13990: MSC_ATP_PVT.G_PTF_DATE,
13991: -1 * l_process_lt),*/
13992: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13993: p_atp_record.instance_id,
13994: MSC_ATP_PVT.G_PTF_DATE,
13995: -1 * l_process_lt, -1),
13996: l_ptf_date, l_sysdate);
13997: END IF;
13998:

Line 14000: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);

13996: l_ptf_date, l_sysdate);
13997: END IF;
13998:
13999: IF PG_DEBUG in ('Y', 'C') THEN
14000: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
14001: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
14002: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
14003: END IF;
14004: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item

Line 14001: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);

13997: END IF;
13998:
13999: IF PG_DEBUG in ('Y', 'C') THEN
14000: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
14001: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
14002: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
14003: END IF;
14004: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item
14005: -- UI checks this column. If this coulm is populated then UI flags this PO

Line 14002: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

13998:
13999: IF PG_DEBUG in ('Y', 'C') THEN
14000: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
14001: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
14002: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
14003: END IF;
14004: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item
14005: -- UI checks this column. If this coulm is populated then UI flags this PO
14006: --diag_atp

Line 14014: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN

14010: IF PG_DEBUG in ('Y', 'C') THEN
14011: msc_sch_wb.atp_debug('ATP_Check: ' || 'Add PTF date to pegging');
14012: END IF;
14013: -- Bug 3525582 - PTF constraint should be added only if plan is PTF enabled
14014: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN
14015: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;
14016: l_pegging_rec.constraint_type := 3;
14017: ELSE
14018: l_pegging_rec.constraint_date := l_start_date;

Line 14015: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;

14011: msc_sch_wb.atp_debug('ATP_Check: ' || 'Add PTF date to pegging');
14012: END IF;
14013: -- Bug 3525582 - PTF constraint should be added only if plan is PTF enabled
14014: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN
14015: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;
14016: l_pegging_rec.constraint_type := 3;
14017: ELSE
14018: l_pegging_rec.constraint_date := l_start_date;
14019: l_pegging_rec.constraint_type := 2;

Line 14028: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag = 1 THEN

14024: /* Modularize Item and Org Info */
14025: -- Changed call to remove embedded function call.
14026:
14027: ---diag_atp
14028: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag = 1 THEN
14029: --in diagnostic ATP since we have already failed the lead time test
14030: --- there is no point in adding PO and removing it later
14031: l_transaction_id := NULL;
14032: ELSE

Line 14074: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

14070: RAISE FND_API.G_EXC_ERROR;
14071: END IF;
14072: END IF;
14073: --s_cto_rearch
14074: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
14075: MSC_ATP_DB_UTILS.Add_Planned_Order(
14076: p_atp_record.instance_id,
14077: p_plan_id,
14078: PF_ITEM_INFO_REC.dest_inv_item_id,

Line 14119: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

14115: /* Modularize Item and Org Info */
14116:
14117: -- populate insert rec to pegging tree for this supply
14118:
14119: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
14120: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
14121: --subst
14122: --l_pegging_rec.parent_pegging_id:= l_pegging_id;
14123: l_pegging_rec.parent_pegging_id := l_parent_pegging_id;

Line 14120: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

14116:
14117: -- populate insert rec to pegging tree for this supply
14118:
14119: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
14120: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
14121: --subst
14122: --l_pegging_rec.parent_pegging_id:= l_pegging_id;
14123: l_pegging_rec.parent_pegging_id := l_parent_pegging_id;
14124: l_pegging_rec.atp_level:= p_level+1;

Line 14159: IF l_constraint_flag = 1 and NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 1 THEN

14155: l_pegging_rec.scenario_id:= p_scenario_id;
14156: l_pegging_rec.supply_demand_source_type:= 1;
14157:
14158: --diag_atp -- bug 3903205: set qty to zero only for diagnostic ATP
14159: IF l_constraint_flag = 1 and NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 1 THEN
14160: l_pegging_rec.supply_demand_quantity :=0;
14161: ELSE
14162: l_pegging_rec.supply_demand_quantity :=l_PO_qty; -- 2754446
14163: -- l_pegging_rec.supply_demand_quantity :=l_net_demand;

Line 14176: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

14172:
14173: -- for demo:1153192
14174: l_pegging_rec.constraint_flag := 'N';
14175: l_pegging_rec.component_identifier :=
14176: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
14177:
14178: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
14179:
14180: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item

Line 14178: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

14174: l_pegging_rec.constraint_flag := 'N';
14175: l_pegging_rec.component_identifier :=
14176: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
14177:
14178: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
14179:
14180: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
14181: --- cto looks at pegging tree to place their demands. Since CTO expects to find
14182: -- id for the requested item, we add the following column. CTO will now read from this column

Line 14194: l_pegging_rec.pegging_type := MSC_ATP_PVT.MAKE_SUPPLY; -- it is a make planned order

14190: --bug 4409618: Show variable and fixed lt in pegging properties
14191: l_pegging_rec.fixed_lead_time := l_fixed_lt;
14192: l_pegging_rec.VARIABLE_LEAD_TIME := l_variable_lt;
14193:
14194: l_pegging_rec.pegging_type := MSC_ATP_PVT.MAKE_SUPPLY; -- it is a make planned order
14195: l_pegging_rec.required_date := l_requested_ship_date;
14196: --bug 3328421
14197: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
14198: l_pegging_rec.required_quantity := l_net_demand;

Line 14269: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null

14265: ELSIF PG_DEBUG in ('Y', 'C') THEN
14266: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_OPTIONAL_FW := ' || G_OPTIONAL_FW);
14267: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FW_PEGGING_ID := ' || G_FW_PEGGING_ID);
14268: END IF;
14269: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null
14270: AND (G_FW_CTP_PEGGING_ID.COUNT = 0 --Means top level, for next source value = null
14271: OR G_FW_CTP_PEGGING_ID(G_FW_CTP_PEGGING_ID.COUNT) is null) then
14272: IF G_FW_CTP_PEGGING_ID.COUNT = 0 THEN
14273: G_FW_CTP_PEGGING_ID.EXTEND;

Line 14291: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

14287: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FW_PEGGING_ID := ' || G_FW_PEGGING_ID);
14288: END IF;
14289: /*--- bug 2178544
14290: ---- get mso_lead_time factor
14291: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
14292: --- Get the lead time for the item
14293: l_net_processing_lt := CEIL((l_fixed_lt +
14294: (l_variable_lt * l_net_demand))*(1 + l_mso_lead_time_factor)
14295: + l_pre_pro_lt);

Line 14303: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date; */

14299: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_mso_lead_time_factor := ' || l_mso_lead_time_factor);
14300: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_processing_lt := ' || l_net_processing_lt);
14301: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_process_lt := ' || l_process_lt);
14302: END IF;
14303: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date; */
14304:
14305: IF PG_DEBUG in ('Y', 'C') THEN
14306: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
14307: END IF;

Line 14309: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR

14305: IF PG_DEBUG in ('Y', 'C') THEN
14306: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
14307: END IF;
14308: --diag_atp
14309: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR
14310: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN
14311:
14312: l_avail_assembly_qty := l_net_demand;
14313: --2178544

Line 14310: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN

14306: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
14307: END IF;
14308: --diag_atp
14309: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR
14310: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN
14311:
14312: l_avail_assembly_qty := l_net_demand;
14313: --2178544
14314: ---- if lead time > 0 then offset the date to see if the offseted

Line 14378: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN

14374: FND_API.G_RET_STS_SUCCESS THEN
14375: RAISE FND_API.G_EXC_ERROR;
14376: END IF;
14377: --optional_fw
14378: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN
14379: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
14380: END IF;
14381:
14382: END IF;

Line 14385: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

14381:
14382: END IF;
14383:
14384: ---diag_ATP
14385: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
14386: ---In diagnostic mode we look for complete qty. Thats why looks
14387: -- for component as if we got complete resource qty.
14388: l_res_avail_qty := l_avail_assembly_qty;
14389: l_avail_assembly_qty := l_net_demand;

Line 14472: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

14468: );
14469: -- Allow creation of Sales Order for CTO comps.
14470: -- 2400614: krajan
14471: EXCEPTION
14472: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14473: IF PG_DEBUG in ('Y', 'C') THEN
14474: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
14475: END IF;
14476: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

Line 14476: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

14472: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14473: IF PG_DEBUG in ('Y', 'C') THEN
14474: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
14475: END IF;
14476: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14477: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14478:
14479: -- dsting 2764213
14480: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 14477: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

14473: IF PG_DEBUG in ('Y', 'C') THEN
14474: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
14475: END IF;
14476: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14477: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14478:
14479: -- dsting 2764213
14480: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14481: IF PG_DEBUG in ('Y', 'C') THEN

Line 14480: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

14476: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14477: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14478:
14479: -- dsting 2764213
14480: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14481: IF PG_DEBUG in ('Y', 'C') THEN
14482: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14483: END IF;
14484: --24x7

Line 14485: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

14481: IF PG_DEBUG in ('Y', 'C') THEN
14482: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14483: END IF;
14484: --24x7
14485: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14486: ---2854351
14487: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14488: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14489: else

Line 14487: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

14483: END IF;
14484: --24x7
14485: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14486: ---2854351
14487: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14488: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14489: else
14490: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14491: end if;

Line 14488: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

14484: --24x7
14485: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14486: ---2854351
14487: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14488: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14489: else
14490: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14491: end if;
14492:

Line 14490: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

14486: ---2854351
14487: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14488: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14489: else
14490: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14491: end if;
14492:
14493: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14494: -- krajan 2752705

Line 14493: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

14489: else
14490: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14491: end if;
14492:
14493: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14494: -- krajan 2752705
14495: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14496: IF PG_DEBUG in ('Y', 'C') THEN
14497: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');

Line 14495: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

14491: end if;
14492:
14493: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14494: -- krajan 2752705
14495: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14496: IF PG_DEBUG in ('Y', 'C') THEN
14497: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
14498: END IF;
14499: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 14499: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

14495: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14496: IF PG_DEBUG in ('Y', 'C') THEN
14497: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
14498: END IF;
14499: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14500: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14501: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 14500: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

14496: IF PG_DEBUG in ('Y', 'C') THEN
14497: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
14498: END IF;
14499: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14500: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14501: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14504: END IF;

Line 14501: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

14497: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
14498: END IF;
14499: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14500: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14501: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14504: END IF;
14505: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 14505: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

14501: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14504: END IF;
14505: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14506: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14507: END;
14508:
14509: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

Line 14506: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14504: END IF;
14505: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14506: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14507: END;
14508:
14509: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14510:

Line 14509: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

14505: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14506: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14507: END;
14508:
14509: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14510:
14511: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14512:
14513: ELSIF l_return_status <>FND_API.G_RET_STS_SUCCESS THEN

Line 14511: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

14507: END;
14508:
14509: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14510:
14511: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14512:
14513: ELSIF l_return_status <>FND_API.G_RET_STS_SUCCESS THEN
14514: RAISE FND_API.G_EXC_ERROR;
14515: END IF;

Line 14517: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN

14513: ELSIF l_return_status <>FND_API.G_RET_STS_SUCCESS THEN
14514: RAISE FND_API.G_EXC_ERROR;
14515: END IF;
14516: --optional_fw
14517: IF MSC_ATP_PVT.G_OPTIONAL_FW is not null THEN
14518: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
14519: END IF;
14520:
14521: END IF;

Line 14545: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

14541: -- make node.
14542: -- 2: redo this make node with l_avail_assembly_qty.
14543:
14544: -- 2869830 do not assume lower level returns rounded qty
14545: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
14546: l_avail_assembly_qty := LEAST(l_avail_assembly_qty, l_res_avail_qty);
14547: END IF;
14548:
14549: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN

Line 14561: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

14557: END IF;
14558:
14559: --diag_atp
14560: --- we go back and adjust the quantities for non-diagnostic ATP only
14561: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
14562: l_avail_assembly_qty := LEAST(l_avail_assembly_qty, l_res_avail_qty);
14563:
14564: IF PG_DEBUG in ('Y', 'C') THEN
14565: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_avail_assembly_qty := ' || l_avail_assembly_qty);

Line 14578: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1

14574: IF l_avail_PO_qty < l_net_demand THEN -- 2754446
14575: --IF l_avail_assembly_qty < l_net_demand THEN
14576: l_last_good_pegging_id := l_pegging_id;
14577: IF l_sources.source_type.next(j) IS NULL
14578: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
14579: THEN
14580: MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id, null, l_avail_PO_qty); -- 2869830
14581: -- MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id, null, l_avail_assembly_qty);
14582: ELSE

Line 14599: MSC_ATP_PVT.UNDO);

14595: --null, -- Bug 3241766
14596: --null, -- Bug 3241766
14597: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
14598: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
14599: MSC_ATP_PVT.UNDO);
14600: END IF;
14601:
14602: END IF;
14603: -- move the supply/demand, period atp

Line 14677: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);

14673: -- just to make sure that in case of CTO, we try to get the
14674: -- BOM correctly from msc_bom_temp_table.
14675:
14676: IF PG_DEBUG in ('Y', 'C') THEN
14677: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
14678: END IF;
14679:
14680: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;
14681:

Line 14680: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;

14676: IF PG_DEBUG in ('Y', 'C') THEN
14677: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
14678: END IF;
14679:
14680: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;
14681:
14682: IF ((l_atp_comp_flag = 'R') OR
14683: (l_atp_comp_flag = 'C')) THEN
14684: -- get resource requirements first

Line 14804: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

14800: -- Allow creation of Sales Order for CTO comps.
14801: -- 2400614 : krajan
14802: EXCEPTION
14803: -- Raising exception handled below
14804: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14805: IF PG_DEBUG in ('Y', 'C') THEN
14806: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
14807: END IF;
14808: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

Line 14808: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

14804: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14805: IF PG_DEBUG in ('Y', 'C') THEN
14806: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
14807: END IF;
14808: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14809: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14810:
14811: -- dsting 2764213
14812: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 14809: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

14805: IF PG_DEBUG in ('Y', 'C') THEN
14806: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
14807: END IF;
14808: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14809: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14810:
14811: -- dsting 2764213
14812: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14813: IF PG_DEBUG in ('Y', 'C') THEN

Line 14812: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

14808: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14809: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14810:
14811: -- dsting 2764213
14812: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14813: IF PG_DEBUG in ('Y', 'C') THEN
14814: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14815: END IF;
14816: --24x7

Line 14817: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

14813: IF PG_DEBUG in ('Y', 'C') THEN
14814: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14815: END IF;
14816: --24x7
14817: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14818: --bug 2854351:
14819: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14821: else

Line 14819: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

14815: END IF;
14816: --24x7
14817: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14818: --bug 2854351:
14819: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14821: else
14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14823: end if;

Line 14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

14816: --24x7
14817: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14818: --bug 2854351:
14819: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14821: else
14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14823: end if;
14824: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

Line 14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

14818: --bug 2854351:
14819: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14821: else
14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14823: end if;
14824: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14825: -- krajan : 2752705
14826: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

Line 14824: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

14820: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14821: else
14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14823: end if;
14824: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14825: -- krajan : 2752705
14826: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14827: IF PG_DEBUG in ('Y', 'C') THEN
14828: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');

Line 14826: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

14822: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14823: end if;
14824: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14825: -- krajan : 2752705
14826: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14827: IF PG_DEBUG in ('Y', 'C') THEN
14828: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
14829: END IF;
14830: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 14830: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

14826: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14827: IF PG_DEBUG in ('Y', 'C') THEN
14828: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
14829: END IF;
14830: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14831: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14832: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14833: IF PG_DEBUG in ('Y', 'C') THEN
14834: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 14831: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

14827: IF PG_DEBUG in ('Y', 'C') THEN
14828: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
14829: END IF;
14830: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14831: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14832: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14833: IF PG_DEBUG in ('Y', 'C') THEN
14834: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14835: END IF;

Line 14832: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

14828: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
14829: END IF;
14830: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14831: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14832: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14833: IF PG_DEBUG in ('Y', 'C') THEN
14834: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14835: END IF;
14836: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 14836: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

14832: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14833: IF PG_DEBUG in ('Y', 'C') THEN
14834: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14835: END IF;
14836: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14837: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14838: END;
14839:
14840: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

Line 14837: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

14833: IF PG_DEBUG in ('Y', 'C') THEN
14834: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14835: END IF;
14836: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14837: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14838: END;
14839:
14840: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14841:

Line 14840: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

14836: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14837: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14838: END;
14839:
14840: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14841:
14842: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14843:
14844: ELSIF l_return_status <>

Line 14842: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

14838: END;
14839:
14840: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14841:
14842: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14843:
14844: ELSIF l_return_status <>
14845: FND_API.G_RET_STS_SUCCESS THEN
14846: RAISE FND_API.G_EXC_ERROR;

Line 14909: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14905: --null, -- Bug 3241766
14906: --null, -- Bug 3241766
14907: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
14908: PF_ITEM_INFO_REC.dest_inv_item_id); -- Bug 3293163
14909: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14910: END IF; -- end if l_avail_assembly_qty > 0
14911: ELSE
14912: -- move the supply/demand, period atp
14913: -- of the components to the output record of

Line 14938: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14934: IF PG_DEBUG in ('Y', 'C') THEN
14935: msc_sch_wb.atp_debug('ATP_Check: ' || 'msc_plan_coproducts = ' || l_coproducts_flag);
14936: END IF;
14937: --- set the sumary flag back to summary flag for p_plan_id
14938: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14939: IF ((l_atp_comp_flag = 'C') OR
14940: (l_atp_comp_flag = 'Y')) AND
14941: l_coproducts_flag = 'Y' AND
14942: l_avail_assembly_qty >0 THEN

Line 14979: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

14975: l_net_demand := 0;
14976: EXIT;
14977: END IF;
14978: ---diag_atp
14979: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
14980: IF PG_DEBUG in ('Y', 'C') THEN
14981: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside forward_scheduling');
14982: END IF;
14983: -- p_sched_flag = FORWARD_SCHEDULING

Line 14997: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);

14993: -- Bug 1532051, set G_COMP_LINE_ID again to G_ORDER_LINE_ID,
14994: -- just to make sure that in case of CTO, we try to get the
14995: -- BOM correctly from msc_bom_temp_table.
14996:
14997: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);
14998:
14999: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;
15000:
15001: -- dsting 2754446 adjust l_net_demand according to rounding_control_type

Line 14999: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;

14995: -- BOM correctly from msc_bom_temp_table.
14996:
14997: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);
14998:
14999: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;
15000:
15001: -- dsting 2754446 adjust l_net_demand according to rounding_control_type
15002: -- so our planned orders turn out right for the future case.
15003: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN

Line 15008: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15004: --l_PO_qty := CEIL(l_net_demand);
15005: --bug3397904 start
15006: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15007: IF (p_search = FORWARD_SCHEDULING)
15008: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15009: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15010: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15011: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
15012: IF PG_DEBUG in ('Y', 'C') THEN

Line 15009: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

15005: --bug3397904 start
15006: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15007: IF (p_search = FORWARD_SCHEDULING)
15008: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15009: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15010: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15011: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
15012: IF PG_DEBUG in ('Y', 'C') THEN
15013: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 15010: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15006: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15007: IF (p_search = FORWARD_SCHEDULING)
15008: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15009: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15010: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15011: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
15012: IF PG_DEBUG in ('Y', 'C') THEN
15013: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
15014: END IF;

Line 15024: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15020: END IF;
15021: ELSE
15022: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15023: IF (p_search = FORWARD_SCHEDULING)
15024: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15025: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15026: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15027: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
15028: IF PG_DEBUG in ('Y', 'C') THEN

Line 15025: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

15021: ELSE
15022: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15023: IF (p_search = FORWARD_SCHEDULING)
15024: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15025: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15026: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15027: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
15028: IF PG_DEBUG in ('Y', 'C') THEN
15029: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 15026: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15022: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
15023: IF (p_search = FORWARD_SCHEDULING)
15024: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15025: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
15026: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15027: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
15028: IF PG_DEBUG in ('Y', 'C') THEN
15029: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
15030: END IF;

Line 15181: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

15177: );
15178: -- Allow creation of Sales Order for CTO comps.
15179: -- 2400614 : krajan
15180: EXCEPTION
15181: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
15182: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
15183: IF PG_DEBUG in ('Y', 'C') THEN
15184: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
15185: END IF;

Line 15182: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

15178: -- Allow creation of Sales Order for CTO comps.
15179: -- 2400614 : krajan
15180: EXCEPTION
15181: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
15182: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
15183: IF PG_DEBUG in ('Y', 'C') THEN
15184: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
15185: END IF;
15186: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

Line 15186: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

15182: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
15183: IF PG_DEBUG in ('Y', 'C') THEN
15184: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
15185: END IF;
15186: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
15187:
15188: -- dsting 2764213
15189: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
15190: IF PG_DEBUG in ('Y', 'C') THEN

Line 15189: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

15185: END IF;
15186: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
15187:
15188: -- dsting 2764213
15189: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
15190: IF PG_DEBUG in ('Y', 'C') THEN
15191: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
15192: END IF;
15193: --24x7

Line 15194: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

15190: IF PG_DEBUG in ('Y', 'C') THEN
15191: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
15192: END IF;
15193: --24x7
15194: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
15195: --bug 2854351
15196: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
15198: else

Line 15196: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

15192: END IF;
15193: --24x7
15194: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
15195: --bug 2854351
15196: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
15198: else
15199: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
15200: end if;

Line 15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

15193: --24x7
15194: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
15195: --bug 2854351
15196: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
15198: else
15199: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
15200: end if;
15201: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

Line 15199: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

15195: --bug 2854351
15196: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
15198: else
15199: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
15200: end if;
15201: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
15202:
15203: -- krajan : 2752705

Line 15201: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

15197: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
15198: else
15199: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
15200: end if;
15201: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
15202:
15203: -- krajan : 2752705
15204: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
15205: IF PG_DEBUG in ('Y', 'C') THEN

Line 15204: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

15200: end if;
15201: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
15202:
15203: -- krajan : 2752705
15204: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
15205: IF PG_DEBUG in ('Y', 'C') THEN
15206: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
15207: END IF;
15208: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 15208: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

15204: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
15205: IF PG_DEBUG in ('Y', 'C') THEN
15206: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
15207: END IF;
15208: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
15209: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
15210:
15211: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
15212: IF PG_DEBUG in ('Y', 'C') THEN

Line 15209: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

15205: IF PG_DEBUG in ('Y', 'C') THEN
15206: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
15207: END IF;
15208: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
15209: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
15210:
15211: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
15212: IF PG_DEBUG in ('Y', 'C') THEN
15213: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 15211: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

15207: END IF;
15208: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
15209: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
15210:
15211: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
15212: IF PG_DEBUG in ('Y', 'C') THEN
15213: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
15214: END IF;
15215: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 15215: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

15211: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
15212: IF PG_DEBUG in ('Y', 'C') THEN
15213: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
15214: END IF;
15215: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
15216: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
15217: END;
15218:
15219: IF PG_DEBUG in ('Y', 'C') THEN

Line 15216: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

15212: IF PG_DEBUG in ('Y', 'C') THEN
15213: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
15214: END IF;
15215: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
15216: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
15217: END;
15218:
15219: IF PG_DEBUG in ('Y', 'C') THEN
15220: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_avail_assembly_qty = '||l_avail_assembly_qty);

Line 15233: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

15229:
15230: END IF;
15231:
15232: -- check the return status
15233: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
15234:
15235: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
15236: ELSIF l_return_status <>
15237: FND_API.G_RET_STS_SUCCESS THEN

Line 15235: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

15231:
15232: -- check the return status
15233: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
15234:
15235: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
15236: ELSIF l_return_status <>
15237: FND_API.G_RET_STS_SUCCESS THEN
15238: RAISE FND_API.G_EXC_ERROR;
15239: END IF;

Line 15340: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;

15336:
15337: -- remove what's bad
15338: --- subst: remember this pegging as we might need to undo
15339: --- this pegging in ATP_CHECK_SUBST
15340: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;
15341:
15342: IF PG_DEBUG in ('Y', 'C') THEN
15343: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_pegging_tab : ' || l_atp_pegging_tab.COUNT);
15344: END IF;

Line 15488: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

15484: IF PG_DEBUG in ('Y', 'C') THEN
15485: msc_sch_wb.atp_debug('ATP_Check: ' || 'OSFM Coproducts Forward ');
15486: END IF;
15487: --- reset the sumamry flag back to summary flag corresponding to p_plan_id
15488: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
15489: --- OSFM Changes: update coproduct supply
15490: l_coproducts_flag := FND_Profile.value('MSC_PLAN_COPRODUCTS');
15491: IF PG_DEBUG in ('Y', 'C') THEN
15492: msc_sch_wb.atp_debug('ATP_Check: ' || 'msc_plan_coproducts = ' || l_coproducts_flag);

Line 15548: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

15544: msc_sch_wb.atp_debug('ATP_Check: ' || 'CTP QTY : ' || l_atp_ctp_qty );
15545: END IF;
15546:
15547:
15548: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
15549: MSC_ATP_DB_UTILS.Update_Pegging( l_substitutes_rec.pegging_id(l_index),
15550: null,
15551: l_atp_ctp_qty );
15552: END IF;

Line 15589: AND session_id = MSC_ATP_PVT.G_SESSION_ID

15585: --in order to update the demand id for the pegging line, otherwise demand will remain in the system
15586: UPDATE mrp_atp_details_temp
15587: SET identifier3 = l_demand_id
15588: WHERE pegging_id = l_substitutes_rec.pegging_id(l_index)
15589: AND session_id = MSC_ATP_PVT.G_SESSION_ID
15590: AND record_type = 3;
15591:
15592: ELSE
15593: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

Line 15593: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

15589: AND session_id = MSC_ATP_PVT.G_SESSION_ID
15590: AND record_type = 3;
15591:
15592: ELSE
15593: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
15594: MSC_ATP_DB_UTILS.Update_Pegging( l_substitutes_rec.pegging_id(l_index),
15595: null,
15596: l_atp_ctp_qty );
15597: END IF;

Line 15613: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15609: msc_sch_wb.atp_debug('ATP_Check : pegging_id :' || l_substitutes_rec.pegging_id(l_index));
15610: msc_sch_wb.atp_debug('ATP_Check : demand id :' || l_substitutes_rec.demand_id(l_index));
15611: END IF;
15612: --5217510 demand id should be used from substitute record
15613: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15614: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15615: update msc_alloc_demands
15616: set allocated_quantity = l_atp_ctp_qty
15617: where parent_demand_id = l_substitutes_rec.demand_id(l_index) --l_demand_id

Line 15614: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15610: msc_sch_wb.atp_debug('ATP_Check : demand id :' || l_substitutes_rec.demand_id(l_index));
15611: END IF;
15612: --5217510 demand id should be used from substitute record
15613: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15614: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15615: update msc_alloc_demands
15616: set allocated_quantity = l_atp_ctp_qty
15617: where parent_demand_id = l_substitutes_rec.demand_id(l_index) --l_demand_id
15618: --where parent_demand_id = l_demand_id

Line 15623: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

15619: and plan_id = p_plan_id;
15620: END IF;
15621: IF PG_DEBUG in ('Y', 'C') THEN
15622: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
15623: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15624: END IF;
15625: -- update summary records removed in ODS case - for summary enhancement
15626: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
15627: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,

Line 15626: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

15622: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
15623: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15624: END IF;
15625: -- update summary records removed in ODS case - for summary enhancement
15626: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
15627: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,
15628: p_plan_id,
15629: p_atp_record.organization_id,
15630: l_inventory_item_id,

Line 15679: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'

15675: msc_sch_wb.atp_debug('net_demand ' || l_net_demand);
15676: msc_sch_wb.atp_debug('subst last good pegging ' || MSC_ATP_SUBST.G_TOP_LAST_PO_PEGGING);
15677: END IF;
15678:
15679: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
15680: AND l_last_good_pegging_id is NULL
15681: AND MSC_ATP_SUBST.G_TOP_LAST_PO_PEGGING is not null
15682: AND p_atp_record.top_tier_org_flag = 1
15683: THEN

Line 15690: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND

15686: ELSE
15687: l_subst_existing_PO_qty := 0;
15688: END IF;
15689:
15690: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND
15691: l_net_demand > 0 AND
15692: l_pegging_id <> l_last_good_pegging_id
15693: THEN
15694: -- bug 5598066 added the following to honour rounding_control_type

Line 15728: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

15724: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
15725: 3);
15726: END IF;
15727:
15728: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
15729: IF PG_DEBUG in ('Y', 'C') THEN
15730: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15731: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_demand_id := ' || l_demand_id); --5211558
15732: END IF;

Line 15730: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

15726: END IF;
15727:
15728: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
15729: IF PG_DEBUG in ('Y', 'C') THEN
15730: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15731: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_demand_id := ' || l_demand_id); --5211558
15732: END IF;
15733:
15734: --- adjust the demand here

Line 15739: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

15735: IF (l_net_demand > 0) and (p_search =1) and (p_parent_pegging_id is null) THEN
15736:
15737: -- dsting diag_atp. do not adjust the demands for diagnostic ATP
15738:
15739: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
15740: update msc_demands
15741: set USING_REQUIREMENT_QUANTITY =
15742: MSC_ATP_UTILS.Truncate_Demand((USING_REQUIREMENT_QUANTITY-l_net_demand)) -- 5598066
15743: where demand_id = l_demand_id

Line 15749: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

15745: returning inventory_item_id into l_inventory_item_id;
15746:
15747: /* time_phased_atp*/
15748: --5211558 we want to update the demands only in first pass and not in further passes
15749: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
15750: --using the same insert rec we prepared earlier
15751: l_atp_insert_rec.quantity_ordered := p_atp_record.quantity_ordered - l_net_demand;
15752: l_atp_insert_rec.requested_date_quantity := l_atp_insert_rec.quantity_ordered;
15753: l_atp_insert_rec.atf_date_quantity := GREATEST(NVL(p_atp_record.atf_date_quantity,

Line 15767: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15763: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Increment_Bucketed_Demands_Qty');
15764: END IF;
15765: RAISE FND_API.G_EXC_ERROR;
15766: END IF;
15767: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15768: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15769:
15770: update msc_alloc_demands
15771: set allocated_quantity = allocated_quantity -l_net_demand

Line 15768: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15764: END IF;
15765: RAISE FND_API.G_EXC_ERROR;
15766: END IF;
15767: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15768: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15769:
15770: update msc_alloc_demands
15771: set allocated_quantity = allocated_quantity -l_net_demand
15772: where parent_demand_id = l_demand_id

Line 15778: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);

15774: END IF;
15775:
15776: IF PG_DEBUG in ('Y', 'C') THEN
15777: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check This scenario in backward case');
15778: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15779: END IF;
15780:
15781: -- update summary records removed in ODS cases - for summary enhancement
15782: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 15782: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

15778: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15779: END IF;
15780:
15781: -- update summary records removed in ODS cases - for summary enhancement
15782: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
15783: IF PG_DEBUG in ('Y', 'C') THEN
15784: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
15785: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
15786: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 15832: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN

15828:
15829: /* rajjain changes for re-review comments
15830: removed check for rule based AATP as this should be set
15831: for all scenarios
15832: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN
15833: p_atp_record.used_available_quantity :=
15834: l_used_available_quantity;
15835: END IF; --bug3409973*/
15836: p_atp_record.used_available_quantity :=

Line 15874: IF l_time_phased_atp = 'Y' and (((MSC_ATP_PVT.G_OPTIONAL_FW is null

15870:
15871: -- Update bucketed demands
15872: --5211558 we want to update the demands only in first pass and last pass
15873: -- and not in any mid passes as this will be exit point
15874: IF l_time_phased_atp = 'Y' and (((MSC_ATP_PVT.G_OPTIONAL_FW is null
15875: OR G_NUMBER_OF_ITERATIONS = G_LOOP_COUNT)
15876: and G_FORWARD_ATP = 'Y') OR
15877: (G_FORWARD_ATP = 'N'))THEN
15878: l_atp_insert_rec.quantity_ordered := p_atp_record.quantity_ordered;

Line 15916: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';

15912: (USING_REQUIREMENT_QUANTITY-l_net_demand)
15913: where demand_id = l_demand_id
15914: and plan_id = p_plan_id;*/
15915:
15916: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15917: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15918: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15919: ELSIF p_search = 1 AND
15920: --subst: In case of substitution we do not want to adjust the planned order for top org

Line 15917: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;

15913: where demand_id = l_demand_id
15914: and plan_id = p_plan_id;*/
15915:
15916: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15917: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15918: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15919: ELSIF p_search = 1 AND
15920: --subst: In case of substitution we do not want to adjust the planned order for top org
15921: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND

Line 15918: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;

15914: and plan_id = p_plan_id;*/
15915:
15916: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15917: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15918: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15919: ELSIF p_search = 1 AND
15920: --subst: In case of substitution we do not want to adjust the planned order for top org
15921: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND
15922: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND

Line 15922: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND

15918: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15919: ELSIF p_search = 1 AND
15920: --subst: In case of substitution we do not want to adjust the planned order for top org
15921: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND
15922: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND
15923: p_atp_record.top_tier_org_flag = 1) THEN
15924: --diag_atp: we do not adjust the demand in case of diagnostic ATP, because we place the
15925: -- same demand as we need.
15926: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

Line 15926: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

15922: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND
15923: p_atp_record.top_tier_org_flag = 1) THEN
15924: --diag_atp: we do not adjust the demand in case of diagnostic ATP, because we place the
15925: -- same demand as we need.
15926: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
15927: -- adjust the demand record
15928: IF PG_DEBUG in ('Y', 'C') THEN
15929: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this scenario, bacward case 2');
15930: msc_sch_wb.atp_debug('ATP_Check: ' || 'adjust demand record, l_parent_pegging_id = '||l_parent_pegging_id);

Line 15936: where session_id = MSC_ATP_PVT.G_SESSION_ID

15932: /* bug 1235225
15933: update mrp_atp_details_temp
15934: set supply_demand_quantity =
15935: (supply_demand_quantity - l_net_demand)
15936: where session_id = MSC_ATP_PVT.G_SESSION_ID
15937: and pegging_id = l_parent_pegging_id
15938: and record_type = 3;
15939: */
15940:

Line 15944: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

15940:
15941: SELECT supply_demand_quantity
15942: INTO l_peg_qty
15943: FROM mrp_atp_details_temp
15944: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
15945: AND pegging_id = l_parent_pegging_id
15946: AND record_type = 3;
15947:
15948: MSC_ATP_DB_UTILS.Update_Pegging(l_parent_pegging_id,

Line 15957: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

15953: msc_sch_wb.atp_debug('ATP_Check: ' || 'adjust demand quantity, l_demand_id = '||l_demand_id);
15954: END IF;
15955:
15956: -- dsting diag_atp do not adjust the demands for diagnostic atp
15957: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
15958:
15959: update msc_demands
15960: set USING_REQUIREMENT_QUANTITY =
15961: MSC_ATP_UTILS.Truncate_Demand((USING_REQUIREMENT_QUANTITY-l_net_demand)) -- 5598066

Line 15969: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN

15965:
15966: /* time_phased_atp
15967: Update PF Bucketed Demands to qty we could find in backward case*/
15968: --5211558 we want to update the demands only in first pass and not in further passes
15969: IF l_time_phased_atp = 'Y' and MSC_ATP_PVT.G_OPTIONAL_FW is null THEN
15970: MSC_ATP_PF.Update_PF_Bucketed_Demands(
15971: p_plan_id,
15972: l_demand_id,
15973: l_requested_ship_date,

Line 15986: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15982: END IF;
15983: RAISE FND_API.G_EXC_ERROR;
15984: END IF;
15985: --alloc_pp
15986: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15987: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15988:
15989: update msc_alloc_demands
15990: set allocated_quantity = allocated_quantity - l_net_demand

Line 15987: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15983: RAISE FND_API.G_EXC_ERROR;
15984: END IF;
15985: --alloc_pp
15986: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15987: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15988:
15989: update msc_alloc_demands
15990: set allocated_quantity = allocated_quantity - l_net_demand
15991: where parent_demand_id = l_demand_id

Line 15996: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

15992: and plan_id = p_plan_id;
15993: END IF;
15994:
15995: IF PG_DEBUG in ('Y', 'C') THEN
15996: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15997: END IF;
15998:
15999: -- update summary records removed in ODS cases - for summary enhancement
16000: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 16000: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

15996: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15997: END IF;
15998:
15999: -- update summary records removed in ODS cases - for summary enhancement
16000: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
16001: IF PG_DEBUG in ('Y', 'C') THEN
16002: msc_sch_wb.atp_debug('ATP_Check: ' || 'update sd table for component');
16003: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
16004: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);

Line 16069: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY

16065: --THEN
16066: --bug 3328421: update actual date
16067: --update mrp_atp_details_temp set required_date =
16068: update mrp_atp_details_temp set actual_supply_demand_date =
16069: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
16070: where session_id = MSC_ATP_PVT.G_SESSION_ID
16071: and pegging_id = l_parent_pegging_id
16072: and record_type = 3;
16073:

Line 16070: where session_id = MSC_ATP_PVT.G_SESSION_ID

16066: --bug 3328421: update actual date
16067: --update mrp_atp_details_temp set required_date =
16068: update mrp_atp_details_temp set actual_supply_demand_date =
16069: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
16070: where session_id = MSC_ATP_PVT.G_SESSION_ID
16071: and pegging_id = l_parent_pegging_id
16072: and record_type = 3;
16073:
16074: IF PG_DEBUG in ('Y','C') THEN

Line 16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

16081: -- For bug 2259824, move the demand to the end of day
16082: ----start changes for plan by request date
16083: SET USING_ASSEMBLY_DEMAND_DATE =
16084: DECODE(ORIGINATION_TYPE,
16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

16082: ----start changes for plan by request date
16083: SET USING_ASSEMBLY_DEMAND_DATE =
16084: DECODE(ORIGINATION_TYPE,
16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16083: SET USING_ASSEMBLY_DEMAND_DATE =
16084: DECODE(ORIGINATION_TYPE,
16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

16084: DECODE(ORIGINATION_TYPE,
16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16085: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

16086: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16087: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,

Line 16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

16088: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16089: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,

Line 16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

16090: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16091: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

Line 16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

16092: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16093: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

Line 16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

16094: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

Line 16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

16095: l_original_req_ship_date,
16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

16096: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16097: l_original_req_ship_date,
16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

16098: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16099: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

16100: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16101: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,

Line 16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

16102: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16103: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16111: l_original_req_ship_date,

Line 16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

16104: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
16105: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16111: l_original_req_ship_date,
16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

Line 16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

16106: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
16107: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16111: l_original_req_ship_date,
16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16114: schedule_ship_date =

Line 16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

16108: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16111: l_original_req_ship_date,
16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16114: schedule_ship_date =
16115: DECODE(ORIGINATION_TYPE,
16116: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

16109: l_original_req_ship_date,
16110: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
16111: l_original_req_ship_date,
16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16114: schedule_ship_date =
16115: DECODE(ORIGINATION_TYPE,
16116: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16117: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16116: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16112: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16114: schedule_ship_date =
16115: DECODE(ORIGINATION_TYPE,
16116: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16117: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16118: NULL),
16119: promise_ship_date =
16120: DECODE(ORIGINATION_TYPE,

Line 16117: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16113: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
16114: schedule_ship_date =
16115: DECODE(ORIGINATION_TYPE,
16116: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16117: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16118: NULL),
16119: promise_ship_date =
16120: DECODE(ORIGINATION_TYPE,
16121: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 16121: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16117: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16118: NULL),
16119: promise_ship_date =
16120: DECODE(ORIGINATION_TYPE,
16121: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16122: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16123: NULL)
16124: --end changes for plan by request date
16125: WHERE demand_id = l_demand_id

Line 16122: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

16118: NULL),
16119: promise_ship_date =
16120: DECODE(ORIGINATION_TYPE,
16121: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16122: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
16123: NULL)
16124: --end changes for plan by request date
16125: WHERE demand_id = l_demand_id
16126: AND plan_id = p_plan_id

Line 16155: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

16151: END IF;
16152: RAISE FND_API.G_EXC_ERROR;
16153: END IF;
16154: --alloc_pp
16155: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
16156: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
16157: update msc_alloc_demands
16158: set demand_date = p_atp_record.ship_date
16159: where parent_demand_id = l_demand_id

Line 16156: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

16152: RAISE FND_API.G_EXC_ERROR;
16153: END IF;
16154: --alloc_pp
16155: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
16156: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
16157: update msc_alloc_demands
16158: set demand_date = p_atp_record.ship_date
16159: where parent_demand_id = l_demand_id
16160: and plan_id = p_plan_id;

Line 16167: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND ( SQL%ROWCOUNT > 1) AND p_plan_id = -1 THEN

16163: IF PG_DEBUG in ('Y', 'C') THEN
16164: msc_sch_wb.atp_debug('ATP_Check: ' || 'inventory_item_id := ' || l_inventory_item_id);
16165: END IF;
16166: -- update summary records removed in ODS cases - for summary enhancement
16167: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND ( SQL%ROWCOUNT > 1) AND p_plan_id = -1 THEN
16168:
16169: IF PG_DEBUG in ('Y', 'C') THEN
16170: msc_sch_wb.atp_debug('ATP_Check: ' || 'old and new dates are not same');
16171: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update summary for old date');

Line 16305: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN

16301: END IF;
16302:
16303: /* Modularize Item and Org Info */
16304:
16305: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN
16306: IF PG_DEBUG in ('Y', 'C') THEN
16307: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
16308: END IF;
16309: p_atp_record.demand_class :=

Line 16310: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

16306: IF PG_DEBUG in ('Y', 'C') THEN
16307: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
16308: END IF;
16309: p_atp_record.demand_class :=
16310: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
16311: MSC_ATP_PVT.G_PARTNER_SITE_ID,
16312: l_inv_item_id,
16313: p_atp_record.organization_id,
16314: p_atp_record.instance_id,

Line 16311: MSC_ATP_PVT.G_PARTNER_SITE_ID,

16307: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
16308: END IF;
16309: p_atp_record.demand_class :=
16310: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
16311: MSC_ATP_PVT.G_PARTNER_SITE_ID,
16312: l_inv_item_id,
16313: p_atp_record.organization_id,
16314: p_atp_record.instance_id,
16315: l_requested_ship_date,

Line 16324: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

16320: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.demand_class = '||p_atp_record.demand_class);
16321: END IF;
16322:
16323: --diag_atp
16324: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
16325: END IF;
16326:
16327: -- Bug 1410591, we need to consider processing lead time also similar
16328: -- to planning.

Line 16341: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;

16337: -- Fixed + Variable is discontinued, Instead item's processing lead time
16338: -- essentially full_lead_time is used. Initialize local variables.
16339:
16340: l_process_lt := p_atp_record.atp_lead_time;
16341: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
16342: -- End Supplier Capacity and Lead Time changes
16343: /* 3316028 (Enforce Pur LT) - No need to to PTF/sysdate checks here as these have already been done
16344: before calling this */
16345: l_atp_ship_date := l_requested_ship_date;

Line 16397: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

16393: msc_sch_wb.atp_debug('ATP_Check: ' || 'After atp dock date = '||
16394: to_char(l_dock_date, 'DD-MON-YYYY'));
16395: END IF;
16396: -- End Supplier Capacity and Lead Time changes
16397: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
16398: ELSE
16399: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);
16400: END IF;
16401: END IF;

Line 16399: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);

16395: END IF;
16396: -- End Supplier Capacity and Lead Time changes
16397: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
16398: ELSE
16399: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);
16400: END IF;
16401: END IF;
16402: 3316028 (Enforce Pur LT) - changes end */
16403: IF PG_DEBUG in ('Y', 'C') THEN

Line 16406: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

16402: 3316028 (Enforce Pur LT) - changes end */
16403: IF PG_DEBUG in ('Y', 'C') THEN
16404: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_request_date := ' || l_atp_request_date);
16405: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_ship_date := ' || l_atp_ship_date);
16406: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
16407: END IF;
16408:
16409: --diag_atp
16410: /* IF p_search = BACKWARD_SCHEDULING AND

Line 16411: ((l_atp_request_date < l_sysdate) OR (l_requested_ship_date < MSC_ATP_PVT.G_PTF_DATE)) THEN

16407: END IF;
16408:
16409: --diag_atp
16410: /* IF p_search = BACKWARD_SCHEDULING AND
16411: ((l_atp_request_date < l_sysdate) OR (l_requested_ship_date < MSC_ATP_PVT.G_PTF_DATE)) THEN
16412: l_requested_date_quantity := 0;
16413: IF PG_DEBUG in ('Y', 'C') THEN
16414: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sys date, ptf check failed for supplier');
16415: END IF;

Line 16420: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;

16416: ELSE
16417: */
16418: -- Supplier Capacity and Lead Time (SCLT) changes
16419: IF (g_sup_cap_cum_date IS NULL) THEN
16420: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
16421: END IF;
16422: IF PG_DEBUG in ('Y', 'C') THEN
16423: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
16424: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||

Line 16423: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);

16419: IF (g_sup_cap_cum_date IS NULL) THEN
16420: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
16421: END IF;
16422: IF PG_DEBUG in ('Y', 'C') THEN
16423: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
16424: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||
16425: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);
16426: msc_sch_wb.atp_debug('ATP_Check: ' || 'g_sup_cap_cum_date := ' || g_sup_cap_cum_date);
16427: END IF;

Line 16425: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);

16421: END IF;
16422: IF PG_DEBUG in ('Y', 'C') THEN
16423: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
16424: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||
16425: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);
16426: msc_sch_wb.atp_debug('ATP_Check: ' || 'g_sup_cap_cum_date := ' || g_sup_cap_cum_date);
16427: END IF;
16428:
16429:

Line 16537: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

16533: l_supplier_site_name :=
16534: MSC_ATP_FUNC.get_supplier_site_name(p_atp_record.instance_id,
16535: p_atp_record.supplier_site_id);
16536:
16537: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
16538: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
16539: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
16540: l_pegging_rec.atp_level:= p_level;
16541: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;

Line 16538: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

16534: MSC_ATP_FUNC.get_supplier_site_name(p_atp_record.instance_id,
16535: p_atp_record.supplier_site_id);
16536:
16537: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
16538: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
16539: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
16540: l_pegging_rec.atp_level:= p_level;
16541: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;
16542: l_pegging_rec.inventory_item_name := l_inv_item_name;

Line 16568: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

16564:
16565: -- 1408056
16566: IF (p_search = 1) THEN
16567: --diag_atp : we place the demand on complete quantity in case of diagnostic ATP
16568: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
16569: l_pegging_rec.supply_demand_quantity:= p_atp_record.quantity_ordered;
16570: ELSE
16571:
16572: l_pegging_rec.supply_demand_quantity:=

Line 16591: -- l_pegging_rec.required_date:= TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;

16587: END IF;
16588: IF (p_search = BACKWARD_SCHEDULING) THEN
16589: -- Commented for bug 2748730. G_END_OF_DAY not required here.
16590: -- We will do that inside the procedure Add_Pegging
16591: -- l_pegging_rec.required_date:= TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;
16592: --bug 3328421
16593: l_pegging_rec.required_date:= l_requested_ship_date ;
16594: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
16595: ELSE

Line 16598: -- l_pegging_rec.required_date:= TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY;

16594: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
16595: ELSE
16596: -- Commented for bug 2748730. G_END_OF_DAY not required here.
16597: -- We will do that inside the procedure Add_Pegging
16598: -- l_pegging_rec.required_date:= TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY;
16599:
16600: l_pegging_rec.required_date:= l_requested_ship_date ;
16601: l_pegging_rec.actual_supply_demand_date := l_atp_date_this_level;
16602: END IF;

Line 16607: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

16603:
16604: -- for demo:1153192
16605: l_pegging_rec.constraint_flag := 'N';
16606: l_pegging_rec.component_identifier :=
16607: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
16608:
16609: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
16610:
16611: --diag_atp

Line 16609: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

16605: l_pegging_rec.constraint_flag := 'N';
16606: l_pegging_rec.component_identifier :=
16607: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
16608:
16609: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
16610:
16611: --diag_atp
16612: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;
16613: l_pegging_rec.demand_class := p_atp_record.demand_class;

Line 16612: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;

16608:
16609: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
16610:
16611: --diag_atp
16612: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;
16613: l_pegging_rec.demand_class := p_atp_record.demand_class;
16614:
16615: --4570421
16616: l_pegging_rec.scaling_type := p_atp_record.scaling_type;

Line 16628: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

16624: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
16625:
16626: -- add pegging info for the supply
16627:
16628: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
16629: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
16630: l_pegging_rec.parent_pegging_id:= l_pegging_id;
16631: l_pegging_rec.atp_level:= p_level+1;
16632:

Line 16629: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

16625:
16626: -- add pegging info for the supply
16627:
16628: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
16629: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
16630: l_pegging_rec.parent_pegging_id:= l_pegging_id;
16631: l_pegging_rec.atp_level:= p_level+1;
16632:
16633: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;

Line 16652: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

16648: l_pegging_rec.supply_demand_source_type:= ATP;
16649: l_pegging_rec.supply_demand_type:= 2;
16650: l_pegging_rec.source_type := 0;
16651: l_pegging_rec.component_identifier :=
16652: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
16653:
16654: IF (p_search = 1) THEN
16655: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
16656: l_pegging_rec.supply_demand_quantity:= l_requested_date_quantity;

Line 16674: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

16670: l_pegging_rec.supply_demand_quantity:= l_atp_date_quantity_this_level;
16671: --bug 3328421
16672: l_pegging_rec.actual_supply_demand_date := l_atp_date_this_level;
16673: END IF;
16674: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
16675:
16676: --diag_atp
16677: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
16678: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists

Line 16677: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;

16673: END IF;
16674: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
16675:
16676: --diag_atp
16677: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
16678: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
16679: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
16680: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
16681: l_pegging_rec.constraint_type := 1;

Line 16680: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

16676: --diag_atp
16677: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
16678: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
16679: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
16680: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
16681: l_pegging_rec.constraint_type := 1;
16682: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN
16683:
16684: --s_cto_rearch

Line 16682: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN

16678: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
16679: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
16680: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
16681: l_pegging_rec.constraint_type := 1;
16682: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN
16683:
16684: --s_cto_rearch
16685: IF l_atp_date_this_level > l_requested_ship_date THEN
16686: l_pegging_rec.constraint_type := 1;

Line 16721: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN

16717: ---- summary
16718: --- Create record into summary table for this supplier
16719: -- Code to update summary records removed for summary enhancement
16720: /** code commented for time being. Will be removed after code review
16721: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
16722: IF (p_search = 1) THEN
16723: IF PG_DEBUG in ('Y', 'C') THEN
16724: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update summary table , backward case');
16725: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 16912: x_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

16908: **/
16909:
16910: FOR i in 1..x_atp_period.Level.COUNT LOOP
16911: x_atp_period.Pegging_Id(i) := l_pegging_id;
16912: x_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
16913:
16914: END LOOP;
16915:
16916: IF PG_DEBUG in ('Y', 'C') THEN

Line 16922: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

16918: END IF;
16919:
16920: IF p_atp_record.insert_flag <> 0 THEN
16921: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_pegging_id,
16922: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
16923: END IF;
16924:
16925: END IF;
16926:

Line 16935: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN

16931:
16932:
16933: EXCEPTION
16934:
16935: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN
16936:
16937: IF PG_DEBUG in ('Y', 'C') THEN
16938: msc_sch_wb.atp_debug('ATP_Check: ' || 'Invalid OSS setup detected');
16939: END IF;

Line 16943: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;

16939: END IF;
16940: p_atp_record.requested_date_quantity := 0;
16941: p_atp_record.available_quantity := 0;
16942: p_atp_record.ship_date := null;
16943: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16944: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16945: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16946:
16947: -- 2400614 : krajan: For detecting assignment set mismatch

Line 16944: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;

16940: p_atp_record.requested_date_quantity := 0;
16941: p_atp_record.available_quantity := 0;
16942: p_atp_record.ship_date := null;
16943: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16944: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16945: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16946:
16947: -- 2400614 : krajan: For detecting assignment set mismatch
16948: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

Line 16945: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

16941: p_atp_record.available_quantity := 0;
16942: p_atp_record.ship_date := null;
16943: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16944: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16945: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16946:
16947: -- 2400614 : krajan: For detecting assignment set mismatch
16948: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
16949: IF PG_DEBUG in ('Y', 'C') THEN

Line 16948: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

16944: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16945: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16946:
16947: -- 2400614 : krajan: For detecting assignment set mismatch
16948: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
16949: IF PG_DEBUG in ('Y', 'C') THEN
16950: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16952: END IF;

Line 16953: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

16949: IF PG_DEBUG in ('Y', 'C') THEN
16950: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16952: END IF;
16953: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16954: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16955: --- Primarily for processing in get_comp_requirements
16956: -- dsting 2764213
16957: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 16954: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch

16950: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16951: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16952: END IF;
16953: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16954: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16955: --- Primarily for processing in get_comp_requirements
16956: -- dsting 2764213
16957: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
16958: IF PG_DEBUG in ('Y', 'C') THEN

Line 16957: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

16953: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16954: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16955: --- Primarily for processing in get_comp_requirements
16956: -- dsting 2764213
16957: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
16958: IF PG_DEBUG in ('Y', 'C') THEN
16959: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.1');
16960: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16961: END IF;

Line 16962: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

16958: IF PG_DEBUG in ('Y', 'C') THEN
16959: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.1');
16960: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16961: END IF;
16962: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16963: --bug 2854351:
16964: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16966: else

Line 16964: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

16960: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16961: END IF;
16962: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16963: --bug 2854351:
16964: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16966: else
16967: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16968: end if;

Line 16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

16961: END IF;
16962: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16963: --bug 2854351:
16964: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16966: else
16967: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16968: end if;
16969: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;

Line 16967: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

16963: --bug 2854351:
16964: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16966: else
16967: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16968: end if;
16969: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16970:
16971: -- krajan 2752705

Line 16969: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;

16965: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16966: else
16967: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16968: end if;
16969: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16970:
16971: -- krajan 2752705
16972: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
16973: IF PG_DEBUG in ('Y', 'C') THEN

Line 16972: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

16968: end if;
16969: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16970:
16971: -- krajan 2752705
16972: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
16973: IF PG_DEBUG in ('Y', 'C') THEN
16974: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16975: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16976: END IF;

Line 16977: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

16973: IF PG_DEBUG in ('Y', 'C') THEN
16974: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16975: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16976: END IF;
16977: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
16978: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;
16979:
16980: WHEN FND_API.G_EXC_ERROR THEN
16981: IF PG_DEBUG in ('Y', 'C') THEN

Line 16978: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;

16974: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16975: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16976: END IF;
16977: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
16978: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;
16979:
16980: WHEN FND_API.G_EXC_ERROR THEN
16981: IF PG_DEBUG in ('Y', 'C') THEN
16982: msc_sch_wb.atp_debug('something wrong in the ATP_Check 1');

Line 17175: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018

17171: l_msg_name varchar2(30);
17172:
17173: l_global_availability varchar2(1); --3720018
17174: l_temp VARCHAR2(1); --3720018
17175: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
17176: l_old_source_org_id NUMBER; --3720018
17177: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
17178: l NUMBER; --3720018
17179: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;

Line 17177: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018

17173: l_global_availability varchar2(1); --3720018
17174: l_temp VARCHAR2(1); --3720018
17175: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
17176: l_old_source_org_id NUMBER; --3720018
17177: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
17178: l NUMBER; --3720018
17179: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;
17180: l_same_org_count NUMBER;
17181: l_feeder_count NUMBER;

Line 17179: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;

17175: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
17176: l_old_source_org_id NUMBER; --3720018
17177: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
17178: l NUMBER; --3720018
17179: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;
17180: l_same_org_count NUMBER;
17181: l_feeder_count NUMBER;
17182: l_consume_so_profile_value NUMBER;
17183:

Line 17212: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;

17208: -- 24x7
17209: G_DOWNTIME_HIT := 'N';
17210:
17211:
17212: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
17213:
17214: G_TIME_PHASED_SET := 'N'; -- For summary enhancement
17215:
17216: -- initialize API return status to success

Line 17263: MSC_ATP_PVT.G_WS_CALL := 'Y';

17259: msc_sch_wb.atp_debug('Call_Schedule: ' || 'p_atp_table.attribute_02 = ' || p_atp_table.attribute_02(1));
17260: END IF; --3720018
17261:
17262: IF (nvl(p_atp_table.attribute_02(1), -1) = 3) THEN --web service call
17263: MSC_ATP_PVT.G_WS_CALL := 'Y';
17264: IF PG_DEBUG in ('Y', 'C') THEN
17265: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_WS_CALL = '||MSC_ATP_PVT.G_WS_CALL);
17266: msc_sch_wb.atp_debug('Call_Schedule: ' || 'This is a Web Service Call');
17267: END IF;

Line 17265: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_WS_CALL = '||MSC_ATP_PVT.G_WS_CALL);

17261:
17262: IF (nvl(p_atp_table.attribute_02(1), -1) = 3) THEN --web service call
17263: MSC_ATP_PVT.G_WS_CALL := 'Y';
17264: IF PG_DEBUG in ('Y', 'C') THEN
17265: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_WS_CALL = '||MSC_ATP_PVT.G_WS_CALL);
17266: msc_sch_wb.atp_debug('Call_Schedule: ' || 'This is a Web Service Call');
17267: END IF;
17268: END IF;
17269: -- initial null collections so that we can use these

Line 17271: MSC_ATP_PVT.G_SESSION_ID := p_session_id;

17267: END IF;
17268: END IF;
17269: -- initial null collections so that we can use these
17270: -- collections to initialize collections for next iterations
17271: MSC_ATP_PVT.G_SESSION_ID := p_session_id;
17272: IF PG_DEBUG in ('Y', 'C') THEN
17273: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);
17274: END IF;
17275:

Line 17273: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);

17269: -- initial null collections so that we can use these
17270: -- collections to initialize collections for next iterations
17271: MSC_ATP_PVT.G_SESSION_ID := p_session_id;
17272: IF PG_DEBUG in ('Y', 'C') THEN
17273: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);
17274: END IF;
17275:
17276: l_null_atp_table := x_atp_table;
17277: l_null_atp_period := x_atp_period;

Line 17282: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

17278: l_null_atp_supply_demand := x_atp_supply_demand;
17279: l_null_atp_details := x_atp_details;
17280:
17281: --alloc_pp
17282: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
17283: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
17284:
17285: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
17286: IF PG_DEBUG in ('Y', 'C') THEN

Line 17283: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN

17279: l_null_atp_details := x_atp_details;
17280:
17281: --alloc_pp
17282: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
17283: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
17284:
17285: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
17286: IF PG_DEBUG in ('Y', 'C') THEN
17287: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

Line 17285: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);

17281: --alloc_pp
17282: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
17283: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
17284:
17285: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
17286: IF PG_DEBUG in ('Y', 'C') THEN
17287: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
17288: END IF;
17289: END IF;

Line 17287: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

17283: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
17284:
17285: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
17286: IF PG_DEBUG in ('Y', 'C') THEN
17287: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
17288: END IF;
17289: END IF;
17290:
17291: --3720018, call in case of ATP inquiry or global availability from scheduled line of Sales Order pad.

Line 17319: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR

17315: END IF;
17316: x_return_status := FND_API.G_RET_STS_ERROR;
17317: RAISE FND_API.G_EXC_ERROR;
17318: END IF;
17319: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
17320: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
17321: x_atp_table := p_atp_table;
17322: FOR i in 1..x_atp_table.action.count LOOP
17323: x_atp_table.error_code(i) := l_delete_atp_rec.error_code(1);

Line 17320: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN

17316: x_return_status := FND_API.G_RET_STS_ERROR;
17317: RAISE FND_API.G_EXC_ERROR;
17318: END IF;
17319: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
17320: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
17321: x_atp_table := p_atp_table;
17322: FOR i in 1..x_atp_table.action.count LOOP
17323: x_atp_table.error_code(i) := l_delete_atp_rec.error_code(1);
17324: END LOOP;

Line 17343: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

17339: i := p_atp_table.Action.FIRST;
17340:
17341: IF PG_DEBUG in ('Y', 'C') THEN
17342: msc_sch_wb.atp_debug('Call_Schedule, i='||i);
17343: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
17344: END IF;
17345:
17346: LOOP
17347: -- make sure we set the variables to null so that it is clean

Line 17443: (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' ) THEN

17439: MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET := 1;
17440:
17441:
17442: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 and
17443: (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' ) THEN
17444:
17445: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);
17446: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
17447:

Line 17445: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);

17441:
17442: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 and
17443: (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' ) THEN
17444:
17445: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);
17446: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
17447:
17448: END IF;
17449: END IF;

Line 17458: IF (p_atp_table.attribute_06(j) is null and NVL(MSC_ATP_PVT.G_CALLING_MODULE, -1) <> 724

17454: msc_sch_wb.atp_debug('source_organization_id := ' || NVL(p_atp_table.source_organization_id(j), -1));
17455: END IF;
17456:
17457: --- raise invalid item org combo error only for non-aps instance
17458: IF (p_atp_table.attribute_06(j) is null and NVL(MSC_ATP_PVT.G_CALLING_MODULE, -1) <> 724
17459: -- if validation org and source_org are null then we cannot validate the item
17460: -- hence do not raise the error
17461: and (p_atp_table.validation_org(j) is not null
17462: or p_atp_table.source_organization_id(j) is not null)) or

Line 17463: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,

17459: -- if validation org and source_org are null then we cannot validate the item
17460: -- hence do not raise the error
17461: and (p_atp_table.validation_org(j) is not null
17462: or p_atp_table.source_organization_id(j) is not null)) or
17463: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17464: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17465: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
17466: l_set_fail_flag = 'Y' THEN
17467:

Line 17464: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,

17460: -- hence do not raise the error
17461: and (p_atp_table.validation_org(j) is not null
17462: or p_atp_table.source_organization_id(j) is not null)) or
17463: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17464: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17465: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
17466: l_set_fail_flag = 'Y' THEN
17467:
17468: l_count := l_atp_input_table.inventory_item_id.count;

Line 17465: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or

17461: and (p_atp_table.validation_org(j) is not null
17462: or p_atp_table.source_organization_id(j) is not null)) or
17463: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17464: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17465: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
17466: l_set_fail_flag = 'Y' THEN
17467:
17468: l_count := l_atp_input_table.inventory_item_id.count;
17469:

Line 17478: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,

17474:
17475:
17476: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
17477:
17478: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17479: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17480: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
17481:
17482: IF PG_DEBUG in ('Y', 'C') THEN

Line 17479: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,

17475:
17476: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
17477:
17478: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17479: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17480: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
17481:
17482: IF PG_DEBUG in ('Y', 'C') THEN
17483: msc_sch_wb.atp_debug('Inavlid CTO sourcing');

Line 17480: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN

17476: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
17477:
17478: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
17479: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
17480: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
17481:
17482: IF PG_DEBUG in ('Y', 'C') THEN
17483: msc_sch_wb.atp_debug('Inavlid CTO sourcing');
17484: END IF;

Line 17528: MSC_ATP_PVT.G_PTF_DATE := sysdate;

17524: msc_sch_wb.atp_debug('Now call Get Mand Comp');
17525: END IF;
17526:
17527: --- included items are not passed. Explode them
17528: MSC_ATP_PVT.G_PTF_DATE := sysdate;
17529: MSC_ATP_CTO.Get_Mandatory_Components( -1,
17530: p_instance_id,
17531: p_atp_table.validation_org(j),
17532: p_atp_table.inventory_item_id(j),

Line 17690: IF l_atp_input_table.oe_flag(m) = 'Y' and MSC_ATP_PVT.G_INV_CTP = 4 THEN

17686: IF PG_DEBUG in ('Y', 'C') THEN
17687: msc_sch_wb.atp_debug('Call_Schedule: ' || 'OE Flag (Before ISO check) : '||l_atp_input_table.OE_flag(m));
17688: END IF;
17689: --Bug 4279623 4333596
17690: IF l_atp_input_table.oe_flag(m) = 'Y' and MSC_ATP_PVT.G_INV_CTP = 4 THEN
17691: l_consume_so_profile_value := NVL(FND_PROFILE.VALUE('MSC_ATP_CHECK_INT_SALES_ORDERS'), NVL(FND_PROFILE.VALUE('MSC_CONSUME_INT_SALES_ORDERS'), NO)); --5564082
17692: --l_consume_so_profile_value := NVL(FND_PROFILE.VALUE('MSC_CONSUME_INT_SALES_ORDERS'), NO);
17693: IF PG_DEBUG in ('Y', 'C') THEN
17694: msc_sch_wb.atp_debug('Before get_plan_info_call:l_consume_so_profile_value ' || l_consume_so_profile_value);

Line 17781: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4

17777: msc_sch_wb.atp_debug('Profile value is set to CHECK ATP. We need to do ATP always.');
17778: END IF;
17779:
17780: END IF; -- nvl(fnd_profile.value('msc_consume_int_sales_orders'), '2') = 3
17781: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4
17782: --Bug 4279623 4333596
17783: msc_sch_wb.atp_debug('l_atp_input_table.oe_flag(m) = '||l_atp_input_table.oe_flag(m)); --5564082
17784: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
17785:

Line 17784: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

17780: END IF; -- nvl(fnd_profile.value('msc_consume_int_sales_orders'), '2') = 3
17781: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4
17782: --Bug 4279623 4333596
17783: msc_sch_wb.atp_debug('l_atp_input_table.oe_flag(m) = '||l_atp_input_table.oe_flag(m)); --5564082
17784: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
17785:
17786: IF PG_DEBUG in ('Y', 'C') THEN
17787: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside Internal Sales order import for OM');
17788: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Here ISO BUG x_atp_table count: ' || x_atp_table.action.count);

Line 17848: MSC_ATP_PVT.G_SESSION_ID,

17844: NULL, -- customer id
17845: NULL, -- customer site id
17846: NULL, -- supplier_id
17847: NULL, -- supplier_site_id
17848: MSC_ATP_PVT.G_SESSION_ID,
17849: NULL, -- partner site id
17850: l_ship_method,
17851: l_delivery_lead_time
17852: );

Line 17866: MSC_ATP_PVT.G_SESSION_ID,

17862: l_atp_output_table.customer_id(m),
17863: l_atp_output_table.customer_site_id(m),
17864: NULL, -- supplier_id
17865: NULL, -- supplier_site_id
17866: MSC_ATP_PVT.G_SESSION_ID,
17867: l_atp_output_table.customer_site_id(m),
17868: l_ship_method,
17869: l_delivery_lead_time
17870: );

Line 17898: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN

17894: null,
17895: MSC_CALENDAR.OMC);
17896:
17897: -- Bug 3593394
17898: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
17899:
17900: IF (l_atp_output_table.internal_org_id(m) IS NOT NULL) OR
17901: (l_atp_output_table.organization_id(m) IS NOT NULL AND
17902: l_atp_output_table.customer_id(m) IS NULL AND l_atp_output_table.customer_site_id(m) IS NULL) THEN

Line 17920: MSC_ATP_PVT.G_PARTNER_ID,

17916: l_receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
17917: p_instance_id,
17918: null,
17919: null,
17920: MSC_ATP_PVT.G_PARTNER_ID,
17921: MSC_ATP_PVT.G_PARTNER_SITE_ID,
17922: 2,
17923: null,
17924: l_ship_method,

Line 17921: MSC_ATP_PVT.G_PARTNER_SITE_ID,

17917: p_instance_id,
17918: null,
17919: null,
17920: MSC_ATP_PVT.G_PARTNER_ID,
17921: MSC_ATP_PVT.G_PARTNER_SITE_ID,
17922: 2,
17923: null,
17924: l_ship_method,
17925: -- Bug 3593394 - l_atp_output_table.ship_method(m),

Line 18055: x_atp_table.error_code(m) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

18051: IF PG_DEBUG in ('Y', 'C') THEN
18052: msc_sch_wb.atp_debug('Call_Schedule: ' || 'prev date for ship date not found in Calendar');
18053: msc_sch_wb.atp_debug('Call_Schedule: ' || 'x_atp_table.ship_date ' || x_atp_table.ship_date(m) );
18054: END IF;
18055: x_atp_table.error_code(m) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
18056: END IF;
18057: */
18058:
18059: IF PG_DEBUG in ('Y', 'C') THEN

Line 18166: x_atp_table.Error_Code(i) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

18162: -- Error Handling Changes
18163: FOR i in l_atp_input_table.Action.FIRST ..l_atp_input_table.Action.LAST LOOP
18164: IF (x_atp_table.Error_Code(i) IS NULL) or (x_atp_table.Error_Code(i) IN (0,61,150)) THEN
18165: IF l_msg_app='MRP' AND l_msg_name='GEN-DATE OUT OF BOUNDS' THEN
18166: x_atp_table.Error_Code(i) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
18167: IF PG_DEBUG in ('Y', 'C') THEN
18168: msc_sch_wb.atp_debug('Call_Schedule: NO_MATCHING_CAL_DATE');
18169: END IF;
18170: ELSE

Line 18171: x_atp_table.Error_Code(i) := MSC_ATP_PVT.ATP_PROCESSING_ERROR; -- ATP Processing Error

18167: IF PG_DEBUG in ('Y', 'C') THEN
18168: msc_sch_wb.atp_debug('Call_Schedule: NO_MATCHING_CAL_DATE');
18169: END IF;
18170: ELSE
18171: x_atp_table.Error_Code(i) := MSC_ATP_PVT.ATP_PROCESSING_ERROR; -- ATP Processing Error
18172: END IF;
18173: END IF;
18174: END LOOP;
18175: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN

Line 18176: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'MSC_ATP_PVT');

18172: END IF;
18173: END IF;
18174: END LOOP;
18175: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
18176: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'MSC_ATP_PVT');
18177: END IF;
18178: IF PG_DEBUG in ('Y', 'C') THEN
18179: msc_sch_wb.atp_debug('Call_Schedule: ' || 'error := ' || sqlerrm);
18180: END IF;

Line 18190: ELSE -- IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

18186: msc_sch_wb.atp_debug('Call_Schedule: ' || 'After Assigning values for l_atp_output_table');
18187: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Here ISO BUG x_atp_table count after loop' || x_atp_table.action.count);
18188: END IF;
18189:
18190: ELSE -- IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
18191: -- now call schedule to schedule this line/set.
18192: -- the reason that we do it this way is that when source org not
18193: -- specified, for each line/set, we may return multiple results
18194: -- to users when we cannot satisfy the request on the preferred

Line 18230: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then

18226: -- Reset l_set_fail_flag
18227: l_set_fail_flag := 'N';
18228: ELSE
18229: -- 24x7 Call to schedule. What do we call ?
18230: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then
18231: IF PG_DEBUG in ('Y','C') THEN
18232: msc_sch_wb.atp_debug ('Calling Schedule with 24x7 related parameters');
18233: END IF;
18234:

Line 18235: MSC_ATP_PVT.Schedule(l_atp_input_table,

18231: IF PG_DEBUG in ('Y','C') THEN
18232: msc_sch_wb.atp_debug ('Calling Schedule with 24x7 related parameters');
18233: END IF;
18234:
18235: MSC_ATP_PVT.Schedule(l_atp_input_table,
18236: l_atp_input_table.instance_id(l_atp_input_table.instance_id.FIRST),
18237: p_assign_set_id,
18238: l_atp_input_table.attribute_04(l_atp_input_table.attribute_04.FIRST),
18239: l_atp_output_table,

Line 18247: MSC_ATP_PVT.Schedule(l_atp_input_table,

18243: l_atp_supply_demand,
18244: l_atp_period,
18245: l_atp_details);
18246: else
18247: MSC_ATP_PVT.Schedule(l_atp_input_table,
18248: p_instance_id,
18249: p_assign_set_id,
18250: p_refresh_number,
18251: l_atp_output_table,

Line 18326: MSC_ATP_PVT.UNDO,

18322:
18323: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(l_atp_output_table.end_pegging_id(k),
18324: l_atp_output_table.instance_id(k),
18325: l_atp_output_table.plan_id(k),
18326: MSC_ATP_PVT.UNDO,
18327: 2,--p_dc_flag
18328: l_return_status);
18329: END IF;
18330: END LOOP;

Line 18381: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink

18377: l_msg_count,
18378: x_return_status,
18379: l_msg_data,
18380: l_msg_count);
18381: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink
18382: --as global variable already has the right dblink for RAC
18383: IF l_dblink IS NOT NULL THEN
18384: plsql_block := 'BEGIN msc_sch_wb.pipe_utility'
18385: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,

Line 18385: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,

18381: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink
18382: --as global variable already has the right dblink for RAC
18383: IF l_dblink IS NOT NULL THEN
18384: plsql_block := 'BEGIN msc_sch_wb.pipe_utility'
18385: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,
18386: :p_command,
18387: :l_msg_data,
18388: :l_msg_number,
18389: :x_return_status,

Line 18451: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN

18447: IF PG_DEBUG in ('Y', 'C') THEN
18448: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside global availability check and calling remove_invalid_sd_rec');
18449: END IF;
18450: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
18451: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18452: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18453: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
18455: p_instance_id,

Line 18452: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP

18448: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside global availability check and calling remove_invalid_sd_rec');
18449: END IF;
18450: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
18451: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18452: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18453: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
18455: p_instance_id,
18456: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),

Line 18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),

18450: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
18451: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18452: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18453: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
18455: p_instance_id,
18456: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
18457: UNDO,
18458: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

Line 18456: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),

18452: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18453: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
18455: p_instance_id,
18456: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
18457: UNDO,
18458: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
18459: l_return_status); --3720018
18460: END LOOP;

Line 18458: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

18454: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
18455: p_instance_id,
18456: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
18457: UNDO,
18458: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
18459: l_return_status); --3720018
18460: END LOOP;
18461: END IF;
18462: END IF;

Line 18465: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;

18461: END IF;
18462: END IF;
18463:
18464: --3720018, Initialize global variables to NULL.
18465: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;
18466:
18467: END IF;
18468:
18469: i := j;

Line 18485: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN

18481: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Outside global availability check and calling remove_invalid_sdrec');
18482: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Here ISO BUG x_atp_table count at end of loop: ' || x_atp_table.action.count);
18483: END IF;
18484:
18485: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18486: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18487: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
18489: p_instance_id,

Line 18486: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP

18482: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Here ISO BUG x_atp_table count at end of loop: ' || x_atp_table.action.count);
18483: END IF;
18484:
18485: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18486: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18487: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
18489: p_instance_id,
18490: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),

Line 18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,

18484:
18485: IF ( MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST IS NOT NULL AND MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.Count > 0) THEN
18486: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18487: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
18489: p_instance_id,
18490: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
18491: UNDO,
18492: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

Line 18490: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),

18486: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
18487: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
18489: p_instance_id,
18490: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
18491: UNDO,
18492: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
18493: l_return_status);
18494: END LOOP;

Line 18492: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

18488: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
18489: p_instance_id,
18490: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
18491: UNDO,
18492: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
18493: l_return_status);
18494: END LOOP;
18495: END IF;
18496: IF (NVL(p_atp_table.calling_module(1), -99) <> 724) OR

Line 18530: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;

18526: );
18527: END IF;
18528: END IF;
18529:
18530: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;
18531:
18532: END IF;
18533:
18534: --3720018 (end of changes)

Line 18559: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.

18555: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before calling MSC_ATP_PROC.Delete_Copy_Demand');
18556: END IF;
18557:
18558: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
18559: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
18560: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
18561: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
18562: G_TIME_PHASED_SET,
18563: l_return_status);

Line 18560: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,

18556: END IF;
18557:
18558: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
18559: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
18560: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
18561: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
18562: G_TIME_PHASED_SET,
18563: l_return_status);
18564: END IF;

Line 18561: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,

18557:
18558: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
18559: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
18560: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
18561: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
18562: G_TIME_PHASED_SET,
18563: l_return_status);
18564: END IF;
18565: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();

Line 18565: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();

18561: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
18562: G_TIME_PHASED_SET,
18563: l_return_status);
18564: END IF;
18565: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();
18566: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();
18567:
18568: --Bug 3629191: Insert Offset Record to MRP_ATP_DETAILS_TEMP with record_type = 3
18569: -- and these will be inserted with NULL in all the three pegging_id columns

Line 18566: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();

18562: G_TIME_PHASED_SET,
18563: l_return_status);
18564: END IF;
18565: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();
18566: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();
18567:
18568: --Bug 3629191: Insert Offset Record to MRP_ATP_DETAILS_TEMP with record_type = 3
18569: -- and these will be inserted with NULL in all the three pegging_id columns
18570:

Line 18578: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN

18574: msc_sch_wb.atp_debug('Call_Schedule: ' ||G_OFF_INSTANCE_ID(i) ||',' || G_OFF_PLAN_ID(i)||','||G_OFF_DEM_TRANS_ID(i));
18575: END LOOP;
18576: END IF;
18577:
18578: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
18579: FORALL i in 1..G_OFF_DEM_TRANS_ID.count
18580: INSERT INTO MRP_ATP_DETAILS_TEMP(
18581: session_id,
18582: identifier1,

Line 18623: IF NVL(l_wf_profile, 'N') = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

18619: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Override_flag : '||x_atp_table.Override_Flag(k));
18620: END IF;
18621:
18622: /* rajjain code specific to workflow generation begin*/
18623: IF NVL(l_wf_profile, 'N') = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
18624: -- generate workflow notification only in case of PDS.
18625: IF PG_DEBUG in ('Y', 'C') THEN
18626: msc_sch_wb.atp_debug('Call_Schedule: ' || '*** Begin Workflow Notification ***');
18627: msc_sch_wb.atp_debug('Call_Schedule: ' || 'qty ordered : '||x_atp_table.Quantity_Ordered(k));

Line 18659: IF (nvl(x_atp_table.Error_Code(k),-1) IN (0,53)) AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

18655:
18656: IF PG_DEBUG in ('Y', 'C') THEN
18657: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_avail_date : '||l_avail_date);
18658: END IF;
18659: IF (nvl(x_atp_table.Error_Code(k),-1) IN (0,53)) AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
18660:
18661: IF PG_DEBUG in ('Y', 'C') THEN
18662: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside Workflow for Action : '||
18663: x_atp_table.Action(k));

Line 18694: END IF; --IF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

18690: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_stealing_qty : '||l_stealing_qty);
18691: END IF;
18692:
18693: l_wf_start := 'Y';
18694: END IF; --IF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
18695:
18696: IF NVL(l_wf_start, 'N') = 'Y' THEN
18697:
18698: -- Get the demand_id from mrp_atp_details_temp

Line 18738: (nvl(l_stealing_qty, 0) > 0)) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

18734: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_exception_rec.demand_id : '||l_exception_rec.demand_id);
18735: END IF;
18736:
18737: IF ((nvl(x_atp_table.Requested_Date_Quantity(k),0) < nvl(x_atp_table.Quantity_Ordered(k),0)) OR
18738: (nvl(l_stealing_qty, 0) > 0)) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
18739: (l_wf_item_key IS NOT NULL) THEN
18740:
18741: IF PG_DEBUG in ('Y', 'C') THEN
18742: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before Allocated ATP Workflow');

Line 18814: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then

18810: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before ATP Override Exception');
18811: END IF;
18812:
18813: -- 24x7
18814: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then
18815: if (x_atp_table.instance_id.exists(k)) then
18816: l_instance_id := NVL (x_atp_table.instance_id(k),
18817: x_atp_table.instance_id(x_atp_table.instance_id.FIRST));
18818: else

Line 19061: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER

19057: WHERE instance_id = p_instance_id;
19058: END IF;
19059: --bug3520746 end
19060: SELECT summary_flag, apps_ver
19061: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER
19062: FROM msc_apps_instances
19063: WHERE instance_id = p_instance_id;
19064:
19065: IF PG_DEBUG in ('Y', 'C') THEN

Line 19093: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_profile_value(j), 2 );

19089: END IF;
19090:
19091: IF l_profile_name(j) = 'MSC_ALLOCATION_METHOD' THEN
19092:
19093: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_profile_value(j), 2 );
19094: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
19095:
19096: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP' THEN
19097:

Line 19098: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_profile_value(j), 'N');

19094: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
19095:
19096: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP' THEN
19097:
19098: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_profile_value(j), 'N');
19099: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
19100:
19101: ELSIF l_profile_name(j) = 'MSC_CLASS_HIERARCHY' THEN
19102:

Line 19103: MSC_ATP_PVT.G_HIERARCHY_PROFILE := NVL(l_profile_value(j), 2 );

19099: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
19100:
19101: ELSIF l_profile_name(j) = 'MSC_CLASS_HIERARCHY' THEN
19102:
19103: MSC_ATP_PVT.G_HIERARCHY_PROFILE := NVL(l_profile_value(j), 2 );
19104: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
19105:
19106: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP_WORKFLOW' THEN
19107:

Line 19113: MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(l_profile_value(j), 0 );

19109: FND_PROFILE.put(l_profile_name(j) , l_profile_value(j));
19110:
19111: ELSIF l_profile_name(j) = 'INV_CTP' THEN
19112:
19113: MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(l_profile_value(j), 0 );
19114:
19115: ELSIF l_profile_name(j) = 'MSC_USE_SHIP_REC_CAL' THEN
19116:
19117: l_use_ship_rec := NVL(l_profile_value(j), 'N');

Line 19122: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_profile_value(j), 'N');

19118:
19119: --optional_fw
19120: ELSIF l_profile_name(j) = 'MSC_ENHANCED_FORWARD_ATP' THEN
19121:
19122: MSC_ATP_PVT.G_FORWARD_ATP := NVL(l_profile_value(j), 'N');
19123: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
19124:
19125: ELSIF l_profile_name(j) = 'MSC_MOVE_PAST_DUE_TO_SYSDATE' THEN --6316476
19126:

Line 19127: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476

19123: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
19124:
19125: ELSIF l_profile_name(j) = 'MSC_MOVE_PAST_DUE_TO_SYSDATE' THEN --6316476
19126:
19127: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476
19128:
19129: ELSIF l_profile_name(j) = 'MSC_ZERO_ALLOC_PERC' THEN --6359986
19130:
19131: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986

Line 19131: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986

19127: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476
19128:
19129: ELSIF l_profile_name(j) = 'MSC_ZERO_ALLOC_PERC' THEN --6359986
19130:
19131: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986
19132:
19133: ELSE
19134:
19135: IF PG_DEBUG in ('Y', 'C') THEN

Line 19187: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above

19183: END IF;
19184:
19185: -- store p_inv_ctp and assignment_set_id passed from source
19186: -- in global variable for bug 2368426 starts
19187: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above
19188: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
19189: -- changes for bug 2368426 ends
19190:
19191: IF PG_DEBUG in ('Y', 'C') THEN

Line 19188: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);

19184:
19185: -- store p_inv_ctp and assignment_set_id passed from source
19186: -- in global variable for bug 2368426 starts
19187: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above
19188: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
19189: -- changes for bug 2368426 ends
19190:
19191: IF PG_DEBUG in ('Y', 'C') THEN
19192: msc_sch_wb.atp_debug('***** Begin Call_Schedule_Remote Procedure *****');

Line 19223: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER

19219: WHERE instance_id = p_instance_id;
19220: END IF;
19221: --bug3520746 end
19222: SELECT summary_flag, apps_ver
19223: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER
19224: FROM msc_apps_instances
19225: WHERE instance_id = p_instance_id;
19226: IF PG_DEBUG in ('Y', 'C') THEN
19227: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'after get m2a_dblink');

Line 19232: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);

19228: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_dblink = ' || l_dblink);
19229: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_summary_flag := ' || l_summary_flag);
19230: END IF;
19231: */ --bug3940999 end
19232: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
19233: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
19234:
19235: --s_cto_rearch: 24x7
19236: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;

Line 19233: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;

19229: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_summary_flag := ' || l_summary_flag);
19230: END IF;
19231: */ --bug3940999 end
19232: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
19233: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
19234:
19235: --s_cto_rearch: 24x7
19236: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;
19237: --e_cto_rearch: 24x7

Line 19236: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;

19232: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
19233: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
19234:
19235: --s_cto_rearch: 24x7
19236: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;
19237: --e_cto_rearch: 24x7
19238:
19239: MSC_ATP_UTILS.Get_From_Temp_Table(
19240: l_dblink,

Line 19259: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

19255: END IF;
19256:
19257: --- 2301524: Summary mode is not supported for backlog workbench.
19258: IF PG_DEBUG in ('Y', 'C') THEN
19259: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
19260: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
19261: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
19262: END IF;
19263: IF NVL(p_atp_table.calling_module(1), -99) = -1 and NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y'

Line 19260: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

19256:
19257: --- 2301524: Summary mode is not supported for backlog workbench.
19258: IF PG_DEBUG in ('Y', 'C') THEN
19259: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
19260: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
19261: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
19262: END IF;
19263: IF NVL(p_atp_table.calling_module(1), -99) = -1 and NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y'
19264: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement

Line 19263: IF NVL(p_atp_table.calling_module(1), -99) = -1 and NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y'

19259: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
19260: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
19261: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
19262: END IF;
19263: IF NVL(p_atp_table.calling_module(1), -99) = -1 and NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y'
19264: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
19265: --- if backlog workbench is used then set the summary falg to 200 for ODS cases
19266: IF PG_DEBUG in ('Y', 'C') THEN
19267: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, update tables and turnoff ODS summary');

Line 19264: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement

19260: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
19261: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
19262: END IF;
19263: IF NVL(p_atp_table.calling_module(1), -99) = -1 and NVL(l_summary_flag, -1) <> 200 AND MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y'
19264: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
19265: --- if backlog workbench is used then set the summary falg to 200 for ODS cases
19266: IF PG_DEBUG in ('Y', 'C') THEN
19267: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, update tables and turnoff ODS summary');
19268: END IF;

Line 19273: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

19269:
19270: update msc_apps_instances
19271: set summary_flag = 200;
19272:
19273: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
19274: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
19275: --site is using backlog workbench, turn off the summary flag for ODS cases;
19276: IF PG_DEBUG in ('Y', 'C') THEN
19277: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');

Line 19274: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement

19270: update msc_apps_instances
19271: set summary_flag = 200;
19272:
19273: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
19274: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
19275: --site is using backlog workbench, turn off the summary flag for ODS cases;
19276: IF PG_DEBUG in ('Y', 'C') THEN
19277: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');
19278: END IF;

Line 19279: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

19275: --site is using backlog workbench, turn off the summary flag for ODS cases;
19276: IF PG_DEBUG in ('Y', 'C') THEN
19277: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');
19278: END IF;
19279: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
19280: END IF;
19281:
19282:
19283: -- bug3940999 Moved code from Line 579 in Schedule here, not directly due to this bug

Line 19285: IF l_use_ship_rec <> MSC_ATP_PVT.G_USE_SHIP_REC_CAL THEN --bug3593394

19281:
19282:
19283: -- bug3940999 Moved code from Line 579 in Schedule here, not directly due to this bug
19284: -- Also changed the order of IF condition.
19285: IF l_use_ship_rec <> MSC_ATP_PVT.G_USE_SHIP_REC_CAL THEN --bug3593394
19286:
19287: --bug3593394
19288: IF PG_DEBUG in ('Y', 'C') THEN
19289: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_USE_SHIP_REC_CAL doesnt match');

Line 19298: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;

19294: IF (i=1) or
19295: (NVL(x_atp_table.Ship_Set_Name(i),-99) <> NVL(x_atp_table.Ship_Set_Name(i-1),-100) AND
19296: NVL(x_atp_table.Arrival_Set_Name(i),-99) <> NVL(x_atp_table.Arrival_Set_Name(i-1),-100)) THEN
19297: -- Independent line or first line of a set. Error should be USE_SHIP_REC_NOT_IN_SYNC
19298: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;
19299: ELSE
19300: -- Part of a set. Error code should be
19301: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
19302: END IF;

Line 19301: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;

19297: -- Independent line or first line of a set. Error should be USE_SHIP_REC_NOT_IN_SYNC
19298: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;
19299: ELSE
19300: -- Part of a set. Error code should be
19301: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
19302: END IF;
19303: IF PG_DEBUG in ('Y', 'C') THEN
19304: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'error_code(' || i || ') : ' || x_atp_table.error_code(i));
19305: END IF;

Line 19309: ELSIF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN

19305: END IF;
19306: i := p_atp_table.Action.NEXT(i);
19307: END LOOP;
19308:
19309: ELSIF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
19310:
19311: IF PG_DEBUG in ('Y', 'C') THEN
19312: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Source INV_CTP not in sync with destination ');
19313: END IF;

Line 19321: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;

19317: IF (i=1) or
19318: (NVL(x_atp_table.Ship_Set_Name(i),-99) <> NVL(x_atp_table.Ship_Set_Name(i-1),-100) AND
19319: NVL(x_atp_table.Arrival_Set_Name(i),-99) <> NVL(x_atp_table.Arrival_Set_Name(i-1),-100)) THEN
19320: -- Independent line or first line of a set. Error should be INV_CTP_NOT_IN_SYNC
19321: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
19322: ELSE
19323: -- Part of a set. Error code should be
19324: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
19325: END IF;

Line 19324: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;

19320: -- Independent line or first line of a set. Error should be INV_CTP_NOT_IN_SYNC
19321: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
19322: ELSE
19323: -- Part of a set. Error code should be
19324: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
19325: END IF;
19326: IF PG_DEBUG in ('Y', 'C') THEN
19327: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'error_code(' || i || ') : ' || x_atp_table.error_code(i));
19328: END IF;

Line 19334: MSC_ATP_PVT.Call_Schedule(p_session_id,

19330: END LOOP;
19331:
19332: ELSE
19333:
19334: MSC_ATP_PVT.Call_Schedule(p_session_id,
19335: p_atp_table,
19336: p_instance_id,
19337: p_assign_set_id,
19338: p_refresh_number,

Line 19399: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);

19395: IF PG_DEBUG in ('Y', 'C') THEN
19396: msc_sch_wb.atp_debug('********** Begin Process_Time_Stamp_Errors **********');
19397: msc_sch_wb.atp_debug('ship_date:(Before) ' || to_char(l_atp_table.ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
19398: msc_sch_wb.atp_debug('Req. ship_date:(Before) ' || to_char(l_atp_table.requested_ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
19399: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
19400: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
19401: END IF;
19402:
19403: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN

Line 19400: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);

19396: msc_sch_wb.atp_debug('********** Begin Process_Time_Stamp_Errors **********');
19397: msc_sch_wb.atp_debug('ship_date:(Before) ' || to_char(l_atp_table.ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
19398: msc_sch_wb.atp_debug('Req. ship_date:(Before) ' || to_char(l_atp_table.requested_ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
19399: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
19400: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
19401: END IF;
19402:
19403: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN
19404: --bug 9237457, We should TRUNC ship/arrival date before adding time_stamp even if G_RETAIN_TIME_NON_ATP = 'Y'

Line 19403: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN

19399: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
19400: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
19401: END IF;
19402:
19403: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN
19404: --bug 9237457, We should TRUNC ship/arrival date before adding time_stamp even if G_RETAIN_TIME_NON_ATP = 'Y'
19405: IF l_atp_table.requested_ship_date(i) is not null then
19406: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) +
19407: (l_atp_table.requested_ship_date(i)

Line 19423: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;

19419: - TRUNC(l_atp_table.requested_arrival_date(i)));
19420: END IF;
19421: ELSE
19422: IF l_atp_table.requested_ship_date(i) is not null then
19423: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19424: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19425: ELSE
19426: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19427: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

Line 19424: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

19420: END IF;
19421: ELSE
19422: IF l_atp_table.requested_ship_date(i) is not null then
19423: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19424: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19425: ELSE
19426: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19427: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19428:

Line 19426: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;

19422: IF l_atp_table.requested_ship_date(i) is not null then
19423: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19424: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19425: ELSE
19426: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19427: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19428:
19429: END IF;
19430: END IF;

Line 19427: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

19423: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19424: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19425: ELSE
19426: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
19427: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
19428:
19429: END IF;
19430: END IF;
19431: MSC_ATP_PROC.G_latest_ship_date_set := GREATEST(NVL(MSC_ATP_PROC.G_latest_ship_date_set, l_atp_table.ship_date(i)),

Line 19522: END MSC_ATP_PVT;

19518: APP_EXCEPTION.RAISE_EXCEPTION;
19519: END Get_Date_From_Seqnum;
19520:
19521: -- Comment
19522: END MSC_ATP_PVT;