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.39.12010000.2 2008/08/13 11:25:08 sbnaik 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.39.12010000.2 2008/08/13 11:25:08 sbnaik 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 167: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec;

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

Line 191: l_org_attribute_rec MSC_ATP_PVT.org_attribute_rec;

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

Line 193: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;

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

Line 285: l_ship_arrival_date_rec MSC_ATP_PVT.ship_arrival_date_rec_typ;

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

Line 302: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC; --3720018

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

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

313: IF PG_DEBUG in ('Y', 'C') THEN
314: msc_sch_wb.atp_debug('**********IN Schedule Procedure************');
315: END IF;
316: --initialize ATP_SET_FLAG TO NO --4460369
317: MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := 'N';
318: -- initialize API return status to success
319: x_return_status := FND_API.G_RET_STS_SUCCESS;
320:
321: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');

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

317: MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := 'N';
318: -- initialize API return status to success
319: x_return_status := FND_API.G_RET_STS_SUCCESS;
320:
321: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');
322: IF PG_DEBUG in ('Y', 'C') THEN
323: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
324: END IF;
325:

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

319: x_return_status := FND_API.G_RET_STS_SUCCESS;
320:
321: MSC_ATP_PVT.G_RES_CONSUME := NVL(FND_PROFILE.value('MSC_ATP_RES_CONSUME'), 'Y');
322: IF PG_DEBUG in ('Y', 'C') THEN
323: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
324: END IF;
325:
326: MSC_ATP_PVT.G_PARTNER_ID := NULL;
327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

Line 326: MSC_ATP_PVT.G_PARTNER_ID := NULL;

322: IF PG_DEBUG in ('Y', 'C') THEN
323: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
324: END IF;
325:
326: MSC_ATP_PVT.G_PARTNER_ID := NULL;
327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
328:
329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:

Line 327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

323: msc_sch_wb.atp_debug('Schedule: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
324: END IF;
325:
326: MSC_ATP_PVT.G_PARTNER_ID := NULL;
327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
328:
329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN

Line 329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;

325:
326: MSC_ATP_PVT.G_PARTNER_ID := NULL;
327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
328:
329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

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

327: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
328:
329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

Line 332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

328:
329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
336: IF PG_DEBUG in ('Y', 'C') THEN

Line 333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

329: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
336: IF PG_DEBUG in ('Y', 'C') THEN
337: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');

Line 334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

330:
331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
336: IF PG_DEBUG in ('Y', 'C') THEN
337: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');
338: END IF;

Line 335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

331: IF MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT <> 0 THEN
332: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
333: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
334: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
335: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
336: IF PG_DEBUG in ('Y', 'C') THEN
337: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 15');
338: END IF;
339:

Line 356: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN

352:
353: --- BUG: 1777496
354: --- WE dont want to do Allocated ATP in case of ODS
355: --- Allocattion flag is set to 'NO' if it is ODS
356: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
357: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
358: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
359: END IF;
360: -- we either have a line here or a set (arrival set or ship set)

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

353: --- BUG: 1777496
354: --- WE dont want to do Allocated ATP in case of ODS
355: --- Allocattion flag is set to 'NO' if it is ODS
356: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
357: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
358: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
359: END IF;
360: -- we either have a line here or a set (arrival set or ship set)
361: -- this l_ship_count store the # of line for the ship set.

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

354: --- WE dont want to do Allocated ATP in case of ODS
355: --- Allocattion flag is set to 'NO' if it is ODS
356: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
357: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
358: MSC_ATP_PVT.G_ORIG_ALLOC_ATP := 'N'; --4925767
359: END IF;
360: -- we either have a line here or a set (arrival set or ship set)
361: -- this l_ship_count store the # of line for the ship set.
362:

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

374: END IF;
375: ---diag_atp: Enable diagnostic ATP only if calling module tells us to do so and for ATP inquiry only
376: ---Also Diag ATP is supported for PDS.
377: IF ((p_atp_table.Action(1) = ATPQUERY) AND (NVL(p_atp_table.attribute_02(1), 2) = 1)
378: AND (MSC_ATP_PVT.G_INV_CTP = 4)) THEN
379:
380: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
381:
382: ELSE

Line 380: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;

376: ---Also Diag ATP is supported for PDS.
377: IF ((p_atp_table.Action(1) = ATPQUERY) AND (NVL(p_atp_table.attribute_02(1), 2) = 1)
378: AND (MSC_ATP_PVT.G_INV_CTP = 4)) THEN
379:
380: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
381:
382: ELSE
383:
384: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;

Line 384: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;

380: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 1;
381:
382: ELSE
383:
384: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;
385:
386: END IF;
387: IF PG_DEBUG in ('Y', 'C') THEN
388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DIAGNOSTIC_ATP := ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);

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

384: MSC_ATP_PVT.G_DIAGNOSTIC_ATP := 2;
385:
386: END IF;
387: IF PG_DEBUG in ('Y', 'C') THEN
388: msc_sch_wb.atp_debug('Schedule: ' || 'G_DIAGNOSTIC_ATP := ' || MSC_ATP_PVT.G_DIAGNOSTIC_ATP);
389: END IF;
390:
391: /************ Bug 2085071 Assignment set changes ************/
392: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN

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

509:
510: l_stmt := 30;
511: IF PG_DEBUG in ('Y', 'C') THEN
512: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
513: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
514: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
515: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);

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

510: l_stmt := 30;
511: IF PG_DEBUG in ('Y', 'C') THEN
512: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
513: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
514: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
515: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
518: END IF;

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

511: IF PG_DEBUG in ('Y', 'C') THEN
512: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
513: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
514: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
515: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
518: END IF;
519: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND

Line 517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);

513: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
514: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
515: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
518: END IF;
519: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
520: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
521: --IF coming from planning server then we want to disable Summary mode for

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

515: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
518: END IF;
519: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
520: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
521: --IF coming from planning server then we want to disable Summary mode for
522: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
523: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE

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

516: msc_sch_wb.atp_debug('Schedule: ' || 'G_HP_DEMAND_BUCKETING_PREF := ' ||
517: MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF);
518: END IF;
519: IF ((MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND (MSC_ATP_PVT.G_DATABASE_LINK IS NULL) AND
520: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N')) THEN
521: --IF coming from planning server then we want to disable Summary mode for
522: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
523: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE
524: --Bug3765793 adding trim functions to remove spaces from db_link

Line 526: INTO MSC_ATP_PVT.G_DATABASE_LINK, l_summary_flag

522: -- instance which is distributed. If it is non distributed then G_DATABASE_LINK will
523: -- be null at this point as it is populated in CALL_SCHEDULE_REMOTE
524: --Bug3765793 adding trim functions to remove spaces from db_link
525: SELECT ltrim(rtrim(M2A_DBLINK)), summary_flag
526: INTO MSC_ATP_PVT.G_DATABASE_LINK, l_summary_flag
527: FROM msc_apps_instances
528: WHERE instance_id = p_instance_id;
529:
530: ---bug 2301524:

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

531: --- 2301524: Summary mode is not supported for backlog workbench.
532: IF PG_DEBUG in ('Y', 'C') THEN
533: msc_sch_wb.atp_debug('Schedule: ' || 'calling_module := ' || p_atp_table.calling_module(1));
534: msc_sch_wb.atp_debug('Schedule: ' || ' l_summary_flag := ' || l_summary_flag);
535: msc_sch_wb.atp_debug('Schedule: ' || ' G_DATABASE_LINK := ' || NVL(MSC_ATP_PVT.G_DATABASE_LINK,'NULL'));
536: END IF;
537:
538: -- After summary enhancement summary ATP is supported for BWB as well - except for ODS case
539: 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 539: 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

535: msc_sch_wb.atp_debug('Schedule: ' || ' G_DATABASE_LINK := ' || NVL(MSC_ATP_PVT.G_DATABASE_LINK,'NULL'));
536: END IF;
537:
538: -- After summary enhancement summary ATP is supported for BWB as well - except for ODS case
539: 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
540: --- if backlog workbench is used then set the summary falg to 200
541: IF PG_DEBUG in ('Y', 'C') THEN
542: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, update tables and turnoff summary for ODS case');
543: END IF;

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

544:
545: update msc_apps_instances
546: set summary_flag = 200;
547:
548: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
549: ELSIF NVL(l_summary_flag, -1) = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
550: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
551: IF PG_DEBUG in ('Y', 'C') THEN
552: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');

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

545: update msc_apps_instances
546: set summary_flag = 200;
547:
548: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
549: ELSIF NVL(l_summary_flag, -1) = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
550: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
551: IF PG_DEBUG in ('Y', 'C') THEN
552: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');
553: END IF;

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

550: --site is using backlog workbench, turn off the summary flag - only for ODS case - summary enhancement
551: IF PG_DEBUG in ('Y', 'C') THEN
552: msc_sch_wb.atp_debug('Schedule: ' || 'Site is using backlog workbench, turnoff summary');
553: END IF;
554: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
555: END IF;
556:
557: END IF;
558:

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

556:
557: END IF;
558:
559: ---- After summary enhancement summary will be supported for distributed cases as well - except for ODS case
560: IF MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
561: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
562: IF PG_DEBUG in ('Y', 'C') THEN
563: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed scenario + ODS, turning summary flag off');
564: END IF;

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

557: END IF;
558:
559: ---- After summary enhancement summary will be supported for distributed cases as well - except for ODS case
560: IF MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL AND MSC_ATP_PVT.G_INV_CTP = 5 THEN
561: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
562: IF PG_DEBUG in ('Y', 'C') THEN
563: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed scenario + ODS, turning summary flag off');
564: END IF;
565: END IF;

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

571:
572: /* bug3940999 Code moved to call_schedule_remote.
573: -- Code added for bug 2368426 to match source destination INV_CTP start
574:
575: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> -1 THEN
576:
577: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
578:
579: IF PG_DEBUG in ('Y', 'C') THEN

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

573: -- Code added for bug 2368426 to match source destination INV_CTP start
574:
575: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> -1 THEN
576:
577: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
578:
579: IF PG_DEBUG in ('Y', 'C') THEN
580: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
581: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);

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

576:
577: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
578:
579: IF PG_DEBUG in ('Y', 'C') THEN
580: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
581: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
582: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP not in sync with destination ');
583: END IF;
584: -- apply the error code in l_atp_table

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

577: IF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
578:
579: IF PG_DEBUG in ('Y', 'C') THEN
580: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP ' || MSC_ATP_PVT.G_INV_CTP_SOURCE);
581: msc_sch_wb.atp_debug('Schedule: ' || 'Destination INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
582: msc_sch_wb.atp_debug('Schedule: ' || 'Source INV_CTP not in sync with destination ');
583: END IF;
584: -- apply the error code in l_atp_table
585:

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

584: -- apply the error code in l_atp_table
585:
586: FOR l_counter IN 1..l_atp_table.error_code.COUNT LOOP
587: IF l_counter=1 THEN
588: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
589: ELSE
590: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.GROUPEL_ERROR;
591: END IF;
592: END LOOP;

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

586: FOR l_counter IN 1..l_atp_table.error_code.COUNT LOOP
587: IF l_counter=1 THEN
588: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
589: ELSE
590: l_atp_table.error_code(l_counter) := MSC_ATP_PVT.GROUPEL_ERROR;
591: END IF;
592: END LOOP;
593: RAISE NO_DATA_FOUND;
594:

Line 614: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

610: l_demand_ids.Extend(p_atp_table.action.count);
611: l_inv_item_ids.extend(p_atp_table.action.count);
612: l_req_arr_date.extend(p_atp_table.action.count);--for plan by request date
613: -- bug 2152184
614: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
615: -- we store the pf id and old org id. l_pf_item_id will contain either PF item id if we are doing
616: --- product family for the item or the inventory_item_id itself for regular item
617: ---we store these ids because of change in PF atp approach to do PF ATP on PF item level
618: -- Under new approach, for PF ATP, demand is stored on PF item level instead on member item level

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

676: x_return_status := FND_API.G_RET_STS_ERROR;
677: RAISE FND_API.G_EXC_ERROR;
678: END IF;
679:
680: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
681: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
682: l_atp_table.error_code(1) := l_delete_atp_rec.error_code(1);
683: RAISE NO_DATA_FOUND;
684: END IF;

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

677: RAISE FND_API.G_EXC_ERROR;
678: END IF;
679:
680: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
681: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
682: l_atp_table.error_code(1) := l_delete_atp_rec.error_code(1);
683: RAISE NO_DATA_FOUND;
684: END IF;
685: END IF;

Line 773: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;

769: -- 1873918: PDS-ODS fix
770: -- introduce 2 variables to hold the global variable value.
771: -- we need to know the original values and then reset it each time.
772:
773: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
774: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
775: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
776:
777: -- savirine, Sep 05, 2001: call get_regions to get regions info which will be used for ATP request.

Line 774: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;

770: -- introduce 2 variables to hold the global variable value.
771: -- we need to know the original values and then reset it each time.
772:
773: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
774: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
775: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
776:
777: -- savirine, Sep 05, 2001: call get_regions to get regions info which will be used for ATP request.
778:

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

771: -- we need to know the original values and then reset it each time.
772:
773: l_inv_ctp := MSC_ATP_PVT.G_INV_CTP;
774: l_allocated_atp := MSC_ATP_PVT.G_ALLOCATED_ATP;
775: l_allocation_method := NVL(MSC_ATP_PVT.G_ALLOCATION_METHOD, 2);
776:
777: -- savirine, Sep 05, 2001: call get_regions to get regions info which will be used for ATP request.
778:
779: msc_sch_wb.atp_debug('p_atp_table.delivery_lead_time: ' || p_atp_table.delivery_lead_time(1));

Line 790: p_session_id => MSC_ATP_PVT.G_SESSION_ID,

786: p_customer_site_id => p_atp_table.Customer_Site_Id(1),
787: p_calling_module => p_atp_table.Calling_Module(1),
788: -- i.e. Source (ERP) or Destination (724)
789: p_instance_id => p_instance_id,
790: p_session_id => MSC_ATP_PVT.G_SESSION_ID,
791: p_dblink => NULL,
792: x_return_status => l_return_status );
793:
794: -- ngoel 9/27/2001 : Assigned values to G_SR_PARTNER_SITE_ID GLOBAL Variable

Line 833: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

829: -- 1873918: PDS-ODS fix
830: IF PG_DEBUG in ('Y', 'C') THEN
831: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
832: END IF;
833: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
834: -- ATP4drp re-set using original profile value.
835: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
836: -- End ATP4drp
837: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

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

831: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
832: END IF;
833: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
834: -- ATP4drp re-set using original profile value.
835: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
836: -- End ATP4drp
837: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
838: l_plan_id := -1;
839: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN

Line 837: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

833: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
834: -- ATP4drp re-set using original profile value.
835: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
836: -- End ATP4drp
837: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
838: l_plan_id := -1;
839: IF NVL(p_atp_table.Calling_Module(1), -1) = 724 THEN
840: IF PG_DEBUG in ('Y', 'C') THEN
841: msc_sch_wb.atp_debug('Schedule: ' || '724');

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

917: l_atp_table := p_atp_table;
918:
919: END IF;
920:
921: --IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
922: -- Bug 4091487 Checking so_tbl_status in PDS ATP also.
923: -- if this is ods atp, we need to make sure planning is not doing
924: -- the complete refresh . populate error code if we are in the
925: -- the complete refresh.

Line 932: MSC_ATP_PVT.G_APPS_VER -- 2300767

928: NVL(summary_flag, 1),
929: apps_ver
930: INTO l_so_tbl_status,
931: l_summary_flag,
932: MSC_ATP_PVT.G_APPS_VER -- 2300767
933: FROM msc_apps_instances
934: WHERE instance_id = p_instance_id;
935:
936: IF PG_DEBUG in ('Y', 'C') THEN

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

935:
936: IF PG_DEBUG in ('Y', 'C') THEN
937: msc_sch_wb.atp_debug('Schedule: ' || 'l_so_tbl_status = '||l_so_tbl_status);
938: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag = ' || l_summary_flag);
939: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_APPS_VER = ' || MSC_ATP_PVT.G_APPS_VER);
940: END IF; -- 2300767
941:
942:
943: IF NVL(l_so_tbl_status, 1) = 2 THEN

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

953: ---- summary table is not ready. Switch to detail tables
954: IF PG_DEBUG in ('Y', 'C') THEN
955: msc_sch_wb.atp_debug('Schedule: ' || ' summary table is not ready. Switch to detail tables');
956: END IF;
957: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
958:
959: ELSIF l_summary_flag = 2 THEN
960:
961: IF PG_DEBUG in ('Y', 'C') THEN

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

981:
982: l_stmt := 90;
983:
984: /*
985: IF (MSC_ATP_PVT.G_ASSIGN_SET_ID IS NULL) THEN
986: FND_MESSAGE.set_name('MRP','MRP_NO_ATP_ASSIGN_SET');
987: -- need to add error message
988: l_atp_table.Error_Code(k) := ATP_NO_ASSIGN_SET;
989: RAISE NO_DATA_FOUND;

Line 1032: MSC_ATP_PVT.G_SESSION_ID,

1028: l_assign_set_id,
1029: --s_cto_rearch
1030: l_item_sourcing_info_rec,
1031: --p_atp_table.inventory_item_id,
1032: MSC_ATP_PVT.G_SESSION_ID,
1033: l_sources,
1034: l_return_status,
1035: l_partner_type, --2814895
1036: p_atp_table.party_site_id(k), --2814895

Line 1055: MSC_ATP_PVT.G_SESSION_ID,

1051: l_assign_set_id,
1052: --s_cto_rearch
1053: l_item_sourcing_info_rec,
1054: --MRP_ATP_PUB.number_arr(NULL),
1055: MSC_ATP_PVT.G_SESSION_ID,
1056: l_sources,
1057: l_return_status,
1058: l_partner_type, --2814895
1059: p_atp_table.party_site_id(k), --2814895

Line 1087: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN

1083: END IF;
1084: --4091487 In case no records in msc_item_id_lid
1085: --raise seperate error item not collected in case item not found in
1086:
1087: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1088: l_atp_table.error_code(k) := TRY_ATP_LATER;
1089: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1090: FOR l_count in 1..l_atp_table.error_code.count LOOP
1091: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

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

1085: --raise seperate error item not collected in case item not found in
1086:
1087: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1088: l_atp_table.error_code(k) := TRY_ATP_LATER;
1089: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1090: FOR l_count in 1..l_atp_table.error_code.count LOOP
1091: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1092: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1093: END IF;

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

1087: IF l_return_status = MSC_ATP_PVT.G_ITEM_ID_NULL THEN
1088: l_atp_table.error_code(k) := TRY_ATP_LATER;
1089: ELSIF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL or l_return_status = MSC_ATP_PVT.G_ITEM_NOT_COLL THEN
1090: FOR l_count in 1..l_atp_table.error_code.count LOOP
1091: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1092: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1093: END IF;
1094: END LOOP;
1095: --- set the variable back to null

Line 1096: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1092: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1093: END IF;
1094: END LOOP;
1095: --- set the variable back to null
1096: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1097: ELSE
1098:
1099: l_atp_table.Error_Code(k):= ATP_NO_SOURCES;
1100: END IF;

Line 1144: MSC_ATP_PVT.G_SESSION_ID,

1140:
1141: MSC_ATP_CTO.Validate_CTO_Sources(l_sources,
1142: l_atp_table.identifier,
1143: p_instance_id,
1144: MSC_ATP_PVT.G_SESSION_ID,
1145: l_return_status);
1146:
1147: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1148: --warehouse entered is not a valid warehouse for one of the models

Line 1147: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

1143: p_instance_id,
1144: MSC_ATP_PVT.G_SESSION_ID,
1145: l_return_status);
1146:
1147: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1148: --warehouse entered is not a valid warehouse for one of the models
1149: l_atp_table.Error_Code(k):= MSC_ATP_PVT.INVALID_OSS_WAREHOUSE;
1150: RAISE NO_DATA_FOUND;
1151: END IF;

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

1145: l_return_status);
1146:
1147: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
1148: --warehouse entered is not a valid warehouse for one of the models
1149: l_atp_table.Error_Code(k):= MSC_ATP_PVT.INVALID_OSS_WAREHOUSE;
1150: RAISE NO_DATA_FOUND;
1151: END IF;
1152:
1153: ELSE

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

1249: END IF;*/
1250:
1251: -- initialize the group date in case it is a ship set
1252: -- Bug 2259824
1253: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
1254: IF PG_DEBUG in ('Y', 'C') THEN
1255: msc_sch_wb.atp_debug('Schedule: 2259824 l_group_date = '||
1256: to_char(l_group_date, 'DD-MON-YYYY HH24:MI:SS'));
1257: END IF;

Line 1291: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

1287: msc_sch_wb.atp_debug('Schedule: Stmt = '||l_stmt);
1288: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
1289: msc_sch_wb.atp_debug('Schedule: Reinitialize global org/item/plan recs');
1290: END IF;
1291: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1292: -- ATP4drp re-set using original profile value
1293: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1294: -- End ATP4drp
1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

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

1289: msc_sch_wb.atp_debug('Schedule: Reinitialize global org/item/plan recs');
1290: END IF;
1291: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1292: -- ATP4drp re-set using original profile value
1293: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1294: -- End ATP4drp
1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1296:
1297: -- 2741997

Line 1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

1291: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
1292: -- ATP4drp re-set using original profile value
1293: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
1294: -- End ATP4drp
1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1296:
1297: -- 2741997
1298: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;

Line 1298: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;

1294: -- End ATP4drp
1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1296:
1297: -- 2741997
1298: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1300: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1301:
1302: --diag_atp: Reset the allocation rule name varibale as it may get reset.

Line 1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;

1295: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
1296:
1297: -- 2741997
1298: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1300: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1301:
1302: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1303: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;

Line 1300: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;

1296:
1297: -- 2741997
1298: MSC_ATP_PVT.G_PLAN_INFO_REC := l_null_plan_info_rec;
1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1300: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1301:
1302: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1303: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;
1304: IF PG_DEBUG in ('Y', 'C') THEN

Line 1303: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;

1299: MSC_ATP_PVT.G_ITEM_INFO_REC := l_null_item_info_rec;
1300: MSC_ATP_PVT.G_ORG_INFO_REC := l_null_org_info_rec;
1301:
1302: --diag_atp: Reset the allocation rule name varibale as it may get reset.
1303: MSC_ATP_PVT.G_ALLOCATION_RULE_NAME := null;
1304: IF PG_DEBUG in ('Y', 'C') THEN
1305: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP '||G_INV_CTP|| ' G_ALLOCATED_ATP '||G_ALLOCATED_ATP);
1306: END IF;
1307:

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

1305: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP '||G_INV_CTP|| ' G_ALLOCATED_ATP '||G_ALLOCATED_ATP);
1306: END IF;
1307:
1308: -- ship_rec_cal
1309: -- MSC_ATP_PVT.G_CALENDAR_CONSTRAINT := 'N';
1310: -- Bug3593394 - No need to reset it here. If contraint is not there then this will be explicitly set to 'N'
1311:
1312: -- assign l_process_item_id.
1313: -- this is for product family atp. when we do

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

1324: --bug 2301524
1325: -- After summary enhancement Summary will be disabled only for ODS case
1326: IF (
1327: (
1328: MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL -- (Distributed case or BWB)
1329: OR l_summary_flag = 200 -- and ODS
1330: OR p_atp_table.calling_module(1) = -1
1331: )
1332: AND MSC_ATP_PVT.G_INV_CTP = 5

Line 1332: AND MSC_ATP_PVT.G_INV_CTP = 5

1328: MSC_ATP_PVT.G_DATABASE_LINK IS NOT NULL -- (Distributed case or BWB)
1329: OR l_summary_flag = 200 -- and ODS
1330: OR p_atp_table.calling_module(1) = -1
1331: )
1332: AND MSC_ATP_PVT.G_INV_CTP = 5
1333: )
1334: OR
1335: (
1336: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and

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

1332: AND MSC_ATP_PVT.G_INV_CTP = 5
1333: )
1334: OR
1335: (
1336: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1337: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1338: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1339: ) THEN
1340: IF PG_DEBUG in ('Y', 'C') THEN

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

1333: )
1334: OR
1335: (
1336: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1337: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1338: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1339: ) THEN
1340: IF PG_DEBUG in ('Y', 'C') THEN
1341: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||

Line 1338: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1

1334: OR
1335: (
1336: MSC_ATP_PVT.G_INV_CTP = 4 -- PDS and
1337: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' -- user defined allocated ATP
1338: AND MSC_ATP_PVT.G_ALLOCATION_METHOD <> 1
1339: ) THEN
1340: IF PG_DEBUG in ('Y', 'C') THEN
1341: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1342: 'always do ATP against details table');

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

1339: ) THEN
1340: IF PG_DEBUG in ('Y', 'C') THEN
1341: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1342: 'always do ATP against details table');
1343: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1344: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1345: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1346: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1347: END IF;

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

1340: IF PG_DEBUG in ('Y', 'C') THEN
1341: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1342: 'always do ATP against details table');
1343: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1344: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1345: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1346: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1347: END IF;
1348: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';

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

1341: msc_sch_wb.atp_debug('Schedule: ' || 'Distributed environment+BWB+ODS or rule-based-allocated-ATP+PDS, ' ||
1342: 'always do ATP against details table');
1343: msc_sch_wb.atp_debug('Schedule: ' || 'G_DATABASE_LINK := ' || MSC_ATP_PVT.G_DATABASE_LINK);
1344: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1345: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1346: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1347: END IF;
1348: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1349: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN

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

1344: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
1345: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1346: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1347: END IF;
1348: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1349: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1350: --- we re-read this summary profile option because it might get changed with plan
1351: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1352: END IF;

Line 1349: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN

1345: msc_sch_wb.atp_debug('Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
1346: msc_sch_wb.atp_debug('Schedule: ' || 'l_summary_flag := ' || l_summary_flag);
1347: END IF;
1348: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1349: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1350: --- we re-read this summary profile option because it might get changed with plan
1351: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1352: END IF;
1353: IF PG_DEBUG in ('Y', 'C') THEN

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

1347: END IF;
1348: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
1349: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1350: --- we re-read this summary profile option because it might get changed with plan
1351: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1352: END IF;
1353: IF PG_DEBUG in ('Y', 'C') THEN
1354: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1355: END IF;

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

1350: --- we re-read this summary profile option because it might get changed with plan
1351: MSC_ATP_PVT.G_SUMMARY_FLAG := NVL(FND_PROFILE.VALUE('MSC_ENABLE_ATP_SUMMARY'), 'N');
1352: END IF;
1353: IF PG_DEBUG in ('Y', 'C') THEN
1354: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1355: END IF;
1356:
1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);

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

1353: IF PG_DEBUG in ('Y', 'C') THEN
1354: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1355: END IF;
1356:
1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1359: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';

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

1354: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
1355: END IF;
1356:
1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1359: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1362:

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

1355: END IF;
1356:
1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1359: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1362:
1363: -- krajan : 2408902 - populate global variable (for use with CTO items)

Line 1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;

1356:
1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1359: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1362:
1363: -- krajan : 2408902 - populate global variable (for use with CTO items)
1364: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);

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

1357: MSC_ATP_PVT.G_ORDER_LINE_ID := l_atp_table.Identifier(i);
1358: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := l_atp_table.Identifier(i);
1359: MSC_ATP_PVT.G_COMP_LINE_ID := l_atp_table.Identifier(i);
1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1362:
1363: -- krajan : 2408902 - populate global variable (for use with CTO items)
1364: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1365: IF PG_DEBUG in ('Y', 'C') THEN

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

1360: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := null;
1361: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'N';
1362:
1363: -- krajan : 2408902 - populate global variable (for use with CTO items)
1364: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1365: IF PG_DEBUG in ('Y', 'C') THEN
1366: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1367: END IF;
1368:

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

1362:
1363: -- krajan : 2408902 - populate global variable (for use with CTO items)
1364: MSC_ATP_PVT.G_ATP_DEMAND_CLASS := l_atp_table.Demand_class(i);
1365: IF PG_DEBUG in ('Y', 'C') THEN
1366: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1367: END IF;
1368:
1369: -- 9/24/2001, ngoel added to identify if current line is a MATO line, initializing here.
1370: MSC_ATP_PVT.G_CTO_LINE := 'N';

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

1366: msc_sch_wb.atp_debug('Schedule: ' || 'Setting global Demand_Class variable to : '|| MSC_ATP_PVT.G_ATP_DEMAND_CLASS );
1367: END IF;
1368:
1369: -- 9/24/2001, ngoel added to identify if current line is a MATO line, initializing here.
1370: MSC_ATP_PVT.G_CTO_LINE := 'N';
1371:
1372: l_stmt := 180;
1373:
1374: --6014992

Line 1383: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1379: -- here we first to see if the item in ods is atpable or not.
1380: -- if not atpable, don't bother to look for plan_id
1381:
1382: -- set the variable to null before calling get_atp_flag
1383: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1384:
1385: /* Modularize Item and Org Info */
1386: -- Get item information into the local variable
1387: -- and assign it to the global.

Line 1414: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND

1410: -- raise error as in PDS plan won't be available and ATP can't be done in ODS as well.
1411:
1412: -- Need to check for atp_components_flag as well and fail if either of them were not 'N' on source.
1413:
1414: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND
1415: (NVL(l_atp_table.attribute_06(i), 'N') <> 'N' OR NVL(l_atp_table.atp_components_flag(i), 'N') <> 'N') THEN
1416:
1417: IF PG_DEBUG in ('Y', 'C') THEN
1418: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);

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

1414: IF MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID IS NOT NULL AND
1415: (NVL(l_atp_table.attribute_06(i), 'N') <> 'N' OR NVL(l_atp_table.atp_components_flag(i), 'N') <> 'N') THEN
1416:
1417: IF PG_DEBUG in ('Y', 'C') THEN
1418: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);
1419: END IF;
1420:
1421: FOR l_count in 1..l_atp_table.error_code.count LOOP
1422: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN

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

1418: msc_sch_wb.atp_debug('Schedule: ' || 'Item not found : ' || MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID);
1419: END IF;
1420:
1421: FOR l_count in 1..l_atp_table.error_code.count LOOP
1422: IF l_atp_table.inventory_item_id(l_count) = MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID THEN
1423: l_atp_table.error_code(l_count) := ATP_ITEM_NOT_COLLECTED;
1424: END IF;
1425: END LOOP;
1426:

Line 1428: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

1424: END IF;
1425: END LOOP;
1426:
1427: -- set variable as null and raise exception, dont proceed for item/ ship set.
1428: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
1429:
1430: RAISE NO_DATA_FOUND;
1431:
1432: END IF;

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

1459: NULL, -- customer id
1460: NULL, -- customer site id
1461: NULL, -- supplier id
1462: NULL, -- supplier site id
1463: MSC_ATP_PVT.G_SESSION_ID, -- ???
1464: NULL, -- partner site id
1465: l_atp_table.ship_method(i),
1466: l_atp_table.delivery_lead_time(i),
1467: NULL,

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

1484: l_atp_table.customer_id(i),
1485: l_atp_table.customer_site_id(1),
1486: NULL,
1487: NULL,
1488: MSC_ATP_PVT.G_SESSION_ID, -- ???
1489: l_atp_table.customer_site_id(i),
1490: l_atp_table.ship_method(i),
1491: l_atp_table.delivery_lead_time(i),
1492: NULL,

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

1509: NULL, --l_atp_table.customer_id(i), 2814895
1510: NULL, --l_atp_table.customer_site_id(1), 2814895
1511: NULL,
1512: NULL,
1513: MSC_ATP_PVT.G_SESSION_ID, -- ???
1514: NULL, --l_atp_table.customer_site_id(i),
1515: l_atp_table.ship_method(i),
1516: l_atp_table.delivery_lead_time(i),
1517: 4, --2814895, partner_type for party_site_id

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

1534: NULL, --l_atp_table.customer_id(i), 2814895
1535: NULL, --l_atp_table.customer_site_id(1), 2814895
1536: NULL,
1537: NULL,
1538: MSC_ATP_PVT.G_SESSION_ID, -- ???
1539: NULL, --l_atp_table.customer_site_id(i), 2814895
1540: l_atp_table.ship_method(i),
1541: l_atp_table.delivery_lead_time(i),
1542: 5, --2814895 , partner_type for address parameters

Line 1558: INTO MSC_ATP_PVT.G_PARTNER_ID

1554: -- bug3593394 - Run this SQL only if customer has changed.
1555: IF (i=1) OR (l_atp_table.customer_id(i) <> NVL(l_atp_table.customer_id(i-1),-1)) THEN
1556: BEGIN
1557: SELECT TP_ID
1558: INTO MSC_ATP_PVT.G_PARTNER_ID
1559: FROM msc_tp_id_lid tp
1560: WHERE tp.SR_TP_ID = l_atp_table.customer_id(i)
1561: AND tp.SR_INSTANCE_ID = p_instance_id
1562: AND tp.PARTNER_TYPE = 2;

Line 1565: MSC_ATP_PVT.G_PARTNER_ID := NULL;

1561: AND tp.SR_INSTANCE_ID = p_instance_id
1562: AND tp.PARTNER_TYPE = 2;
1563: EXCEPTION
1564: WHEN NO_DATA_FOUND THEN
1565: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1566: END ;
1567: END IF;
1568: ELSE
1569: -- bug3593394 - reset to NULL

Line 1570: MSC_ATP_PVT.G_PARTNER_ID := NULL;

1566: END ;
1567: END IF;
1568: ELSE
1569: -- bug3593394 - reset to NULL
1570: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1571: END IF;
1572:
1573: IF PG_DEBUG in ('Y', 'C') THEN
1574: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_ID = '||MSC_ATP_PVT.G_PARTNER_ID);

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

1570: MSC_ATP_PVT.G_PARTNER_ID := NULL;
1571: END IF;
1572:
1573: IF PG_DEBUG in ('Y', 'C') THEN
1574: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_ID = '||MSC_ATP_PVT.G_PARTNER_ID);
1575: END IF;
1576:
1577: IF l_atp_table.customer_site_id(i) IS NOT NULL THEN
1578: -- bug3593394 - Run this SQL only if customer site has changed.

Line 1582: INTO MSC_ATP_PVT.G_PARTNER_SITE_ID

1578: -- bug3593394 - Run this SQL only if customer site has changed.
1579: IF (i=1) OR (l_atp_table.customer_site_id(i) <> NVL(l_atp_table.customer_site_id(i-1),-1)) THEN
1580: BEGIN
1581: SELECT TP_SITE_ID
1582: INTO MSC_ATP_PVT.G_PARTNER_SITE_ID
1583: FROM msc_tp_site_id_lid tpsite
1584: WHERE tpsite.SR_TP_SITE_ID = l_atp_table.customer_site_id(i)
1585: AND tpsite.SR_INSTANCE_ID = p_instance_id
1586: AND tpsite.PARTNER_TYPE = 2;

Line 1589: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

1585: AND tpsite.SR_INSTANCE_ID = p_instance_id
1586: AND tpsite.PARTNER_TYPE = 2;
1587: EXCEPTION
1588: WHEN NO_DATA_FOUND THEN
1589: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1590: END ;
1591: END IF;
1592: ELSE
1593: -- bug3593394 - reset to NULL

Line 1594: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;

1590: END ;
1591: END IF;
1592: ELSE
1593: -- bug3593394 - reset to NULL
1594: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1595: END IF;
1596:
1597: IF PG_DEBUG in ('Y', 'C') THEN
1598: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_SITE_ID = '||MSC_ATP_PVT.G_PARTNER_SITE_ID);

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

1594: MSC_ATP_PVT.G_PARTNER_SITE_ID := NULL;
1595: END IF;
1596:
1597: IF PG_DEBUG in ('Y', 'C') THEN
1598: msc_sch_wb.atp_debug('Schedule: ' || 'G_PARTNER_SITE_ID = '||MSC_ATP_PVT.G_PARTNER_SITE_ID);
1599: END IF;
1600:
1601: -- ship_rec_cal changes begin
1602: IF PG_DEBUG in ('Y', 'C') THEN

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

1603: msc_sch_wb.atp_debug('**************** Calendar Codes ******************************');
1604: msc_sch_wb.atp_debug('* ___________________Input_____________________');
1605: msc_sch_wb.atp_debug('* ');
1606: msc_sch_wb.atp_debug('* Source Cust ID : '|| l_atp_table.customer_id(i) );
1607: msc_sch_wb.atp_debug('* Partner ID : '|| MSC_ATP_PVT.G_PARTNER_ID );
1608: msc_sch_wb.atp_debug('* Partner Site ID : '|| MSC_ATP_PVT.G_PARTNER_SITE_ID );
1609: msc_sch_wb.atp_debug('* Ship Method : '|| l_atp_table.ship_method(i) );
1610: msc_sch_wb.atp_debug('* Org ID : '|| l_atp_table.organization_id(i) );
1611: msc_sch_wb.atp_debug('* Internal Org ID : '|| l_atp_table.internal_org_id(i) );

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

1604: msc_sch_wb.atp_debug('* ___________________Input_____________________');
1605: msc_sch_wb.atp_debug('* ');
1606: msc_sch_wb.atp_debug('* Source Cust ID : '|| l_atp_table.customer_id(i) );
1607: msc_sch_wb.atp_debug('* Partner ID : '|| MSC_ATP_PVT.G_PARTNER_ID );
1608: msc_sch_wb.atp_debug('* Partner Site ID : '|| MSC_ATP_PVT.G_PARTNER_SITE_ID );
1609: msc_sch_wb.atp_debug('* Ship Method : '|| l_atp_table.ship_method(i) );
1610: msc_sch_wb.atp_debug('* Org ID : '|| l_atp_table.organization_id(i) );
1611: msc_sch_wb.atp_debug('* Internal Org ID : '|| l_atp_table.internal_org_id(i) );
1612: msc_sch_wb.atp_debug('* Source Org ID : '|| l_sourcing_org_id );

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

1615: -- Bug 3515520, don't use org in case customer/site is populated.
1616: -- IF NVL(l_atp_table.internal_org_id(i), l_atp_table.organization_id(i)) IS NOT NULL THEN
1617:
1618: -- Bug 3647208 -- Move the check to individual "IF"s
1619: -- IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1620:
1621: IF (l_atp_table.internal_org_id(i) IS NOT NULL) OR
1622: (l_atp_table.organization_id(i) IS NOT NULL AND l_atp_table.customer_id(i) is NULL AND
1623: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN

Line 1623: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN

1619: -- IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1620:
1621: IF (l_atp_table.internal_org_id(i) IS NOT NULL) OR
1622: (l_atp_table.organization_id(i) IS NOT NULL AND l_atp_table.customer_id(i) is NULL AND
1623: MSC_ATP_PVT.G_PARTNER_SITE_ID IS NULL) THEN
1624: -- Bug3593394 - Call this proc only if parameters have changed
1625: IF (i=1) OR (l_atp_table.internal_org_id(i)<>l_atp_table.internal_org_id(i-1))
1626: OR (l_atp_table.organization_id(i)<>l_atp_table.organization_id(i-1))
1627: OR (l_atp_table.ship_method(i)<>l_atp_table.ship_method(i-1)) THEN

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

1641: IF PG_DEBUG in ('Y', 'C') THEN
1642: msc_sch_wb.atp_debug('Schedule: ' || 'Calendar parameters have not changed for ORC');
1643: END IF;
1644: END IF;
1645: ELSIF l_atp_table.customer_id(i) IS NOT NULL AND MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1646: -- Bug 3647208 - Call CRC only if using ship/rec cal
1647: -- receiving party is customer
1648: -- Bug3593394 - Call this proc only if parameters have changed
1649: IF (i=1) OR (NVL(l_atp_table.customer_id(i),-1)<>NVL(l_atp_table.customer_id(i-1),-1))

Line 1657: MSC_ATP_PVT.G_PARTNER_ID,

1653: l_receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
1654: p_instance_id,
1655: null,
1656: null,
1657: MSC_ATP_PVT.G_PARTNER_ID,
1658: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1659: 2,
1660: null,
1661: l_atp_table.ship_method(i),

Line 1658: MSC_ATP_PVT.G_PARTNER_SITE_ID,

1654: p_instance_id,
1655: null,
1656: null,
1657: MSC_ATP_PVT.G_PARTNER_ID,
1658: MSC_ATP_PVT.G_PARTNER_SITE_ID,
1659: 2,
1660: null,
1661: l_atp_table.ship_method(i),
1662: MSC_CALENDAR.CRC);

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

1670: -- Neither org nor customer provided
1671: l_receiving_cal_code := MSC_CALENDAR.FOC;
1672: END IF;
1673:
1674: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
1675: -- Bug 3647208 -- Move the check to individual "IF"s
1676: IF (i=1) OR (l_atp_table.ship_method(i)<>l_atp_table.ship_method(i-1)) THEN
1677: -- Bug3593394 - Call this proc only if parameters have changed
1678: l_intransit_cal_code := MSC_CALENDAR.Get_Calendar_Code(

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

1737: -- Bug 2783787 fix involving removing the call to obtain org defaults
1738: -- restored here
1739: MSC_ATP_PROC.get_global_org_info(p_instance_id,
1740: l_process_org_id);
1741: l_manufacturing_cal_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
1742: -- End ATP4drp
1743: ELSE
1744: l_manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i-1);
1745: IF PG_DEBUG in ('Y', 'C') THEN

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

1819: -- ship_rec_cal changes end
1820:
1821: --- 2178544: We assign it to null so that this parameter set for last item is not used for current item.
1822: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
1823: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1824: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1825:
1826: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1827: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR

Line 1824: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;

1820:
1821: --- 2178544: We assign it to null so that this parameter set for last item is not used for current item.
1822: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
1823: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1824: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1825:
1826: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1827: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1828: (MSC_ATP_PVT.G_INV_CTP = 4 AND

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

1823: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
1824: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1825:
1826: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1827: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1828: (MSC_ATP_PVT.G_INV_CTP = 4 AND
1829: NVL(l_atp_table.old_source_organization_id(i), -1) <> l_process_org_id ) THEN
1830: IF PG_DEBUG in ('Y', 'C') THEN
1831: msc_sch_wb.atp_debug('Schedule: ' || 'Either old source ors is null or is not same as l_process_org_id');

Line 1828: (MSC_ATP_PVT.G_INV_CTP = 4 AND

1824: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
1825:
1826: --- bug 2152184: Moved this call here so that PF item could be determined based on ODS data
1827: IF (MSC_ATP_PVT.G_INV_CTP = 5) OR
1828: (MSC_ATP_PVT.G_INV_CTP = 4 AND
1829: NVL(l_atp_table.old_source_organization_id(i), -1) <> l_process_org_id ) THEN
1830: IF PG_DEBUG in ('Y', 'C') THEN
1831: msc_sch_wb.atp_debug('Schedule: ' || 'Either old source ors is null or is not same as l_process_org_id');
1832: msc_sch_wb.atp_debug('Schedule: ' || 'Old org :=' || l_atp_table.old_source_organization_id(i));

Line 1872: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

1868: RAISE NO_DATA_FOUND;
1869: END IF;
1870: -- since we know the org now, we can get the plan_id if it is PDS
1871:
1872: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
1873: /* Modularize Item and Org Info */
1874: -- Information already obtained
1875: /*l_atp_comp_flag := MSC_ATP_FUNC.get_atp_comp_flag(p_instance_id,
1876: l_plan_id,

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

1951: -- ATP4drp changes begin
1952: -- No changes here since DRP plan should not support ATO.
1953: -- ATP4drp changes end
1954:
1955: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
1956: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
1957: IF PG_DEBUG in ('Y', 'C') THEN
1958: msc_sch_wb.atp_debug('plan found for matched item');
1959: END IF;

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

1952: -- No changes here since DRP plan should not support ATO.
1953: -- ATP4drp changes end
1954:
1955: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
1956: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
1957: IF PG_DEBUG in ('Y', 'C') THEN
1958: msc_sch_wb.atp_debug('plan found for matched item');
1959: END IF;
1960: l_plan_found_for_match := 1;

Line 1971: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id,

1967: --get item attributes of the matched item
1968: MSC_ATP_PROC.get_item_attributes(p_instance_id,
1969: --3917625: Read attributes from correct plan
1970: --l_plan_id,
1971: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id,
1972: l_atp_table.match_item_id(i),
1973: l_process_org_id,
1974: l_item_attribute_rec);
1975:

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

1985: l_atp_table.match_item_id(i) := null;
1986:
1987: -- we got plan for match. All fields in G_ITEM_INFO_REC were populated
1988: --as a results plan was not getting read.
1989: MSC_ATP_PVT.G_ITEM_INFO_REC.sr_inv_item_id := null;
1990: END IF;
1991: END IF;
1992:
1993: IF PG_DEBUG in ('Y', 'C') THEN

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

2016: RAISE FND_API.G_EXC_ERROR;
2017: END IF;
2018:
2019: -- ATP4drp changes begin
2020: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
2021: -- time_phased_atp - Reset variables
2022: l_process_item_id := l_requested_item_id;
2023: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2024: IF PG_DEBUG in ('Y', 'C') THEN

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

2019: -- ATP4drp changes begin
2020: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
2021: -- time_phased_atp - Reset variables
2022: l_process_item_id := l_requested_item_id;
2023: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2024: IF PG_DEBUG in ('Y', 'C') THEN
2025: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2026: msc_sch_wb.atp_debug('Schedule: ' || 'PF and Allocated ATP not applicable for DRP plans');
2027: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

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

2023: MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2024: IF PG_DEBUG in ('Y', 'C') THEN
2025: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2026: msc_sch_wb.atp_debug('Schedule: ' || 'PF and Allocated ATP not applicable for DRP plans');
2027: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_ALLOCATED_ATP ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
2028: msc_sch_wb.atp_debug('Schedule: ' || 'l_requested_item_id ' || l_requested_item_id);
2029: msc_sch_wb.atp_debug('Schedule: ' || 'l_process_item_id ' || l_process_item_id);
2030: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
2031: END IF;

Line 2045: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

2041: /* time_phased_atp changes end*/
2042:
2043: END IF;
2044:
2045: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
2046: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
2047: l_plan_id := l_plan_info_rec.plan_id;
2048: /* time_phased_atp Add plan_id to l_atp_table so that it can later be used
2049: this way we save call to get_global_plan_info*/

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

2064: END IF;
2065: x_return_status := FND_API.G_RET_STS_ERROR;
2066: --bug 2854351: Raise plan down time error
2067: --l_atp_table.Error_Code(i):= PLAN_NOT_FOUND;
2068: l_atp_table.Error_Code(i):= MSC_ATP_PVT.PLAN_DOWN_TIME;
2069: RAISE NO_DATA_FOUND;
2070: ELSIF l_plan_id = -100 THEN
2071: IF PG_DEBUG in ('Y', 'C') THEN
2072: msc_sch_wb.atp_debug('Schedule: ' || 'Summary Concurrent program is running');

Line 2105: MSC_ATP_PVT.G_INV_CTP := 5;

2101: l_atp_table.Error_Code(i):= PDS_TO_ODS_SWITCH;
2102: IF PG_DEBUG in ('Y', 'C') THEN
2103: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2104: END IF;
2105: MSC_ATP_PVT.G_INV_CTP := 5;
2106: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2107: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2108:
2109: /* Switching to ODS, Set the Global comp flag to NO */

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

2102: IF PG_DEBUG in ('Y', 'C') THEN
2103: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2104: END IF;
2105: MSC_ATP_PVT.G_INV_CTP := 5;
2106: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2107: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2108:
2109: /* Switching to ODS, Set the Global comp flag to NO */
2110: --s_cto_rearch

Line 2107: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;

2103: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Error_Code(i)='||l_atp_table.Error_Code(i));
2104: END IF;
2105: MSC_ATP_PVT.G_INV_CTP := 5;
2106: MSC_ATP_PVT.G_ALLOCATED_ATP := 'N';
2107: MSC_ATP_PVT.G_ALLOCATION_METHOD := 2;
2108:
2109: /* Switching to ODS, Set the Global comp flag to NO */
2110: --s_cto_rearch
2111: IF G_ITEM_INFO_REC.bom_item_type in (1, 4) and G_ITEM_INFO_REC.replenish_to_ord_flag = 'Y' THEN

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

2142:
2143: -- Doing PDS-ODS switch. Summary will be diabled in all cases because ODS summary
2144: -- will commit even PDS data from previous lines
2145: msc_sch_wb.atp_debug('Schedule: ' || 'Summary will be disabled');
2146: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2147:
2148: IF NVL(l_so_tbl_status, 1) = 2 THEN
2149: -- not available for atp
2150: IF PG_DEBUG in ('Y', 'C') THEN

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

2158: */
2159: END IF; -- END IF l_plan_id is NULL
2160: --ELSE
2161: --- if ATP and ATPComp falg is no then we dont want to do summary approach
2162: -- MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2163: -- Bug 4091487 Checking so_tbl_status in PDS ATP also.
2164: SELECT so_tbl_status,
2165: NVL(summary_flag, 1)
2166: INTO l_so_tbl_status,

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

2185: -- Summary will be diabled in all cases because ODS summary
2186: -- will commit even PDS data from previous lines
2187: IF l_plan_id = -1 THEN
2188:
2189: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
2190:
2191: IF PG_DEBUG in ('Y', 'C') THEN
2192: msc_sch_wb.atp_debug('Schedule: ' || 'Summary will be disabled');
2193: END IF;

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

2259: l_atp_rec.intransit_cal_code := l_atp_table.intransit_cal_code(i);
2260: l_atp_rec.manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i);
2261:
2262: -- Bug 3226083
2263: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2264: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2265: /* ship_rec_cal changes begin
2266: If ship date is provided validate it on OSC
2267: If arrival date is provided validate it on ORC, offset using VIC, validate it on OSC*/

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

2260: l_atp_rec.manufacturing_cal_code := l_atp_table.manufacturing_cal_code(i);
2261:
2262: -- Bug 3226083
2263: l_mem_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2264: l_pf_dest_id := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2265: /* ship_rec_cal changes begin
2266: If ship date is provided validate it on OSC
2267: If arrival date is provided validate it on ORC, offset using VIC, validate it on OSC*/
2268: IF PG_DEBUG in ('Y', 'C') THEN

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

2341: msc_sch_wb.atp_debug('Schedule: ' || '___________________End Offset___________________');
2342: END IF;
2343:
2344: IF l_requested_ship_date is NULL THEN
2345: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;
2346: RAISE FND_API.G_EXC_ERROR;
2347: END IF;
2348:
2349: --bug 3322846: Move past due ship date to the first working day after sysdate

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

2347: END IF;
2348:
2349: --bug 3322846: Move past due ship date to the first working day after sysdate
2350: --L_MOVE_PAST_DUE_TO_SYSDATE := NVL(FND_PROFILE.value('MSC_MOVE_PAST_DUE_TO_SYSDATE'), 'Y'); -- Bug 5584634/5618929
2351: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476
2352: IF PG_DEBUG in ('Y', 'C') THEN
2353: msc_sch_wb.atp_debug('Schedule: ' || 'MOVE_PAST_DUE_TO_SYS_DATE :'|| L_MOVE_PAST_DUE_TO_SYSDATE);
2354: END IF;
2355: if L_MOVE_PAST_DUE_TO_SYSDATE = 'Y' THEN -- Bug 5584634/5618929

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

2370: END IF;
2371: END IF; -- Bug 5584634/5618929
2372:
2373: IF l_requested_ship_date is NULL THEN
2374: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_INVALID_DATE;
2375: RAISE FND_API.G_EXC_ERROR;
2376: END IF;
2377:
2378: ELSE -- Bug3593394

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

2393: -- is not specified.
2394:
2395: -- 2783787 (ssurendr) Null demand class in request should be considered as "Others"
2396: /*
2397: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
2398: (l_atp_table.Demand_Class(i) IS NULL) THEN
2399: MSC_ATP_PROC.get_global_org_info(l_atp_rec.instance_id,
2400: l_atp_rec.organization_id);
2401: l_default_atp_rule_id := G_ORG_INFO_REC.default_atp_rule_id;

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

2414:
2415: l_atp_rec.demand_class := l_atp_table.Demand_Class(i);
2416:
2417: -- rajjain 02/11/2003 Bug 2788144
2418: --IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN
2419:
2420: -- rajjain 02/11/2003 Bug 2788144
2421: --END IF;
2422: -- ATP Override rajjain begin

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

2445: l_atp_rec.customer_id := l_atp_table.customer_id(i);
2446: l_atp_rec.refresh_number := p_refresh_number;
2447: l_atp_rec.atp_lead_time := l_atp_table.Atp_Lead_Time(i);
2448: l_atp_rec.Order_Number := l_atp_table.Order_Number(i);
2449: l_atp_rec.component_identifier := MSC_ATP_PVT.G_COMP_LINE_ID;
2450:
2451: ---This will be populated in case of reschedulling.
2452: --- This will be demand id for the old demand
2453: --bug 2384224: since we are always going to add demand, we dont need to remember old demand id

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

2480: l_scenario_id := j;
2481:
2482: -- CTO_PF_PRJ_2 changes for CTO PF Cross Project Impacts
2483: -- Set the default to No PF ATP Items being processed.
2484: MSC_ATP_PVT.G_CTO_PF_ATP := 'N';
2485: IF PG_DEBUG in ('Y', 'C') THEN
2486: msc_sch_wb.atp_debug('Schedule: ' || 'Before ATP_Check for this l_atp_rec ');
2487: msc_sch_wb.atp_debug('Schedule: Init G_CTO_PF_ATP to ' ||
2488: MSC_ATP_PVT.G_CTO_PF_ATP);

Line 2488: MSC_ATP_PVT.G_CTO_PF_ATP);

2484: MSC_ATP_PVT.G_CTO_PF_ATP := 'N';
2485: IF PG_DEBUG in ('Y', 'C') THEN
2486: msc_sch_wb.atp_debug('Schedule: ' || 'Before ATP_Check for this l_atp_rec ');
2487: msc_sch_wb.atp_debug('Schedule: Init G_CTO_PF_ATP to ' ||
2488: MSC_ATP_PVT.G_CTO_PF_ATP);
2489: END IF;
2490: -- End CTO_PF_PRJ_2 changes for CTO PF Cross Project Impacts
2491:
2492: --- subst

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

2491:
2492: --- subst
2493:
2494: IF PG_DEBUG in ('Y', 'C') THEN
2495: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2496: END IF;
2497:
2498: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2499: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN

Line 2498: IF MSC_ATP_PVT.G_INV_CTP = 4 AND

2494: IF PG_DEBUG in ('Y', 'C') THEN
2495: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2496: END IF;
2497:
2498: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2499: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN
2500: IF PG_DEBUG in ('Y', 'C') THEN
2501: msc_sch_wb.atp_debug('Schedule: ' || 'count := ' || l_item_substitute_rec.inventory_item_id.count);
2502: msc_sch_wb.atp_debug('Schedule: ' || 'G_CREATE_SUPPLY_FLAG := ' || MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG);

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

2495: msc_sch_wb.atp_debug('Schedule: ' || 'G_PLAN_SUBST_FLAG := ' || MSC_ATP_PVT.G_PLAN_SUBST_FLAG);
2496: END IF;
2497:
2498: IF MSC_ATP_PVT.G_INV_CTP = 4 AND
2499: NVL(MSC_ATP_PVT.G_PLAN_SUBST_FLAG, 2) = 1 THEN
2500: IF PG_DEBUG in ('Y', 'C') THEN
2501: msc_sch_wb.atp_debug('Schedule: ' || 'count := ' || l_item_substitute_rec.inventory_item_id.count);
2502: msc_sch_wb.atp_debug('Schedule: ' || 'G_CREATE_SUPPLY_FLAG := ' || MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG);
2503: msc_sch_wb.atp_debug('Schedule: ' || 'get item attributes for the top item');

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

2507: -- requested_arrival_date is provided
2508: IF ((l_atp_rec.requested_ship_date IS NULL) and
2509: (l_atp_rec.requested_arrival_date IS NULL)) THEN
2510:
2511: l_atp_rec.error_code := MSC_ATP_PVT.NOREQ_DATE;
2512: -- krajan : 2437459
2513: l_atp_table.error_code(i) := MSC_ATP_PVT.NOREQ_DATE;
2514:
2515: RAISE FND_API.G_EXC_ERROR;

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

2509: (l_atp_rec.requested_arrival_date IS NULL)) THEN
2510:
2511: l_atp_rec.error_code := MSC_ATP_PVT.NOREQ_DATE;
2512: -- krajan : 2437459
2513: l_atp_table.error_code(i) := MSC_ATP_PVT.NOREQ_DATE;
2514:
2515: RAISE FND_API.G_EXC_ERROR;
2516:
2517: ELSIF ((l_atp_rec.requested_ship_date IS NOT NULL) and

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

2516:
2517: ELSIF ((l_atp_rec.requested_ship_date IS NOT NULL) and
2518: (l_atp_rec.requested_arrival_date IS NOT NULL)) THEN
2519:
2520: l_atp_rec.error_code := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2521: -- krajan : 2437459
2522: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2523:
2524: RAISE FND_API.G_EXC_ERROR;

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

2518: (l_atp_rec.requested_arrival_date IS NOT NULL)) THEN
2519:
2520: l_atp_rec.error_code := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2521: -- krajan : 2437459
2522: l_atp_table.error_code(i) := MSC_ATP_PVT.ATP_MULTI_REQ_DATES;
2523:
2524: RAISE FND_API.G_EXC_ERROR;
2525: END IF;
2526: IF PG_DEBUG in ('Y', 'C') THEN

Line 2609: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN

2605: IF l_item_substitute_rec.inventory_item_id.count > 0 AND
2606: (NVL(l_substitution_type, 4) = 4 OR
2607: l_atp_rec.override_flag = 'Y'
2608: ---diag_atp
2609: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN
2610: --- if item has substitutes but we dont want to do any substitution then
2611: --- we will do breadth first search. But we dont want to use any substitutes.
2612: --- Therefore we remove all the substitutes from the table
2613: IF PG_DEBUG in ('Y', 'C') THEN

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

2612: --- Therefore we remove all the substitutes from the table
2613: IF PG_DEBUG in ('Y', 'C') THEN
2614: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined but not doing substitution');
2615: END IF;
2616: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2617: l_highest_rev := l_item_substitute_rec.highest_revision_item_id(1);
2618: l_item_substitute_rec := l_null_item_sub_rec;
2619:
2620: ELSIF NVL(l_substitution_type, 4) = 4 or

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

2621: (l_item_substitute_rec.inventory_item_id.count = 0) THEN
2622: IF PG_DEBUG in ('Y', 'C') THEN
2623: msc_sch_wb.atp_debug('Schedule: ' || 'Substitute not defined');
2624: END IF;
2625: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2626: ELSE
2627: IF PG_DEBUG in ('Y', 'C') THEN
2628: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined and doing substitution');
2629: END IF;

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

2626: ELSE
2627: IF PG_DEBUG in ('Y', 'C') THEN
2628: msc_sch_wb.atp_debug('Schedule: ' || 'Substitution defined and doing substitution');
2629: END IF;
2630: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2631: END IF;
2632:
2633: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
2634:

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

2629: END IF;
2630: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'Y';
2631: END IF;
2632:
2633: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
2634:
2635: IF MSC_ATP_SUBST.G_CREATE_SUPPLY_FLAG = 702
2636: AND l_item_substitute_rec.inventory_item_id.count = 0 THEN
2637: l_create_supply_on_orig_item := 1;

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

2667:
2668: -- time_phased_atp
2669: IF l_time_phased_atp = 'Y' or l_pf_atp = 'Y' THEN
2670: l_item_substitute_rec.Family_sr_id(l_count) := l_process_item_id;
2671: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.product_family_id;
2672: l_item_substitute_rec.Family_item_name(l_count) := MSC_ATP_FUNC.Get_Inv_Item_Name(
2673: p_instance_id,
2674: l_process_item_id,
2675: l_atp_rec.organization_id

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

2678: ELSE
2679: --bug3709707 passing correct item id
2680: --l_item_substitute_rec.Family_sr_id(l_count) := l_inventory_item_id;
2681: l_item_substitute_rec.Family_sr_id(l_count) := l_requested_item_id;
2682: l_item_substitute_rec.Family_dest_id(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
2683: l_item_substitute_rec.Family_item_name(l_count) := l_item_name;
2684: l_item_substitute_rec.atf_date(l_count) := null;
2685: END IF;
2686:

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

2697: -- dsting additional attributes for diagnostic atp
2698: /* time_phased_atp
2699: Substitution window should not be more than aggregate time fence days*/
2700: IF (l_pf_atp = 'Y' OR l_time_phased_atp = 'Y') THEN
2701: l_item_substitute_rec.substitution_window(l_count) := LEAST(MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window,
2702: nvl(MSC_ATP_PF.Get_Atf_Days(
2703: p_instance_id,
2704: l_inventory_item_id,
2705: l_atp_rec.organization_id

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

2706: ),
2707: 0)
2708: );
2709: ELSE
2710: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2711: END IF;
2712:
2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;

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

2709: ELSE
2710: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2711: END IF;
2712:
2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2715: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2716: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2717: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;

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

2710: l_item_substitute_rec.substitution_window(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.substitution_window;
2711: END IF;
2712:
2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2715: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2716: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2717: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2718: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;

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

2711: END IF;
2712:
2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2715: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2716: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2717: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2718: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2719: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;

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

2712:
2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2715: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2716: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2717: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2718: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2719: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;
2720: l_item_substitute_rec.fixed_lt(l_count) := l_fixed_lt;

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

2713: l_item_substitute_rec.unit_weight(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
2714: l_item_substitute_rec.weight_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
2715: l_item_substitute_rec.unit_volume(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
2716: l_item_substitute_rec.volume_uom(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
2717: l_item_substitute_rec.rounding_control_type(l_count) := MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type;
2718: l_item_substitute_rec.plan_name(l_count) := l_atp_rec.plan_name;
2719: l_item_substitute_rec.pre_pro_lt(l_count) := l_pre_pro_lt;
2720: l_item_substitute_rec.fixed_lt(l_count) := l_fixed_lt;
2721: l_item_substitute_rec.variable_lt(l_count) := l_variable_lt;

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

2735: END IF;
2736:
2737: ELSE
2738:
2739: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2740:
2741: END IF;
2742: IF PG_DEBUG in ('Y', 'C') THEN
2743: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);

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

2739: MSC_ATP_PVT.G_SUBSTITUTION_FLAG := 'N';
2740:
2741: END IF;
2742: IF PG_DEBUG in ('Y', 'C') THEN
2743: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
2744: msc_sch_wb.atp_debug('Schedule: ' || 'l_plan_id := ' || l_plan_id);
2745: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
2746: END IF;
2747:

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

2741: END IF;
2742: IF PG_DEBUG in ('Y', 'C') THEN
2743: msc_sch_wb.atp_debug('Schedule: ' || 'G_SUBSTITUTION_FLAG := ' || MSC_ATP_PVT.G_SUBSTITUTION_FLAG);
2744: msc_sch_wb.atp_debug('Schedule: ' || 'l_plan_id := ' || l_plan_id);
2745: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
2746: END IF;
2747:
2748: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
2749:

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

2744: msc_sch_wb.atp_debug('Schedule: ' || 'l_plan_id := ' || l_plan_id);
2745: msc_sch_wb.atp_debug('Schedule: ' || 'G_INV_CTP := ' || MSC_ATP_PVT.G_INV_CTP);
2746: END IF;
2747:
2748: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
2749:
2750: l_atp_rec.substitution_type := l_atp_table.substitution_typ_code(i);
2751: l_atp_rec.req_item_detail_flag := l_atp_table.req_item_detail_flag(i);
2752:

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

2794: msc_sch_wb.atp_debug('Schedule: ' || 'l_bkwd_pass_atf_date_qty = '||l_bkwd_pass_atf_date_qty);
2795: END IF;
2796: --bug3467631 end
2797:
2798: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;

Line 2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;

2795: END IF;
2796: --bug3467631 end
2797:
2798: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;

Line 2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;

2796: --bug3467631 end
2797:
2798: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
2804:

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

2797:
2798: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
2804:
2805: ---bug 2361283: For determining the date on which we want to see the substitution we offset the

Line 2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;

2798: ---- add this item to MSC_ATP_PVT.G_PEGGING_FOR_SET as this is used to remove the demands if needed
2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
2804:
2805: ---bug 2361283: For determining the date on which we want to see the substitution we offset the
2806: --- lead time from requested_ship_date and save it in l_atp_rec.requested_ship_date itself

Line 2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;

2799: MSC_ATP_PVT.G_PEGGING_FOR_SET.extend;
2800: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.extend;
2801: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.count) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
2802: MSC_ATP_PVT.G_REQ_ATP_DATE.extend;
2803: MSC_ATP_PVT.G_REQ_DATE_QTY.extend;
2804:
2805: ---bug 2361283: For determining the date on which we want to see the substitution we offset the
2806: --- lead time from requested_ship_date and save it in l_atp_rec.requested_ship_date itself
2807: --- As a result we are loosing time component. So we restore the date back.

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

2817: -- Commented for bug 2748730. G_END_OF_DAY not required here.
2818: /*
2819: -- for bug 2259824, add end of day to ship date
2820: IF l_atp_rec.ship_date IS NOT NULL THEN
2821: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
2822: IF PG_DEBUG in ('Y', 'C') THEN
2823: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
2824: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));
2825: END IF;

Line 2856: MSC_ATP_PVT.ATP_Check(l_atp_rec,

2852: IF PG_DEBUG in ('Y', 'C') THEN
2853: msc_sch_wb.atp_debug('Call ATP_Check');
2854: END IF;
2855: --e_cto_rearch
2856: MSC_ATP_PVT.ATP_Check(l_atp_rec,
2857: l_plan_id,
2858: l_level,
2859: l_scenario_id,
2860: l_search,

Line 2868: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

2864: l_atp_period,
2865: l_atp_supply_demand,
2866: l_return_status);
2867:
2868: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
2869: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2870:
2871: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2872: IF PG_DEBUG in ('Y', 'C') THEN

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

2865: l_atp_supply_demand,
2866: l_return_status);
2867:
2868: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
2869: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2870:
2871: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2872: IF PG_DEBUG in ('Y', 'C') THEN
2873: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails');

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

2896: -- Commented for bug 2748730. G_END_OF_DAY not required here.
2897: /*
2898: -- for bug 2259824, add end of day to ship date
2899: IF l_atp_rec.ship_date IS NOT NULL THEN
2900: l_atp_rec.ship_date := TRUNC(l_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
2901: IF PG_DEBUG in ('Y', 'C') THEN
2902: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
2903: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));
2904: END IF;

Line 2908: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'

2904: END IF;
2905: END IF;
2906: */
2907: --diag_atp
2908: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'
2909: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN
2910:
2911: l_future_atp_rec := l_atp_rec;
2912:

Line 2909: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN

2905: END IF;
2906: */
2907: --diag_atp
2908: IF MSC_ATP_PVT.G_FIND_FUTURE_DATE = 'Y'
2909: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN
2910:
2911: l_future_atp_rec := l_atp_rec;
2912:
2913: l_future_atp_rec.error_code := ALLSUCCESS;

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

2932: l_future_atp_rec.atf_date_quantity := NULL;
2933:
2934: -- The date might have been set by a lower level component. we reset it again
2935: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
2936: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
2937: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
2938:
2939: IF PG_DEBUG in ('Y', 'C') THEN
2940: msc_sch_wb.atp_debug('Schedule: ' || 'l_future_atp_rec.quantity_ordered ='||l_future_atp_rec.quantity_ordered );

Line 2937: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;

2933:
2934: -- The date might have been set by a lower level component. we reset it again
2935: -- Bug 3512996 - For top level G_PTF_DATE should be as per OSC
2936: -- MSC_ATP_PVT.G_PTF_DATE := l_sys_next_omc_date;
2937: MSC_ATP_PVT.G_PTF_DATE := l_sys_next_date;
2938:
2939: IF PG_DEBUG in ('Y', 'C') THEN
2940: msc_sch_wb.atp_debug('Schedule: ' || 'l_future_atp_rec.quantity_ordered ='||l_future_atp_rec.quantity_ordered );
2941: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_date_quantity ='||l_atp_rec.requested_date_quantity);

Line 2945: MSC_ATP_PVT.ATP_Check(l_future_atp_rec,

2941: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.requested_date_quantity ='||l_atp_rec.requested_date_quantity);
2942: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.combined_requested_date_qty ='||l_atp_rec.combined_requested_date_qty);
2943: END IF;
2944:
2945: MSC_ATP_PVT.ATP_Check(l_future_atp_rec,
2946: l_plan_id,
2947: l_level,
2948: l_scenario_id,
2949: 2,

Line 2957: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

2953: l_future_atp_period,
2954: l_future_atp_supply_demand,
2955: l_return_status);
2956:
2957: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
2958: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2959: -- dsting 2764213
2960: ELSIF l_return_status in (
2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,

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

2954: l_future_atp_supply_demand,
2955: l_return_status);
2956:
2957: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
2958: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2959: -- dsting 2764213
2960: ELSIF l_return_status in (
2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
2962: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,

Line 2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,

2957: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
2958: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2959: -- dsting 2764213
2960: ELSIF l_return_status in (
2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
2962: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
2963: MSC_ATP_PVT.G_NO_PLAN_FOUND)
2964: THEN
2965: IF PG_DEBUG in ('Y', 'C') THEN

Line 2962: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,

2958: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
2959: -- dsting 2764213
2960: ELSIF l_return_status in (
2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
2962: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
2963: MSC_ATP_PVT.G_NO_PLAN_FOUND)
2964: THEN
2965: IF PG_DEBUG in ('Y', 'C') THEN
2966: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails in future case');

Line 2963: MSC_ATP_PVT.G_NO_PLAN_FOUND)

2959: -- dsting 2764213
2960: ELSIF l_return_status in (
2961: MSC_ATP_PVT.G_ATO_SRC_MISMATCH,
2962: MSC_ATP_PVT.G_ATO_UNCOLL_ITEM,
2963: MSC_ATP_PVT.G_NO_PLAN_FOUND)
2964: THEN
2965: IF PG_DEBUG in ('Y', 'C') THEN
2966: msc_sch_wb.atp_debug('Schedule: ' || 'atp check fails in future case');
2967: END IF;

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

2974:
2975: -- Commented for bug 2748730. G_END_OF_DAY not required here.
2976: /*
2977: -- for bug 2259824, add end of day to ship date
2978: l_atp_rec.ship_date := TRUNC(l_future_atp_rec.ship_date) + MSC_ATP_PVT.G_END_OF_DAY ;
2979:
2980: IF PG_DEBUG in ('Y', 'C') THEN
2981: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_rec.ship_date = '||
2982: to_char(l_atp_rec.ship_date, 'DD-MON-YYYY HH24:MI:SS'));

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

3064: -- for aatp
3065: l_atp_rec.requested_date_quantity :=
3066: l_atp_rec.combined_requested_date_qty;
3067: END IF;
3068: END IF; -- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4
3069: IF PG_DEBUG in ('Y', 'C') THEN
3070: msc_sch_wb.atp_debug('Schedule: ' || 'After ATP_Check for this l_atp_rec ');
3071: END IF;
3072: -- check the return status

Line 3073: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

3069: IF PG_DEBUG in ('Y', 'C') THEN
3070: msc_sch_wb.atp_debug('Schedule: ' || 'After ATP_Check for this l_atp_rec ');
3071: END IF;
3072: -- check the return status
3073: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3074: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3075: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3076: RAISE FND_API.G_EXC_ERROR;
3077: END IF;

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

3070: msc_sch_wb.atp_debug('Schedule: ' || 'After ATP_Check for this l_atp_rec ');
3071: END IF;
3072: -- check the return status
3073: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
3074: l_atp_table.Error_Code(i):= MSC_ATP_PVT.OSS_SOURCING_ERROR;
3075: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3076: RAISE FND_API.G_EXC_ERROR;
3077: END IF;
3078:

Line 3191: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

3187: l_atp_rec.arrival_date := MSC_CALENDAR.THREE_STEP_CAL_OFFSET_DATE(
3188: l_atp_rec.ship_date, l_atp_rec.shipping_cal_code, 1,
3189: l_atp_rec.intransit_cal_code, nvl(l_atp_rec.delivery_lead_time, 0), 1,
3190: l_atp_rec.receiving_cal_code, 1, p_instance_id) ;
3191: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
3192: /* ship_rec_cal changes end */
3193:
3194: IF l_atp_rec.requested_arrival_date is not null THEN
3195: l_atp_rec.arrival_date := TRUNC(GREATEST(l_atp_rec.requested_arrival_date,

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

3192: /* ship_rec_cal changes end */
3193:
3194: IF l_atp_rec.requested_arrival_date is not null THEN
3195: l_atp_rec.arrival_date := TRUNC(GREATEST(l_atp_rec.requested_arrival_date,
3196: l_atp_rec.arrival_date));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3197: END IF;
3198:
3199: IF PG_DEBUG in ('Y', 'C') THEN
3200: msc_sch_wb.atp_debug('Schedule: l_atp_rec.arrival_date = '||

Line 3213: --4460369 + MSC_ATP_PVT.G_END_OF_DAY;

3209: NVL(l_atp_rec.original_request_date,l_atp_rec.requested_ship_date),
3210: l_atp_rec.shipping_cal_code, 1,
3211: l_atp_rec.intransit_cal_code, nvl(l_atp_rec.delivery_lead_time, 0), 1,
3212: l_atp_rec.receiving_cal_code, 1, p_instance_id) ;
3213: --4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3214: ELSE
3215: -- date type is arrival
3216: l_original_req_arrival_date := NVL(l_atp_rec.original_request_date,l_atp_rec.requested_arrival_date);
3217: END IF;

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

3242: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_table.Inventory_item_id(i)='||l_atp_table.Inventory_item_id(i));
3243: msc_sch_wb.atp_debug('Schedule: ' || 'l_atp_rec.atf_date='||l_atp_rec.atf_date);
3244: END IF;
3245: --- subst
3246: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' THEN
3247:
3248: IF l_atp_rec.inventory_item_id <> l_atp_table.Inventory_item_id(i) THEN
3249: --- substitution has occured. Load subst_flag for substitution workflow
3250: l_atp_table.subst_flag(i) := 1;

Line 3278: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

3274: l_atp_table.req_item_req_date_qty(i) := l_atp_rec.req_item_req_date_qty;
3275:
3276: -- Bug 2259824
3277: l_atp_table.req_item_available_date(i) := TRUNC(l_atp_rec.req_item_available_date) ;
3278: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
3279: IF PG_DEBUG in ('Y', 'C') THEN
3280: msc_sch_wb.atp_debug('Schedule: 2259824 l_atp_table.req_item_available_date(i) = '||
3281: to_char(l_atp_table.req_item_available_date(i), 'DD-MON-YYYY HH24:MI:SS'));
3282: END IF;

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

3311: /* Modularize Item and Org Info */
3312: IF PG_DEBUG in ('Y', 'C') THEN
3313: msc_sch_wb.atp_debug ('Schedule: ' || 'after item name');
3314: END IF;
3315: END IF; --- IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
3316: l_atp_table.Source_Organization_Id(i):=
3317: l_atp_rec.organization_id;
3318: IF PG_DEBUG in ('Y', 'C') THEN
3319: msc_sch_wb.atp_debug ('Schedule: ' || 'after source org id ');

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

3340: l_atp_table.Delivery_Lead_Time(i) := l_atp_rec.delivery_lead_time;
3341: -- Bug 2748730. Return the end of day as the timestamp for outgoing dates.
3342: -- For ship date and arrival date, this is the right place to move the date
3343: -- to the end of day.
3344: l_atp_table.Ship_Date(i) := l_atp_rec.ship_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3345: l_atp_table.arrival_date(i) := l_atp_rec.arrival_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3346:
3347: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3348: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;

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

3341: -- Bug 2748730. Return the end of day as the timestamp for outgoing dates.
3342: -- For ship date and arrival date, this is the right place to move the date
3343: -- to the end of day.
3344: l_atp_table.Ship_Date(i) := l_atp_rec.ship_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3345: l_atp_table.arrival_date(i) := l_atp_rec.arrival_date;--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
3346:
3347: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3348: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;
3349:

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

3347: l_atp_table.Available_Quantity(i):= l_atp_rec.available_quantity;
3348: l_atp_table.Requested_Date_Quantity(i) := l_atp_rec.requested_date_quantity;
3349:
3350: l_atp_table.Scenario_Id(i) := j;
3351: l_atp_table.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
3352:
3353: -- time_phased_atp
3354: l_atp_table.atf_date(i) := l_atp_rec.atf_date;
3355: l_atp_table.atp_flag(i) := l_atp_flag; --4460369

Line 3412: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

3408:
3409: END IF;
3410: ---diag_atp
3411: ---In diagnostic ATP we continue as if we are able to meet the demand on request date
3412: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
3413: IF PG_DEBUG in ('Y', 'C') THEN
3414: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode');
3415: END IF;
3416: l_atp_rec.error_code := ALLSUCCESS;

Line 3423: and session_id = MSC_ATP_PVT.G_SESSION_ID

3419: /*-- performance dsting merged queries, added distinct
3420: update mrp_atp_details_temp
3421: set constrained_path = 1
3422: where record_type = 3
3423: and session_id = MSC_ATP_PVT.G_SESSION_ID
3424: and pegging_id in
3425: (select distinct madt.pegging_id
3426: from mrp_atp_details_temp madt
3427: where record_type = 3

Line 3428: and session_id = MSC_ATP_PVT.G_SESSION_ID

3424: and pegging_id in
3425: (select distinct madt.pegging_id
3426: from mrp_atp_details_temp madt
3427: where record_type = 3
3428: and session_id = MSC_ATP_PVT.G_SESSION_ID
3429: start with madt.pegging_id in (
3430: select pegging_id
3431: from mrp_atp_details_temp madt1
3432: where session_id = MSC_ATP_PVT.G_SESSION_ID

Line 3432: where session_id = MSC_ATP_PVT.G_SESSION_ID

3428: and session_id = MSC_ATP_PVT.G_SESSION_ID
3429: start with madt.pegging_id in (
3430: select pegging_id
3431: from mrp_atp_details_temp madt1
3432: where session_id = MSC_ATP_PVT.G_SESSION_ID
3433: and record_type = 3
3434: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3435: and constraint_type is not null)
3436: connect by madt.pegging_id = PRIOR parent_pegging_id);

Line 3434: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

3430: select pegging_id
3431: from mrp_atp_details_temp madt1
3432: where session_id = MSC_ATP_PVT.G_SESSION_ID
3433: and record_type = 3
3434: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3435: and constraint_type is not null)
3436: connect by madt.pegging_id = PRIOR parent_pegging_id);
3437: */
3438: --3751114: replace hardcoded values with local varibales

Line 3443: and session_id = MSC_ATP_PVT.G_SESSION_ID

3439: --- so that they do not show up as literals
3440: UPDATE mrp_atp_details_temp
3441: set constrained_path = l_constraint_path_flag
3442: where record_type = l_peg_record_type
3443: and session_id = MSC_ATP_PVT.G_SESSION_ID
3444: and pegging_id in
3445: (select pegging_id
3446: from mrp_atp_details_temp
3447: where record_type = l_peg_record_type

Line 3448: and session_id = MSC_ATP_PVT.G_SESSION_ID

3444: and pegging_id in
3445: (select pegging_id
3446: from mrp_atp_details_temp
3447: where record_type = l_peg_record_type
3448: and session_id = MSC_ATP_PVT.G_SESSION_ID
3449: start with session_id = MSC_ATP_PVT.G_SESSION_ID
3450: and record_type = l_peg_record_type
3451: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3452: and constraint_type is not null

Line 3449: start with session_id = MSC_ATP_PVT.G_SESSION_ID

3445: (select pegging_id
3446: from mrp_atp_details_temp
3447: where record_type = l_peg_record_type
3448: and session_id = MSC_ATP_PVT.G_SESSION_ID
3449: start with session_id = MSC_ATP_PVT.G_SESSION_ID
3450: and record_type = l_peg_record_type
3451: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3452: and constraint_type is not null
3453: connect by pegging_id = PRIOR parent_pegging_id

Line 3451: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

3447: where record_type = l_peg_record_type
3448: and session_id = MSC_ATP_PVT.G_SESSION_ID
3449: start with session_id = MSC_ATP_PVT.G_SESSION_ID
3450: and record_type = l_peg_record_type
3451: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3452: and constraint_type is not null
3453: connect by pegging_id = PRIOR parent_pegging_id
3454: and record_type = l_peg_record_type
3455: and session_id = MSC_ATP_PVT.G_SESSION_ID);

Line 3455: and session_id = MSC_ATP_PVT.G_SESSION_ID);

3451: and end_pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3452: and constraint_type is not null
3453: connect by pegging_id = PRIOR parent_pegging_id
3454: and record_type = l_peg_record_type
3455: and session_id = MSC_ATP_PVT.G_SESSION_ID);
3456:
3457:
3458: END IF;
3459:

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

3470: l_atp_table.instance_id(i) := p_instance_id;
3471: IF NVL(l_atp_table.override_flag(i), 'N') = 'Y' THEN
3472:
3473: /* ship_rec_cal do we need this???
3474: l_atp_table.ship_date(i) := TRUNC(l_atp_table.requested_ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
3475:
3476: IF l_atp_table.ship_date(i) IS NULL THEN
3477: l_atp_table.ship_date(i) := TRUNC(MSC_CALENDAR.prev_work_day(
3478: l_atp_table.source_organization_id(i),

Line 3483: )) + MSC_ATP_PVT.G_END_OF_DAY;

3479: p_instance_id,
3480: MSC_CALENDAR.TYPE_DAILY_BUCKET,
3481: l_atp_table.requested_arrival_date(i)
3482: - nvl(l_atp_table.delivery_lead_time(i), 0)
3483: )) + MSC_ATP_PVT.G_END_OF_DAY;
3484: END IF;
3485:
3486: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_arrival_date(i))
3487: + MSC_ATP_PVT.G_END_OF_DAY;

Line 3487: + MSC_ATP_PVT.G_END_OF_DAY;

3483: )) + MSC_ATP_PVT.G_END_OF_DAY;
3484: END IF;
3485:
3486: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_arrival_date(i))
3487: + MSC_ATP_PVT.G_END_OF_DAY;
3488: IF l_atp_table.arrival_date(i) IS NULL THEN
3489: -- dsting 2815549
3490: IF l_atp_table.customer_id(i) is null and l_atp_table.organization_id(i) is not null THEN
3491: l_atp_table.arrival_date(i) := TRUNC(MSC_CALENDAR.next_work_day(

Line 3497: )) + MSC_ATP_PVT.G_END_OF_DAY;

3493: p_instance_id,
3494: MSC_CALENDAR.TYPE_DAILY_BUCKET,
3495: l_atp_table.requested_ship_date(i)
3496: + nvl(l_atp_table.delivery_lead_time(i), 0)
3497: )) + MSC_ATP_PVT.G_END_OF_DAY;
3498: ELSE
3499: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_ship_date(i)
3500: + nvl(l_atp_table.delivery_lead_time(i), 0)) + MSC_ATP_PVT.G_END_OF_DAY;
3501: END IF;

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

3496: + nvl(l_atp_table.delivery_lead_time(i), 0)
3497: )) + MSC_ATP_PVT.G_END_OF_DAY;
3498: ELSE
3499: l_atp_table.arrival_date(i) := TRUNC(l_atp_table.requested_ship_date(i)
3500: + nvl(l_atp_table.delivery_lead_time(i), 0)) + MSC_ATP_PVT.G_END_OF_DAY;
3501: END IF;
3502: END IF;*/
3503:
3504: IF PG_DEBUG in ('Y', 'C') THEN

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

3521: msc_sch_wb.atp_debug('arrival_date: ' || l_atp_table.arrival_date(i));
3522: END IF;
3523: --bug3439591 start
3524: --L_MOVE_PAST_DUE_TO_SYSDATE := NVL(FND_PROFILE.value('MSC_MOVE_PAST_DUE_TO_SYSDATE'), 'Y'); -- Bug 5584634/5618929
3525: L_MOVE_PAST_DUE_TO_SYSDATE := MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF;--6316476
3526: IF PG_DEBUG in ('Y', 'C') THEN
3527: msc_sch_wb.atp_debug('Schedule: ' || 'MOVE_PAST_DUE_TO_SYS_DATE :'|| L_MOVE_PAST_DUE_TO_SYSDATE);
3528: END IF;
3529: if L_MOVE_PAST_DUE_TO_SYSDATE = 'Y' THEN -- Bug 5584634/5618929

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

3601:
3602: IF PG_DEBUG in ('Y', 'C') THEN
3603: msc_sch_wb.atp_debug('Schedule: ' || 'bug 1225631');
3604: END IF;
3605: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
3606: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
3607: -- From request level (Call_schedule)
3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;

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

3604: END IF;
3605: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
3606: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
3607: -- From request level (Call_schedule)
3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

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

3605: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
3606: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
3607: -- From request level (Call_schedule)
3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

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

3606: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
3607: -- From request level (Call_schedule)
3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN

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

3607: -- From request level (Call_schedule)
3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));

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

3608: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;

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

3609: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
3610: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;
3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

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

3611: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3612: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;
3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
3619: 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 3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

3613: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;
3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
3619: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3620: END LOOP;
3621: END IF;

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

3614: IF PG_DEBUG in ('Y', 'C') THEN
3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;
3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
3619: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3620: END LOOP;
3621: END IF;
3622:

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

3615: msc_sch_wb.atp_debug('Schedule: ' || MSC_ATP_PVT.G_PEGGING_FOR_SET(m));
3616: END IF;
3617: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
3619: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
3620: END LOOP;
3621: END IF;
3622:
3623: /* --3720018, donot call remove_invalid_sd_rec here

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

3620: END LOOP;
3621: END IF;
3622:
3623: /* --3720018, donot call remove_invalid_sd_rec here
3624: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
3625: IF PG_DEBUG in ('Y', 'C') THEN
3626: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
3627: END IF;
3628: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 3629: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

3625: IF PG_DEBUG in ('Y', 'C') THEN
3626: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
3627: END IF;
3628: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
3629: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
3630: p_instance_id,
3631: l_plan_id,
3632: UNDO,
3633: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 3633: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

3629: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
3630: p_instance_id,
3631: l_plan_id,
3632: UNDO,
3633: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3634: l_return_status);
3635:
3636: END LOOP; */ --3720018
3637:

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

3641: IF l_atp_rec.error_code = ATP_REQ_DATE_FAIL THEN
3642: l_sd_qty := l_atp_rec.quantity_ordered;
3643: IF PG_DEBUG in ('Y', 'C') THEN
3644: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3645: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_DATE_QTY(i) := ' || MSC_ATP_PVT.G_REQ_DATE_QTY(i));
3646: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_ATP_DATE(i) := ' || MSC_ATP_PVT.G_REQ_ATP_DATE(i));
3647: END IF;
3648: -- rajjain begin 01/30/2003 Bug 2777661
3649: -- bug 2795053-reopen (ssurendr): Do date offset for override case as well

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

3642: l_sd_qty := l_atp_rec.quantity_ordered;
3643: IF PG_DEBUG in ('Y', 'C') THEN
3644: msc_sch_wb.atp_debug('Schedule: ' || 'i := ' || i);
3645: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_DATE_QTY(i) := ' || MSC_ATP_PVT.G_REQ_DATE_QTY(i));
3646: msc_sch_wb.atp_debug('Schedule: ' || 'MSC_ATP_PVT.G_REQ_ATP_DATE(i) := ' || MSC_ATP_PVT.G_REQ_ATP_DATE(i));
3647: END IF;
3648: -- rajjain begin 01/30/2003 Bug 2777661
3649: -- bug 2795053-reopen (ssurendr): Do date offset for override case as well
3650: -- IF NVL(l_atp_rec.override_flag, 'N') = 'Y' THEN

Line 3685: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

3681: p_instance_id,
3682: l_sd_date,
3683: l_plan_id,
3684: l_sd_qty,
3685: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3686: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3687: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3688: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3689: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973

Line 3686: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

3682: l_sd_date,
3683: l_plan_id,
3684: l_sd_qty,
3685: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3686: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3687: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3688: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3689: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
3690: l_atp_rec.atf_date, -- For time_phased_atp

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

3683: l_plan_id,
3684: l_sd_qty,
3685: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3686: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3687: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3688: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3689: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
3690: l_atp_rec.atf_date, -- For time_phased_atp
3691: l_atp_rec.atf_date_quantity, -- For time_phased_atp

Line 3777: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID

3773: BEGIN
3774: SELECT identifier3
3775: INTO l_ship_arrival_date_rec.demand_id
3776: FROM mrp_atp_details_temp
3777: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3778: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3779: AND record_type = 3;
3780: EXCEPTION
3781: WHEN OTHERS THEN

Line 3778: AND session_id = MSC_ATP_PVT.G_SESSION_ID

3774: SELECT identifier3
3775: INTO l_ship_arrival_date_rec.demand_id
3776: FROM mrp_atp_details_temp
3777: WHERE pegging_id = MSC_ATP_PVT.G_DEMAND_PEGGING_ID
3778: AND session_id = MSC_ATP_PVT.G_SESSION_ID
3779: AND record_type = 3;
3780: EXCEPTION
3781: WHEN OTHERS THEN
3782: l_ship_arrival_date_rec.demand_id := null;

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

3819: /* ship_rec_cal changes end */
3820:
3821: l_stmt := 330;
3822: -- dsting setproc
3823: IF i = l_atp_table.action.count AND l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
3824: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
3825: l_overall_status := ALLSUCCESS ;
3826: END IF;
3827:

Line 3861: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

3857: END IF;
3858: -- End of New Code
3859:
3860: --diag_atp
3861: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
3862: IF PG_DEBUG in ('Y', 'C') THEN
3863: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode 2');
3864: END IF;
3865: l_atp_table.Error_Code(i) := MSC_ATP_PVT.DIAGNOSTIC_ATP_ENABLED;

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

3861: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
3862: IF PG_DEBUG in ('Y', 'C') THEN
3863: msc_sch_wb.atp_debug('Schedule: ' || 'Reset The error code for diag ATP mode 2');
3864: END IF;
3865: l_atp_table.Error_Code(i) := MSC_ATP_PVT.DIAGNOSTIC_ATP_ENABLED;
3866: END IF;
3867: ELSE --- bug 1104565
3868:
3869: -- The request_date fails

Line 3937: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

3933: -NVL(l_atp_rec.atp_lead_time, 0)),
3934: */
3935: l_plan_id,
3936: l_sd_qty,
3937: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3938: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3939: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3940: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3941: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973

Line 3938: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

3934: */
3935: l_plan_id,
3936: l_sd_qty,
3937: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3938: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3939: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3940: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3941: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
3942: l_atp_rec.atf_date, -- For time_phased_atp

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

3935: l_plan_id,
3936: l_sd_qty,
3937: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
3938: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
3939: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
3940: l_dmd_satisfied_date, -- bug 2795053-reopen (ssurendr)
3941: l_atp_rec.used_available_quantity, -- For time_phased_atp bug3409973
3942: l_atp_rec.atf_date, -- For time_phased_atp
3943: l_atp_rec.atf_date_quantity, -- For time_phased_atp

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

3974: IF PG_DEBUG in ('Y', 'C') THEN
3975: msc_sch_wb.atp_debug('arrival cntr k: ' || k);
3976: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
3977: msc_sch_wb.atp_debug('i: ' || i);
3978: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
3979: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
3980: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
3981: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
3982: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);

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

3975: msc_sch_wb.atp_debug('arrival cntr k: ' || k);
3976: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
3977: msc_sch_wb.atp_debug('i: ' || i);
3978: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
3979: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
3980: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
3981: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
3982: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
3983: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);

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

3976: msc_sch_wb.atp_debug('fst src peg count: ' || l_fst_src_pegging_ids.count);
3977: msc_sch_wb.atp_debug('i: ' || i);
3978: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
3979: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
3980: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
3981: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
3982: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
3983: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);
3984: END IF;

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

3977: msc_sch_wb.atp_debug('i: ' || i);
3978: msc_sch_wb.atp_debug('p cnt: ' ||MSC_ATP_PVT.G_pegging_for_set.count);
3979: msc_sch_wb.atp_debug('f cnt: ' ||MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count);
3980: msc_sch_wb.atp_debug('d cnt: ' ||MSC_ATP_PVT.G_REQ_ATP_DATE.count);
3981: msc_sch_wb.atp_debug('q cnt: ' ||MSC_ATP_PVT.G_REQ_DATE_QTY.count);
3982: msc_sch_wb.atp_debug('l_date_higher_src: ' || l_date_higher_src);
3983: msc_sch_wb.atp_debug('l_overall_status: ' || l_overall_status);
3984: END IF;
3985:

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

4011: l_demand_class_atp_flag.trim(l_fst_src_pegging_ids.count - k + 1);
4012: END IF;
4013:
4014: msc_sch_wb.atp_debug('adding to fst_src_peg p');
4015: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4016: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4017: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4018: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4019: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);

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

4013:
4014: msc_sch_wb.atp_debug('adding to fst_src_peg p');
4015: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4016: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4017: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4018: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4019: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4020: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

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

4015: MSC_ATP_PROC.number_arr_cat(l_fst_src_pegging_ids, MSC_ATP_PVT.G_PEGGING_FOR_SET);
4016: msc_sch_wb.atp_debug('adding to fst_src_peg d');
4017: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4018: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4019: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4020: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,

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

4017: MSC_ATP_PROC.date_arr_cat(l_req_atp_date, MSC_ATP_PVT.G_REQ_ATP_DATE);
4018: msc_sch_wb.atp_debug('adding to fst_src_peg q');
4019: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4020: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4025: MSC_ATP_PVT.GROUPEL_ERROR,

Line 4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,

4019: MSC_ATP_PROC.number_arr_cat(l_req_date_qty, MSC_ATP_PVT.G_REQ_DATE_QTY);
4020: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4025: MSC_ATP_PVT.GROUPEL_ERROR,
4026: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4027: THEN

Line 4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,

4020: msc_sch_wb.atp_debug('adding to fst_src_peg f');
4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4025: MSC_ATP_PVT.GROUPEL_ERROR,
4026: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4027: THEN
4028: l_date_higher_src := 'Y';

Line 4025: MSC_ATP_PVT.GROUPEL_ERROR,

4021: MSC_ATP_PROC.number_arr_cat(l_demand_class_atp_flag, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4025: MSC_ATP_PVT.GROUPEL_ERROR,
4026: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4027: THEN
4028: l_date_higher_src := 'Y';
4029: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);

Line 4026: MSC_ATP_PVT.ATP_ACCEPT_FAIL)

4022:
4023: IF l_overall_status in (MSC_ATP_PVT.ALLSUCCESS,
4024: MSC_ATP_PVT.ATP_REQ_DATE_FAIL,
4025: MSC_ATP_PVT.GROUPEL_ERROR,
4026: MSC_ATP_PVT.ATP_ACCEPT_FAIL)
4027: THEN
4028: l_date_higher_src := 'Y';
4029: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);
4030: END IF;

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

4028: l_date_higher_src := 'Y';
4029: msc_sch_wb.atp_debug('have date. l_date_higher_src: ' || l_date_higher_src);
4030: END IF;
4031: -- cleanup only if not arrival set
4032: --3720018 , Global array MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC is used to append records
4033: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4034: -- From request level (Call_schedule)
4035: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4036: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN

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

4033: -- in case of ATP Inquiry. This global array will be used to call remove_invalid_sd_rec
4034: -- From request level (Call_schedule)
4035: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4036: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4037: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);

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

4034: -- From request level (Call_schedule)
4035: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4036: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4037: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

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

4035: IF l_set_status <> ALLSUCCESS and l_arrival_count = 1 THEN
4036: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4037: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);

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

4036: IF (l_atp_rec.Action = ATPQUERY AND l_ship_count =1) THEN
4037: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;

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

4037: IF MSC_ATP_PVT.G_PEGGING_FOR_SET IS NOT NULL and MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT > 0 THEN
4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4045: 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 4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP

4038: l_count := MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.count;
4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4045: 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);
4046: END LOOP;

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

4039: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4045: 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);
4046: END LOOP;
4047: END IF;

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

4040: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4045: 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);
4046: END LOOP;
4047: END IF;
4048: ELSE --3720018

Line 4045: 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);

4041: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST.extend(MSC_ATP_PVT.G_PEGGING_FOR_SET.count);
4042: FOR m in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4043: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(l_count + m) := MSC_ATP_PVT.G_PEGGING_FOR_SET(m);
4044: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(l_count + m) := l_plan_id;
4045: 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);
4046: END LOOP;
4047: END IF;
4048: ELSE --3720018
4049: MSC_ATP_PROC.cleanup_set(p_instance_id,

Line 4051: MSC_ATP_PVT.G_PEGGING_FOR_SET,

4047: END IF;
4048: ELSE --3720018
4049: MSC_ATP_PROC.cleanup_set(p_instance_id,
4050: l_plan_id,
4051: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4052: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4053: END IF; --3720018
4054: END IF; --3720018
4055: ELSE

Line 4052: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

4048: ELSE --3720018
4049: MSC_ATP_PROC.cleanup_set(p_instance_id,
4050: l_plan_id,
4051: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4052: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4053: END IF; --3720018
4054: END IF; --3720018
4055: ELSE
4056: -- not using these in fst src peg, so always clean up

Line 4059: MSC_ATP_PVT.G_PEGGING_FOR_SET,

4055: ELSE
4056: -- not using these in fst src peg, so always clean up
4057: MSC_ATP_PROC.cleanup_set(p_instance_id,
4058: l_plan_id,
4059: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4060: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4061: END IF;
4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

Line 4060: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);

4056: -- not using these in fst src peg, so always clean up
4057: MSC_ATP_PROC.cleanup_set(p_instance_id,
4058: l_plan_id,
4059: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4060: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4061: END IF;
4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

Line 4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4059: MSC_ATP_PVT.G_PEGGING_FOR_SET,
4060: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4061: END IF;
4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4065: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4066: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4067:

Line 4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4060: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG);
4061: END IF;
4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4065: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4066: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4067:
4068: IF j = l_sources.source_type.count THEN

Line 4065: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4061: END IF;
4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4065: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4066: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4067:
4068: IF j = l_sources.source_type.count THEN
4069: IF PG_DEBUG in ('Y', 'C') THEN

Line 4066: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4062:
4063: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4064: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4065: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4066: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4067:
4068: IF j = l_sources.source_type.count THEN
4069: IF PG_DEBUG in ('Y', 'C') THEN
4070: msc_sch_wb.atp_debug('Schedule: ' || 'l_fst_src_pegging_ids.count'|| l_fst_src_pegging_ids.count);

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

4107: msc_sch_wb.atp_debug('Schedule: ' || 'bug 1225631');
4108: END IF;
4109:
4110: -- ROLLBACK to SAVEPOINT start_atp;
4111: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4112: IF PG_DEBUG in ('Y', 'C') THEN
4113: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4114: END IF;
4115: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4116: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4112: IF PG_DEBUG in ('Y', 'C') THEN
4113: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4114: END IF;
4115: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4116: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4117: p_instance_id,
4118: l_plan_id,
4119: UNDO,
4120: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4120: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4116: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4117: p_instance_id,
4118: l_plan_id,
4119: UNDO,
4120: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4121: l_return_status);
4122:
4123: END LOOP;
4124:

Line 4125: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4121: l_return_status);
4122:
4123: END LOOP;
4124:
4125: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4126: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4127: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4128: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4129: IF PG_DEBUG in ('Y', 'C') THEN

Line 4126: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4122:
4123: END LOOP;
4124:
4125: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4126: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4127: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4128: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4129: IF PG_DEBUG in ('Y', 'C') THEN
4130: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');

Line 4127: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4123: END LOOP;
4124:
4125: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4126: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4127: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4128: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4129: IF PG_DEBUG in ('Y', 'C') THEN
4130: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');
4131: END IF;

Line 4128: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4124:
4125: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4126: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4127: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4128: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4129: IF PG_DEBUG in ('Y', 'C') THEN
4130: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 7');
4131: END IF;
4132:

Line 4144: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN

4140: IF (i = l_ship_count) AND (l_ship_count > 1 ) THEN
4141: -- this is a set, make sure this set is successful
4142: -- dsting setproc
4143: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
4144: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
4145: FOR m in 1.. l_ship_count LOOP
4146: l_atp_table.Group_Ship_Date(m):= l_group_date;
4147:
4148: IF (l_atp_table.Action(m)<> ATPQUERY) THEN

Line 4150: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

4146: l_atp_table.Group_Ship_Date(m):= l_group_date;
4147:
4148: IF (l_atp_table.Action(m)<> ATPQUERY) THEN
4149:
4150: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
4151: /* time_phased_atp use plan_id populated in l_atp_table.plan_id
4152: -- New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
4153: -- (SCLT)
4154: MSC_ATP_PROC.get_global_plan_info(p_instance_id,

Line 4159: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

4155: l_atp_table.inventory_item_id(m),
4156: l_atp_table.organization_id(m),
4157: l_atp_table.demand_class(m));
4158:
4159: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
4160: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
4161:
4162: l_temp_plan_id := l_plan_info_rec.plan_id;
4163: l_temp_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 4183: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4179: END IF;
4180:
4181: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4182: p_instance_id, l_group_date, l_temp_plan_id,null,
4183: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4184: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4185: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4186: l_group_date, -- bug 2795053-reopen (ssurendr)
4187: null, -- For time_phased_atp

Line 4184: MSC_ATP_PVT.G_REQ_ATP_DATE(i),

4180:
4181: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4182: p_instance_id, l_group_date, l_temp_plan_id,null,
4183: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4184: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4185: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4186: l_group_date, -- bug 2795053-reopen (ssurendr)
4187: null, -- For time_phased_atp
4188: l_atp_table.atf_date(m), -- For time_phased_atp

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

4181: MSC_ATP_DB_UTILS.Update_SD_Date(p_atp_table.Identifier(m),
4182: p_instance_id, l_group_date, l_temp_plan_id,null,
4183: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4184: MSC_ATP_PVT.G_REQ_ATP_DATE(i),
4185: MSC_ATP_PVT.G_REQ_DATE_QTY(i), -- Bug 1501787
4186: l_group_date, -- bug 2795053-reopen (ssurendr)
4187: null, -- For time_phased_atp
4188: l_atp_table.atf_date(m), -- For time_phased_atp
4189: null, -- For time_phased_atp

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

4211: END LOOP;
4212:
4213: -- 1072816 need to do something to undo
4214:
4215: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4216: IF PG_DEBUG in ('Y', 'C') THEN
4217: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4218: END IF;
4219: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4220: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4216: IF PG_DEBUG in ('Y', 'C') THEN
4217: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4218: END IF;
4219: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4220: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4221: p_instance_id,
4222: l_plan_id,
4223: UNDO,
4224: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4224: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4220: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4221: p_instance_id,
4222: l_plan_id,
4223: UNDO,
4224: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4225: l_return_status);
4226:
4227: END LOOP;
4228:

Line 4229: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4225: l_return_status);
4226:
4227: END LOOP;
4228:
4229: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4230: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4231: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4232: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4233: IF PG_DEBUG in ('Y', 'C') THEN

Line 4230: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4226:
4227: END LOOP;
4228:
4229: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4230: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4231: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4232: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4233: IF PG_DEBUG in ('Y', 'C') THEN
4234: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');

Line 4231: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4227: END LOOP;
4228:
4229: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4230: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4231: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4232: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4233: IF PG_DEBUG in ('Y', 'C') THEN
4234: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');
4235: END IF;

Line 4232: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4228:
4229: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4230: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4231: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4232: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4233: IF PG_DEBUG in ('Y', 'C') THEN
4234: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 8');
4235: END IF;
4236:

Line 4252: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN

4248: l_return_status);
4249:
4250: -- now exit the loop since we are successful
4251: -- IF l_set_element_success = l_atp_table.Action.COUNT THEN
4252: IF l_set_status = MSC_ATP_PVT.ALLSUCCESS THEN
4253: l_overall_status := ALLSUCCESS ;
4254: END IF;
4255:
4256:

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

4265: IF ((l_ship_count = 1 AND l_arrival_count = 1) OR
4266: (l_arrival_count > 1 AND k = l_arrival_count) OR
4267: (l_ship_count > 1 AND i = l_ship_count) ) THEN
4268:
4269: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4270: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4271: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4272: p_instance_id,
4273: l_plan_id,

Line 4271: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4267: (l_ship_count > 1 AND i = l_ship_count) ) THEN
4268:
4269: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4270: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4271: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4272: p_instance_id,
4273: l_plan_id,
4274: UNDO,
4275: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4275: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4271: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4272: p_instance_id,
4273: l_plan_id,
4274: UNDO,
4275: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4276: l_return_status);
4277:
4278: END LOOP;
4279:

Line 4280: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4276: l_return_status);
4277:
4278: END LOOP;
4279:
4280: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4281: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4282: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4283: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4284: IF PG_DEBUG in ('Y', 'C') THEN

Line 4281: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4277:
4278: END LOOP;
4279:
4280: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4281: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4282: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4283: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4284: IF PG_DEBUG in ('Y', 'C') THEN
4285: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');

Line 4282: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4278: END LOOP;
4279:
4280: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4281: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4282: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4283: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4284: IF PG_DEBUG in ('Y', 'C') THEN
4285: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');
4286: END IF;

Line 4283: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4279:
4280: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4281: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4282: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4283: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4284: IF PG_DEBUG in ('Y', 'C') THEN
4285: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 9');
4286: END IF;
4287: END IF;

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

4296: END LOOP;
4297:
4298: -- 1072816 need to do something to undo
4299:
4300: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4301: IF PG_DEBUG in ('Y', 'C') THEN
4302: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4303: END IF;
4304: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4305: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4301: IF PG_DEBUG in ('Y', 'C') THEN
4302: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4303: END IF;
4304: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4305: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4306: p_instance_id,
4307: l_plan_id,
4308: UNDO,
4309: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4309: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4305: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4306: p_instance_id,
4307: l_plan_id,
4308: UNDO,
4309: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4310: l_return_status);
4311:
4312: END LOOP;
4313:

Line 4314: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4310: l_return_status);
4311:
4312: END LOOP;
4313:
4314: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4315: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4316: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4317: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4318: IF PG_DEBUG in ('Y', 'C') THEN

Line 4315: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4311:
4312: END LOOP;
4313:
4314: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4315: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4316: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4317: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4318: IF PG_DEBUG in ('Y', 'C') THEN
4319: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');

Line 4316: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4312: END LOOP;
4313:
4314: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4315: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4316: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4317: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4318: IF PG_DEBUG in ('Y', 'C') THEN
4319: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');
4320: END IF;

Line 4317: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4313:
4314: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4315: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4316: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4317: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4318: IF PG_DEBUG in ('Y', 'C') THEN
4319: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 10');
4320: END IF;
4321:

Line 4464: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;

4460: END IF;
4461:
4462: -- BEGIN Bug 2400781
4463: -- Re-assign the global variables
4464: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
4465: -- ATP4drp re-set using original profile value
4466: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
4467: -- End ATP4drp
4468: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

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

4462: -- BEGIN Bug 2400781
4463: -- Re-assign the global variables
4464: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
4465: -- ATP4drp re-set using original profile value
4466: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
4467: -- End ATP4drp
4468: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
4469: IF PG_DEBUG in ('Y', 'C') THEN
4470: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '

Line 4468: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;

4464: MSC_ATP_PVT.G_INV_CTP := l_inv_ctp;
4465: -- ATP4drp re-set using original profile value
4466: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
4467: -- End ATP4drp
4468: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
4469: IF PG_DEBUG in ('Y', 'C') THEN
4470: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '
4471: || MSC_ATP_PVT.G_INV_CTP);
4472: END IF;

Line 4471: || MSC_ATP_PVT.G_INV_CTP);

4467: -- End ATP4drp
4468: MSC_ATP_PVT.G_ALLOCATION_METHOD := l_allocation_method;
4469: IF PG_DEBUG in ('Y', 'C') THEN
4470: msc_sch_wb.atp_debug('Schedule: ' || 'Reset Destination INV_CTP '
4471: || MSC_ATP_PVT.G_INV_CTP);
4472: END IF;
4473: -- The local variables were assigned at the beginning of the Loop
4474: -- Values should be reset after every ship-set row.
4475: -- END Bug 2400781

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

4631:
4632: -- xxxx to be consistent with ship sets...
4633: IF l_arrival_count > 1 and p_atp_table.quantity_ordered(1) <> 0 THEN
4634: -- Bug 2259824
4635: l_group_date := TRUNC(sysdate);--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
4636: IF PG_DEBUG in ('Y', 'C') THEN
4637: msc_sch_wb.atp_debug('Schedule: 2259824 l_group_date = '||
4638: to_char(l_group_date, 'DD-MON-YYYY HH24:MI:SS'));
4639: END IF;

Line 4667: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;

4663: -- This ensures that group dates are also moved to the end of day
4664: l_group_date := greatest(l_group_date,
4665: l_temp_arr_atp_table.Ship_Date(i)+
4666: NVL(l_temp_arr_atp_table.delivery_lead_time(i),0));
4667: --4460369+ MSC_ATP_PVT.G_END_OF_DAY;
4668:
4669: MSC_SATP_FUNC.Assign_Atp_Input_Rec(l_temp_arr_atp_table,
4670: i,
4671: x_atp_table,

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

4743: -- for this line we can satisfy on the request date
4744: -- For bug 2748730. Move the group date to end of day even if line is overridden
4745: -- This ensures that group dates are also moved to the end of day
4746: l_group_date := TRUNC(Greatest(l_group_date,
4747: p_atp_table.Requested_Arrival_Date(k)));--4460369 + MSC_ATP_PVT.G_END_OF_DAY;
4748: ELSE
4749: l_group_date := NULL;
4750: END IF;
4751: END LOOP; -- end of k loop

Line 4786: + MSC_ATP_PVT.G_END_OF_DAY;

4782: -- This ensures that group dates are also moved to the end of day
4783: l_group_date := TRUNC(greatest(l_group_date,
4784: l_temp_arr_atp_table.Ship_Date(i)+
4785: NVL(l_temp_arr_atp_table.delivery_lead_time(i),0)))
4786: + MSC_ATP_PVT.G_END_OF_DAY;
4787: END LOOP;
4788: */
4789:
4790:

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

4820: l_plan_id,
4821: l_fst_src_pegging_ids,
4822: l_demand_class_atp_flag);
4823: /*
4824: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
4825: IF PG_DEBUG in ('Y', 'C') THEN
4826: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4827: END IF;
4828: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(

Line 4829: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,

4825: IF PG_DEBUG in ('Y', 'C') THEN
4826: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop');
4827: END IF;
4828: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
4829: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4830: p_instance_id,
4831: l_plan_id,
4832: UNDO,
4833: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

Line 4833: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),

4829: MSC_ATP_PVT.G_PEGGING_FOR_SET(i) ,
4830: p_instance_id,
4831: l_plan_id,
4832: UNDO,
4833: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4834: l_return_status);
4835: END LOOP;
4836: */
4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

Line 4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

4833: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),
4834: l_return_status);
4835: END LOOP;
4836: */
4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4838: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4839: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4840: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4841: IF PG_DEBUG in ('Y', 'C') THEN

Line 4838: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

4834: l_return_status);
4835: END LOOP;
4836: */
4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4838: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4839: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4840: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4841: IF PG_DEBUG in ('Y', 'C') THEN
4842: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');

Line 4839: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

4835: END LOOP;
4836: */
4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4838: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4839: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4840: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4841: IF PG_DEBUG in ('Y', 'C') THEN
4842: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');
4843: END IF;

Line 4840: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

4836: */
4837: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
4838: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
4839: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
4840: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
4841: IF PG_DEBUG in ('Y', 'C') THEN
4842: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 12');
4843: END IF;
4844: ELSE

Line 4851: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;

4847: END IF;
4848: -- dsting setproc
4849:
4850: -- 2902265
4851: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
4852: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
4853: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
4854: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
4855:

Line 4852: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;

4848: -- dsting setproc
4849:
4850: -- 2902265
4851: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
4852: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
4853: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
4854: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
4855:
4856: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date

Line 4853: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;

4849:
4850: -- 2902265
4851: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
4852: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
4853: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
4854: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
4855:
4856: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date
4857: END IF;

Line 4854: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;

4850: -- 2902265
4851: MSC_ATP_PVT.G_PEGGING_FOR_SET := l_fst_src_pegging_ids;
4852: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG := l_demand_class_atp_flag;
4853: MSC_ATP_PVT.G_REQ_ATP_DATE := l_req_atp_DATE;
4854: MSC_ATP_PVT.G_REQ_DATE_QTY := l_req_date_qty;
4855:
4856: MSC_ATP_PROC.Update_Set_SD_Dates(x_atp_table,l_req_arr_date); --Plan by request date
4857: END IF;
4858:

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

4880:
4881: ---bug 2384224
4882: IF PG_DEBUG in ('Y', 'C') THEN
4883: msc_sch_wb.atp_debug('Schedule: Debug l_inv_ctp ' || l_inv_ctp);
4884: msc_sch_wb.atp_debug('Schedule: Debug G_INV_CTP ' || MSC_ATP_PVT.G_INV_CTP);
4885: msc_sch_wb.atp_debug('Schedule: Debug x_atp_table.Action(1)' || x_atp_table.Action(1));
4886: END IF;
4887: IF /*(l_inv_ctp = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
4888: x_atp_table.Action(1) = DEMANDADD OR

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

4944: --3720018 ,changes to refer all the records from l_delete_atp_rec
4945:
4946: -- Append copy SO ids for summary enhancement --3720018
4947: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
4948: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
4949: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4950: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4951: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
4952: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);

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

4945:
4946: -- Append copy SO ids for summary enhancement --3720018
4947: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
4948: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
4949: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4950: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4951: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
4952: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
4953: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);

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

4946: -- Append copy SO ids for summary enhancement --3720018
4947: IF l_delete_atp_rec.del_copy_demand_ids IS NOT NULL and l_delete_atp_rec.del_copy_demand_ids.COUNT > 0 THEN
4948: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
4949: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4950: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4951: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
4952: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
4953: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
4954: END LOOP;

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

4948: l_count := MSC_ATP_PVT.G_COPY_DEMAND_ID.count;
4949: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4950: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4951: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
4952: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
4953: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
4954: END LOOP;
4955: END IF;
4956:

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

4949: MSC_ATP_PVT.G_COPY_DEMAND_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4950: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID.extend(l_delete_atp_rec.del_copy_demand_ids.count);
4951: FOR i in 1..l_delete_atp_rec.del_copy_demand_ids.count LOOP
4952: MSC_ATP_PVT.G_COPY_DEMAND_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_ids(i);
4953: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID(l_count + i) := l_delete_atp_rec.del_copy_demand_plan_ids(m);
4954: END LOOP;
4955: END IF;
4956:
4957: --Changes for Bug 3629191 : Population of Offset data in Global Records.

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

4956:
4957: --Changes for Bug 3629191 : Population of Offset data in Global Records.
4958:
4959: IF PG_DEBUG in ('Y', 'C') THEN
4960: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4961: END IF;
4962:
4963: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
4964: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

4960: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4961: END IF;
4962:
4963: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
4964: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4965: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
4966: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4967: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4968: IF PG_DEBUG in ('Y', 'C') THEN

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

4961: END IF;
4962:
4963: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
4964: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4965: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
4966: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4967: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4968: IF PG_DEBUG in ('Y', 'C') THEN
4969: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);

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

4962:
4963: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
4964: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4965: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
4966: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4967: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4968: IF PG_DEBUG in ('Y', 'C') THEN
4969: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
4970: END IF;

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

4963: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
4964: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4965: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
4966: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4967: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
4968: IF PG_DEBUG in ('Y', 'C') THEN
4969: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
4970: END IF;
4971: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP

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

4968: IF PG_DEBUG in ('Y', 'C') THEN
4969: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
4970: END IF;
4971: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
4972: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
4973: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
4974: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
4975: END LOOP;
4976: END IF;

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

4969: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
4970: END IF;
4971: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
4972: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
4973: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
4974: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
4975: END LOOP;
4976: END IF;
4977:

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

4970: END IF;
4971: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
4972: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
4973: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
4974: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
4975: END LOOP;
4976: END IF;
4977:
4978: IF PG_DEBUG in ('Y', 'C') THEN

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

4975: END LOOP;
4976: END IF;
4977:
4978: IF PG_DEBUG in ('Y', 'C') THEN
4979: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4980: END IF;
4981:
4982: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
4983: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

4979: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4980: END IF;
4981:
4982: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
4983: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4984: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
4985: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4986: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4987: IF PG_DEBUG in ('Y', 'C') THEN

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

4980: END IF;
4981:
4982: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
4983: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4984: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
4985: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4986: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4987: IF PG_DEBUG in ('Y', 'C') THEN
4988: 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 4985: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

4981:
4982: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
4983: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4984: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
4985: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4986: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4987: IF PG_DEBUG in ('Y', 'C') THEN
4988: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
4989: END IF;

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

4982: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
4983: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
4984: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
4985: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4986: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
4987: IF PG_DEBUG in ('Y', 'C') THEN
4988: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
4989: END IF;
4990: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP

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

4987: IF PG_DEBUG in ('Y', 'C') THEN
4988: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
4989: END IF;
4990: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
4991: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
4992: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
4993: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
4994: END LOOP;
4995: END IF;

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

4988: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
4989: END IF;
4990: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
4991: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
4992: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
4993: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
4994: END LOOP;
4995: END IF;
4996:

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

4989: END IF;
4990: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
4991: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
4992: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
4993: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
4994: END LOOP;
4995: END IF;
4996:
4997: IF PG_DEBUG in ('Y', 'C') THEN

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

4994: END LOOP;
4995: END IF;
4996:
4997: IF PG_DEBUG in ('Y', 'C') THEN
4998: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4999: END IF;
5000:
5001: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5002: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

4998: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
4999: END IF;
5000:
5001: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5002: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5003: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5004: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5005: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5006: IF PG_DEBUG in ('Y', 'C') THEN

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

4999: END IF;
5000:
5001: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5002: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5003: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5004: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5005: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5006: IF PG_DEBUG in ('Y', 'C') THEN
5007: 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 5004: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5000:
5001: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5002: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5003: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5004: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5005: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5006: IF PG_DEBUG in ('Y', 'C') THEN
5007: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5008: END IF;

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

5001: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5002: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5003: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5004: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5005: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5006: IF PG_DEBUG in ('Y', 'C') THEN
5007: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5008: END IF;
5009: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP

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

5006: IF PG_DEBUG in ('Y', 'C') THEN
5007: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5008: END IF;
5009: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5010: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5011: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5012: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5013: END LOOP;
5014: END IF;

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

5007: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5008: END IF;
5009: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5010: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5011: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5012: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5013: END LOOP;
5014: END IF;
5015:

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

5008: END IF;
5009: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5010: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5011: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5012: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5013: END LOOP;
5014: END IF;
5015:
5016: IF PG_DEBUG in ('Y', 'C') THEN

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

5013: END LOOP;
5014: END IF;
5015:
5016: IF PG_DEBUG in ('Y', 'C') THEN
5017: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5018: END IF;
5019:
5020: 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
5021: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

5017: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5018: END IF;
5019:
5020: 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
5021: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5022: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5023: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5024: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5025: IF PG_DEBUG in ('Y', 'C') THEN

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

5018: END IF;
5019:
5020: 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
5021: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5022: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5023: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5024: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5025: IF PG_DEBUG in ('Y', 'C') THEN
5026: 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 5023: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5019:
5020: 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
5021: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5022: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5023: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5024: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5025: IF PG_DEBUG in ('Y', 'C') THEN
5026: 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 );
5027: END IF;

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

5020: 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
5021: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5022: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5023: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5024: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5025: IF PG_DEBUG in ('Y', 'C') THEN
5026: 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 );
5027: END IF;
5028: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP

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

5025: IF PG_DEBUG in ('Y', 'C') THEN
5026: 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 );
5027: END IF;
5028: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5029: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5030: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5031: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5032: END LOOP;
5033: END IF;

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

5026: 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 );
5027: END IF;
5028: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5029: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5030: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5031: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5032: END LOOP;
5033: END IF;
5034: --3720018

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

5027: END IF;
5028: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5029: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5030: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5031: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5032: END LOOP;
5033: END IF;
5034: --3720018
5035:

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

5033: END IF;
5034: --3720018
5035:
5036: IF PG_DEBUG in ('Y', 'C') THEN
5037: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5038: END IF;
5039:
5040: --Changes for Bug 3629191: Population of Offset data in Global record ends.
5041:

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

5096: END IF; -- Bug 1661545
5097:
5098: /*-- we now insert new picture for each session. Hence we do not need to update old picture
5099: IF l_inv_ctp = 4 and MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1
5100: AND NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5101: IF (x_atp_table.action(1) = ATPQUERY or
5102: ((x_atp_table.Action(1) = DEMANDMODIFY OR
5103: x_atp_table.Action(1) = DEMANDADD OR
5104: x_atp_table.Action(1) = DMDRSVADD)

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

5129:
5130: --3720018, arrays to be refered from l_delete_atp_rec.
5131:
5132: IF PG_DEBUG in ('Y', 'C') THEN
5133: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5134: END IF;
5135:
5136: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5137: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

5133: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5134: END IF;
5135:
5136: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5137: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5138: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5139: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5140: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5141: IF PG_DEBUG in ('Y', 'C') THEN

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

5134: END IF;
5135:
5136: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5137: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5138: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5139: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5140: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5141: IF PG_DEBUG in ('Y', 'C') THEN
5142: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);

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

5135:
5136: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5137: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5138: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5139: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5140: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5141: IF PG_DEBUG in ('Y', 'C') THEN
5142: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5143: END IF;

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

5136: IF l_delete_atp_rec.del_demand_ids IS NOT NULL and l_delete_atp_rec.del_demand_ids.COUNT > 0 THEN
5137: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5138: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_demand_ids.count);
5139: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5140: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_demand_ids.count);
5141: IF PG_DEBUG in ('Y', 'C') THEN
5142: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5143: END IF;
5144: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP

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

5141: IF PG_DEBUG in ('Y', 'C') THEN
5142: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5143: END IF;
5144: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5145: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5146: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5147: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5148: END LOOP;
5149: END IF;

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

5142: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_demand_ids ' || l_delete_atp_rec.del_demand_ids.count);
5143: END IF;
5144: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5145: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5146: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5147: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5148: END LOOP;
5149: END IF;
5150:

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

5143: END IF;
5144: FOR i in 1..l_delete_atp_rec.del_demand_ids.count LOOP
5145: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := p_instance_id;
5146: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_demand_ids(i);
5147: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.del_plan_ids(i);
5148: END LOOP;
5149: END IF;
5150:
5151:

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

5149: END IF;
5150:
5151:
5152: IF PG_DEBUG in ('Y', 'C') THEN
5153: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5154: END IF;
5155:
5156: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5157: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

5153: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5154: END IF;
5155:
5156: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5157: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5158: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5159: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5160: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5161: IF PG_DEBUG in ('Y', 'C') THEN

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

5154: END IF;
5155:
5156: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5157: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5158: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5159: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5160: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5161: IF PG_DEBUG in ('Y', 'C') THEN
5162: 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 5159: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);

5155:
5156: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5157: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5158: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5159: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5160: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5161: IF PG_DEBUG in ('Y', 'C') THEN
5162: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5163: END IF;

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

5156: IF l_delete_atp_rec.del_atp_peg_demands IS NOT NULL and l_delete_atp_rec.del_atp_peg_demands.COUNT > 0 THEN
5157: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5158: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_demands.count);
5159: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5160: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_demands.count);
5161: IF PG_DEBUG in ('Y', 'C') THEN
5162: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5163: END IF;
5164: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP

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

5161: IF PG_DEBUG in ('Y', 'C') THEN
5162: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5163: END IF;
5164: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5165: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5166: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5167: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5168: END LOOP;
5169: END IF;

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

5162: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_demands.count ' || l_delete_atp_rec.del_atp_peg_demands.count);
5163: END IF;
5164: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5165: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5166: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5167: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5168: END LOOP;
5169: END IF;
5170:

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

5163: END IF;
5164: FOR i in 1..l_delete_atp_rec.del_atp_peg_demands.count LOOP
5165: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_demand_instance_id(i);
5166: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_demands(i);
5167: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_demands_plan_ids(i);
5168: END LOOP;
5169: END IF;
5170:
5171:

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

5169: END IF;
5170:
5171:
5172: IF PG_DEBUG in ('Y', 'C') THEN
5173: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5174: END IF;
5175:
5176: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5177: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

5173: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5174: END IF;
5175:
5176: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5177: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5178: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5179: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5180: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5181: IF PG_DEBUG in ('Y', 'C') THEN

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

5174: END IF;
5175:
5176: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5177: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5178: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5179: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5180: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5181: IF PG_DEBUG in ('Y', 'C') THEN
5182: 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 5179: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);

5175:
5176: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5177: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5178: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5179: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5180: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5181: IF PG_DEBUG in ('Y', 'C') THEN
5182: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5183: END IF;

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

5176: IF l_delete_atp_rec.del_atp_peg_supplies IS NOT NULL and l_delete_atp_rec.del_atp_peg_supplies.COUNT > 0 THEN
5177: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5178: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_supplies.count);
5179: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5180: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_supplies.count);
5181: IF PG_DEBUG in ('Y', 'C') THEN
5182: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5183: END IF;
5184: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP

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

5181: IF PG_DEBUG in ('Y', 'C') THEN
5182: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5183: END IF;
5184: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5185: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5186: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5187: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5188: END LOOP;
5189: END IF;

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

5182: msc_sch_wb.atp_debug('Schedule: l_delete_atp_rec.del_atp_peg_supplies.count ' || l_delete_atp_rec.del_atp_peg_supplies.count );
5183: END IF;
5184: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5185: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5186: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5187: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5188: END LOOP;
5189: END IF;
5190:

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

5183: END IF;
5184: FOR i in 1..l_delete_atp_rec.del_atp_peg_supplies.count LOOP
5185: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_supply_instance_id(i);
5186: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_supplies(i);
5187: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_supplies_plan_ids(i);
5188: END LOOP;
5189: END IF;
5190:
5191:

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

5189: END IF;
5190:
5191:
5192: IF PG_DEBUG in ('Y', 'C') THEN
5193: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5194: END IF;
5195:
5196: 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
5197: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;

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

5193: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5194: END IF;
5195:
5196: 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
5197: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5198: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5199: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5200: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5201: IF PG_DEBUG in ('Y', 'C') THEN

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

5194: END IF;
5195:
5196: 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
5197: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5198: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5199: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5200: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5201: IF PG_DEBUG in ('Y', 'C') THEN
5202: 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 5199: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);

5195:
5196: 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
5197: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5198: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5199: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5200: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5201: IF PG_DEBUG in ('Y', 'C') THEN
5202: 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 );
5203: END IF;

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

5196: 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
5197: l_count := MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count;
5198: MSC_ATP_PVT.G_OFF_INSTANCE_ID.extend(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5199: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5200: MSC_ATP_PVT.G_OFF_PLAN_ID.EXTEND(l_delete_atp_rec.del_atp_peg_res_reqs.count);
5201: IF PG_DEBUG in ('Y', 'C') THEN
5202: 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 );
5203: END IF;
5204: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP

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

5201: IF PG_DEBUG in ('Y', 'C') THEN
5202: 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 );
5203: END IF;
5204: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5205: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5206: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5207: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5208: END LOOP;
5209: END IF;

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

5202: 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 );
5203: END IF;
5204: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5205: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5206: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5207: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5208: END LOOP;
5209: END IF;
5210: IF PG_DEBUG in ('Y', 'C') THEN

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

5203: END IF;
5204: FOR i in 1..l_delete_atp_rec.del_atp_peg_res_reqs.count LOOP
5205: MSC_ATP_PVT.G_OFF_INSTANCE_ID(l_count + i) := l_delete_atp_rec.off_res_instance_id(i);
5206: MSC_ATP_PVT.G_OFF_DEM_TRANS_ID(l_count + i) := l_delete_atp_rec.del_atp_peg_res_reqs(i);
5207: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5208: END LOOP;
5209: END IF;
5210: IF PG_DEBUG in ('Y', 'C') THEN
5211: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );

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

5207: MSC_ATP_PVT.G_OFF_PLAN_ID(l_count + i) := l_delete_atp_rec.atp_peg_res_reqs_plan_ids(i);
5208: END LOOP;
5209: END IF;
5210: IF PG_DEBUG in ('Y', 'C') THEN
5211: msc_sch_wb.atp_debug('Schedule: G_OFF_DEM_TRANS_ID.count ' || MSC_ATP_PVT.G_OFF_DEM_TRANS_ID.count );
5212: END IF;
5213: --3720018
5214:
5215: --Changes for Bug 3629191: Population of Offset data in Global record ends.

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

5277: -- Resetting global variables for additional issue encountered while bug 3295831
5278: IF PG_DEBUG in ('Y', 'C') THEN
5279: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5280: END IF;
5281: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5282: -- ATP4drp re-set using original profile value
5283: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5284: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5285: -- End ATP4drp

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

5279: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5280: END IF;
5281: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5282: -- ATP4drp re-set using original profile value
5283: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5284: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5285: -- End ATP4drp
5286: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5287:

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

5280: END IF;
5281: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5282: -- ATP4drp re-set using original profile value
5283: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5284: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5285: -- End ATP4drp
5286: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5287:
5288: -- Modified by NGOEL 12/13/00, replaced x_return_status with l_return_status

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

5282: -- ATP4drp re-set using original profile value
5283: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5284: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5285: -- End ATP4drp
5286: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5287:
5288: -- Modified by NGOEL 12/13/00, replaced x_return_status with l_return_status
5289: -- Earlier error status was getting overwritten with the error status of the proc.
5290:

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

5316: msc_sch_wb.atp_debug('Schedule: NO_DATA_FOUND: Stmt = '||l_stmt);
5317: END IF;
5318: -- 1072816 need to do something to undo
5319:
5320: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
5321: IF PG_DEBUG in ('Y', 'C') THEN
5322: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5323: END IF;
5324: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,

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

5320: FOR i in 1..MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT LOOP
5321: IF PG_DEBUG in ('Y', 'C') THEN
5322: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5323: END IF;
5324: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,
5325: l_plan_id, UNDO, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),l_return_status);
5326: END LOOP;
5327:
5328: -- 2902265

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

5321: IF PG_DEBUG in ('Y', 'C') THEN
5322: msc_sch_wb.atp_debug('Schedule: ' || 'in the loop, i:='||i);
5323: END IF;
5324: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(MSC_ATP_PVT.G_PEGGING_FOR_SET(i), p_instance_id,
5325: l_plan_id, UNDO, MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG(i),l_return_status);
5326: END LOOP;
5327:
5328: -- 2902265
5329: MSC_ATP_PROC.cleanup_set(p_instance_id,

Line 5334: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;

5330: l_plan_id,
5331: l_fst_src_pegging_ids,
5332: l_demand_class_atp_flag);
5333:
5334: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5335: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5336: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5337: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5338: IF PG_DEBUG in ('Y', 'C') THEN

Line 5335: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;

5331: l_fst_src_pegging_ids,
5332: l_demand_class_atp_flag);
5333:
5334: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5335: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5336: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5337: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5338: IF PG_DEBUG in ('Y', 'C') THEN
5339: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');

Line 5336: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;

5332: l_demand_class_atp_flag);
5333:
5334: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5335: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5336: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5337: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5338: IF PG_DEBUG in ('Y', 'C') THEN
5339: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');
5340: msc_sch_wb.atp_debug('Schedule: ' || 'after the fix to remove the data');

Line 5337: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;

5333:
5334: MSC_ATP_PVT.G_PEGGING_FOR_SET.DELETE;
5335: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.DELETE;
5336: MSC_ATP_PVT.G_REQ_ATP_DATE.DELETE;
5337: MSC_ATP_PVT.G_REQ_DATE_QTY.DELETE;
5338: IF PG_DEBUG in ('Y', 'C') THEN
5339: msc_sch_wb.atp_debug('Schedule: ' || 'Do I come here 13');
5340: msc_sch_wb.atp_debug('Schedule: ' || 'after the fix to remove the data');
5341: END IF;

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

5342:
5343: -- Bug 1661545, if scheduling was unsuccessful, make sure that old demand record is
5344: -- preserved back, as it was updated to 0 in the begining in case of reschedule.
5345:
5346: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5347: x_atp_table.Action(1) = DEMANDADD OR
5348: x_atp_table.Action(1) = DMDRSVADD) THEN
5349:
5350: IF PG_DEBUG in ('Y', 'C') THEN

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

5396: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
5397: END IF;
5398:
5399: /* --s_cto_rearch
5400: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5401: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
5402: x_atp_table,
5403: MSC_ATP_CTO.FAIL);
5404: END IF;

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

5414: -- Resetting global variables for additional issue encountered while bug 3295831
5415: IF PG_DEBUG in ('Y', 'C') THEN
5416: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5417: END IF;
5418: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5419: -- ATP4drp re-set using original profile value
5420: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5421: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5422: -- End ATP4drp

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

5416: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5417: END IF;
5418: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5419: -- ATP4drp re-set using original profile value
5420: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5421: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5422: -- End ATP4drp
5423: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5424:

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

5417: END IF;
5418: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5419: -- ATP4drp re-set using original profile value
5420: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5421: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5422: -- End ATP4drp
5423: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5424:
5425: -- 2625800: krajan

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

5419: -- ATP4drp re-set using original profile value
5420: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5421: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5422: -- End ATP4drp
5423: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5424:
5425: -- 2625800: krajan
5426: ---agilent arrival set bug
5427: IF l_arrival_count > 1 THEN

Line 5463: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

5459: --END IF;
5460: -- Remove invalid SD recs.
5461: BEGIN
5462: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
5463: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
5464: AND order_line_id = x_atp_table.identifier(i)
5465: AND parent_pegging_id is NULL
5466: AND record_type in (3,4);
5467: EXCEPTION

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

5483: -- Error Handling Changes End.
5484:
5485: -- INSERT HERE
5486: -- Error Handling changes - handling for rescheduling case
5487: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5488: x_atp_table.Action(1) = DEMANDADD OR
5489: x_atp_table.Action(1) = DMDRSVADD) THEN
5490:
5491: IF PG_DEBUG in ('Y', 'C') THEN

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

5536: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
5537: END IF;
5538:
5539: /* --s_cto_rearch
5540: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5541: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
5542: x_atp_table,
5543: MSC_ATP_CTO.FAIL);
5544: END IF;

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

5561: -- Resetting global variables for additional issue encountered while bug 3295831
5562: IF PG_DEBUG in ('Y', 'C') THEN
5563: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5564: END IF;
5565: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5566: -- ATP4drp re-set using original profile value
5567: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5568: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5569: -- End ATP4drp

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

5563: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5564: END IF;
5565: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5566: -- ATP4drp re-set using original profile value
5567: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5568: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5569: -- End ATP4drp
5570: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5571:

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

5564: END IF;
5565: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5566: -- ATP4drp re-set using original profile value
5567: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5568: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5569: -- End ATP4drp
5570: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5571:
5572: -- 2625800: krajan

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

5566: -- ATP4drp re-set using original profile value
5567: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5568: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5569: -- End ATP4drp
5570: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5571:
5572: -- 2625800: krajan
5573: ---agilent arrival set bug
5574: IF l_arrival_count > 1 THEN

Line 5607: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

5603: x_atp_table.Error_Code(i) := ATP_INVALID_OBJECTS; -- NO OBJECTS FOUND
5604: END IF;
5605: BEGIN
5606: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
5607: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
5608: AND order_line_id = x_atp_table.identifier(i)
5609: AND parent_pegging_id is NULL
5610: AND record_type in (3,4);
5611: EXCEPTION

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

5632: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
5633: END IF;
5634:
5635: -- Error Handling changes - handling for rescheduling case
5636: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5637: x_atp_table.Action(1) = DEMANDADD OR
5638: x_atp_table.Action(1) = DMDRSVADD) THEN
5639:
5640: IF PG_DEBUG in ('Y', 'C') THEN

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

5685: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
5686: END IF;
5687:
5688: /*--s_cto_rearch
5689: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5690: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
5691: x_atp_table,
5692: MSC_ATP_CTO.FAIL);
5693: END IF;

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

5709: -- Resetting global variables for additional issue encountered while bug 3295831
5710: IF PG_DEBUG in ('Y', 'C') THEN
5711: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5712: END IF;
5713: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5714: -- ATP4drp re-set using original profile value
5715: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5716: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5717: -- End ATP4drp

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

5711: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5712: END IF;
5713: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5714: -- ATP4drp re-set using original profile value
5715: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5716: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5717: -- End ATP4drp
5718: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5719:

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

5712: END IF;
5713: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5714: -- ATP4drp re-set using original profile value
5715: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5716: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5717: -- End ATP4drp
5718: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5719:
5720: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN

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

5714: -- ATP4drp re-set using original profile value
5715: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5716: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5717: -- End ATP4drp
5718: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5719:
5720: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5721: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
5722: END IF;

Line 5761: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

5757: x_atp_table.Error_Code(i) := NO_MATCHING_CAL_DATE;
5758: END IF;
5759: BEGIN
5760: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
5761: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
5762: AND order_line_id = x_atp_table.identifier(i)
5763: AND parent_pegging_id is NULL
5764: AND record_type in (3,4);
5765: EXCEPTION

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

5784: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5785: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
5786: END IF;
5787: -- Error Handling Changes End.
5788: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5789: x_atp_table.Action(1) = DEMANDADD OR
5790: x_atp_table.Action(1) = DMDRSVADD) THEN
5791:
5792: IF PG_DEBUG in ('Y', 'C') THEN

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

5837: msc_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
5838: END IF;
5839:
5840: /* --s_cto_rearch
5841: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
5842: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
5843: x_atp_table,
5844: MSC_ATP_CTO.FAIL);
5845: END IF;

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

5857: -- Resetting global variables for additional issue encountered while bug 3295831
5858: IF PG_DEBUG in ('Y', 'C') THEN
5859: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5860: END IF;
5861: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5862: -- ATP4drp re-set using original profile value
5863: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5864: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5865: -- End ATP4drp

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

5859: msc_sch_wb.atp_debug('Schedule: ' || 'Resetting G_INV_CTP and G_ALLOCATED_ATP' );
5860: END IF;
5861: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5862: -- ATP4drp re-set using original profile value
5863: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5864: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5865: -- End ATP4drp
5866: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5867:

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

5860: END IF;
5861: MSC_ATP_PVT.G_INV_CTP := NVL(l_inv_ctp, MSC_ATP_PVT.G_INV_CTP);
5862: -- ATP4drp re-set using original profile value
5863: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5864: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5865: -- End ATP4drp
5866: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5867:
5868: /* Check if this is actually coming from a calendar routine*/

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

5862: -- ATP4drp re-set using original profile value
5863: --MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_allocated_atp, MSC_ATP_PVT.G_ALLOCATED_ATP);
5864: MSC_ATP_PVT.G_ALLOCATED_ATP := MSC_ATP_PVT.G_ORIG_ALLOC_ATP;
5865: -- End ATP4drp
5866: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_allocation_method, MSC_ATP_PVT.G_ALLOCATION_METHOD);
5867:
5868: /* Check if this is actually coming from a calendar routine*/
5869: l_encoded_text := fnd_message.GET_ENCODED;
5870: IF l_encoded_text IS NULL THEN

Line 5933: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

5929: x_atp_table.Error_Code(i) := l_error_code;
5930: END IF;
5931: BEGIN
5932: SELECT pegging_id INTO l_tmp_pegging_id FROM mrp_atp_details_temp
5933: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
5934: AND order_line_id = x_atp_table.identifier(i)
5935: AND parent_pegging_id is NULL
5936: AND record_type in (3,4);
5937: EXCEPTION

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

5956: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5957: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'Schedule');
5958: END IF;
5959: -- Error Handling Changes End.
5960: IF /*(MSC_ATP_PVT.G_INV_CTP = 4) AND */ (x_atp_table.Action(1) = DEMANDMODIFY OR --3720018, commented for support of rescheduling in ODS
5961: x_atp_table.Action(1) = DEMANDADD OR
5962: x_atp_table.Action(1) = DMDRSVADD) THEN
5963:
5964: IF PG_DEBUG in ('Y', 'C') THEN

Line 6013: 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_sch_wb.atp_debug('Schedule: ' || 'after resetting the demands when scheduling failed');
6010: END IF;
6011:
6012: /* --s_cto_rearch
6013: IF MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET =1 and NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' THEN
6014: MSC_ATP_CTO.Maintain_OS_Sourcing(p_instance_id,
6015: x_atp_table,
6016: MSC_ATP_CTO.FAIL);
6017: END IF;

Line 6139: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted

6135: l_atp_ship_date DATE;
6136: l_parent_ptf_date DATE;
6137: l_ptf_date_for_child DATE; -- Bug 3782472
6138: l_req_date_qty NUMBER;
6139: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted
6140: l_substitution_window NUMBER;
6141: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6142: -- Only specific to this procedure
6143: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info

Line 6143: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info

6139: l_item_attribute_rec MSC_ATP_PVT.item_attribute_rec; -- Obsoleted
6140: l_substitution_window NUMBER;
6141: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6142: -- Only specific to this procedure
6143: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6144: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6145: -- Added for bug 2392456
6146: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6147:

Line 6144: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.

6140: l_substitution_window NUMBER;
6141: l_atp_pegging_tab MRP_ATP_PUB.Number_Arr := MRP_ATP_PUB.Number_Arr();
6142: -- Only specific to this procedure
6143: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6144: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6145: -- Added for bug 2392456
6146: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6147:
6148: --diag_atp

Line 6146: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;

6142: -- Only specific to this procedure
6143: PF_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Only for PF info
6144: C_ITEM_INFO_REC MSC_ATP_PVT.item_attribute_rec; -- Copy of the global.
6145: -- Added for bug 2392456
6146: l_plan_info_rec MSC_ATP_PVT.plan_info_rec;
6147:
6148: --diag_atp
6149: L_CONSTRAINT_FLAG NUMBER;
6150: L_PTF_DUE_DATE DATE;

Line 6164: l_update_PO_mode NUMBER := MSC_ATP_PVT.UNDO;

6160: L_GET_MAT_IN_REC MSC_ATP_REQ.get_mat_in_rec;
6161: l_get_mat_out_rec MSC_ATP_REQ.get_mat_out_rec;
6162: l_allocation_rule_name varchar2(30);
6163:
6164: l_update_PO_mode NUMBER := MSC_ATP_PVT.UNDO;
6165: l_atp_quantity_this_level_fwd NUMBER;
6166: l_last_good_pegging_id NUMBER;
6167: l_have_make_buy_parent NUMBER := G_HAVE_MAKE_BUY_PARENT;
6168: l_subst_existing_PO_qty NUMBER;

Line 6214: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;

6210: --s_cto_rearch
6211: l_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6212: l_null_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6213: l_get_comp_info_rec MSC_ATP_REQ.get_comp_info_rec;
6214: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;
6215: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
6216: l_atp_rule_name varchar2(80);
6217: l_enforce_model_lt VARCHAR2(1);
6218:

Line 6215: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

6211: l_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6212: l_null_item_sourcing_info_rec MSC_ATP_CTO.Item_Sourcing_Info_Rec;
6213: l_get_comp_info_rec MSC_ATP_REQ.get_comp_info_rec;
6214: --l_get_sup_info_rec MSC_ATP_PVT.Supplier_Info_rec;
6215: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
6216: l_atp_rule_name varchar2(80);
6217: l_enforce_model_lt VARCHAR2(1);
6218:
6219: -- time_phased_atp

Line 6328: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

6324: msc_sch_wb.atp_debug('ATP_Check: ' || 'supplier_site_id:' || to_char(p_atp_record.supplier_site_id) );
6325: msc_sch_wb.atp_debug('ATP_Check: ' || 'Insert_Flag:' || to_char(p_atp_record.Insert_Flag) );
6326: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error_Code:' || to_char(p_atp_record.Error_Code) );
6327: msc_sch_wb.atp_debug('ATP_Check: ' || 'Order_Number:' || to_char(p_atp_record.Order_Number) );
6328: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
6329: msc_sch_wb.atp_debug('ATP_Check: ' || 'original_item_flag := ' || p_atp_record.original_item_flag);
6330: -- 2462661 : krajan
6331: msc_sch_wb.atp_debug('ATP_Check: ' || 'SRC_ATP_FLAG := ' || p_atp_record.src_atp_flag);
6332: msc_sch_wb.atp_debug('ATP_Check: ' || 'Line Id := ' || p_atp_record.demand_source_line);

Line 6354: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

6350: msc_sch_wb.atp_debug('ATP_Check: ' || 'intransit_cal_code := ' || p_atp_record.intransit_cal_code);
6351: msc_sch_wb.atp_debug('ATP_Check: ' || 'shipping_cal_code := ' || p_atp_record.shipping_cal_code);
6352: msc_sch_wb.atp_debug('ATP_Check: ' || 'manufacturing_cal_code := ' || p_atp_record.manufacturing_cal_code);
6353: msc_sch_wb.atp_debug('ATP_Check: ' || 'demand_source_type := ' || p_atp_record.demand_source_type);--cmro
6354: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
6355: msc_sch_wb.atp_debug('ATP_Check: ' || 'bill_seq_id := ' || p_atp_record.bill_seq_id); --4741012
6356: msc_sch_wb.atp_debug('ATP_Check: ' || 'after printing the values');
6357: END IF;
6358:

Line 6386: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'N';

6382: msc_sch_wb.atp_debug('ATP_Check: Sys Next Date is: ' || l_sys_next_date);
6383: END IF;
6384: /* To support new logic for dependent demands allocation in time phased PF rule based AATP scenarios
6385: Reset global variable*/
6386: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'N';
6387:
6388: IF (NVL(p_atp_record.supplier_id, -1) = -1) THEN
6389: -- doing atp check in an inventory org
6390:

Line 6397: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;

6393: END IF;
6394:
6395: -- krajan : 2462661 : post fix
6396: -- set the global variable to null
6397: MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID := null;
6398:
6399: /* time_phased_atp changes begin
6400: In PDS Case, find if this is time phased atp scenario*/
6401: l_request_item_id := nvl(p_atp_record.request_item_id, p_atp_record.inventory_item_id); --do I really need this??

Line 6412: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';

6408: l_pf_atp := 'N';
6409:
6410: /* To support new logic for dependent demands allocation in time phased PF rule based AATP scenarios
6411: Set global variable too. This is used in Get_Item_Demand_Alloc_Percent function*/
6412: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';
6413:
6414: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
6415: -- If dealing with Time Phased ATP Item set the global for CTO_PF
6416: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';

Line 6416: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';

6412: MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED := 'Y';
6413:
6414: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
6415: -- If dealing with Time Phased ATP Item set the global for CTO_PF
6416: MSC_ATP_PVT.G_CTO_PF_ATP := 'Y';
6417:
6418: IF PG_DEBUG in ('Y', 'C') THEN
6419: msc_sch_wb.atp_debug('ATP_Check: ' || '*** Perform Time Phased ATP for this item *** ');
6420: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATF Date := ' || p_atp_record.atf_date);

Line 6422: MSC_ATP_PVT.G_CTO_PF_ATP);

6418: IF PG_DEBUG in ('Y', 'C') THEN
6419: msc_sch_wb.atp_debug('ATP_Check: ' || '*** Perform Time Phased ATP for this item *** ');
6420: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATF Date := ' || p_atp_record.atf_date);
6421: msc_sch_wb.atp_debug('ATP_Check: Re-set G_CTO_PF_ATP to ' ||
6422: MSC_ATP_PVT.G_CTO_PF_ATP);
6423: END IF;
6424: -- CTO_PF_PRJ changes for CTO PF Cross Project Impacts
6425: ELSE
6426: l_pf_atp := 'Y';

Line 6437: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_TIME_PHASED_PF_ENABLED := ' || MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED);

6433: END IF;
6434: END IF;
6435:
6436: IF PG_DEBUG in ('Y', 'C') THEN
6437: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_TIME_PHASED_PF_ENABLED := ' || MSC_ATP_PVT.G_TIME_PHASED_PF_ENABLED);
6438: END IF;
6439:
6440: /* Now we store member item's info in G_ITEM_INFO_REC (C_ITEM_INFO_REC)
6441: PF_ITEM_INFO_REC is used to store family item's info*/

Line 6455: MSC_ATP_PVT.G_ITEM_INFO_REC.organization_id := null;

6451: -- we should recheck model's attribute so that model flags are set correctly.
6452: IF PG_DEBUG in ('Y', 'C') THEN
6453: msc_sch_wb.atp_debug('This models atp flag = Y. We are coming here for second time');
6454: END IF;
6455: MSC_ATP_PVT.G_ITEM_INFO_REC.organization_id := null;
6456: END IF;
6457: --e_cto_rearch
6458: MSC_ATP_PROC.get_global_item_info(p_atp_record.instance_id,
6459: --3917625: read item attributes from planned data

Line 6494: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and NVL(p_atp_record.original_item_flag, 2) = 1 and

6490: END IF;
6491: /* time_phased_atp changes end */
6492:
6493: --subst
6494: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and NVL(p_atp_record.original_item_flag, 2) = 1 and
6495: MSC_ATP_SUBST.G_REQ_ITEM_SR_INV_ID <> p_atp_record.inventory_item_id THEN
6496: -- if it a subst item then we consider subst window
6497: l_substitution_window := C_ITEM_INFO_REC.substitution_window;
6498: ELSE

Line 6536: if (MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID is not NULL) AND

6532: -- If we defer, then error out
6533: IF PG_DEBUG in ('Y', 'C') THEN
6534: msc_sch_wb.atp_debug ('Checking for uncollected item ' );
6535: end if;
6536: if (MSC_ATP_PVT.G_SR_INVENTORY_ITEM_ID is not NULL) AND
6537: (NVL(p_atp_record.src_atp_flag,'N') <> 'N') then
6538: IF PG_DEBUG in ('Y', 'C') THEN
6539: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Not Collected as flags differ');
6540: END IF;

Line 6543: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

6539: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Not Collected as flags differ');
6540: END IF;
6541: p_atp_record.error_code := ATP_ITEM_NOT_COLLECTED;
6542:
6543: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
6544: end if;
6545: -- end changes for 2462661
6546: /************ Bug 1510853 ATP Rule Check ************/
6547: -- Initialize the rule flag

Line 6579: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN

6575: -- based on region of customer site.
6576:
6577: --2814895, populating variables for the call to atp_sources
6578:
6579: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN
6580: l_partner_type := 2;
6581: l_party_site_id := NULL;
6582: l_order_line_id := NULL;
6583: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;

Line 6583: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;

6579: IF MSC_ATP_PVT.G_SR_PARTNER_SITE_ID IS NOT NULL THEN
6580: l_partner_type := 2;
6581: l_party_site_id := NULL;
6582: l_order_line_id := NULL;
6583: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;
6584: l_location_id := p_atp_record.to_location_id;
6585: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
6586: l_site_id := NULL;
6587: l_partner_type := 4;

Line 6585: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN

6581: l_party_site_id := NULL;
6582: l_order_line_id := NULL;
6583: l_site_id := MSC_ATP_PVT.G_SR_PARTNER_SITE_ID;
6584: l_location_id := p_atp_record.to_location_id;
6585: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
6586: l_site_id := NULL;
6587: l_partner_type := 4;
6588: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
6589: l_order_line_id := NULL;

Line 6588: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;

6584: l_location_id := p_atp_record.to_location_id;
6585: ELSIF MSC_ATP_PVT.G_SR_PARTY_SITE_ID IS NOT NULL THEN
6586: l_site_id := NULL;
6587: l_partner_type := 4;
6588: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
6589: l_order_line_id := NULL;
6590: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
6591: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
6592: l_partner_type := 5;

Line 6590: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;

6586: l_site_id := NULL;
6587: l_partner_type := 4;
6588: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
6589: l_order_line_id := NULL;
6590: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
6591: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
6592: l_partner_type := 5;
6593: l_party_site_id := NULL;
6594: l_order_line_id := p_atp_record.identifier;

Line 6591: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN

6587: l_partner_type := 4;
6588: l_party_site_id := MSC_ATP_PVT.G_SR_PARTY_SITE_ID;
6589: l_order_line_id := NULL;
6590: l_location_id := NULL; --MSC_ATP_PVT.G_SR_LOCATION_ID;
6591: ELSIF MSC_ATP_PVT.G_SR_CUSTOMER_COUNTRY IS NOT NULL THEN
6592: l_partner_type := 5;
6593: l_party_site_id := NULL;
6594: l_order_line_id := p_atp_record.identifier;
6595: l_site_id := NULL;

Line 6621: MSC_ATP_PVT.G_SESSION_ID,

6617: NULL, -- customer_id
6618: NULL, -- customer_site_id
6619: NULL, -- supplier_id
6620: NULL, -- supplier_site_id
6621: MSC_ATP_PVT.G_SESSION_ID,
6622: l_site_id,
6623: l_ship_method,
6624: l_delivery_lead_time,
6625: l_partner_type, --2814895

Line 6681: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

6677: IF PG_DEBUG in ('Y', 'C') THEN
6678: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_original_req_ship_date: '||l_original_req_ship_date);
6679: END IF;
6680:
6681: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
6682: --- postprocess summary
6683: --- The following array stores 1 if we are doing Demand Class ATP for item-org
6684: --- We are doing this way because if we need to reomve or update the demand then
6685: --- we know that we need to do demand class based update or removal of the demand in

Line 6688: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN

6684: --- We are doing this way because if we need to reomve or update the demand then
6685: --- we know that we need to do demand class based update or removal of the demand in
6686: ---- case of ODS
6687: IF ((p_search = 1) and (p_parent_pegging_id is null)) THEN
6688: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
6689: --- THIS IS OSD case, backward case, and top demand
6690: IF PG_DEBUG in ('Y', 'C') THEN
6691: msc_sch_wb.atp_debug('ATP_Check: ' || 'Find out ATP_DEMAND_class flag for that item ');
6692: END IF;

Line 6723: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;

6719: ---pds cae
6720: l_demand_class_flag := 0;
6721: END IF;
6722: --- now extend the array which holds the demand_class atp_flag and add l_demand_class_flag to it
6723: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
6724: IF PG_DEBUG in ('Y', 'C') THEN
6725: 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);
6726: END IF;
6727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;

Line 6725: 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);

6721: END IF;
6722: --- now extend the array which holds the demand_class atp_flag and add l_demand_class_flag to it
6723: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
6724: IF PG_DEBUG in ('Y', 'C') THEN
6725: 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);
6726: END IF;
6727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;
6728: END IF;
6729:

Line 6727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;

6723: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.EXTEND;
6724: IF PG_DEBUG in ('Y', 'C') THEN
6725: 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);
6726: END IF;
6727: MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG( MSC_ATP_PVT.G_DEMAND_CLASS_ATP_FLAG.count) := l_demand_class_flag;
6728: END IF;
6729:
6730: -- 1143475:
6731: -- IF atp lead time > 0 then we must do the offset no matter that item

Line 6813: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

6809:
6810: IF p_parent_pegging_id is null THEN
6811: IF PG_DEBUG in ('Y', 'C') THEN
6812: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
6813: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6814: END IF;
6815:
6816: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6817: IF PG_DEBUG in ('Y', 'C') THEN

Line 6816: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

6812: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
6813: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6814: END IF;
6815:
6816: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6817: IF PG_DEBUG in ('Y', 'C') THEN
6818: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6819: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6820: END IF;

Line 6818: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

6814: END IF;
6815:
6816: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6817: IF PG_DEBUG in ('Y', 'C') THEN
6818: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6819: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6820: END IF;
6821:
6822: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

Line 6822: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

6818: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6819: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6820: END IF;
6821:
6822: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6823:
6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6826:

Line 6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

6820: END IF;
6821:
6822: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6823:
6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6826:
6827: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6828: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

Line 6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

6821:
6822: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6823:
6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6826:
6827: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6828: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6829:

Line 6827: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;

6823:
6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6826:
6827: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6828: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6829:
6830: END IF;
6831:

Line 6828: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

6824: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6825: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6826:
6827: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6828: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6829:
6830: END IF;
6831:
6832: -- Bugs 2020607, 2104018, 2031894, 1869748

Line 6849: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

6845: -- Bug 2625791, 2623816: If it is a transfer case then We should take
6846: -- into consideration PTF date passed to us from the top organization.
6847: -- We should satisfy the damand as per the PTF date from the top org.
6848: IF PG_DEBUG in ('Y', 'C') THEN
6849: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
6850: END IF;
6851:
6852: --s_cto_rearch: bug 3169831 : Honor lead time only when profile option is turned on
6853: l_enforce_model_lt := NVL(FND_PROFILE.VALUE('MSC_ENFORCE_MODEL_LT'), 'Y');

Line 6859: IF MSC_ATP_PVT.G_INV_CTP = 5 and C_ITEM_INFO_REC.bom_item_type = 1

6855: IF PG_DEBUG in ('Y', 'C') THEN
6856: msc_sch_wb.atp_debug('l_enforce_model_lt := ' || l_enforce_model_lt);
6857: END IF;
6858:
6859: IF MSC_ATP_PVT.G_INV_CTP = 5 and C_ITEM_INFO_REC.bom_item_type = 1
6860: and C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y'
6861: and l_enforce_model_lt = ' Y' THEN
6862:
6863: -- in ODS ATP we want to honor lead times for ATO models

Line 6864: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

6860: and C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y'
6861: and l_enforce_model_lt = ' Y' THEN
6862:
6863: -- in ODS ATP we want to honor lead times for ATO models
6864: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
6865: l_net_processing_lt := (l_fixed_lt + l_variable_lt * p_atp_record.quantity_ordered)*
6866: (1 + l_mso_lead_time_factor);
6867: l_ato_date := MSC_CALENDAR.DATE_OFFSET
6868: (p_atp_record.organization_id,

Line 6883: p_atp_record.ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_ato_date);

6879: IF PG_DEBUG in ('Y', 'C') THEN
6880: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date < l_sysdate');
6881: END IF;
6882: p_atp_record.requested_date_quantity := 0.0;
6883: p_atp_record.ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_ato_date);
6884: ELSE
6885: IF PG_DEBUG in ('Y', 'C') THEN
6886: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date >= l_sysdate');
6887: END IF;

Line 6890: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

6886: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date >= l_sysdate');
6887: END IF;
6888: p_atp_record.requested_date_quantity :=
6889: p_atp_record.quantity_ordered;
6890: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
6891: END IF;
6892: */
6893:
6894: -- Bugs 2020607, 2104018, 2031894, 1869748

Line 6908: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE); --5160663

6904: p_atp_record.quantity_ordered;
6905:
6906: -- cchen 1276131 make sure we offset if atp_lead time exists
6907: --p_atp_record.ship_date := l_requested_ship_date;
6908: p_atp_record.ship_date := GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE); --5160663
6909: /* s_cto_arch: do not honor atp lead time
6910: IF NVL(p_atp_record.atp_lead_time, 0) > 0 THEN
6911: p_atp_record.ship_date := MSC_CALENDAR.DATE_OFFSET
6912: (p_atp_record.organization_id,

Line 6964: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

6960: -- l_fst_src_pegging_ids would have same number of records.
6961:
6962: IF p_parent_pegging_id is null THEN
6963:
6964: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6965: IF PG_DEBUG in ('Y', 'C') THEN
6966: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
6967: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

Line 6967: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

6963:
6964: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6965: IF PG_DEBUG in ('Y', 'C') THEN
6966: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
6967: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6969: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6970: END IF;
6971:

Line 6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

6964: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
6965: IF PG_DEBUG in ('Y', 'C') THEN
6966: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
6967: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6969: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6970: END IF;
6971:
6972: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

Line 6972: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;

6968: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
6969: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting null pegging id for Non-ATPable items');
6970: END IF;
6971:
6972: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6973:
6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6976:

Line 6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

6970: END IF;
6971:
6972: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6973:
6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6976:
6977: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6978: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

Line 6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

6971:
6972: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := null;
6973:
6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6976:
6977: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6978: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6979:

Line 6977: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;

6973:
6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6976:
6977: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6978: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6979:
6980: END IF;
6981:

Line 6978: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;

6974: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
6975: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
6976:
6977: MSC_ATP_PVT.G_REQ_ATP_DATE(MSC_ATP_PVT.G_REQ_ATP_DATE.count) := l_requested_ship_date;
6978: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.count) := p_atp_record.quantity_ordered;
6979:
6980: END IF;
6981:
6982: -- cchen 1276131 make sure we offset if atp_lead time exists

Line 6990: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE),

6986: (p_atp_record.organization_id,
6987: p_atp_record.instance_id,
6988: 1,
6989: -- Bug 2625791, 2623816
6990: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE),
6991: p_atp_record.atp_lead_time);
6992: ELSE
6993: p_atp_record.ship_date := l_requested_ship_date;
6994: END IF;

Line 7051: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7047: ELSE
7048: l_atp_insert_rec.old_demand_id := null;
7049: END IF;
7050:
7051: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7052: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7053:
7054: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
7055: p_plan_id,

Line 7078: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN

7074: -- atp_date_quantity_this_level
7075:
7076: -- hierarchy changes due to arrival set
7077:
7078: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
7079: IF PG_DEBUG in ('Y', 'C') THEN
7080: msc_sch_wb.atp_debug('ATP_Check: ' || 'customer class or demand class : same calls');
7081: END IF;
7082:

Line 7112: IF MSC_ATP_PVT.G_MEM_RULE_WITHIN_ATF = 'Y' THEN

7108: RAISE FND_API.G_EXC_ERROR;
7109: END IF;
7110:
7111: IF l_requested_ship_date <= p_atp_record.atf_date THEN
7112: IF MSC_ATP_PVT.G_MEM_RULE_WITHIN_ATF = 'Y' THEN
7113: l_item_to_use := l_inv_item_id;
7114: ELSE
7115: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7116: END IF;

Line 7118: IF MSC_ATP_PVT.G_PF_RULE_OUTSIDE_ATF = 'Y' THEN

7114: ELSE
7115: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7116: END IF;
7117: ELSE
7118: IF MSC_ATP_PVT.G_PF_RULE_OUTSIDE_ATF = 'Y' THEN
7119: l_item_to_use := PF_ITEM_INFO_REC.dest_inv_item_id;
7120: ELSE
7121: l_item_to_use := l_inv_item_id;
7122: END IF;

Line 7135: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

7131: /* New allocation logic for time_phased_atp changes end */
7132:
7133: p_atp_record.demand_class :=
7134:
7135: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
7136: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7137: l_item_to_use, -- For new allocation logic for time_phased_atp
7138: p_atp_record.organization_id,
7139: p_atp_record.instance_id,

Line 7136: MSC_ATP_PVT.G_PARTNER_SITE_ID,

7132:
7133: p_atp_record.demand_class :=
7134:
7135: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
7136: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7137: l_item_to_use, -- For new allocation logic for time_phased_atp
7138: p_atp_record.organization_id,
7139: p_atp_record.instance_id,
7140: l_requested_ship_date,

Line 7144: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

7140: l_requested_ship_date,
7141: NULL, -- level_id
7142: p_atp_record.Demand_Class);
7143: --diag_atp
7144: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
7145: IF PG_DEBUG in ('Y', 'C') THEN
7146: msc_sch_wb.atp_debug('ATP_Check: ' || 'after getting the dummy demand class');
7147: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.demand_class = '||p_atp_record.demand_class);
7148: END IF;

Line 7152: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and

7148: END IF;
7149:
7150: END IF;
7151: ---subst
7152: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and
7153: ((p_search = BACKWARD_SCHEDULING AND NVL(p_atp_record.original_item_flag, 2) = 1) OR
7154: (p_search = FORWARD_SCHEDULING AND p_atp_record.top_tier_org_flag = 1)) THEN
7155: --- in case of product substitution
7156: ---1) Backward case- we do not want to look for top item's availability as it is already been

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

7201: -- ATP4drp If we are dealing with a component
7202: -- then set the origination type to Constrained Kit Demand
7203: -- for DRP plans.
7204: IF (NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id) <> p_atp_record.inventory_item_id AND
7205: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
7206: l_atp_insert_rec.origination_type := 47;
7207: IF PG_DEBUG in ('Y', 'C') THEN
7208: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
7209: msc_sch_wb.atp_debug('ATP_Check: ' || 'DRP origination_type ='|| l_atp_insert_rec.origination_type);

Line 7253: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7249: ELSE
7250: l_atp_insert_rec.ship_method := null;
7251: END IF;
7252: END IF;
7253: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7254: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7255:
7256: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
7257: p_plan_id,

Line 7269: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7265:
7266: -- populate insert rec to pegging tree for this demand
7267: --bug 2422847: add demand pegging
7268:
7269: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7270: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
7271: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
7272: l_pegging_rec.atp_level:= p_level;
7273: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 7270: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

7266: -- populate insert rec to pegging tree for this demand
7267: --bug 2422847: add demand pegging
7268:
7269: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7270: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
7271: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
7272: l_pegging_rec.atp_level:= p_level;
7273: l_pegging_rec.organization_id:= p_atp_record.organization_id;
7274: l_pegging_rec.organization_code := l_org_code;

Line 7304: l_pegging_rec.supply_demand_date:= GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

7300: l_pegging_rec.supply_demand_quantity:=
7301: p_atp_record.quantity_ordered ;
7302: l_pegging_rec.supply_demand_type:= 1;
7303: -- Bug 2625791, 2623816: consider PTF date passed from the top org.
7304: l_pegging_rec.supply_demand_date:= GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
7305:
7306:
7307: -- dsting ATO 2465370
7308: -- IF NVL(p_atp_record.override_flag, 'N') = 'Y'

Line 7319: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;

7315: ELSE
7316: -- Bug 2748730. No need to move date to the end of as we will be doing that
7317: -- inside the procedure Add_Pegging
7318: -- l_pegging_rec.required_date:= TRUNC(
7319: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;
7320: --bug 3328421: required date always conatin the original req date
7321: l_pegging_rec.required_date:= l_requested_ship_date;
7322: l_pegging_rec.actual_supply_demand_date :=
7323: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

Line 7323: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

7319: -- GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE)) + MSC_ATP_PVT.G_END_OF_DAY;
7320: --bug 3328421: required date always conatin the original req date
7321: l_pegging_rec.required_date:= l_requested_ship_date;
7322: l_pegging_rec.actual_supply_demand_date :=
7323: GREATEST(l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
7324: END IF;
7325:
7326: -- for demo:1153192
7327: l_pegging_rec.constraint_flag := 'N';

Line 7329: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

7325:
7326: -- for demo:1153192
7327: l_pegging_rec.constraint_flag := 'N';
7328: l_pegging_rec.component_identifier :=
7329: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
7330:
7331: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
7332: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
7333: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 7331: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

7327: l_pegging_rec.constraint_flag := 'N';
7328: l_pegging_rec.component_identifier :=
7329: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
7330:
7331: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
7332: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
7333: --- cto looks at pegging tree to place their demands. Since CTO expects to find
7334: -- id for the requested item, we add the following column. CTO will now read from this column
7335: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 7429: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7425: ELSE
7426: l_atp_insert_rec.ship_method := null;
7427: END IF;
7428: END IF;
7429: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7430: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7431:
7432: l_demand_id := p_atp_record.subs_demand_id; --5088719
7433:

Line 7453: --MSC_ATP_PVT.G_DEMAND_PEGGING_ID := p_parent_pegging_id;

7449: /*l_org_code := MSC_ATP_FUNC.get_org_code(p_atp_record.instance_id,
7450: p_atp_record.organization_id);
7451: Modularize Item and Org Info */
7452: l_atp_date_this_level := null;
7453: --MSC_ATP_PVT.G_DEMAND_PEGGING_ID := p_parent_pegging_id;
7454: --5026618 Start 4902658 Fix 5216528
7455: l_substitutes_rec.inventory_item_id.EXTEND;
7456: l_substitutes_rec.pegging_id.EXTEND;
7457: l_substitutes_rec.sub_atp_qty.EXTEND;

Line 7495: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE from parent := ' || MSC_ATP_PVT.G_PTF_DATE);

7491: --- availabilty on greatest of (PTF of parent , req_date)
7492: --- Here PTF_date is ptf date for parent i.e if we came here from get_comp_req then
7493: --- it is PTF for parent item. If we came here for transfer then PTF will be that of last org
7494: IF PG_DEBUG in ('Y', 'C') THEN
7495: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE from parent := ' || MSC_ATP_PVT.G_PTF_DATE);
7496: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_request_date := ' || l_atp_request_date);
7497: END IF;
7498:
7499: --diag_atp

Line 7511: (MSC_ATP_PVT.G_INV_CTP = 4) AND

7507: -- Model's sourcing organization.
7508: --support forward scheduling for all level
7509: --(p_parent_pegging_id IS NULL) AND
7510: --- End Enhance CTO Phase 1 Req #17
7511: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7512: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7513: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7514: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
7515:

Line 7512: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

7508: --support forward scheduling for all level
7509: --(p_parent_pegging_id IS NULL) AND
7510: --- End Enhance CTO Phase 1 Req #17
7511: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7512: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7513: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7514: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
7515:
7516: /*

Line 7513: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

7509: --(p_parent_pegging_id IS NULL) AND
7510: --- End Enhance CTO Phase 1 Req #17
7511: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7512: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7513: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7514: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
7515:
7516: /*
7517: --- Enhance CTO Phase 1 Req #17

Line 7514: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN

7510: --- End Enhance CTO Phase 1 Req #17
7511: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7512: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7513: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7514: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) THEN
7515:
7516: /*
7517: --- Enhance CTO Phase 1 Req #17
7518: -- Support Forward Stealing for components of ATO model in

Line 7531: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

7527: l_parent_peg_forward := p_parent_pegging_id;
7528: IF PG_DEBUG in ('Y', 'C') THEN
7529: msc_sch_wb.atp_debug('ATP_Check: ' || 'Parent Pegging Id :' || l_parent_peg_forward);
7530: msc_sch_wb.atp_debug('ATP_Check: ' || 'Future Pegging Id :' || l_future_pegging_id);
7531: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
7532: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);
7533: END IF;
7534:
7535: l_get_mat_in_rec.parent_bom_item_type := p_atp_record.parent_bom_item_type;

Line 7532: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);

7528: IF PG_DEBUG in ('Y', 'C') THEN
7529: msc_sch_wb.atp_debug('ATP_Check: ' || 'Parent Pegging Id :' || l_parent_peg_forward);
7530: msc_sch_wb.atp_debug('ATP_Check: ' || 'Future Pegging Id :' || l_future_pegging_id);
7531: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id :' || MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
7532: msc_sch_wb.atp_debug('ATP_Check: ' || 'Global Future Pegging Id :' || MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG);
7533: END IF;
7534:
7535: l_get_mat_in_rec.parent_bom_item_type := p_atp_record.parent_bom_item_type;
7536: l_get_mat_in_rec.bom_item_type := C_ITEM_INFO_REC.bom_item_type;

Line 7587: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

7583: l_demand_id := l_get_mat_out_rec.demand_id;
7584:
7585: ELSE
7586:
7587: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
7588:
7589: END IF;
7590: p_atp_record.atf_date_quantity := NVL(l_atf_date_qty, 0);
7591:

Line 7599: ELSE -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1

7595: msc_sch_wb.atp_debug('ATP_Check: ' || '********** Result from Get_Forward_Material_Atp **********');
7596: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_used_available_quantity : '|| l_used_available_quantity); --bug3409973
7597: END IF;
7598:
7599: ELSE -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1
7600: -- time_phased_atp changes begin
7601: l_mat_atp_info_rec.instance_id := p_atp_record.instance_id;
7602: l_mat_atp_info_rec.plan_id := p_plan_id;
7603: l_mat_atp_info_rec.level := p_level + 1;

Line 7642: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN

7638: -- time_phased_atp changes end
7639: /* rajjain changes for re-review comments
7640: removed check for rule based AATP as this should be set
7641: for all scenarios
7642: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN
7643: l_used_available_quantity := l_mat_atp_info_rec.atp_date_quantity_this_level;
7644: END IF; --bug3409973*/
7645: l_used_available_quantity := l_mat_atp_info_rec.atp_date_quantity_this_level;
7646:

Line 7652: END IF; -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1

7648: IF PG_DEBUG in ('Y', 'C') THEN
7649: msc_sch_wb.atp_debug('ATP_Check: ' || '********** Result from Get_Material_Atp_Info **********');
7650: END IF;
7651:
7652: END IF; -- IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1
7653:
7654: -- Bug 3782472
7655: IF PG_DEBUG in ('Y', 'C') THEN
7656: msc_sch_wb.atp_debug('p_search '||p_search);

Line 7657: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_PTF_DATE '||MSC_ATP_PVT.G_PTF_DATE);

7653:
7654: -- Bug 3782472
7655: IF PG_DEBUG in ('Y', 'C') THEN
7656: msc_sch_wb.atp_debug('p_search '||p_search);
7657: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_PTF_DATE '||MSC_ATP_PVT.G_PTF_DATE);
7658: msc_sch_wb.atp_debug('l_ptf_date '||l_ptf_date);
7659: msc_sch_wb.atp_debug('l_requested_ship_date '||l_requested_ship_date);
7660: msc_sch_wb.atp_debug('l_net_demand '||l_net_demand);
7661: END IF;

Line 7664: MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date THEN

7660: msc_sch_wb.atp_debug('l_net_demand '||l_net_demand);
7661: END IF;
7662: IF p_search = FORWARD_SCHEDULING AND
7663: l_requested_date_quantity >= p_atp_record.quantity_ordered and
7664: MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date THEN
7665: l_net_demand := l_net_demand;
7666: l_atp_comp_flag := 'N';
7667: ELSE
7668:

Line 7762: (MSC_ATP_PVT.G_INV_CTP = 4) AND

7758: -- demand.
7759: --- Enhance CTO Phase 1 Req #16 and #17
7760:
7761: IF NOT((p_search = FORWARD_SCHEDULING) AND
7762: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7763: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7764: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7765: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
7766:

Line 7763: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

7759: --- Enhance CTO Phase 1 Req #16 and #17
7760:
7761: IF NOT((p_search = FORWARD_SCHEDULING) AND
7762: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7763: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7764: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7765: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
7766:
7767: /*---bug 3524230 ---

Line 7764: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

7760:
7761: IF NOT((p_search = FORWARD_SCHEDULING) AND
7762: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7763: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7764: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7765: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
7766:
7767: /*---bug 3524230 ---
7768: Demand in demand priority allocated ATP for items with

Line 7765: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'

7761: IF NOT((p_search = FORWARD_SCHEDULING) AND
7762: (MSC_ATP_PVT.G_INV_CTP = 4) AND
7763: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
7764: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
7765: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) and l_atp_flag = 'Y'
7766:
7767: /*---bug 3524230 ---
7768: Demand in demand priority allocated ATP for items with
7769: atp flag is 'Y' is added in get_forward_material_ATP info procedure.

Line 7839: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')

7835: --stealing will be supported at all levels
7836: -- AND ((p_parent_pegging_id IS NULL) OR -- Bug 2745728 Stealing for components.
7837: -- NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id )
7838: AND (p_search =1)
7839: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')
7840: --bug 3524230: When ATP flag for model is 'Y' then we do ATP on this model
7841: --- only when we are making it. Therefore, we need to add full quantity
7842: -- when not doing ATP check on the model
7843: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and

Line 7877: IF (p_parent_pegging_id is NULL) or MSC_ATP_PVT.G_INV_CTP = 5 THEN

7873: /* Enhance CTO Phase 1 Req #16 */
7874: -- Create Sales Orders instead of Plan Order Demands for
7875: -- CTO items and set the order line id for the item
7876: -- only for the appropriate organizations.
7877: IF (p_parent_pegging_id is NULL) or MSC_ATP_PVT.G_INV_CTP = 5 THEN
7878: --NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) THEN
7879:
7880: -- this is top level demand, which we should consider it
7881: -- as sales order demand.

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

7897: -- ATP4drp If we are dealing with a component
7898: -- then set the origination type to Constrained Kit Demand
7899: -- for DRP plans.
7900: IF (NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id) <> p_atp_record.inventory_item_id AND
7901: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
7902: l_atp_insert_rec.origination_type := 47;
7903: IF PG_DEBUG in ('Y', 'C') THEN
7904: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
7905: msc_sch_wb.atp_debug('ATP_Check: ' || 'DRP origination_type ='|| l_atp_insert_rec.origination_type);

Line 7960: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN

7956: END IF;
7957: IF (p_search = 1 OR
7958: (p_search= 2 AND p_parent_pegging_id is not null))
7959: --- IN ODS ATP, we do not want add demand for model only once.
7960: AND NOT (MSC_ATP_PVT.G_INV_CTP = 5 and p_atp_record.parent_item_id is not null) THEN
7961:
7962: --s_cto_rearch
7963: l_atp_insert_rec.Top_Model_line_id := p_atp_record.Top_Model_line_id;
7964: l_atp_insert_rec.ATO_Parent_Model_Line_Id := p_atp_record.ATO_Parent_Model_Line_Id;

Line 7991: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

7987: END IF;
7988: IF PG_DEBUG in ('Y', 'C') THEN
7989: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_insert_rec.ship_method : '|| l_atp_insert_rec.ship_method);
7990: END IF;
7991: l_atp_insert_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
7992: l_atp_insert_rec.delivery_lead_time := l_delivery_lead_time;
7993:
7994: ---bug 4267076: Do not create demand for planned outbound shipment
7995: IF NOT(p_parent_pegging_id is not null

Line 7998: AND NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN --5067205

7994: ---bug 4267076: Do not create demand for planned outbound shipment
7995: IF NOT(p_parent_pegging_id is not null
7996: AND NVL(p_atp_record.parent_item_id, p_atp_record.inventory_item_id)
7997: = p_atp_record.inventory_item_id
7998: AND NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN --5067205
7999:
8000: MSC_ATP_DB_UTILS.Add_Mat_Demand(l_atp_insert_rec,
8001: p_plan_id,
8002: l_demand_class_flag,

Line 8013: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8009: END IF;
8010:
8011: -- populate insert rec to pegging tree for this demand
8012:
8013: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8014: --s_cto_rearch: store actual line id for lower level components
8015: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8016: l_pegging_rec.order_line_id := p_atp_record.demand_source_line;
8017: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;

Line 8015: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8011: -- populate insert rec to pegging tree for this demand
8012:
8013: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8014: --s_cto_rearch: store actual line id for lower level components
8015: --l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8016: l_pegging_rec.order_line_id := p_atp_record.demand_source_line;
8017: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8018: l_pegging_rec.atp_level:= p_level;
8019: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 8062: -- l_pegging_rec.required_date := TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;

8058: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
8059: ELSE
8060: -- Bug 2748730. No need to move date to the end of as we will be doing that
8061: -- inside the procedure Add_Pegging
8062: -- l_pegging_rec.required_date := TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;
8063: l_pegging_rec.required_date := l_requested_ship_date ;
8064: --bug 3328421
8065: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
8066: END IF;

Line 8070: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 and MSC_ATP_PVT.G_CALENDAR_CONSTRAINT='Y'

8066: END IF;
8067:
8068: /* ship_rec_cal
8069: calendar constraint*/
8070: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 and MSC_ATP_PVT.G_CALENDAR_CONSTRAINT='Y'
8071: and p_parent_pegging_id is NULL THEN
8072: l_pegging_rec.constraint_type :=7;
8073: END IF;
8074:

Line 8078: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

8074:
8075: -- for demo:1153192
8076: l_pegging_rec.constraint_flag := 'N';
8077: l_pegging_rec.component_identifier :=
8078: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8079:
8080: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8081: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8082: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 8080: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8076: l_pegging_rec.constraint_flag := 'N';
8077: l_pegging_rec.component_identifier :=
8078: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8079:
8080: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8081: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8082: --- cto looks at pegging tree to place their demands. Since CTO expects to find
8083: -- id for the requested item, we add the following column. CTO will now read from this column
8084: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 8087: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --item demand node

8083: -- id for the requested item, we add the following column. CTO will now read from this column
8084: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
8085:
8086: --diag_atp
8087: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --item demand node
8088:
8089: --s_cto_rearch
8090:
8091: IF (p_atp_record.parent_bom_item_type in (1, 4) and p_atp_record.parent_repl_order_flag = 'Y')

Line 8124: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;

8120:
8121: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8122:
8123: IF p_search = 1 AND p_parent_pegging_id is null THEN
8124: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;
8125: END IF;
8126: ELSE
8127: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8128:

Line 8127: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8123: IF p_search = 1 AND p_parent_pegging_id is null THEN
8124: MSC_ATP_PVT.G_DEMAND_PEGGING_ID := l_pegging_id;
8125: END IF;
8126: ELSE
8127: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8128:
8129: --dsting Stealing was here but commented out 10/17/02.
8130: END IF;
8131: ELSE

Line 8134: l_pegging_id := MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG;

8130: END IF;
8131: ELSE
8132: --for demand priority forward ATP we have already set l_pegging_id after get_forward
8133: /*
8134: l_pegging_id := MSC_ATP_PVT.G_CTO_FORWARD_DMD_PEG;
8135: IF PG_DEBUG in ('Y', 'C') THEN
8136: msc_sch_wb.atp_debug('ATP_Check: ' || 'Demand Pegging Id for Forward Stealing is : ' || l_pegging_id);
8137: END IF;
8138:

Line 8146: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8142: l_pegging_id := l_get_mat_out_rec.demand_pegging_id;
8143:
8144: ELSE
8145:
8146: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8147:
8148: END IF;
8149:
8150: END IF;

Line 8160: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

8156:
8157: IF (p_parent_pegging_id is null) AND (p_search = 1) THEN
8158: IF PG_DEBUG in ('Y', 'C') THEN
8159: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8160: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8161: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8163: END IF;
8164:

Line 8161: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

8157: IF (p_parent_pegging_id is null) AND (p_search = 1) THEN
8158: IF PG_DEBUG in ('Y', 'C') THEN
8159: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8160: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8161: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8163: END IF;
8164:
8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

Line 8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);

8158: IF PG_DEBUG in ('Y', 'C') THEN
8159: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_parent_pegging_id is null');
8160: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8161: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8163: END IF;
8164:
8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

Line 8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;

8161: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8163: END IF;
8164:
8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN

Line 8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;

8162: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8163: END IF;
8164:
8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

Line 8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;

8163: END IF;
8164:
8165: MSC_ATP_PVT.G_PEGGING_FOR_SET.Extend;
8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8171: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

Line 8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);

8166: MSC_ATP_PVT.G_REQ_ATP_DATE.EXTEND;
8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8171: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8172: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8173: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8174: END IF;

Line 8171: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);

8167: MSC_ATP_PVT.G_REQ_DATE_QTY.EXTEND;
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8171: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8172: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8173: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8174: END IF;
8175:

Line 8172: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);

8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PEGGING_FOR_SET.COUNT = ' ||MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT);
8171: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_ATP_DATE.COUNT = ' || MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT);
8172: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_REQ_DATE_QTY.COUNT = ' || MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT);
8173: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8174: END IF;
8175:
8176:

Line 8177: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;

8173: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pegging_id = '||l_pegging_id );
8174: END IF;
8175:
8176:
8177: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8178: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8179: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8180:
8181: END IF;

Line 8178: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;

8174: END IF;
8175:
8176:
8177: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8178: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8179: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8180:
8181: END IF;
8182: IF PG_DEBUG in ('Y', 'C') THEN

Line 8179: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;

8175:
8176:
8177: MSC_ATP_PVT.G_PEGGING_FOR_SET(MSC_ATP_PVT.G_PEGGING_FOR_SET.COUNT) := l_pegging_id;
8178: MSC_ATP_PVT.G_REQ_ATP_DATE( MSC_ATP_PVT.G_REQ_ATP_DATE.COUNT) := l_requested_ship_date;
8179: MSC_ATP_PVT.G_REQ_DATE_QTY(MSC_ATP_PVT.G_REQ_DATE_QTY.COUNT) := p_atp_record.Quantity_Ordered;
8180:
8181: END IF;
8182: IF PG_DEBUG in ('Y', 'C') THEN
8183: msc_sch_wb.atp_debug('ATP_Check: ' || 'Right after pegging');

Line 8204: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8200: -- on the request date, we need to populate it.
8201: (NVL(l_parent_peg_forward, 0) = 0) THEN
8202: --- Enhance CTO Phase 1 Req #17
8203:
8204: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8205: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8206: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8207: l_pegging_rec.atp_level:= p_level + 1;
8208: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 8205: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8201: (NVL(l_parent_peg_forward, 0) = 0) THEN
8202: --- Enhance CTO Phase 1 Req #17
8203:
8204: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8205: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8206: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8207: l_pegging_rec.atp_level:= p_level + 1;
8208: l_pegging_rec.organization_id:= p_atp_record.organization_id;
8209: l_pegging_rec.organization_code := l_org_code;

Line 8242: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

8238: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
8239: l_pegging_rec.supply_demand_type:= 2;
8240: l_pegging_rec.source_type := 0;
8241: l_pegging_rec.component_identifier :=
8242: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
8243:
8244: -- for demo:1153192
8245: IF ((p_search = 1)
8246: AND (l_atp_comp_flag = 'N')

Line 8255: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8251: l_pegging_rec.constraint_flag := 'N';
8252:
8253: END IF;
8254:
8255: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8256: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
8257: --- cto looks at pegging tree to place their demands. Since CTO expects to find
8258: -- id for the requested item, we add the following column. CTO will now read from this column
8259: l_pegging_rec.request_item_id := p_atp_record.request_item_id;

Line 8272: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

8268: l_pegging_rec.atp_rule_name := l_get_mat_out_rec.atp_rule_name;
8269: l_pegging_rec.rounding_control := l_rounding_control_flag;
8270: l_pegging_rec.atp_flag := l_atp_flag;
8271: l_pegging_rec.atp_component_flag := l_atp_comp_flag;
8272: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
8273: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
8274: l_pegging_rec.processing_lead_time := l_process_lt; -- 5438149
8275: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
8276: l_pegging_rec.fixed_lead_time := l_fixed_lt;

Line 8288: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN

8284: l_pegging_rec.REVERSE_CUM_YIELD := p_atp_record.reverse_cumulative_yield;
8285: l_pegging_rec.model_sd_flag := 2;
8286:
8287:
8288: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN
8289: IF ((p_search = 1) and (l_atp_comp_flag = 'N') and
8290: (p_atp_record.quantity_ordered > l_requested_date_quantity)) THEN
8291: l_pegging_rec.constraint_type := 1;
8292: p_atp_record.combined_requested_date_qty := l_requested_date_quantity;

Line 8350: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8346: -- Add pegging_id to the l_atp_period and l_atp_supply_demand
8347:
8348: FOR i in 1..l_atp_period.Level.COUNT LOOP
8349: l_atp_period.Pegging_Id(i) := l_atp_pegging_id;
8350: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8351: END LOOP;
8352:
8353:
8354: -- dsting: supply/demand details pl/sql table no longer used

Line 8357: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8353:
8354: -- dsting: supply/demand details pl/sql table no longer used
8355: /* FOR i in 1..l_atp_supply_demand.Level.COUNT LOOP
8356: l_atp_supply_demand.Pegging_Id(i) := l_atp_pegging_id;
8357: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8358: END LOOP;
8359: */
8360: IF p_atp_record.insert_flag <> 0 THEN
8361: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,

Line 8362: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

8358: END LOOP;
8359: */
8360: IF p_atp_record.insert_flag <> 0 THEN
8361: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,
8362: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
8363: END IF;
8364:
8365:
8366: -- Now if this item was a component of a BOM, then check the

Line 8371: and l_net_demand > 0 and MSC_ATP_PVT.G_SUB_COMP = 'Y') THEN

8367: -- substitutes and see if we can satisfy the demand
8368:
8369: -- Nagaraj
8370: IF ( p_search = BACKWARD_SCHEDULING) and (p_parent_pegging_id is not null --5006799
8371: and l_net_demand > 0 and MSC_ATP_PVT.G_SUB_COMP = 'Y') THEN
8372: IF PG_DEBUG in ('Y', 'C') THEN
8373: msc_sch_wb.atp_debug('ATP_Check: ' || 'Before check substitutes call:'||
8374: to_char(p_parent_pegging_id) || ':' || to_char(l_net_demand));
8375: END IF;

Line 8490: 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);

8486: IF PG_DEBUG in ('Y', 'C') THEN
8487: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_demand:'|| l_net_demand);
8488: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_sub_requested_date_quantity:'|| l_sub_requested_date_quantity);
8489: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
8490: 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);
8491: END IF;
8492: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
8493: (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
8494: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.

Line 8492: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR

8488: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_sub_requested_date_quantity:'|| l_sub_requested_date_quantity);
8489: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
8490: 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);
8491: END IF;
8492: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
8493: (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
8494: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
8495: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
8496: END IF;

Line 8493: (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

8489: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.scaling_type'|| p_atp_record.scaling_type);
8490: 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);
8491: END IF;
8492: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND p_atp_record.scaling_type = 2) OR
8493: (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
8494: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
8495: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
8496: END IF;
8497:

Line 8498: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN

8494: -- Delete the supply pegging of the main component, if substitute can satisfy the lot-size.
8495: MSC_ATP_DB_UTILS.delete_pegging( l_atp_pegging_id);
8496: END IF;
8497:
8498: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP =1 THEN
8499: IF ((p_search = 1) and (l_atp_comp_flag = 'N') and
8500: (p_atp_record.quantity_ordered > l_requested_date_quantity)) THEN
8501: l_pegging_rec.constraint_type := 1;
8502: p_atp_record.combined_requested_date_qty := l_requested_date_quantity +

Line 8532: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

8528: IF l_sub_requested_date_quantity > 0 THEN
8529: IF PG_DEBUG in ('Y', 'C') THEN
8530: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update POD for Primary Component');
8531: END IF;
8532: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
8533: MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id,
8534: null,
8535: p_atp_record.quantity_ordered-
8536: l_sub_requested_date_quantity );

Line 8570: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

8566: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Increment_Bucketed_Demands_Qty');
8567: END IF;
8568: RAISE FND_API.G_EXC_ERROR;
8569: END IF;
8570: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
8571: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
8572: update msc_alloc_demands
8573: set allocated_quantity = (allocated_quantity -
8574: greatest(l_sub_requested_date_quantity, 0))

Line 8571: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

8567: END IF;
8568: RAISE FND_API.G_EXC_ERROR;
8569: END IF;
8570: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
8571: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
8572: update msc_alloc_demands
8573: set allocated_quantity = (allocated_quantity -
8574: greatest(l_sub_requested_date_quantity, 0))
8575: where parent_demand_id = l_demand_id --updating for primary only

Line 8584: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

8580: END IF;
8581: END IF;
8582: IF PG_DEBUG in ('Y', 'C') THEN
8583: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
8584: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
8585: END IF;
8586:
8587: -- update summary records removed in ODS case - for summary enhancement
8588: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 8588: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

8584: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
8585: END IF;
8586:
8587: -- update summary records removed in ODS case - for summary enhancement
8588: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
8589: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,
8590: p_plan_id,
8591: p_atp_record.organization_id,
8592: l_inventory_item_id,

Line 8671: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN

8667: ( (p_parent_pegging_id IS NULL) OR
8668: NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) AND
8669: --- End Enhance CTO Phase 1 Req #17
8670: (p_search =1)
8671: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN
8672:
8673: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND
8674: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
8675: -- (p_parent_pegging_id is null)) THEN

Line 8673: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND

8669: --- End Enhance CTO Phase 1 Req #17
8670: (p_search =1)
8671: AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y') THEN
8672:
8673: --IF ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_net_demand > 0) AND
8674: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
8675: -- (p_parent_pegging_id is null)) THEN
8676: */
8677: IF (l_net_demand > 0) AND

Line 8678: (p_search =1) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')

8674: -- (l_atp_flag = 'Y') AND (l_atp_comp_flag = 'N') AND
8675: -- (p_parent_pegging_id is null)) THEN
8676: */
8677: IF (l_net_demand > 0) AND
8678: (p_search =1) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (l_atp_flag = 'Y')
8679: --bug 3423277: Restrict stealing only for cases where we are
8680: ---doing atp check for model.
8681: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and
8682: ( C_ITEM_INFO_REC.atp_comp_flag in ('Y', 'C') and

Line 8690: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8686: -- Model's sourcing organization.
8687: -- Do not reset the parent pegging Id in such a case.
8688: /* We support stealing at all levels.
8689: IF (NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) <> p_atp_record.organization_id) THEN
8690: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8691: END IF;
8692: */
8693:
8694: IF p_parent_pegging_id is null THEN

Line 8695: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8691: END IF;
8692: */
8693:
8694: IF p_parent_pegging_id is null THEN
8695: l_pegging_id := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8696: END IF;
8697: --- End Enhance CTO Phase 1 Req #17
8698:
8699: IF PG_DEBUG in ('Y', 'C') THEN

Line 8827: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

8823: /* update atf date quantity */
8824: p_atp_record.atf_date_quantity := l_atp_insert_rec.atf_date_quantity;
8825: /* Reset l_atf_date_qty to 0*/
8826: l_atf_date_qty := 0;
8827: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
8828: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
8829:
8830: update msc_alloc_demands
8831: set allocated_quantity = p_atp_record.quantity_ordered

Line 8828: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

8824: p_atp_record.atf_date_quantity := l_atp_insert_rec.atf_date_quantity;
8825: /* Reset l_atf_date_qty to 0*/
8826: l_atf_date_qty := 0;
8827: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
8828: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
8829:
8830: update msc_alloc_demands
8831: set allocated_quantity = p_atp_record.quantity_ordered
8832: where parent_demand_id = l_demand_id

Line 8873: (MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date) THEN

8869: END IF; -- end if G_ALLOCATED_ATP
8870: -- PTF
8871: IF (p_search = FORWARD_SCHEDULING) AND
8872: (p_parent_pegging_id IS NOT NULL) AND
8873: (MSC_ATP_PVT.G_PTF_DATE > l_requested_ship_date) THEN
8874: IF PG_DEBUG in ('Y', 'C') THEN
8875: msc_sch_wb.atp_debug('ATP_Check: ' || 'Look forward to meet the remaining shortage of comp');
8876: END IF;
8877: --Bug2682094 Do not reset the demand

Line 8892: MSC_ATP_PVT.G_INV_CTP = 4 THEN

8888: IF l_net_demand > 0 and C_ITEM_INFO_REC.bom_item_type = 1 and
8889: C_ITEM_INFO_REC.replenish_to_ord_flag = 'Y' and
8890: C_ITEM_INFO_REC.atp_flag = 'Y' and
8891: C_ITEM_INFO_REC.atp_comp_flag = 'N' and
8892: MSC_ATP_PVT.G_INV_CTP = 4 THEN
8893:
8894: MSC_ATP_CTO.Check_Base_Model_For_Cap_Check(C_ITEM_INFO_REC.dest_inv_item_id,
8895: C_ITEM_INFO_REC.base_item_id,
8896: l_requested_ship_date,

Line 8957: ELSIF (l_atp_comp_flag = 'N') AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

8953: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.atf_date_quantity = '||p_atp_record.atf_date_quantity);
8954: msc_sch_wb.atp_debug('ATP_Check: ' || 'after insert row, 1');
8955: END IF;
8956: --diag_atp
8957: ELSIF (l_atp_comp_flag = 'N') AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
8958: IF PG_DEBUG in ('Y', 'C') THEN
8959: msc_sch_wb.atp_debug('ATP_Check: ' || 'ATP Component flag = N');
8960: END IF;
8961:

Line 8966: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

8962: -- we cannot meet the requirements, so we provide
8963: -- the information at this level
8964: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
8965:
8966: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
8967: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
8968: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
8969: --support forward stealing for all levels
8970: AND p_parent_pegging_id IS NULL

Line 8967: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

8963: -- the information at this level
8964: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
8965:
8966: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
8967: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
8968: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
8969: --support forward stealing for all levels
8970: AND p_parent_pegging_id IS NULL
8971: THEN

Line 8968: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)

8964: p_atp_record.requested_date_quantity:=l_requested_date_quantity;
8965:
8966: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
8967: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
8968: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)
8969: --support forward stealing for all levels
8970: AND p_parent_pegging_id IS NULL
8971: THEN
8972: IF PG_DEBUG in ('Y', 'C') THEN

Line 9084: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2)

9080: END IF;
9081:
9082: ELSE
9083: IF (l_stealing_requested_date_qty > 0) AND
9084: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2)
9085: THEN
9086: --pumehta Bug2471377 Begin Changes
9087: --Make another pass to check if we can get a better date
9088: --as stealing has happened.

Line 9107: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type = 1) THEN

9103: l_sysdate)
9104: OR (l_atp_period_first.period_start_date(i) >
9105: l_sysdate))
9106: THEN
9107: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type = 1) THEN
9108: l_atp_date_quantity_this_level :=
9109: FLOOR(l_atp_period_first.cumulative_quantity(i));
9110: ELSE
9111: l_atp_date_quantity_this_level :=

Line 9226: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY

9222: --AND p_parent_pegging_id is not null)
9223: --THEN
9224: --bug 3328421: required date contains the original request date
9225: -- actual_supply_demand_date contain the actual sd date
9226: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9227: update mrp_atp_details_temp set actual_supply_demand_date =
9228: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9229: where session_id = MSC_ATP_PVT.G_SESSION_ID
9230: and pegging_id = l_pegging_id

Line 9228: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY

9224: --bug 3328421: required date contains the original request date
9225: -- actual_supply_demand_date contain the actual sd date
9226: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9227: update mrp_atp_details_temp set actual_supply_demand_date =
9228: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9229: where session_id = MSC_ATP_PVT.G_SESSION_ID
9230: and pegging_id = l_pegging_id
9231: and record_type = 3;
9232:

Line 9229: where session_id = MSC_ATP_PVT.G_SESSION_ID

9225: -- actual_supply_demand_date contain the actual sd date
9226: --update mrp_atp_details_temp set required_date = TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY
9227: update mrp_atp_details_temp set actual_supply_demand_date =
9228: TRUNC(l_atp_date_this_level)--4460369 + MSC_ATP_PVT.G_END_OF_DAY
9229: where session_id = MSC_ATP_PVT.G_SESSION_ID
9230: and pegging_id = l_pegging_id
9231: and record_type = 3;
9232:
9233: IF PG_DEBUG in ('Y', 'C') THEN

Line 9247: SET REQUIREMENT_DATE = TRUNC(l_atp_date_this_level) --4460369+ MSC_ATP_PVT.G_END_OF_DAY

9243: -- For bug 2259824, move the demand to the end of day
9244: --s_cto_rearch: For ODS based ATP, we should be updating msc_sales_orders
9245: IF p_plan_id = -1 THEN
9246: UPDATE msc_sales_orders
9247: SET REQUIREMENT_DATE = TRUNC(l_atp_date_this_level) --4460369+ MSC_ATP_PVT.G_END_OF_DAY
9248: WHERE sr_instance_id = p_atp_record.instance_id
9249: AND DEMAND_ID = l_demand_id
9250: returning inventory_item_id into l_inventory_item_id;
9251: ELSE

Line 9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

9253: SET
9254: --start changes for plan by request date
9255: USING_ASSEMBLY_DEMAND_DATE =
9256: DECODE(ORIGINATION_TYPE,
9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

9254: --start changes for plan by request date
9255: USING_ASSEMBLY_DEMAND_DATE =
9256: DECODE(ORIGINATION_TYPE,
9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9255: USING_ASSEMBLY_DEMAND_DATE =
9256: DECODE(ORIGINATION_TYPE,
9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

9256: DECODE(ORIGINATION_TYPE,
9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9257: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

9258: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9259: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,

Line 9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

9260: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9261: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,

Line 9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

9262: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9263: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

Line 9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

9264: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9265: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

Line 9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9266: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

Line 9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

9267: l_original_req_ship_date,
9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

9268: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9269: l_original_req_ship_date,
9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

9270: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9271: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

9272: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9273: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,

Line 9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

9274: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9275: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9283: l_original_req_ship_date,

Line 9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

9276: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
9277: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9283: l_original_req_ship_date,
9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

Line 9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

9278: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
9279: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9283: l_original_req_ship_date,
9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9286: schedule_ship_date = DECODE(ORIGINATION_TYPE,

Line 9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9280: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9283: l_original_req_ship_date,
9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9286: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),

9281: l_original_req_ship_date,
9282: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
9283: l_original_req_ship_date,
9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9286: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9289: NULL),

Line 9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9283: l_original_req_ship_date,
9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9286: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9289: NULL),
9290: promise_ship_date = DECODE(ORIGINATION_TYPE,
9291: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9284: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9285: TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY),
9286: schedule_ship_date = DECODE(ORIGINATION_TYPE,
9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9289: NULL),
9290: promise_ship_date = DECODE(ORIGINATION_TYPE,
9291: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9292: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

Line 9291: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9287: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9289: NULL),
9290: promise_ship_date = DECODE(ORIGINATION_TYPE,
9291: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9292: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9293: NULL)
9294: --end of plan by request date enhanc
9295: WHERE demand_id = l_demand_id

Line 9292: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,

9288: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9289: NULL),
9290: promise_ship_date = DECODE(ORIGINATION_TYPE,
9291: 6, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9292: 30, TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY,
9293: NULL)
9294: --end of plan by request date enhanc
9295: WHERE demand_id = l_demand_id
9296: AND plan_id = p_plan_id

Line 9330: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

9326: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Move_PF_Bucketed_Demands');
9327: END IF;
9328: RAISE FND_API.G_EXC_ERROR;
9329: END IF;
9330: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9331: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9332: update msc_alloc_demands
9333: set DEMAND_DATE = l_atp_date_this_level
9334: where parent_demand_id = l_demand_id

Line 9331: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

9327: END IF;
9328: RAISE FND_API.G_EXC_ERROR;
9329: END IF;
9330: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9331: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9332: update msc_alloc_demands
9333: set DEMAND_DATE = l_atp_date_this_level
9334: where parent_demand_id = l_demand_id
9335: and plan_id = p_plan_id;

Line 9340: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' and (p_parent_pegging_id is not null) AND p_plan_id = -1 THEN

9336: END IF;
9337: -- time_phased_atp changes end
9338:
9339: -- update summary records removed in ODS cases - for summary enhancement
9340: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' and (p_parent_pegging_id is not null) AND p_plan_id = -1 THEN
9341: IF PG_DEBUG in ('Y', 'C') THEN
9342: msc_sch_wb.atp_debug('ATP_Check: ' || 'update old date demand');
9343: END IF;
9344: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,

Line 9407: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

9403: END IF;
9404: --END IF; -- end changes cto override
9405:
9406: --- Enhance CTO Phase 1 Req #17
9407: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
9410:
9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

Line 9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

9404: --END IF; -- end changes cto override
9405:
9406: --- Enhance CTO Phase 1 Req #17
9407: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
9410:
9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9412: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

Line 9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN

9405:
9406: --- Enhance CTO Phase 1 Req #17
9407: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
9410:
9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9412: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
9413: l_pegging_rec.parent_pegging_id:= l_pegging_id;

Line 9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

9407: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
9410:
9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9412: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
9413: l_pegging_rec.parent_pegging_id:= l_pegging_id;
9414: l_pegging_rec.atp_level:= p_level+ 1;
9415: l_pegging_rec.organization_id:=

Line 9412: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

9408: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9409: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1)) THEN
9410:
9411: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9412: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
9413: l_pegging_rec.parent_pegging_id:= l_pegging_id;
9414: l_pegging_rec.atp_level:= p_level+ 1;
9415: l_pegging_rec.organization_id:=
9416: p_atp_record.organization_id;

Line 9480: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

9476:
9477: -- for demo:1153192
9478: l_pegging_rec.constraint_flag := 'N';
9479: l_pegging_rec.component_identifier :=
9480: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
9481:
9482: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
9483: --- cto looks at pegging tree to place their demands. Since CTO expects to find
9484: -- id for the requested item, we add the following column. CTO will now read from this column

Line 9488: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

9484: -- id for the requested item, we add the following column. CTO will now read from this column
9485: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
9486:
9487: --diag_atp
9488: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
9489:
9490: --s_cto_rearch
9491: l_pegging_rec.dest_inv_item_id := l_dest_inv_item_id;
9492: l_pegging_rec.model_sd_flag := 2;

Line 9494: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2

9490: --s_cto_rearch
9491: l_pegging_rec.dest_inv_item_id := l_dest_inv_item_id;
9492: l_pegging_rec.model_sd_flag := 2;
9493: --s_cto_rearch
9494: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2
9495: AND l_requested_date_quantity < p_atp_record.quantity_ordered THEN
9496: -- Bug 3828469 - Add constraint only if it exists
9497: IF PG_DEBUG in ('Y', 'C') THEN
9498: msc_sch_wb.atp_debug('Forward ATP, add pegging constriant');

Line 9506: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and

9502: --e_cto_rearch
9503:
9504: -- dsting: get_forward_material_info has already added the pegging
9505: -- in this case
9506: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
9507: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
9510: l_atp_comp_flag = 'N' AND

Line 9507: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

9503:
9504: -- dsting: get_forward_material_info has already added the pegging
9505: -- in this case
9506: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
9507: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
9510: l_atp_comp_flag = 'N' AND
9511: --p_parent_pegging_id is null AND

Line 9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND

9504: -- dsting: get_forward_material_info has already added the pegging
9505: -- in this case
9506: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
9507: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
9510: l_atp_comp_flag = 'N' AND
9511: --p_parent_pegging_id is null AND
9512: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)

Line 9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND

9505: -- in this case
9506: IF NOT (MSC_ATP_PVT.G_INV_CTP = 4 and
9507: MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
9510: l_atp_comp_flag = 'N' AND
9511: --p_parent_pegging_id is null AND
9512: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
9513: THEN

Line 9512: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)

9508: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND
9509: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
9510: l_atp_comp_flag = 'N' AND
9511: --p_parent_pegging_id is null AND
9512: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
9513: THEN
9514: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
9515: l_pegging_rec.demand_class := p_atp_record.demand_class;
9516: --4570421

Line 9514: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement

9510: l_atp_comp_flag = 'N' AND
9511: --p_parent_pegging_id is null AND
9512: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1)
9513: THEN
9514: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
9515: l_pegging_rec.demand_class := p_atp_record.demand_class;
9516: --4570421
9517: l_pegging_rec.scaling_type := p_atp_record.scaling_type;
9518: l_pegging_rec.scale_multiple := p_atp_record.scale_multiple;

Line 9536: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

9532: -- same info twice.
9533:
9534: --Bug2471377 Begin changes
9535: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
9536: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
9537: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9538: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
9539: -- Link the Supply Demand Details for
9540: --first Demand class to the pegging details

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

9533:
9534: --Bug2471377 Begin changes
9535: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
9536: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
9537: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9538: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
9539: -- Link the Supply Demand Details for
9540: --first Demand class to the pegging details
9541:

Line 9538: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN

9534: --Bug2471377 Begin changes
9535: IF NVL(p_atp_record.insert_flag,0) <> 0 THEN
9536: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
9537: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9538: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 2) THEN
9539: -- Link the Supply Demand Details for
9540: --first Demand class to the pegging details
9541:
9542: IF l_atp_period_first.pegging_id.COUNT > 0 THEN

Line 9552: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9548: FOR i in 1..l_atp_period_first.Level.COUNT LOOP
9549: l_atp_period_first.Pegging_Id(i) :=
9550: l_atp_pegging_id;
9551: l_atp_period_first.End_Pegging_Id(i) :=
9552: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9553: END LOOP;
9554:
9555: MSC_ATP_PROC.Details_Output(l_atp_period_first,
9556: l_atp_supply_demand,

Line 9560: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

9556: l_atp_supply_demand,
9557: x_atp_period,
9558: x_atp_supply_demand,
9559: l_return_status);
9560: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9561: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9562: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9563: p_parent_pegging_id IS NULL THEN
9564: null;

Line 9561: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND

9557: x_atp_period,
9558: x_atp_supply_demand,
9559: l_return_status);
9560: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9561: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9562: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9563: p_parent_pegging_id IS NULL THEN
9564: null;
9565: ELSE

Line 9562: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

9558: x_atp_supply_demand,
9559: l_return_status);
9560: ELSIF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
9561: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) AND
9562: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9563: p_parent_pegging_id IS NULL THEN
9564: null;
9565: ELSE
9566:

Line 9570: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9566:
9567: FOR i in 1..l_atp_period.Level.COUNT LOOP
9568: l_atp_period.Pegging_Id(i) := l_atp_pegging_id;
9569: l_atp_period.End_Pegging_Id(i) :=
9570: MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9571: END LOOP;
9572:
9573: IF p_atp_record.insert_flag <> 0 THEN
9574: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,

Line 9575: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

9571: END LOOP;
9572:
9573: IF p_atp_record.insert_flag <> 0 THEN
9574: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,
9575: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
9576: END IF;
9577:
9578: MSC_ATP_PROC.Details_Output(l_atp_period,
9579: l_atp_supply_demand,

Line 9583: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y

9579: l_atp_supply_demand,
9580: x_atp_period,
9581: x_atp_supply_demand,
9582: l_return_status);
9583: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y
9584: END IF; --MSC_ATP_PVT.G_INV_CTP = 4
9585: END IF;
9586: --- End Enhance CTO Phase 1 Req #17
9587: END IF; --Bug2471377 End Changes

Line 9584: END IF; --MSC_ATP_PVT.G_INV_CTP = 4

9580: x_atp_period,
9581: x_atp_supply_demand,
9582: l_return_status);
9583: END IF; -- MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y
9584: END IF; --MSC_ATP_PVT.G_INV_CTP = 4
9585: END IF;
9586: --- End Enhance CTO Phase 1 Req #17
9587: END IF; --Bug2471377 End Changes
9588:

Line 9655: (l_requested_ship_date < l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN

9651: IF ((p_search = BACKWARD_SCHEDULING) AND
9652: --bug 2235012
9653: --(l_requested_ship_date < GREATEST(l_sysdate, l_ptf_date))) THEN
9654: --diag_atp: we dont want to stop in case of diag ATP. We still want to explode sources
9655: (l_requested_ship_date < l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN
9656: IF PG_DEBUG in ('Y', 'C') THEN
9657: msc_sch_wb.atp_debug('ATP_Check: ' || 'backward, request ship date 9658: END IF;
9659: p_atp_record.requested_date_quantity:=0.0;

Line 9667: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';

9663: IF p_parent_pegging_id is null THEN
9664: IF PG_DEBUG in ('Y', 'C') THEN
9665: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
9666: END IF;
9667: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
9668: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
9669: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
9670: -- 1275751
9671: p_atp_record.error_code := ATP_REQ_DATE_FAIL;

Line 9668: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;

9664: IF PG_DEBUG in ('Y', 'C') THEN
9665: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
9666: END IF;
9667: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
9668: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
9669: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
9670: -- 1275751
9671: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
9672: ---- bug 1819638

Line 9669: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;

9665: msc_sch_wb.atp_debug('ATP_Check: ' || 'top level, set future date Y');
9666: END IF;
9667: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
9668: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
9669: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
9670: -- 1275751
9671: p_atp_record.error_code := ATP_REQ_DATE_FAIL;
9672: ---- bug 1819638
9673: ---remove the demand record as supply is 0 on the req_date

Line 9684: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

9680:
9681: -- time_phased_ATP
9682: IF (l_time_phased_atp = 'Y')
9683: OR
9684: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9685: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9686:
9687: update msc_alloc_demands
9688: set ALLOCATED_QUANTITY = 0

Line 9685: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

9681: -- time_phased_ATP
9682: IF (l_time_phased_atp = 'Y')
9683: OR
9684: MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
9685: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
9686:
9687: update msc_alloc_demands
9688: set ALLOCATED_QUANTITY = 0
9689: where parent_demand_id = l_demand_id

Line 9694: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

9690: and plan_id = p_plan_id;
9691: END IF;
9692:
9693: -- update summary records removed in ODS cases - for summary enhancement
9694: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
9695: IF PG_DEBUG in ('Y', 'C') THEN
9696: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
9697: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
9698: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 9743: NOT (MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and

9739: END IF;
9740: -- for bug 1094773
9741: IF (p_search = FORWARD_SCHEDULING) AND
9742: --subst : for top org in case of subst we do not add pegg
9743: NOT (MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' and
9744: p_atp_record.top_tier_org_flag = 1) THEN
9745:
9746: -- assume the atp date and quantity to be single level.
9747: -- this is the worst that we can get.

Line 9794: (MSC_ATP_PVT.G_INV_CTP = 4) AND

9790: NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id ) AND
9791: --- End Enhance CTO Phase 1 Req #17
9792: */
9793: IF (
9794: (MSC_ATP_PVT.G_INV_CTP = 4) AND
9795: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9796: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9797: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
9798: --3423277

Line 9795: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

9791: --- End Enhance CTO Phase 1 Req #17
9792: */
9793: IF (
9794: (MSC_ATP_PVT.G_INV_CTP = 4) AND
9795: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9796: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9797: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
9798: --3423277
9799: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and

Line 9796: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND

9792: */
9793: IF (
9794: (MSC_ATP_PVT.G_INV_CTP = 4) AND
9795: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9796: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9797: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
9798: --3423277
9799: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and
9800: ( C_ITEM_INFO_REC.atp_comp_flag in ('Y', 'C') and

Line 9797: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'

9793: IF (
9794: (MSC_ATP_PVT.G_INV_CTP = 4) AND
9795: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
9796: (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1) AND
9797: (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1)) AND C_ITEM_INFO_REC.atp_flag = 'Y'
9798: --3423277
9799: AND NOT(C_ITEM_INFO_REC.bom_item_type = 1 and
9800: ( C_ITEM_INFO_REC.atp_comp_flag in ('Y', 'C') and
9801: p_atp_record.parent_item_id is null)) THEN

Line 9813: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

9809: ELSE
9810: l_future_atp_period := l_atp_period;
9811: l_future_atp_supply_demand := l_atp_supply_demand;
9812:
9813: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9814: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
9815: l_pegging_rec.parent_pegging_id:= l_pegging_id;
9816: l_pegging_rec.atp_level:= p_level+1;
9817: l_pegging_rec.organization_id:= p_atp_record.organization_id;

Line 9814: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

9810: l_future_atp_period := l_atp_period;
9811: l_future_atp_supply_demand := l_atp_supply_demand;
9812:
9813: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
9814: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
9815: l_pegging_rec.parent_pegging_id:= l_pegging_id;
9816: l_pegging_rec.atp_level:= p_level+1;
9817: l_pegging_rec.organization_id:= p_atp_record.organization_id;
9818: l_pegging_rec.organization_code := l_org_code;

Line 9887: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

9883:
9884: -- for demo:1153192
9885: l_pegging_rec.constraint_flag := 'N';
9886: l_pegging_rec.component_identifier :=
9887: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
9888:
9889: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
9890:
9891: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item

Line 9889: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

9885: l_pegging_rec.constraint_flag := 'N';
9886: l_pegging_rec.component_identifier :=
9887: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
9888:
9889: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
9890:
9891: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
9892: --- cto looks at pegging tree to place their demands. Since CTO expects to find
9893: -- id for the requested item, we add the following column. CTO will now read from this column

Line 9903: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

9899: l_pegging_rec.atp_rule_name := l_get_mat_out_rec.atp_rule_name;
9900: l_pegging_rec.rounding_control := l_rounding_control_flag;
9901: l_pegging_rec.atp_flag := l_atp_flag;
9902: l_pegging_rec.atp_component_flag := l_atp_comp_flag;
9903: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
9904: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
9905: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
9906: l_pegging_rec.fixed_lead_time := l_fixed_lt;
9907: l_pegging_rec.variable_lead_time := l_variable_lt;

Line 9918: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2 THEN

9914:
9915: l_pegging_rec.request_item_id := p_atp_record.request_item_id;
9916:
9917: --s_cto_rearch
9918: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 2 THEN
9919: IF PG_DEBUG in ('Y', 'C') THEN
9920: msc_sch_wb.atp_debug('Forward ATP, add pegging constriant');
9921: END IF;
9922: l_pegging_rec.constraint_type := 1;

Line 9943: l_future_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9939:
9940: -- bug 1225478
9941: FOR i in 1..l_future_atp_period.Level.COUNT LOOP
9942: l_future_atp_period.Pegging_Id(i) := l_future_pegging_id;
9943: l_future_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9944: END LOOP;
9945:
9946: -- dsting: supply/demand details pl/sql table no longer used
9947: /*

Line 9950: l_future_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9946: -- dsting: supply/demand details pl/sql table no longer used
9947: /*
9948: FOR i in 1..l_future_atp_supply_demand.Level.COUNT LOOP
9949: l_future_atp_supply_demand.Pegging_Id(i) := l_future_pegging_id;
9950: l_future_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9951: END LOOP;
9952: */
9953: IF p_atp_record.insert_flag <> 0 THEN
9954: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,

Line 9955: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

9951: END LOOP;
9952: */
9953: IF p_atp_record.insert_flag <> 0 THEN
9954: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,
9955: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
9956: END IF;
9957:
9958: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
9959: END IF;

Line 9958: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN

9954: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_future_pegging_id,
9955: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
9956: END IF;
9957:
9958: END IF; --IF (MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
9959: END IF;
9960: -- store this pegging id to l_parent_pegging_id so
9961: -- that we know how to peg to the demand for the planned
9962: -- order that we are going to create for each child.

Line 10018: (l_atp_date_this_level = l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN

10014:
10015: -- Do not do Any Forward processing of sources for past due orders .
10016: IF ((p_search = FORWARD_SCHEDULING) AND
10017: (l_atp_date_quantity_this_level >= p_atp_record.Quantity_Ordered) AND
10018: (l_atp_date_this_level = l_sysdate ) AND (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2)) THEN
10019: --diag_atp: we dont want to stop in case of diag ATP. We still want to explode sources
10020: IF PG_DEBUG in ('Y', 'C') THEN
10021: msc_sch_wb.atp_debug('ATP_Check: ' ||
10022: 'Past Due Order Satisfied on Sysdate, Stop unless dia_atp ');

Line 10031: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2) THEN

10027:
10028: ----bug 2235012
10029: --diag_atp
10030: ELSIF NOT (p_search = BACKWARD_SCHEDULING AND l_requested_ship_date < l_ptf_date
10031: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2) THEN
10032:
10033: IF PG_DEBUG in ('Y', 'C') THEN
10034: msc_sch_wb.atp_debug('ATP_Check: ' || 'Find Sources');
10035: msc_sch_wb.atp_debug('bom_item_type := ' || C_ITEM_INFO_REC.bom_item_type);

Line 10057: IF MSC_ATP_PVT.G_INV_CTP = 5 or l_check_model_capacity = 1 THEN

10053: l_item_sourcing_info_rec.ato_line_id(1) := null;
10054: END IF;
10055:
10056: --if ods ATP and ATO model/item or if checking base model's capacity then we only make
10057: IF MSC_ATP_PVT.G_INV_CTP = 5 or l_check_model_capacity = 1 THEN
10058: IF PG_DEBUG in ('Y', 'C') THEN
10059: msc_sch_wb.atp_debug('ATP_Check: ' || 'ods atp, we always make');
10060: END IF;
10061:

Line 10091: MSC_ATP_PVT.G_SESSION_ID,

10087: NULL,
10088: p_assign_set_id,
10089: l_item_sourcing_info_rec,
10090: --MRP_ATP_PUB.number_arr(NULL),
10091: MSC_ATP_PVT.G_SESSION_ID,
10092: l_sources,
10093: l_return_status);
10094:
10095: END IF;

Line 10101: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then

10097: IF PG_DEBUG in ('Y', 'C') THEN
10098: msc_sch_wb.atp_debug('ATP_Check: ' || 'after atp_sources');
10099: END IF;
10100:
10101: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then
10102: --- Model has option specific sources which do not match with sourcing of model
10103: --update the demand pegging
10104: update mrp_atp_details_temp
10105: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL

Line 10105: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL

10101: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR Then
10102: --- Model has option specific sources which do not match with sourcing of model
10103: --update the demand pegging
10104: update mrp_atp_details_temp
10105: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL
10106: where session_id = MSC_ATP_PVT.G_SESSION_ID
10107: and pegging_id = l_pegging_id
10108: and record_type = 3;
10109:

Line 10106: where session_id = MSC_ATP_PVT.G_SESSION_ID

10102: --- Model has option specific sources which do not match with sourcing of model
10103: --update the demand pegging
10104: update mrp_atp_details_temp
10105: set error_code = MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL
10106: where session_id = MSC_ATP_PVT.G_SESSION_ID
10107: and pegging_id = l_pegging_id
10108: and record_type = 3;
10109:
10110: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

Line 10110: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

10106: where session_id = MSC_ATP_PVT.G_SESSION_ID
10107: and pegging_id = l_pegging_id
10108: and record_type = 3;
10109:
10110: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10111:
10112: ELSIF l_return_status <> FND_API.G_RET_STS_SUCCESS OR
10113: l_sources.source_type.count = 0 THEN
10114: -- no sources in supply chain bill, then we assume

Line 10191: l_parent_ptf_date := NVL(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date);

10187: j := l_sources.source_type.FIRST;
10188:
10189:
10190: --- we store parent_ptf in a local varibale as it might get changed
10191: l_parent_ptf_date := NVL(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date);
10192: IF PG_DEBUG in ('Y', 'C') THEN
10193: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_ptf_date := ' || l_parent_ptf_date);
10194: END IF;
10195: WHILE (j IS NOT NULL) LOOP

Line 10204: MSC_ATP_PVT.G_PTF_DATE := l_parent_ptf_date;

10200: --Bug 3821358
10201: l_store_g_ptf_date := NULL;
10202:
10203: --bug 2178544: Since the ptf flag may be chnaged by transfer org, we reassign it for the curent plan
10204: MSC_ATP_PVT.G_PTF_DATE := l_parent_ptf_date;
10205:
10206: IF PG_DEBUG in ('Y', 'C') THEN
10207: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside while loop for the children');
10208: END IF;

Line 10257: MSC_ATP_PVT.G_SESSION_ID,

10253: NULL, -- p_customer_id
10254: NULL, -- p_customer_site_id
10255: null, -- Supplier_id
10256: null, --suplier_site_id
10257: MSC_ATP_PVT.G_SESSION_ID,
10258: NULL, -- p_partner_site_id
10259: l_atp_rec.ship_method,
10260: l_atp_rec.delivery_lead_time);
10261:

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

10283: null,
10284: MSC_CALENDAR.OMC);
10285:
10286: -- Bug 3593394
10287: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
10288: -- receiving party is org
10289: l_atp_rec.receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
10290: p_atp_record.instance_id,
10291: null,

Line 10384: MSC_ATP_PVT.G_SESSION_ID,

10380: NULL, -- p_customer_id
10381: NULL, -- p_customer_site_id
10382: l_sources.Supplier_Id(j),
10383: l_sources.Supplier_Site_Id(j),
10384: MSC_ATP_PVT.G_SESSION_ID,
10385: NULL, -- p_partner_site_id
10386: l_atp_rec.ship_method,
10387: l_atp_rec.delivery_lead_time);
10388:

Line 10393: --Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

10389: IF PG_DEBUG in ('Y', 'C') THEN
10390: msc_sch_wb.atp_debug('ATP_Check: Use SMC irrespective of profile G_USE_SHIP_REC_CAL');
10391: END IF;
10392: --l_atp_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;
10393: --Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
10394:
10395: l_atp_rec.manufacturing_cal_code := MSC_CALENDAR.Get_Calendar_Code(
10396: l_sources.instance_id(j),
10397: p_plan_id,

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

10407: null,
10408: MSC_CALENDAR.SMC);
10409:
10410: -- Bug 3593394
10411: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
10412:
10413: l_atp_rec.receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
10414: p_atp_record.instance_id,
10415: null,

Line 10447: /* Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

10443: null,
10444: l_atp_rec.ship_method,
10445: MSC_CALENDAR.SSC);
10446:
10447: /* Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
10448: l_atp_rec.manufacturing_cal_code := MSC_CALENDAR.Get_Calendar_Code(
10449: l_sources.instance_id(j),
10450: p_plan_id,
10451: --s_cto_rearch

Line 10475: /*Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL

10471: l_atp_rec.receiving_cal_code := p_atp_record.manufacturing_cal_code;
10472: l_atp_rec.intransit_cal_code := MSC_CALENDAR.FOC;
10473: l_atp_rec.shipping_cal_code := MSC_CALENDAR.FOC;
10474:
10475: /*Bug 3687353: Use SMC irrespective of profile MSC_ATP_PVT.G_USE_SHIP_REC_CAL
10476: l_atp_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;*/
10477:
10478: END IF;
10479: END IF;

Line 10536: --IF ( MSC_ATP_PVT.G_CTO_LINE = 'Y' ) THEN

10532: l_atp_rec.demand_source_type := p_atp_record.demand_source_type;--cmro
10533: --- Enhance CTO Phase 1 Req #16, #17
10534: -- Pass the demand source line across only for CTO case.
10535: --IF NVL(C_ITEM_INFO_REC.cto_source_org_id, -1) = p_atp_record.organization_id THEN
10536: --IF ( MSC_ATP_PVT.G_CTO_LINE = 'Y' ) THEN
10537: -- l_atp_rec.demand_source_line := p_atp_record.demand_source_line;
10538: --END IF;
10539: --- End Enhance CTO Phase 1 Req #16, #17
10540:

Line 10622: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

10618: end; */
10619: -- l_atp_rec.delivery_lead_time := l_post_pro_lt; -- suuplier intransit lt
10620:
10621: --l_atp_rec.ship_method := 'DEFAULT';
10622: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10623: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10624:
10625: --diag_atp
10626: l_atp_rec.plan_name := p_atp_record.plan_name;

Line 10623: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

10619: -- l_atp_rec.delivery_lead_time := l_post_pro_lt; -- suuplier intransit lt
10620:
10621: --l_atp_rec.ship_method := 'DEFAULT';
10622: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10623: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10624:
10625: --diag_atp
10626: l_atp_rec.plan_name := p_atp_record.plan_name;
10627:

Line 10669: ---- new plann then MSC_ATP_PVT.G_SUMMARY_FLAG will be set to 'N'.

10665:
10666: ---- store summary flags before and after get_plan_info
10667: ---- The reason we are doing it is that we haven't added
10668: ---- planned order as yet. If summary is not available for
10669: ---- new plann then MSC_ATP_PVT.G_SUMMARY_FLAG will be set to 'N'.
10670: ---- When we try to add planned order then the sumamry tables will
10671: ----- not be updated even though the G_SUMMARY_FLAG for the old org's
10672: ----- plan was 'Y'
10673:

Line 10674: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

10670: ---- When we try to add planned order then the sumamry tables will
10671: ----- not be updated even though the G_SUMMARY_FLAG for the old org's
10672: ----- plan was 'Y'
10673:
10674: l_old_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10675:
10676: /*
10677: -- New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
10678: -- (SCLT)

Line 10715: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

10711: RAISE FND_API.G_EXC_ERROR;
10712: END IF;
10713: /* time_phased_atp changes end*/
10714:
10715: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
10716: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
10717:
10718: l_plan_id := l_plan_info_rec.plan_id;
10719: l_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 10723: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

10719: l_assign_set_id := l_plan_info_rec.assignment_set_id;
10720: -- changes for bug 2392456 ends
10721:
10722:
10723: l_new_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
10724:
10725: /* bug 3953635: Del_lead_time and ship method have already been populated
10726: -- for bug 1124206
10727: l_atp_rec.delivery_lead_time :=

Line 10759: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';

10755: END IF;
10756: --bug 2854351
10757: --l_atp_rec.error_code := TRY_ATP_LATER;
10758: l_atp_rec.error_code := PLAN_DOWN_TIME;
10759: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10760: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10761:
10762: ELSIF l_plan_id is NOT NULL THEN
10763: -- dsting 2764213

Line 10760: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

10756: --bug 2854351
10757: --l_atp_rec.error_code := TRY_ATP_LATER;
10758: l_atp_rec.error_code := PLAN_DOWN_TIME;
10759: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10760: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10761:
10762: ELSIF l_plan_id is NOT NULL THEN
10763: -- dsting 2764213
10764: l_planned_sources := 1;

Line 10779: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

10775: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
10776: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
10777: --l_PO_qty := CEIL(l_net_demand); --bug3397904
10778: IF (p_search = FORWARD_SCHEDULING)
10779: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10780: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10781: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10782:
10783: l_PO_qty := CEIL(p_atp_record.quantity_ordered);

Line 10780: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

10776: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
10777: --l_PO_qty := CEIL(l_net_demand); --bug3397904
10778: IF (p_search = FORWARD_SCHEDULING)
10779: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10780: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10781: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10782:
10783: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
10784: IF PG_DEBUG in ('Y', 'C') THEN

Line 10781: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

10777: --l_PO_qty := CEIL(l_net_demand); --bug3397904
10778: IF (p_search = FORWARD_SCHEDULING)
10779: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10780: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10781: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10782:
10783: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
10784: IF PG_DEBUG in ('Y', 'C') THEN
10785: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 10796: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

10792: END IF;
10793: ELSE
10794: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
10795: IF (p_search = FORWARD_SCHEDULING)
10796: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10797: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10798: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10799:
10800: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066

Line 10797: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

10793: ELSE
10794: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
10795: IF (p_search = FORWARD_SCHEDULING)
10796: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10797: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10798: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10799:
10800: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
10801: IF PG_DEBUG in ('Y', 'C') THEN

Line 10798: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

10794: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
10795: IF (p_search = FORWARD_SCHEDULING)
10796: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
10797: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
10798: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
10799:
10800: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
10801: IF PG_DEBUG in ('Y', 'C') THEN
10802: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 10844: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );

10840: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
10841: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
10842: msc_sch_wb.atp_debug('ATP_Check: ' || 'PPLT '||l_post_pro_lt);
10843: msc_sch_wb.atp_debug('ATP_Check: ' || 'Ship_method := ' || l_sources.ship_method(j));
10844: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );
10845: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
10846: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
10847: END IF;
10848:

Line 10865: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );

10861: l_atp_rec.intransit_cal_code, -1 * l_atp_rec.delivery_lead_time, -1,
10862: l_atp_rec.shipping_cal_code, -1, p_atp_record.instance_id);
10863: IF PG_DEBUG in ('Y', 'C') THEN
10864: msc_sch_wb.atp_debug('ATP_Check: ' || 'After 3 Set Cal Offset l_ptf_date_for_child := ' ||l_ptf_date_for_child );
10865: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' ||MSC_ATP_PVT.G_PTF_DATE );
10866: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
10867: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
10868: END IF;
10869:

Line 10870: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993

10866: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' ||l_ptf_date_for_child );
10867: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' ||l_ptf_date);
10868: END IF;
10869:
10870: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
10871:
10872: IF PG_DEBUG in ('Y', 'C') THEN
10873: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
10874: ||MSC_ATP_PVT.G_PTF_DATE );

Line 10873: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '

10869:
10870: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
10871:
10872: IF PG_DEBUG in ('Y', 'C') THEN
10873: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
10874: ||MSC_ATP_PVT.G_PTF_DATE );
10875: END IF;
10876:
10877: /* ship_rec_cal changes begin */

Line 10874: ||MSC_ATP_PVT.G_PTF_DATE );

10870: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child,l_ptf_date,MSC_ATP_PVT.g_ptf_date); --5053993
10871:
10872: IF PG_DEBUG in ('Y', 'C') THEN
10873: msc_sch_wb.atp_debug('ATP_Check: ' || 'After Offset MSC_ATP_PVT.G_PTF_DATE := '
10874: ||MSC_ATP_PVT.G_PTF_DATE );
10875: END IF;
10876:
10877: /* ship_rec_cal changes begin */
10878: l_dock_date := MSC_CALENDAR.DATE_OFFSET (

Line 10886: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

10882: -1 * l_post_pro_lt, -1);
10883:
10884: IF PG_DEBUG in ('Y', 'C') THEN
10885: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child: '||l_ptf_date_for_child);
10886: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
10887: msc_sch_wb.atp_debug('ATP_Check: ' || '___________________Start Offset___________________');
10888: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after subtracting PPLT using OMC: '||l_dock_date);
10889: END IF;
10890:

Line 10910: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE before offset : '||MSC_ATP_PVT.G_PTF_DATE);

10906: l_dock_date,
10907: -1 * l_atp_rec.delivery_lead_time, -1);
10908: -- Bug No 4592289/4667756/5053993 Start
10909: IF PG_DEBUG in ('Y', 'C') THEN
10910: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE before offset : '||MSC_ATP_PVT.G_PTF_DATE);
10911: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_PTF_DATE before offset : '||l_PTF_DATE);
10912: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_START_DATE before offset : '||l_START_DATE);
10913: msc_sch_wb.atp_debug('ATP_Check: ' || 'From Org : '|| l_atp_rec.organization_id);
10914: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);

Line 10917: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN

10913: msc_sch_wb.atp_debug('ATP_Check: ' || 'From Org : '|| l_atp_rec.organization_id);
10914: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
10915: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
10916: END IF;
10917: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
10918: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
10919: p_atp_record.instance_id,
10920: MSC_ATP_PVT.G_PTF_DATE ,
10921: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756

Line 10918: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,

10914: msc_sch_wb.atp_debug('ATP_Check: ' || 'To Org : '|| p_atp_record.organization_id);
10915: msc_sch_wb.atp_debug('ATP_Check: ' || 'Lead Time : '|| l_atp_rec.delivery_lead_time);
10916: END IF;
10917: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
10918: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
10919: p_atp_record.instance_id,
10920: MSC_ATP_PVT.G_PTF_DATE ,
10921: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
10922: IF PG_DEBUG in ('Y', 'C') THEN

Line 10920: MSC_ATP_PVT.G_PTF_DATE ,

10916: END IF;
10917: IF l_PTF_DATE < MSC_ATP_PVT.G_PTF_DATE THEN
10918: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.DATE_OFFSET (l_atp_rec.intransit_cal_code,
10919: p_atp_record.instance_id,
10920: MSC_ATP_PVT.G_PTF_DATE ,
10921: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
10922: IF PG_DEBUG in ('Y', 'C') THEN
10923: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
10924: END IF;

Line 10923: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);

10919: p_atp_record.instance_id,
10920: MSC_ATP_PVT.G_PTF_DATE ,
10921: -1 * l_atp_rec.delivery_lead_time, -1); -- Bug No: 4592289/4667756
10922: IF PG_DEBUG in ('Y', 'C') THEN
10923: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
10924: END IF;
10925: else
10926: G_PTF_DATE := l_PTF_DATE;
10927: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );

Line 10927: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );

10923: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset : '||MSC_ATP_PVT.G_PTF_DATE);
10924: END IF;
10925: else
10926: G_PTF_DATE := l_PTF_DATE;
10927: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );
10928: END IF;
10929: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
10930: l_atp_rec.shipping_cal_code,
10931: p_atp_record.instance_id,

Line 10929: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(

10925: else
10926: G_PTF_DATE := l_PTF_DATE;
10927: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after assign : '||MSC_ATP_PVT.G_PTF_DATE );
10928: END IF;
10929: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
10930: l_atp_rec.shipping_cal_code,
10931: p_atp_record.instance_id,
10932: MSC_ATP_PVT.G_PTF_DATE );
10933: IF PG_DEBUG in ('Y', 'C') THEN

Line 10932: MSC_ATP_PVT.G_PTF_DATE );

10928: END IF;
10929: MSC_ATP_PVT.G_PTF_DATE := MSC_CALENDAR.NEXT_WORK_DAY(
10930: l_atp_rec.shipping_cal_code,
10931: p_atp_record.instance_id,
10932: MSC_ATP_PVT.G_PTF_DATE );
10933: IF PG_DEBUG in ('Y', 'C') THEN
10934: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);
10935: END IF;
10936:

Line 10934: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);

10930: l_atp_rec.shipping_cal_code,
10931: p_atp_record.instance_id,
10932: MSC_ATP_PVT.G_PTF_DATE );
10933: IF PG_DEBUG in ('Y', 'C') THEN
10934: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE after offset(Shipping cal) : '||MSC_ATP_PVT.G_PTF_DATE);
10935: END IF;
10936:
10937: -- Bug No 4592289/4667756/5053993 Ends
10938:

Line 10962: -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);

10958: l_order_date := MSC_CALENDAR.DATE_OFFSET (
10959: p_atp_record.manufacturing_cal_code,
10960: p_atp_record.instance_id,
10961: l_atp_rec.requested_ship_date,
10962: -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);
10963:
10964: IF PG_DEBUG in ('Y', 'C') THEN
10965: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after subtracting pre PLT using OMC : '||l_order_date);
10966: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');

Line 10974: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = forward_scheduling) and

10970: IF PG_DEBUG in ('Y', 'C') THEN
10971: msc_sch_wb.atp_debug('ATP_Check: ' || 'Ship Date '||l_atp_rec.requested_ship_date);
10972: END IF;
10973:
10974: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = forward_scheduling) and
10975: -- ship_rec_cal
10976: -- (l_dock_date < l_ptf_date or l_order_date < sysdate) THEN
10977: -- Bug 3412143 - Ship date in source org should be greater than receiving org's PTF
10978: -- Also use l_trunc_sysdate instead of accessing sysdate directly.

Line 10995: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);

10991: l_ptf_due_date := MSC_CALENDAR.DATE_OFFSET (
10992: p_atp_record.manufacturing_cal_code,
10993: p_atp_record.instance_id,
10994: l_ptf_date,
10995: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);
10996:
10997: IF PG_DEBUG in ('Y', 'C') THEN
10998: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_ptf_due_date);
10999: END IF;

Line 11031: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);

11027: p_atp_record.manufacturing_cal_code,
11028: p_atp_record.instance_id,
11029: -- sysdate, - Bug 3512996 - Removed unnecessary reference to sysdate
11030: l_trunc_sysdate,
11031: MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, 1);
11032:
11033: -- Bug 3512996 - Set this date as PTF date for the source org so that the call to ATP_Check
11034: -- for source org does not return a date earlier than this date, thereby enforcing
11035: -- pre-PLT for transfer cases. Also this date doesn't need to be validated on OSC

Line 11037: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);

11033: -- Bug 3512996 - Set this date as PTF date for the source org so that the call to ATP_Check
11034: -- for source org does not return a date earlier than this date, thereby enforcing
11035: -- pre-PLT for transfer cases. Also this date doesn't need to be validated on OSC
11036: -- the output of ATP_Check will anyway be validated on OSC.
11037: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);
11038:
11039: IF PG_DEBUG in ('Y', 'C') THEN
11040: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_lt_due_date);
11041: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

Line 11041: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

11037: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_lt_due_date, MSC_ATP_PVT.G_PTF_DATE);
11038:
11039: IF PG_DEBUG in ('Y', 'C') THEN
11040: msc_sch_wb.atp_debug('ATP_Check: ' || 'Date after adding pre PLT using OMC: '||l_lt_due_date);
11041: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting PTF for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11042: END IF;
11043:
11044: l_lt_due_date := MSC_CALENDAR.THREE_STEP_CAL_OFFSET_DATE(
11045: l_lt_due_date, l_atp_rec.shipping_cal_code, +1,

Line 11092: END IF; --- IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

11088: END IF;
11089:
11090: END IF;
11091:
11092: END IF; --- IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
11093:
11094: ELSE
11095: --s_cto_rearch
11096: l_atp_rec.base_model_id := C_ITEM_INFO_REC.base_item_id;

Line 11183: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;

11179: -- l_process_lt := l_fixed_lt + l_variable_lt * l_net_demand;
11180: -- Fixed + Variable is discontinued, Instead item's processing lead time
11181: -- essentially full_lead_time is used.
11182:
11183: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;
11184: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11185: IF PG_DEBUG in ('Y', 'C') THEN
11186: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Process_lead_time = '|| l_process_lt);
11187: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pre_pro_lt = ' || l_pre_pro_lt);

Line 11184: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;

11180: -- Fixed + Variable is discontinued, Instead item's processing lead time
11181: -- essentially full_lead_time is used.
11182:
11183: l_process_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.processing_lt;
11184: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11185: IF PG_DEBUG in ('Y', 'C') THEN
11186: msc_sch_wb.atp_debug('ATP_Check: ' || 'Item Process_lead_time = '|| l_process_lt);
11187: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_pre_pro_lt = ' || l_pre_pro_lt);
11188: END IF;

Line 11264: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);

11260: p_atp_record.instance_id,
11261: l_parent_ptf_date,
11262: -1 * l_post_pro_lt, -1);
11263:
11264: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);
11265:
11266: /* ship_rec_cal changes begin */
11267: -- intransit lead time offset in case of capacity to ship
11268: IF l_sources.sup_cap_type(j) = 1 THEN

Line 11451: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);

11447:
11448: l_order_date := l_supplier_start_date; -- Bug 3241766
11449:
11450: -- Bug 3782472 - set ptf date for lower level
11451: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date_for_child, l_ptf_date);
11452:
11453: IF PG_DEBUG in ('Y', 'C') THEN
11454: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');
11455: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);

Line 11458: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

11454: msc_sch_wb.atp_debug('ATP_Check: ' || '____________________End Offset____________________');
11455: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
11456: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_supplier_start_date := ' || l_supplier_start_date);
11457: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child := ' || l_ptf_date_for_child);
11458: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11459: END IF;
11460: /* ship_rec_cal changes end */
11461:
11462: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and

Line 11462: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and

11458: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11459: END IF;
11460: /* ship_rec_cal changes end */
11461:
11462: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 or p_search = FORWARD_SCHEDULING) and
11463: (l_start_date < l_ptf_date or
11464: l_supplier_start_date < l_trunc_sysdate) THEN -- Enforce Pur LT - change sysdate to avoid
11465: -- l_supplier_start_date < sysdate) THEN -- extraneous call to sysdate
11466:

Line 11683: MSC_ATP_PVT.G_PTF_DATE := GREATEST(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date_for_child);

11679: Instead pass this constraint as G_PTF_DATE
11680: l_atp_rec.requested_ship_date := GREATEST(l_atp_rec.requested_ship_date,l_supplier_request_date);
11681: */
11682:
11683: MSC_ATP_PVT.G_PTF_DATE := GREATEST(MSC_ATP_PVT.G_PTF_DATE, l_ptf_date_for_child);
11684:
11685: -- PTF for lower level = greatest(sysdate+prePLT, current org's PTF, parent org's PTF)
11686: -- after validating on all applicable calendars.
11687:

Line 11692: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);

11688: IF PG_DEBUG in ('Y', 'C') THEN
11689: msc_sch_wb.atp_debug('ATP_Check: ' || '___________________End Calc LT Due Date___________________');
11690: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_lt_due_date := ' || l_lt_due_date);
11691: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date_for_child: '||l_ptf_date_for_child);
11692: msc_sch_wb.atp_debug('ATP_Check: ' || 'Setting ptf_date for lower level: '||MSC_ATP_PVT.G_PTF_DATE);
11693: END IF;
11694: /* ship_rec_cal changes end */
11695:
11696: -- Bug 3525582 - Constraint message should be added only if constraint actually exists

Line 11764: MSC_ATP_PVT.G_SUMMARY_FLAG := l_old_summary_flag;

11760: -- insert a plan order for the l_net_demand
11761: ---- Change the flag temprorily as new plan's summary flag might be
11762: ---- different from last plan's summary flag
11763: ----
11764: MSC_ATP_PVT.G_SUMMARY_FLAG := l_old_summary_flag;
11765: /* rajjain 02/19/2003 Bug 2788302 Begin
11766: * set org to null for Supplier's case. */
11767: IF NVL(l_atp_rec.supplier_id,-1) <> -1 THEN
11768: msc_sch_wb.atp_debug('Set Org id null in Supplier case');

Line 11784: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) AND (l_src_org_id is NOT NULL) THEN

11780: --bug 2792702: Remove this condition as we need to create planned order
11781: --during forward scheduling
11782: --IF l_pegging_rec.constraint_type IS NULL THEN
11783: -- Begin ATP4drp Create Planned Arrivals for DRP plans
11784: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) AND (l_src_org_id is NOT NULL) THEN
11785: l_supply_rec.instance_id := p_atp_record.instance_id;
11786: l_supply_rec.plan_id := p_plan_id;
11787: l_supply_rec.inventory_item_id :=
11788: C_ITEM_INFO_REC.dest_inv_item_id;

Line 11876: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

11872: msc_sch_wb.atp_debug('ATP_Check: ' || 'here the the parent_pegging_id inside the buy/transfer :'||
11873: l_pegging_id);
11874: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_pegging_id := ' || l_parent_pegging_id);
11875: END IF;
11876: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
11877: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
11878: l_pegging_rec.parent_pegging_id:= l_parent_pegging_id;
11879: l_pegging_rec.atp_level:= p_level+1;
11880:

Line 11877: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

11873: l_pegging_id);
11874: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_parent_pegging_id := ' || l_parent_pegging_id);
11875: END IF;
11876: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
11877: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
11878: l_pegging_rec.parent_pegging_id:= l_parent_pegging_id;
11879: l_pegging_rec.atp_level:= p_level+1;
11880:
11881:

Line 11900: l_pegging_rec.organization_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

11896: ELSE
11897: /* Modularize Item and Org Info */
11898: MSC_ATP_PROC.get_global_org_info(p_atp_record.instance_id,
11899: l_pegging_rec.organization_id);
11900: l_pegging_rec.organization_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11901: /* l_pegging_rec.organization_code :=
11902: MSC_ATP_FUNC.get_org_code(p_atp_record.instance_id,
11903: l_pegging_rec.organization_id);
11904: Modularize Item and Org Info */

Line 11970: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

11966: -- for demo:1153192
11967: l_pegging_rec.constraint_flag := 'N';
11968: l_pegging_rec.component_identifier :=
11969:
11970: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
11971: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11972:
11973: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
11974: --- cto looks at pegging tree to place their demands. Since CTO expects to find

Line 11971: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

11967: l_pegging_rec.constraint_flag := 'N';
11968: l_pegging_rec.component_identifier :=
11969:
11970: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
11971: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
11972:
11973: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
11974: --- cto looks at pegging tree to place their demands. Since CTO expects to find
11975: -- id for the requested item, we add the following column. CTO will now read from this column

Line 11986: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = BACKWARD_SCHEDULING

11982: l_pegging_rec.ptf_date := l_ptf_date;
11983: END IF;
11984:
11985: --diag_atp:
11986: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = BACKWARD_SCHEDULING
11987: AND l_constraint_flag = 1 THEN
11988: l_pegging_rec.supply_demand_quantity := 0;
11989: ELSE
11990: l_pegging_rec.supply_demand_quantity :=l_atp_rec.quantity_ordered;

Line 11996: l_pegging_rec.pegging_type := MSC_ATP_PVT.TRANSFER_SUPPLY;

11992: l_pegging_rec.ptf_date := l_ptf_date;
11993: IF l_sources.source_type(j) = TRANSFER THEN
11994: l_pegging_rec.intransit_lead_time := l_sources.Lead_Time(j);
11995: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
11996: l_pegging_rec.pegging_type := MSC_ATP_PVT.TRANSFER_SUPPLY;
11997: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
11998: -- Bug 3826234
11999: l_pegging_rec.shipping_cal_code := l_atp_rec.shipping_cal_code;
12000: l_pegging_rec.receiving_cal_code := l_atp_rec.receiving_cal_code;

Line 12009: l_pegging_rec.pegging_type := MSC_ATP_PVT.BUY_SUPPLY;

12005: l_pegging_rec.intransit_lead_time := l_atp_rec.delivery_lead_time; --supplier intransit LT
12006: l_pegging_rec.postprocessing_lead_time := l_post_pro_lt;
12007: l_pegging_rec.preprocessing_lead_time := l_pre_pro_lt;
12008: l_pegging_rec.processing_lead_time := l_process_lt;
12009: l_pegging_rec.pegging_type := MSC_ATP_PVT.BUY_SUPPLY;
12010: -- Bug 3826234
12011: l_pegging_rec.shipping_cal_code := l_atp_rec.shipping_cal_code;
12012: l_pegging_rec.receiving_cal_code := l_atp_rec.receiving_cal_code;
12013: l_pegging_rec.intransit_cal_code := l_atp_rec.intransit_cal_code;

Line 12034: IF l_sources.source_type(j) = MSC_ATP_PVT.BUY

12030: --bug 3328421
12031: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
12032:
12033: -- dsting diag_atp
12034: IF l_sources.source_type(j) = MSC_ATP_PVT.BUY
12035: AND l_pegging_rec.constraint_type IS NULL
12036: THEN
12037: l_last_good_pegging_id := l_pegging_id;
12038: IF PG_DEBUG in ('Y', 'C') THEN

Line 12074: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT ' || MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT);

12070: --e_Cto_rearch
12071:
12072: -- dsting diag_atp
12073: IF PG_DEBUG in ('Y', 'C') THEN
12074: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT ' || MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT);
12075: END IF;
12076: -- dsting 2819716. we always add planned orders now
12077: -- so we should always add pegging.
12078: /*

Line 12080: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'

12076: -- dsting 2819716. we always add planned orders now
12077: -- so we should always add pegging.
12078: /*
12079: IF l_constraint_flag <> 1
12080: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'
12081: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1
12082: THEN
12083: */ l_pegging_rec.demand_class := p_atp_record.demand_class;
12084:

Line 12081: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1

12077: -- so we should always add pegging.
12078: /*
12079: IF l_constraint_flag <> 1
12080: OR NVL(MSC_ATP_PVT.G_SUBSTITUTION_FLAG, 'N') <> 'Y'
12081: OR MSC_ATP_PVT.G_HAVE_MAKE_BUY_PARENT = 1
12082: THEN
12083: */ l_pegging_rec.demand_class := p_atp_record.demand_class;
12084:
12085: --4570421

Line 12098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;

12094: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
12095: -- END IF;
12096:
12097: --- now chnage back the summary flag for new plan
12098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12099: -- 2178544:
12100: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12101: IF PG_DEBUG in ('Y', 'C') THEN
12102: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

Line 12100: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);

12096:
12097: --- now chnage back the summary flag for new plan
12098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12099: -- 2178544:
12100: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12101: IF PG_DEBUG in ('Y', 'C') THEN
12102: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
12103: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' || l_ptf_date);
12104: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);

Line 12102: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

12098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_new_summary_flag;
12099: -- 2178544:
12100: MSC_ATP_PVT.G_PTF_DATE := GREATEST(l_ptf_date, MSC_ATP_PVT.G_PTF_DATE);
12101: IF PG_DEBUG in ('Y', 'C') THEN
12102: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
12103: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_ptf_date := ' || l_ptf_date);
12104: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
12105: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside buy/transfer');
12106: END IF;

Line 12142: MSC_ATP_PVT.ATP_Check(l_atp_rec,

12138: IF PG_DEBUG in ('Y', 'C') THEN
12139: msc_sch_wb.atp_debug('NO_MAKE_BUY_CHILDREN: pre atp_check');
12140: END IF;
12141:
12142: MSC_ATP_PVT.ATP_Check(l_atp_rec,
12143: l_plan_id,
12144: p_level + 2,
12145: p_scenario_id,
12146: p_search,

Line 12156: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

12152: l_return_status);
12153: -- krajan: 2400614
12154:
12155:
12156: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12157:
12158: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12159:
12160: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

Line 12158: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

12154:
12155:
12156: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12157:
12158: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12159:
12160: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
12161: IF PG_DEBUG in ('Y', 'C') THEN
12162: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12160: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

12156: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
12157:
12158: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
12159:
12160: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
12161: IF PG_DEBUG in ('Y', 'C') THEN
12162: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12163: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12164: END IF;

Line 12165: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

12161: IF PG_DEBUG in ('Y', 'C') THEN
12162: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12163: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12164: END IF;
12165: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
12166: -- dsting 2764213
12167: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
12168: IF PG_DEBUG in ('Y', 'C') THEN
12169: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12167: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

12163: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12164: END IF;
12165: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
12166: -- dsting 2764213
12167: ELSIF l_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
12168: IF PG_DEBUG in ('Y', 'C') THEN
12169: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12170: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12171: END IF;

Line 12172: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

12168: IF PG_DEBUG in ('Y', 'C') THEN
12169: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12170: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12171: END IF;
12172: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
12173: -- krajan 2752705
12174: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
12175: IF PG_DEBUG in ('Y', 'C') THEN
12176: msc_sch_wb.atp_debug('Error in ATP_CHECK');

Line 12174: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

12170: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12171: END IF;
12172: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
12173: -- krajan 2752705
12174: ELSIF l_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
12175: IF PG_DEBUG in ('Y', 'C') THEN
12176: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12177: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12178: END IF;

Line 12179: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

12175: IF PG_DEBUG in ('Y', 'C') THEN
12176: msc_sch_wb.atp_debug('Error in ATP_CHECK');
12177: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error in lower level component check');
12178: END IF;
12179: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
12180: END IF;
12181:
12182: -- Bug 3633591 - Reset G_ITEM_INFO_REC as it may have changed.
12183: G_ITEM_INFO_REC := C_ITEM_INFO_REC;

Line 12292: -- Bug 3633591 - Dont use global variable here : -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);

12288: l_order_date := MSC_CALENDAR.DATE_OFFSET (
12289: p_atp_record.manufacturing_cal_code,
12290: p_atp_record.instance_id,
12291: l_sugg_start_date,
12292: -- Bug 3633591 - Dont use global variable here : -1 * MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt, -1);
12293: -1 * l_pre_pro_lt, -1);
12294: --bug3821358 Moving Order date to non past due non working date on a day closer to the first working day
12295: IF l_order_date < l_trunc_sysdate THEN
12296: IF PG_DEBUG in ('Y', 'C') THEN

Line 12544: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY

12540: THEN
12541: --bug 3328421: Update actual_supply_demand_date column
12542: --update mrp_atp_details_temp set required_date =
12543: update mrp_atp_details_temp set actual_supply_demand_date =
12544: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
12545: where session_id = MSC_ATP_PVT.G_SESSION_ID
12546: and pegging_id = l_parent_pegging_id
12547: and record_type = 3;
12548:

Line 12545: where session_id = MSC_ATP_PVT.G_SESSION_ID

12541: --bug 3328421: Update actual_supply_demand_date column
12542: --update mrp_atp_details_temp set required_date =
12543: update mrp_atp_details_temp set actual_supply_demand_date =
12544: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
12545: where session_id = MSC_ATP_PVT.G_SESSION_ID
12546: and pegging_id = l_parent_pegging_id
12547: and record_type = 3;
12548:
12549: IF PG_DEBUG in ('Y', 'C') THEN

Line 12590: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY

12586: THEN
12587: --bug 3328421: update actual suply demand date
12588: --update mrp_atp_details_temp set required_date =
12589: update mrp_atp_details_temp set actual_supply_demand_date =
12590: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY
12591: where session_id = MSC_ATP_PVT.G_SESSION_ID
12592: and pegging_id = l_parent_pegging_id
12593: and record_type = 3;
12594:

Line 12591: where session_id = MSC_ATP_PVT.G_SESSION_ID

12587: --bug 3328421: update actual suply demand date
12588: --update mrp_atp_details_temp set required_date =
12589: update mrp_atp_details_temp set actual_supply_demand_date =
12590: TRUNC(l_ship_date) + MSC_ATP_PVT.G_END_OF_DAY
12591: where session_id = MSC_ATP_PVT.G_SESSION_ID
12592: and pegging_id = l_parent_pegging_id
12593: and record_type = 3;
12594:
12595: IF PG_DEBUG in ('Y', 'C') THEN

Line 12604: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;

12600:
12601: -- remove what's bad
12602: --subst: we remember this pegging id so that when we go back in
12603: -- ATP_CHECK_SUBST we can remember to remove this pegging if need to be
12604: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;
12605: -- remove what's bad
12606:
12607: IF PG_DEBUG in ('Y', 'C') THEN
12608: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_pegging_tab : ' || l_atp_pegging_tab.COUNT);

Line 12693: MSC_ATP_PVT.UNDO, -- dsting 2754446

12689: l_sugg_start_date, -- Bug 3241766
12690: l_order_date, -- Bug 3241766
12691: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
12692: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
12693: MSC_ATP_PVT.UNDO, -- dsting 2754446
12694: l_conversion_rate -- dsting 2754446
12695: ); -- dock date
12696:
12697: -- move the supply/demand, period atp

Line 12721: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and

12717: -- l_atp_rec.requested_date_quantity
12718:
12719: IF( l_atp_rec.children_type <> MAKE_BUY_CHILDREN and
12720: l_have_make_buy_parent = 0 AND
12721: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
12722: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
12723: THEN
12724: l_update_PO_mode := MSC_ATP_PVT.INVALID;
12725: ELSE

Line 12722: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )

12718:
12719: IF( l_atp_rec.children_type <> MAKE_BUY_CHILDREN and
12720: l_have_make_buy_parent = 0 AND
12721: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
12722: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
12723: THEN
12724: l_update_PO_mode := MSC_ATP_PVT.INVALID;
12725: ELSE
12726: l_update_PO_mode := MSC_ATP_PVT.UNDO;

Line 12724: l_update_PO_mode := MSC_ATP_PVT.INVALID;

12720: l_have_make_buy_parent = 0 AND
12721: MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and
12722: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
12723: THEN
12724: l_update_PO_mode := MSC_ATP_PVT.INVALID;
12725: ELSE
12726: l_update_PO_mode := MSC_ATP_PVT.UNDO;
12727: END IF;
12728: IF PG_DEBUG in ('Y', 'C') THEN

Line 12726: l_update_PO_mode := MSC_ATP_PVT.UNDO;

12722: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' )
12723: THEN
12724: l_update_PO_mode := MSC_ATP_PVT.INVALID;
12725: ELSE
12726: l_update_PO_mode := MSC_ATP_PVT.UNDO;
12727: END IF;
12728: IF PG_DEBUG in ('Y', 'C') THEN
12729: msc_sch_wb.atp_debug('ATP_Check: ' || 'set l_update_PO_mode ' || l_update_PO_mode);
12730: msc_sch_wb.atp_debug('ATP_Check: ' || 'make_buy_children ' || l_atp_rec.children_type);

Line 12744: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR

12740: -- balance the parent demand and only update the pegging
12741: -- dsting 2819716. we always add planned orders now
12742: -- so we should always update them too.
12743: -- IF l_constraint_flag <> 1 THEN
12744: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR
12745: l_sources.source_type.next(j) is not NULL OR
12746: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1
12747: THEN
12748:

Line 12746: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1

12742: -- so we should always update them too.
12743: -- IF l_constraint_flag <> 1 THEN
12744: IF l_update_PO_mode = MSC_ATP_PVT.INVALID OR
12745: l_sources.source_type.next(j) is not NULL OR
12746: MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1
12747: THEN
12748:
12749: IF PG_DEBUG in ('Y', 'C') THEN
12750: msc_sch_wb.atp_debug('l_PO_qty: ' || l_PO_qty);

Line 12774: IF l_update_PO_mode = MSC_ATP_PVT.UNDO THEN

12770: l_update_PO_mode,
12771: l_conversion_rate
12772: ); -- dock date
12773:
12774: IF l_update_PO_mode = MSC_ATP_PVT.UNDO THEN
12775: l_last_good_pegging_id := l_pegging_id;
12776: END IF;
12777:
12778: IF l_requested_ship_date <= p_atp_record.atf_date THEN

Line 12791: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

12787: least(greatest(l_atp_rec.requested_date_quantity, 0)));
12788: END IF;
12789: */
12790: --5230396, updating planned order for diag ATP too in Buy case.
12791: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
12792: IF PG_DEBUG in ('Y', 'C') THEN
12793: msc_sch_wb.atp_debug('l_PO_qty: ' || l_PO_qty);
12794: msc_sch_wb.atp_debug('l_prim_uom_req_date_qty: ' || l_prim_uom_req_date_qty);
12795: END IF;

Line 12871: 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

12867: --bug 3059305: Pass ship date from last source as the cutoff date
12868: l_get_comp_info_rec.ship_date_this_level := p_atp_record.ship_date;
12869:
12870: --4501944, call get_pf_plan_info in make cases too.
12871: 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
12872: MSC_ATP_PF.Get_PF_Plan_Info(
12873: p_atp_record.instance_id,
12874: p_atp_record.request_item_id,
12875: p_atp_record.inventory_item_id,

Line 12905: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, null);

12901:
12902: /* -- we also need to get model bom if it has not been collected
12903: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 THEN
12904:
12905: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, null);
12906: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
12907:
12908: END IF;
12909: */

Line 12928: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

12924: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN
12925: --l_PO_qty := CEIL(l_net_demand);
12926: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12927: IF (p_search = FORWARD_SCHEDULING)
12928: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12929: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12930: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12931: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
12932: IF PG_DEBUG in ('Y', 'C') THEN

Line 12929: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

12925: --l_PO_qty := CEIL(l_net_demand);
12926: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12927: IF (p_search = FORWARD_SCHEDULING)
12928: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12929: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12930: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12931: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
12932: IF PG_DEBUG in ('Y', 'C') THEN
12933: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 12930: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

12926: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12927: IF (p_search = FORWARD_SCHEDULING)
12928: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12929: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12930: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12931: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
12932: IF PG_DEBUG in ('Y', 'C') THEN
12933: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
12934: END IF;

Line 12944: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

12940: END IF;
12941: ELSE
12942: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12943: IF (p_search = FORWARD_SCHEDULING)
12944: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12945: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12946: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12947:
12948: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066

Line 12945: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

12941: ELSE
12942: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12943: IF (p_search = FORWARD_SCHEDULING)
12944: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12945: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12946: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12947:
12948: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
12949: IF PG_DEBUG in ('Y', 'C') THEN

Line 12946: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904

12942: --bug 3904063: Reset the quantity only in case of demand priorit allocated ATP
12943: IF (p_search = FORWARD_SCHEDULING)
12944: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
12945: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
12946: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN --bug3397904
12947:
12948: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
12949: IF PG_DEBUG in ('Y', 'C') THEN
12950: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 12977: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

12973: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_coprod_pegging_id := ' || l_coprod_pegging_id);
12974: END IF;
12975: --- bug 2178544
12976: ---- get mso_lead_time factor
12977: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
12978: --- Get the lead time for the item
12979: -- dsting 2754446
12980: l_net_processing_lt := CEIL((l_fixed_lt +
12981: (l_variable_lt * l_PO_qty))*(1 + l_mso_lead_time_factor)

Line 12996: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date;

12992: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_mso_lead_time_factor := ' || l_mso_lead_time_factor);
12993: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_processing_lt := ' || l_net_processing_lt);
12994: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_process_lt := ' || l_process_lt);
12995: END IF;
12996: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date;
12997: ---diag_ATP
12998: IF p_search = BACKWARD_SCHEDULING THEN
12999: l_constraint_flag := 2;
13000: --diag_ATP

Line 13059: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13055: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
13056: END IF;
13057: -- bug 2178544
13058:
13059: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13060: IF (l_order_date < l_sysdate OR l_start_date < l_ptf_date) THEN
13061: -- we set the constraint flag so that we know that an constraint has occured
13062: l_constraint_flag := 1;
13063:

Line 13118: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13114: l_pegging_rec.constraint_type := 2;
13115: END IF;
13116: END IF;
13117: END IF; -- IF (l_order_date < l_sysdate OR l_start_date < l_ptf_date) THEN
13118: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13119: END IF;
13120: IF p_search = FORWARD_SCHEDULING THEN
13121:
13122: -- p_sched_flag = FORWARD_SCHEDULING

Line 13130: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.organization_id,

13126: -- Therefore we calcuate these dates
13127: --- bug 2178544
13128: IF l_net_processing_lt > 0 THEN
13129: /* ship_rec_cal
13130: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13131: p_atp_record.instance_id,
13132: 1,
13133: l_sysdate,
13134: l_net_processing_lt); */

Line 13135: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,

13131: p_atp_record.instance_id,
13132: 1,
13133: l_sysdate,
13134: l_net_processing_lt); */
13135: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13136: p_atp_record.instance_id,
13137: l_sysdate,
13138: l_net_processing_lt, 1);
13139: ELSE

Line 13140: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := l_sysdate;

13136: p_atp_record.instance_id,
13137: l_sysdate,
13138: l_net_processing_lt, 1);
13139: ELSE
13140: MSC_ATP_PVT.G_FUTURE_ORDER_DATE := l_sysdate;
13141: END IF;
13142:
13143: IF l_process_lt > 0 THEN
13144: /* ship_rec_cal

Line 13160: MSC_ATP_PVT.G_FUTURE_START_DATE := GREATEST(l_start_date, MSC_ATP_PVT.G_PTF_DATE);

13156: END IF;
13157: IF PG_DEBUG in ('Y', 'C') THEN
13158: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_start_date := ' || l_start_date);
13159: END IF;
13160: MSC_ATP_PVT.G_FUTURE_START_DATE := GREATEST(l_start_date, MSC_ATP_PVT.G_PTF_DATE);
13161: ---we make sure that PTF for this stage is greatst of Parent's ptf - lead time,
13162: -- current level's PTF and (sysdate + pre processing lt). The last part is the minimum
13163: -- start date. This PTF is start date for the components for the current itme
13164: IF l_pre_pro_lt >0 THEN

Line 13165: MSC_ATP_PVT.G_PTF_DATE := GREATEST(

13161: ---we make sure that PTF for this stage is greatst of Parent's ptf - lead time,
13162: -- current level's PTF and (sysdate + pre processing lt). The last part is the minimum
13163: -- start date. This PTF is start date for the components for the current itme
13164: IF l_pre_pro_lt >0 THEN
13165: MSC_ATP_PVT.G_PTF_DATE := GREATEST(
13166: /* ship_rec_cal
13167: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13168: p_atp_record.instance_id,
13169: 1,

Line 13170: MSC_ATP_PVT.G_PTF_DATE,

13166: /* ship_rec_cal
13167: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13168: p_atp_record.instance_id,
13169: 1,
13170: MSC_ATP_PVT.G_PTF_DATE,
13171: -1 * l_process_lt),*/
13172: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13173: p_atp_record.instance_id,
13174: MSC_ATP_PVT.G_PTF_DATE,

Line 13174: MSC_ATP_PVT.G_PTF_DATE,

13170: MSC_ATP_PVT.G_PTF_DATE,
13171: -1 * l_process_lt),*/
13172: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13173: p_atp_record.instance_id,
13174: MSC_ATP_PVT.G_PTF_DATE,
13175: -1 * l_process_lt, -1),
13176: l_ptf_date,
13177: /* ship_rec_cal
13178: MSC_CALENDAR.date_offset(p_atp_record.organization_id,

Line 13188: MSC_ATP_PVT.G_PTF_DATE := GREATEST(

13184: p_atp_record.instance_id,
13185: l_sysdate,
13186: l_pre_pro_lt, 1));
13187: ELSE
13188: MSC_ATP_PVT.G_PTF_DATE := GREATEST(
13189: /* ship_rec_cal
13190: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13191: p_atp_record.instance_id,
13192: 1,

Line 13193: MSC_ATP_PVT.G_PTF_DATE,

13189: /* ship_rec_cal
13190: MSC_CALENDAR.date_offset(p_atp_record.organization_id,
13191: p_atp_record.instance_id,
13192: 1,
13193: MSC_ATP_PVT.G_PTF_DATE,
13194: -1 * l_process_lt),*/
13195: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13196: p_atp_record.instance_id,
13197: MSC_ATP_PVT.G_PTF_DATE,

Line 13197: MSC_ATP_PVT.G_PTF_DATE,

13193: MSC_ATP_PVT.G_PTF_DATE,
13194: -1 * l_process_lt),*/
13195: MSC_CALENDAR.date_offset(p_atp_record.manufacturing_cal_code,
13196: p_atp_record.instance_id,
13197: MSC_ATP_PVT.G_PTF_DATE,
13198: -1 * l_process_lt, -1),
13199: l_ptf_date, l_sysdate);
13200: END IF;
13201:

Line 13203: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);

13199: l_ptf_date, l_sysdate);
13200: END IF;
13201:
13202: IF PG_DEBUG in ('Y', 'C') THEN
13203: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
13204: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
13205: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
13206: END IF;
13207: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item

Line 13204: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);

13200: END IF;
13201:
13202: IF PG_DEBUG in ('Y', 'C') THEN
13203: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
13204: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
13205: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
13206: END IF;
13207: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item
13208: -- UI checks this column. If this coulm is populated then UI flags this PO

Line 13205: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

13201:
13202: IF PG_DEBUG in ('Y', 'C') THEN
13203: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_ORDER_DATE :='|| MSC_ATP_PVT.G_FUTURE_ORDER_DATE);
13204: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_FUTURE_START_DATE :='|| MSC_ATP_PVT.G_FUTURE_START_DATE);
13205: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
13206: END IF;
13207: --- if requested_ship_date is less than l_ptf_date then we add ptf_date for this item
13208: -- UI checks this column. If this coulm is populated then UI flags this PO
13209: --diag_atp

Line 13217: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN

13213: IF PG_DEBUG in ('Y', 'C') THEN
13214: msc_sch_wb.atp_debug('ATP_Check: ' || 'Add PTF date to pegging');
13215: END IF;
13216: -- Bug 3525582 - PTF constraint should be added only if plan is PTF enabled
13217: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN
13218: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;
13219: l_pegging_rec.constraint_type := 3;
13220: ELSE
13221: l_pegging_rec.constraint_date := l_start_date;

Line 13218: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;

13214: msc_sch_wb.atp_debug('ATP_Check: ' || 'Add PTF date to pegging');
13215: END IF;
13216: -- Bug 3525582 - PTF constraint should be added only if plan is PTF enabled
13217: IF l_ptf_enabled=2 OR MSC_ATP_PVT.G_FUTURE_ORDER_DATE > l_start_date THEN
13218: l_pegging_rec.constraint_date := MSC_ATP_PVT.G_FUTURE_ORDER_DATE;
13219: l_pegging_rec.constraint_type := 3;
13220: ELSE
13221: l_pegging_rec.constraint_date := l_start_date;
13222: l_pegging_rec.constraint_type := 2;

Line 13231: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag = 1 THEN

13227: /* Modularize Item and Org Info */
13228: -- Changed call to remove embedded function call.
13229:
13230: ---diag_atp
13231: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag = 1 THEN
13232: --in diagnostic ATP since we have already failed the lead time test
13233: --- there is no point in adding PO and removing it later
13234: l_transaction_id := NULL;
13235: ELSE

Line 13277: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN

13273: RAISE FND_API.G_EXC_ERROR;
13274: END IF;
13275: END IF;
13276: --s_cto_rearch
13277: IF MSC_ATP_PVT.G_INV_CTP = 4 THEN
13278: MSC_ATP_DB_UTILS.Add_Planned_Order(
13279: p_atp_record.instance_id,
13280: p_plan_id,
13281: PF_ITEM_INFO_REC.dest_inv_item_id,

Line 13322: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

13318: /* Modularize Item and Org Info */
13319:
13320: -- populate insert rec to pegging tree for this supply
13321:
13322: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
13323: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
13324: --subst
13325: --l_pegging_rec.parent_pegging_id:= l_pegging_id;
13326: l_pegging_rec.parent_pegging_id := l_parent_pegging_id;

Line 13323: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

13319:
13320: -- populate insert rec to pegging tree for this supply
13321:
13322: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
13323: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
13324: --subst
13325: --l_pegging_rec.parent_pegging_id:= l_pegging_id;
13326: l_pegging_rec.parent_pegging_id := l_parent_pegging_id;
13327: l_pegging_rec.atp_level:= p_level+1;

Line 13362: IF l_constraint_flag = 1 and NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 1 THEN

13358: l_pegging_rec.scenario_id:= p_scenario_id;
13359: l_pegging_rec.supply_demand_source_type:= 1;
13360:
13361: --diag_atp -- bug 3903205: set qty to zero only for diagnostic ATP
13362: IF l_constraint_flag = 1 and NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP, 2) = 1 THEN
13363: l_pegging_rec.supply_demand_quantity :=0;
13364: ELSE
13365: l_pegging_rec.supply_demand_quantity :=l_PO_qty; -- 2754446
13366: -- l_pegging_rec.supply_demand_quantity :=l_net_demand;

Line 13379: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

13375:
13376: -- for demo:1153192
13377: l_pegging_rec.constraint_flag := 'N';
13378: l_pegging_rec.component_identifier :=
13379: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
13380:
13381: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
13382:
13383: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item

Line 13381: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

13377: l_pegging_rec.constraint_flag := 'N';
13378: l_pegging_rec.component_identifier :=
13379: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
13380:
13381: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
13382:
13383: --- bug 2152184: For PF based ATP inventory_item_id field contains id for PF item
13384: --- cto looks at pegging tree to place their demands. Since CTO expects to find
13385: -- id for the requested item, we add the following column. CTO will now read from this column

Line 13397: l_pegging_rec.pegging_type := MSC_ATP_PVT.MAKE_SUPPLY; -- it is a make planned order

13393: --bug 4409618: Show variable and fixed lt in pegging properties
13394: l_pegging_rec.fixed_lead_time := l_fixed_lt;
13395: l_pegging_rec.VARIABLE_LEAD_TIME := l_variable_lt;
13396:
13397: l_pegging_rec.pegging_type := MSC_ATP_PVT.MAKE_SUPPLY; -- it is a make planned order
13398: l_pegging_rec.required_date := l_requested_ship_date;
13399: --bug 3328421
13400: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
13401: l_pegging_rec.required_quantity := l_net_demand;

Line 13460: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

13456: END IF;
13457:
13458: /*--- bug 2178544
13459: ---- get mso_lead_time factor
13460: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
13461: --- Get the lead time for the item
13462: l_net_processing_lt := CEIL((l_fixed_lt +
13463: (l_variable_lt * l_net_demand))*(1 + l_mso_lead_time_factor)
13464: + l_pre_pro_lt);

Line 13472: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date; */

13468: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_mso_lead_time_factor := ' || l_mso_lead_time_factor);
13469: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_net_processing_lt := ' || l_net_processing_lt);
13470: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_process_lt := ' || l_process_lt);
13471: END IF;
13472: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL := l_ptf_date; */
13473:
13474: IF PG_DEBUG in ('Y', 'C') THEN
13475: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
13476: END IF;

Line 13478: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR

13474: IF PG_DEBUG in ('Y', 'C') THEN
13475: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
13476: END IF;
13477: --diag_atp
13478: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR
13479: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN
13480:
13481: l_avail_assembly_qty := l_net_demand;
13482: --2178544

Line 13479: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN

13475: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_search' || p_search);
13476: END IF;
13477: --diag_atp
13478: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and l_constraint_flag <> 1) OR
13479: (p_search = BACKWARD_SCHEDULING and MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1) THEN
13480:
13481: l_avail_assembly_qty := l_net_demand;
13482: --2178544
13483: ---- if lead time > 0 then offset the date to see if the offseted

Line 13549: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13545:
13546: END IF;
13547:
13548: ---diag_ATP
13549: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13550: ---In diagnostic mode we look for complete qty. Thats why looks
13551: -- for component as if we got complete resource qty.
13552: l_res_avail_qty := l_avail_assembly_qty;
13553: l_avail_assembly_qty := l_net_demand;

Line 13636: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

13632: );
13633: -- Allow creation of Sales Order for CTO comps.
13634: -- 2400614: krajan
13635: EXCEPTION
13636: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
13637: IF PG_DEBUG in ('Y', 'C') THEN
13638: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
13639: END IF;
13640: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

Line 13640: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

13636: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
13637: IF PG_DEBUG in ('Y', 'C') THEN
13638: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
13639: END IF;
13640: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13641: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13642:
13643: -- dsting 2764213
13644: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 13641: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

13637: IF PG_DEBUG in ('Y', 'C') THEN
13638: msc_sch_wb.atp_debug('ATP_Check: ' || ' Sourcing Mismatch Error');
13639: END IF;
13640: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13641: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13642:
13643: -- dsting 2764213
13644: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
13645: IF PG_DEBUG in ('Y', 'C') THEN

Line 13644: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

13640: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13641: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13642:
13643: -- dsting 2764213
13644: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
13645: IF PG_DEBUG in ('Y', 'C') THEN
13646: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
13647: END IF;
13648: --24x7

Line 13649: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

13645: IF PG_DEBUG in ('Y', 'C') THEN
13646: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
13647: END IF;
13648: --24x7
13649: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13650: ---2854351
13651: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13652: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13653: else

Line 13651: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

13647: END IF;
13648: --24x7
13649: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13650: ---2854351
13651: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13652: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13653: else
13654: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13655: end if;

Line 13652: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

13648: --24x7
13649: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13650: ---2854351
13651: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13652: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13653: else
13654: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13655: end if;
13656:

Line 13654: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

13650: ---2854351
13651: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13652: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13653: else
13654: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13655: end if;
13656:
13657: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13658: -- krajan 2752705

Line 13657: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

13653: else
13654: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13655: end if;
13656:
13657: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13658: -- krajan 2752705
13659: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13660: IF PG_DEBUG in ('Y', 'C') THEN
13661: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');

Line 13659: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

13655: end if;
13656:
13657: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13658: -- krajan 2752705
13659: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13660: IF PG_DEBUG in ('Y', 'C') THEN
13661: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
13662: END IF;
13663: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 13663: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

13659: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13660: IF PG_DEBUG in ('Y', 'C') THEN
13661: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
13662: END IF;
13663: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13664: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13665: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13666: IF PG_DEBUG in ('Y', 'C') THEN
13667: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 13664: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

13660: IF PG_DEBUG in ('Y', 'C') THEN
13661: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
13662: END IF;
13663: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13664: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13665: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13666: IF PG_DEBUG in ('Y', 'C') THEN
13667: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13668: END IF;

Line 13665: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

13661: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Error');
13662: END IF;
13663: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13664: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13665: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13666: IF PG_DEBUG in ('Y', 'C') THEN
13667: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13668: END IF;
13669: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 13669: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

13665: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13666: IF PG_DEBUG in ('Y', 'C') THEN
13667: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13668: END IF;
13669: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13670: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13671: END;
13672:
13673: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

Line 13670: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

13666: IF PG_DEBUG in ('Y', 'C') THEN
13667: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13668: END IF;
13669: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13670: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13671: END;
13672:
13673: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
13674:

Line 13673: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

13669: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13670: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13671: END;
13672:
13673: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
13674:
13675: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
13676:
13677: ELSIF l_return_status <>FND_API.G_RET_STS_SUCCESS THEN

Line 13675: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

13671: END;
13672:
13673: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
13674:
13675: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
13676:
13677: ELSIF l_return_status <>FND_API.G_RET_STS_SUCCESS THEN
13678: RAISE FND_API.G_EXC_ERROR;
13679: END IF;

Line 13705: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13701: -- make node.
13702: -- 2: redo this make node with l_avail_assembly_qty.
13703:
13704: -- 2869830 do not assume lower level returns rounded qty
13705: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13706: l_avail_assembly_qty := LEAST(l_avail_assembly_qty, l_res_avail_qty);
13707: END IF;
13708:
13709: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN

Line 13721: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

13717: END IF;
13718:
13719: --diag_atp
13720: --- we go back and adjust the quantities for non-diagnostic ATP only
13721: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
13722: l_avail_assembly_qty := LEAST(l_avail_assembly_qty, l_res_avail_qty);
13723:
13724: IF PG_DEBUG in ('Y', 'C') THEN
13725: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_avail_assembly_qty := ' || l_avail_assembly_qty);

Line 13738: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1

13734: IF l_avail_PO_qty < l_net_demand THEN -- 2754446
13735: --IF l_avail_assembly_qty < l_net_demand THEN
13736: l_last_good_pegging_id := l_pegging_id;
13737: IF l_sources.source_type.next(j) IS NULL
13738: AND MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
13739: THEN
13740: MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id, null, l_avail_PO_qty); -- 2869830
13741: -- MSC_ATP_DB_UTILS.Update_Pegging(l_pegging_id, null, l_avail_assembly_qty);
13742: ELSE

Line 13759: MSC_ATP_PVT.UNDO);

13755: --null, -- Bug 3241766
13756: --null, -- Bug 3241766
13757: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
13758: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
13759: MSC_ATP_PVT.UNDO);
13760: END IF;
13761:
13762: END IF;
13763: -- move the supply/demand, period atp

Line 13837: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);

13833: -- just to make sure that in case of CTO, we try to get the
13834: -- BOM correctly from msc_bom_temp_table.
13835:
13836: IF PG_DEBUG in ('Y', 'C') THEN
13837: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
13838: END IF;
13839:
13840: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;
13841:

Line 13840: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;

13836: IF PG_DEBUG in ('Y', 'C') THEN
13837: msc_sch_wb.atp_debug('ATP_Check: ' || 'setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
13838: END IF;
13839:
13840: MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ASSEMBLY_LINE_ID;
13841:
13842: IF ((l_atp_comp_flag = 'R') OR
13843: (l_atp_comp_flag = 'C')) THEN
13844: -- get resource requirements first

Line 13964: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

13960: -- Allow creation of Sales Order for CTO comps.
13961: -- 2400614 : krajan
13962: EXCEPTION
13963: -- Raising exception handled below
13964: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
13965: IF PG_DEBUG in ('Y', 'C') THEN
13966: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
13967: END IF;
13968: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

Line 13968: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

13964: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
13965: IF PG_DEBUG in ('Y', 'C') THEN
13966: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
13967: END IF;
13968: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13969: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13970:
13971: -- dsting 2764213
13972: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 13969: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

13965: IF PG_DEBUG in ('Y', 'C') THEN
13966: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sourcing Mismatch Error');
13967: END IF;
13968: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13969: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13970:
13971: -- dsting 2764213
13972: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
13973: IF PG_DEBUG in ('Y', 'C') THEN

Line 13972: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

13968: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
13969: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
13970:
13971: -- dsting 2764213
13972: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
13973: IF PG_DEBUG in ('Y', 'C') THEN
13974: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
13975: END IF;
13976: --24x7

Line 13977: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

13973: IF PG_DEBUG in ('Y', 'C') THEN
13974: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
13975: END IF;
13976: --24x7
13977: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13978: --bug 2854351:
13979: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13981: else

Line 13979: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

13975: END IF;
13976: --24x7
13977: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13978: --bug 2854351:
13979: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13981: else
13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13983: end if;

Line 13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

13976: --24x7
13977: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
13978: --bug 2854351:
13979: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13981: else
13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13983: end if;
13984: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

Line 13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

13978: --bug 2854351:
13979: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13981: else
13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13983: end if;
13984: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13985: -- krajan : 2752705
13986: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

Line 13984: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

13980: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
13981: else
13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13983: end if;
13984: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13985: -- krajan : 2752705
13986: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13987: IF PG_DEBUG in ('Y', 'C') THEN
13988: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');

Line 13986: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

13982: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
13983: end if;
13984: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
13985: -- krajan : 2752705
13986: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13987: IF PG_DEBUG in ('Y', 'C') THEN
13988: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
13989: END IF;
13990: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 13990: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

13986: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
13987: IF PG_DEBUG in ('Y', 'C') THEN
13988: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
13989: END IF;
13990: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13991: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13992: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13993: IF PG_DEBUG in ('Y', 'C') THEN
13994: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 13991: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

13987: IF PG_DEBUG in ('Y', 'C') THEN
13988: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
13989: END IF;
13990: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13991: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13992: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13993: IF PG_DEBUG in ('Y', 'C') THEN
13994: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13995: END IF;

Line 13992: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

13988: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item Found');
13989: END IF;
13990: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
13991: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
13992: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13993: IF PG_DEBUG in ('Y', 'C') THEN
13994: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13995: END IF;
13996: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 13996: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

13992: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
13993: IF PG_DEBUG in ('Y', 'C') THEN
13994: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13995: END IF;
13996: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13997: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13998: END;
13999:
14000: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

Line 13997: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

13993: IF PG_DEBUG in ('Y', 'C') THEN
13994: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
13995: END IF;
13996: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13997: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13998: END;
13999:
14000: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14001:

Line 14000: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

13996: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
13997: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
13998: END;
13999:
14000: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14001:
14002: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14003:
14004: ELSIF l_return_status <>

Line 14002: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

13998: END;
13999:
14000: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14001:
14002: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14003:
14004: ELSIF l_return_status <>
14005: FND_API.G_RET_STS_SUCCESS THEN
14006: RAISE FND_API.G_EXC_ERROR;

Line 14069: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14065: --null, -- Bug 3241766
14066: --null, -- Bug 3241766
14067: C_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
14068: PF_ITEM_INFO_REC.dest_inv_item_id); -- Bug 3293163
14069: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14070: END IF; -- end if l_avail_assembly_qty > 0
14071: ELSE
14072: -- move the supply/demand, period atp
14073: -- of the components to the output record of

Line 14098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14094: IF PG_DEBUG in ('Y', 'C') THEN
14095: msc_sch_wb.atp_debug('ATP_Check: ' || 'msc_plan_coproducts = ' || l_coproducts_flag);
14096: END IF;
14097: --- set the sumary flag back to summary flag for p_plan_id
14098: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14099: IF ((l_atp_comp_flag = 'C') OR
14100: (l_atp_comp_flag = 'Y')) AND
14101: l_coproducts_flag = 'Y' AND
14102: l_avail_assembly_qty >0 THEN

Line 14139: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

14135: l_net_demand := 0;
14136: EXIT;
14137: END IF;
14138: ---diag_atp
14139: ELSIF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
14140: IF PG_DEBUG in ('Y', 'C') THEN
14141: msc_sch_wb.atp_debug('ATP_Check: ' || 'inside forward_scheduling');
14142: END IF;
14143: -- p_sched_flag = FORWARD_SCHEDULING

Line 14157: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);

14153: -- Bug 1532051, set G_COMP_LINE_ID again to G_ORDER_LINE_ID,
14154: -- just to make sure that in case of CTO, we try to get the
14155: -- BOM correctly from msc_bom_temp_table.
14156:
14157: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);
14158:
14159: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;
14160:
14161: -- dsting 2754446 adjust l_net_demand according to rounding_control_type

Line 14159: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;

14155: -- BOM correctly from msc_bom_temp_table.
14156:
14157: --msc_sch_wb.atp_debug('setting G_COMP_LINE_ID = '||MSC_ATP_PVT.G_ORDER_LINE_ID);
14158:
14159: --MSC_ATP_PVT.G_COMP_LINE_ID := MSC_ATP_PVT.G_ORDER_LINE_ID;
14160:
14161: -- dsting 2754446 adjust l_net_demand according to rounding_control_type
14162: -- so our planned orders turn out right for the future case.
14163: IF NVL(C_ITEM_INFO_REC.rounding_control_type, 2) = 1 THEN

Line 14168: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

14164: --l_PO_qty := CEIL(l_net_demand);
14165: --bug3397904 start
14166: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14167: IF (p_search = FORWARD_SCHEDULING)
14168: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14169: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14170: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14171: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
14172: IF PG_DEBUG in ('Y', 'C') THEN

Line 14169: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

14165: --bug3397904 start
14166: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14167: IF (p_search = FORWARD_SCHEDULING)
14168: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14169: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14170: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14171: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
14172: IF PG_DEBUG in ('Y', 'C') THEN
14173: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 14170: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

14166: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14167: IF (p_search = FORWARD_SCHEDULING)
14168: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14169: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14170: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14171: l_PO_qty := CEIL(p_atp_record.quantity_ordered);
14172: IF PG_DEBUG in ('Y', 'C') THEN
14173: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
14174: END IF;

Line 14184: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

14180: END IF;
14181: ELSE
14182: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14183: IF (p_search = FORWARD_SCHEDULING)
14184: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14185: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14186: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14187: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
14188: IF PG_DEBUG in ('Y', 'C') THEN

Line 14185: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1

14181: ELSE
14182: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14183: IF (p_search = FORWARD_SCHEDULING)
14184: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14185: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14186: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14187: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
14188: IF PG_DEBUG in ('Y', 'C') THEN
14189: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);

Line 14186: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

14182: --bug 3904063: Reset the quantity only in case of demand priority allocated ATP
14183: IF (p_search = FORWARD_SCHEDULING)
14184: AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14185: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1
14186: AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14187: l_PO_qty := trunc(p_atp_record.quantity_ordered, 6); --5598066
14188: IF PG_DEBUG in ('Y', 'C') THEN
14189: msc_sch_wb.atp_debug('If l_PO_qty: ' || l_PO_qty);
14190: END IF;

Line 14341: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

14337: );
14338: -- Allow creation of Sales Order for CTO comps.
14339: -- 2400614 : krajan
14340: EXCEPTION
14341: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14342: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14343: IF PG_DEBUG in ('Y', 'C') THEN
14344: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
14345: END IF;

Line 14342: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

14338: -- Allow creation of Sales Order for CTO comps.
14339: -- 2400614 : krajan
14340: EXCEPTION
14341: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
14342: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14343: IF PG_DEBUG in ('Y', 'C') THEN
14344: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
14345: END IF;
14346: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

Line 14346: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

14342: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
14343: IF PG_DEBUG in ('Y', 'C') THEN
14344: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch Error');
14345: END IF;
14346: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14347:
14348: -- dsting 2764213
14349: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14350: IF PG_DEBUG in ('Y', 'C') THEN

Line 14349: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

14345: END IF;
14346: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
14347:
14348: -- dsting 2764213
14349: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
14350: IF PG_DEBUG in ('Y', 'C') THEN
14351: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14352: END IF;
14353: --24x7

Line 14354: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

14350: IF PG_DEBUG in ('Y', 'C') THEN
14351: msc_sch_wb.atp_debug('ATP_Check: Plan not found Error');
14352: END IF;
14353: --24x7
14354: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14355: --bug 2854351
14356: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14358: else

Line 14356: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

14352: END IF;
14353: --24x7
14354: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14355: --bug 2854351
14356: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14358: else
14359: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14360: end if;

Line 14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

14353: --24x7
14354: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
14355: --bug 2854351
14356: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14358: else
14359: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14360: end if;
14361: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

Line 14359: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

14355: --bug 2854351
14356: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14358: else
14359: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14360: end if;
14361: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14362:
14363: -- krajan : 2752705

Line 14361: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

14357: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
14358: else
14359: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
14360: end if;
14361: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14362:
14363: -- krajan : 2752705
14364: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14365: IF PG_DEBUG in ('Y', 'C') THEN

Line 14364: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

14360: end if;
14361: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
14362:
14363: -- krajan : 2752705
14364: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14365: IF PG_DEBUG in ('Y', 'C') THEN
14366: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
14367: END IF;
14368: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

Line 14368: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

14364: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
14365: IF PG_DEBUG in ('Y', 'C') THEN
14366: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
14367: END IF;
14368: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14369: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14370:
14371: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14372: IF PG_DEBUG in ('Y', 'C') THEN

Line 14369: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

14365: IF PG_DEBUG in ('Y', 'C') THEN
14366: msc_sch_wb.atp_debug('ATP_Check: Uncollected Item');
14367: END IF;
14368: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14369: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14370:
14371: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14372: IF PG_DEBUG in ('Y', 'C') THEN
14373: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');

Line 14371: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

14367: END IF;
14368: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
14369: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
14370:
14371: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14372: IF PG_DEBUG in ('Y', 'C') THEN
14373: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14374: END IF;
14375: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

Line 14375: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

14371: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
14372: IF PG_DEBUG in ('Y', 'C') THEN
14373: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14374: END IF;
14375: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14376: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14377: END;
14378:
14379: IF PG_DEBUG in ('Y', 'C') THEN

Line 14376: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

14372: IF PG_DEBUG in ('Y', 'C') THEN
14373: msc_sch_wb.atp_debug ('ATP_Check:NO_MATCHING_DATE_IN_CAL');
14374: END IF;
14375: p_atp_record.error_code := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
14376: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
14377: END;
14378:
14379: IF PG_DEBUG in ('Y', 'C') THEN
14380: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_avail_assembly_qty = '||l_avail_assembly_qty);

Line 14393: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

14389:
14390: END IF;
14391:
14392: -- check the return status
14393: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14394:
14395: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14396: ELSIF l_return_status <>
14397: FND_API.G_RET_STS_SUCCESS THEN

Line 14395: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

14391:
14392: -- check the return status
14393: IF l_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
14394:
14395: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
14396: ELSIF l_return_status <>
14397: FND_API.G_RET_STS_SUCCESS THEN
14398: RAISE FND_API.G_EXC_ERROR;
14399: END IF;

Line 14500: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;

14496:
14497: -- remove what's bad
14498: --- subst: remember this pegging as we might need to undo
14499: --- this pegging in ATP_CHECK_SUBST
14500: MSC_ATP_PVT.G_FUTURE_PEGGING_ID := l_pegging_id;
14501:
14502: IF PG_DEBUG in ('Y', 'C') THEN
14503: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_pegging_tab : ' || l_atp_pegging_tab.COUNT);
14504: END IF;

Line 14648: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14644: IF PG_DEBUG in ('Y', 'C') THEN
14645: msc_sch_wb.atp_debug('ATP_Check: ' || 'OSFM Coproducts Forward ');
14646: END IF;
14647: --- reset the sumamry flag back to summary flag corresponding to p_plan_id
14648: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14649: --- OSFM Changes: update coproduct supply
14650: l_coproducts_flag := FND_Profile.value('MSC_PLAN_COPRODUCTS');
14651: IF PG_DEBUG in ('Y', 'C') THEN
14652: msc_sch_wb.atp_debug('ATP_Check: ' || 'msc_plan_coproducts = ' || l_coproducts_flag);

Line 14708: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

14704: msc_sch_wb.atp_debug('ATP_Check: ' || 'CTP QTY : ' || l_atp_ctp_qty );
14705: END IF;
14706:
14707:
14708: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
14709: MSC_ATP_DB_UTILS.Update_Pegging( l_substitutes_rec.pegging_id(l_index),
14710: null,
14711: l_atp_ctp_qty );
14712: END IF;

Line 14748: AND session_id = MSC_ATP_PVT.G_SESSION_ID

14744: --in order to update the demand id for the pegging line, otherwise demand will remain in the system
14745: UPDATE mrp_atp_details_temp
14746: SET identifier3 = l_demand_id
14747: WHERE pegging_id = l_substitutes_rec.pegging_id(l_index)
14748: AND session_id = MSC_ATP_PVT.G_SESSION_ID
14749: AND record_type = 3;
14750:
14751: ELSE
14752: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

Line 14752: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN

14748: AND session_id = MSC_ATP_PVT.G_SESSION_ID
14749: AND record_type = 3;
14750:
14751: ELSE
14752: IF NVL(MSC_ATP_PVT.G_DIAGNOSTIC_ATP,2) <> 1 THEN
14753: MSC_ATP_DB_UTILS.Update_Pegging( l_substitutes_rec.pegging_id(l_index),
14754: null,
14755: l_atp_ctp_qty );
14756: END IF;

Line 14771: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

14767: msc_sch_wb.atp_debug('ATP_Check : l_sub_atp_qty :' || l_substitutes_rec.sub_atp_qty(l_index));
14768: msc_sch_wb.atp_debug('ATP_Check : pegging_id :' || l_substitutes_rec.pegging_id(l_index));
14769: msc_sch_wb.atp_debug('ATP_Check : demand id :' || l_substitutes_rec.demand_id(l_index));
14770: END IF;
14771: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14772: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14773: update msc_alloc_demands
14774: set allocated_quantity = l_atp_ctp_qty
14775: where parent_demand_id = l_substitutes_rec.demand_id(l_index) --l_demand_id

Line 14772: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

14768: msc_sch_wb.atp_debug('ATP_Check : pegging_id :' || l_substitutes_rec.pegging_id(l_index));
14769: msc_sch_wb.atp_debug('ATP_Check : demand id :' || l_substitutes_rec.demand_id(l_index));
14770: END IF;
14771: IF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14772: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14773: update msc_alloc_demands
14774: set allocated_quantity = l_atp_ctp_qty
14775: where parent_demand_id = l_substitutes_rec.demand_id(l_index) --l_demand_id
14776: --where parent_demand_id = l_demand_id

Line 14781: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

14777: and plan_id = p_plan_id;
14778: END IF;
14779: IF PG_DEBUG in ('Y', 'C') THEN
14780: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
14781: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14782: END IF;
14783: -- update summary records removed in ODS case - for summary enhancement
14784: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
14785: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,

Line 14784: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

14780: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
14781: msc_sch_wb.atp_debug('ATP_Check: ' || ' MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14782: END IF;
14783: -- update summary records removed in ODS case - for summary enhancement
14784: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
14785: MSC_ATP_PROC.SHOW_SUMMARY_QUANTITY(p_atp_record.instance_id,
14786: p_plan_id,
14787: p_atp_record.organization_id,
14788: l_inventory_item_id,

Line 14837: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'

14833: msc_sch_wb.atp_debug('net_demand ' || l_net_demand);
14834: msc_sch_wb.atp_debug('subst last good pegging ' || MSC_ATP_SUBST.G_TOP_LAST_PO_PEGGING);
14835: END IF;
14836:
14837: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y'
14838: AND l_last_good_pegging_id is NULL
14839: AND MSC_ATP_SUBST.G_TOP_LAST_PO_PEGGING is not null
14840: AND p_atp_record.top_tier_org_flag = 1
14841: THEN

Line 14848: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND

14844: ELSE
14845: l_subst_existing_PO_qty := 0;
14846: END IF;
14847:
14848: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND
14849: l_net_demand > 0 AND
14850: l_pegging_id <> l_last_good_pegging_id
14851: THEN
14852: -- bug 5598066 added the following to honour rounding_control_type

Line 14886: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

14882: PF_ITEM_INFO_REC.dest_inv_item_id, -- Bug 3293163
14883: 3);
14884: END IF;
14885:
14886: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14887: IF PG_DEBUG in ('Y', 'C') THEN
14888: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14889: END IF;
14890:

Line 14888: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

14884: END IF;
14885:
14886: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
14887: IF PG_DEBUG in ('Y', 'C') THEN
14888: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14889: END IF;
14890:
14891: --- adjust the demand here
14892: IF (l_net_demand > 0) and (p_search =1) and (p_parent_pegging_id is null) THEN

Line 14896: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

14892: IF (l_net_demand > 0) and (p_search =1) and (p_parent_pegging_id is null) THEN
14893:
14894: -- dsting diag_atp. do not adjust the demands for diagnostic ATP
14895:
14896: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
14897: update msc_demands
14898: set USING_REQUIREMENT_QUANTITY =
14899: MSC_ATP_UTILS.Truncate_Demand((USING_REQUIREMENT_QUANTITY-l_net_demand)) -- 5598066
14900: where demand_id = l_demand_id

Line 14923: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

14919: msc_sch_wb.atp_debug('ATP_Check: ' || 'Error occured in procedure Increment_Bucketed_Demands_Qty');
14920: END IF;
14921: RAISE FND_API.G_EXC_ERROR;
14922: END IF;
14923: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14924: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14925:
14926: update msc_alloc_demands
14927: set allocated_quantity = allocated_quantity -l_net_demand

Line 14924: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

14920: END IF;
14921: RAISE FND_API.G_EXC_ERROR;
14922: END IF;
14923: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
14924: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
14925:
14926: update msc_alloc_demands
14927: set allocated_quantity = allocated_quantity -l_net_demand
14928: where parent_demand_id = l_demand_id

Line 14934: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);

14930: END IF;
14931:
14932: IF PG_DEBUG in ('Y', 'C') THEN
14933: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check This scenario in backward case');
14934: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14935: END IF;
14936:
14937: -- update summary records removed in ODS cases - for summary enhancement
14938: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 14938: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

14934: msc_sch_wb.atp_debug('ATP_Check: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG' || MSC_ATP_PVT.G_SUMMARY_FLAG);
14935: END IF;
14936:
14937: -- update summary records removed in ODS cases - for summary enhancement
14938: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
14939: IF PG_DEBUG in ('Y', 'C') THEN
14940: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
14941: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);
14942: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 14988: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN

14984:
14985: /* rajjain changes for re-review comments
14986: removed check for rule based AATP as this should be set
14987: for all scenarios
14988: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 2 THEN
14989: p_atp_record.used_available_quantity :=
14990: l_used_available_quantity;
14991: END IF; --bug3409973*/
14992: p_atp_record.used_available_quantity :=

Line 15067: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';

15063: (USING_REQUIREMENT_QUANTITY-l_net_demand)
15064: where demand_id = l_demand_id
15065: and plan_id = p_plan_id;*/
15066:
15067: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15068: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15069: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15070: ELSIF p_search = 1 AND
15071: --subst: In case of substitution we do not want to adjust the planned order for top org

Line 15068: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;

15064: where demand_id = l_demand_id
15065: and plan_id = p_plan_id;*/
15066:
15067: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15068: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15069: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15070: ELSIF p_search = 1 AND
15071: --subst: In case of substitution we do not want to adjust the planned order for top org
15072: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND

Line 15069: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;

15065: and plan_id = p_plan_id;*/
15066:
15067: MSC_ATP_PVT.G_FIND_FUTURE_DATE := 'Y';
15068: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := p_atp_record.Identifier;
15069: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15070: ELSIF p_search = 1 AND
15071: --subst: In case of substitution we do not want to adjust the planned order for top org
15072: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND
15073: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND

Line 15073: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND

15069: MSC_ATP_PVT.G_COMP_LINE_ID := p_atp_record.Identifier;
15070: ELSIF p_search = 1 AND
15071: --subst: In case of substitution we do not want to adjust the planned order for top org
15072: NOT (NVL(p_atp_record.original_item_flag, 2) = 1 AND
15073: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND
15074: p_atp_record.top_tier_org_flag = 1) THEN
15075: --diag_atp: we do not adjust the demand in case of diagnostic ATP, because we place the
15076: -- same demand as we need.
15077: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

Line 15077: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

15073: MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND
15074: p_atp_record.top_tier_org_flag = 1) THEN
15075: --diag_atp: we do not adjust the demand in case of diagnostic ATP, because we place the
15076: -- same demand as we need.
15077: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
15078: -- adjust the demand record
15079: IF PG_DEBUG in ('Y', 'C') THEN
15080: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this scenario, bacward case 2');
15081: msc_sch_wb.atp_debug('ATP_Check: ' || 'adjust demand record, l_parent_pegging_id = '||l_parent_pegging_id);

Line 15087: where session_id = MSC_ATP_PVT.G_SESSION_ID

15083: /* bug 1235225
15084: update mrp_atp_details_temp
15085: set supply_demand_quantity =
15086: (supply_demand_quantity - l_net_demand)
15087: where session_id = MSC_ATP_PVT.G_SESSION_ID
15088: and pegging_id = l_parent_pegging_id
15089: and record_type = 3;
15090: */
15091:

Line 15095: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID

15091:
15092: SELECT supply_demand_quantity
15093: INTO l_peg_qty
15094: FROM mrp_atp_details_temp
15095: WHERE session_id = MSC_ATP_PVT.G_SESSION_ID
15096: AND pegging_id = l_parent_pegging_id
15097: AND record_type = 3;
15098:
15099: MSC_ATP_DB_UTILS.Update_Pegging(l_parent_pegging_id,

Line 15108: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN

15104: msc_sch_wb.atp_debug('ATP_Check: ' || 'adjust demand quantity, l_demand_id = '||l_demand_id);
15105: END IF;
15106:
15107: -- dsting diag_atp do not adjust the demands for diagnostic atp
15108: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP <> 1 THEN
15109:
15110: update msc_demands
15111: set USING_REQUIREMENT_QUANTITY =
15112: MSC_ATP_UTILS.Truncate_Demand((USING_REQUIREMENT_QUANTITY-l_net_demand)) -- 5598066

Line 15136: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15132: END IF;
15133: RAISE FND_API.G_EXC_ERROR;
15134: END IF;
15135: --alloc_pp
15136: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15137: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15138:
15139: update msc_alloc_demands
15140: set allocated_quantity = allocated_quantity - l_net_demand

Line 15137: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15133: RAISE FND_API.G_EXC_ERROR;
15134: END IF;
15135: --alloc_pp
15136: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15137: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15138:
15139: update msc_alloc_demands
15140: set allocated_quantity = allocated_quantity - l_net_demand
15141: where parent_demand_id = l_demand_id

Line 15146: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

15142: and plan_id = p_plan_id;
15143: END IF;
15144:
15145: IF PG_DEBUG in ('Y', 'C') THEN
15146: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15147: END IF;
15148:
15149: -- update summary records removed in ODS cases - for summary enhancement
15150: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

Line 15150: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN

15146: msc_sch_wb.atp_debug('ATP_Check: ' || 'Check this Flag MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
15147: END IF;
15148:
15149: -- update summary records removed in ODS cases - for summary enhancement
15150: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND p_plan_id = -1 THEN
15151: IF PG_DEBUG in ('Y', 'C') THEN
15152: msc_sch_wb.atp_debug('ATP_Check: ' || 'update sd table for component');
15153: msc_sch_wb.atp_debug('ATP_Check: ' || 'in sumary mode, update msc-demands');
15154: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_inventory_item_id := ' || l_inventory_item_id);

Line 15219: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY

15215: --THEN
15216: --bug 3328421: update actual date
15217: --update mrp_atp_details_temp set required_date =
15218: update mrp_atp_details_temp set actual_supply_demand_date =
15219: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
15220: where session_id = MSC_ATP_PVT.G_SESSION_ID
15221: and pegging_id = l_parent_pegging_id
15222: and record_type = 3;
15223:

Line 15220: where session_id = MSC_ATP_PVT.G_SESSION_ID

15216: --bug 3328421: update actual date
15217: --update mrp_atp_details_temp set required_date =
15218: update mrp_atp_details_temp set actual_supply_demand_date =
15219: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY
15220: where session_id = MSC_ATP_PVT.G_SESSION_ID
15221: and pegging_id = l_parent_pegging_id
15222: and record_type = 3;
15223:
15224: IF PG_DEBUG in ('Y','C') THEN

Line 15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

15231: -- For bug 2259824, move the demand to the end of day
15232: ----start changes for plan by request date
15233: SET USING_ASSEMBLY_DEMAND_DATE =
15234: DECODE(ORIGINATION_TYPE,
15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

15232: ----start changes for plan by request date
15233: SET USING_ASSEMBLY_DEMAND_DATE =
15234: DECODE(ORIGINATION_TYPE,
15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15233: SET USING_ASSEMBLY_DEMAND_DATE =
15234: DECODE(ORIGINATION_TYPE,
15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

15234: DECODE(ORIGINATION_TYPE,
15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15235: 6, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

15236: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15237: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,

Line 15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

15238: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15239: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,

Line 15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

15240: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15241: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

Line 15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

15242: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15243: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

Line 15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

15244: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

Line 15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,

15245: l_original_req_ship_date,
15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,

15246: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

Line 15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15247: l_original_req_ship_date,
15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,

15248: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

Line 15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15249: 30, decode(MSC_ATP_PVT.G_PLAN_INFO_REC.schedule_by_date_type,
15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,

15250: MSC_ATP_PVT.G_SCHEDULE_SHIP_DATE_LEGEND,
15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

Line 15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15251: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,

Line 15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,

15252: MSC_ATP_PVT.G_SCHEDULE_ARRIVAL_DATE_LEGEND,
15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

Line 15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15253: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15261: l_original_req_ship_date,

Line 15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,

15254: MSC_ATP_PVT.G_PROMISE_SHIP_DATE_LEGEND,
15255: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15261: l_original_req_ship_date,
15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

Line 15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,

15256: MSC_ATP_PVT.G_PROMISE_ARRIVAL_DATE_LEGEND,
15257: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15261: l_original_req_ship_date,
15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15264: schedule_ship_date =

Line 15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

15258: MSC_ATP_PVT.G_REQUEST_SHIP_DATE_LEGEND,
15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15261: l_original_req_ship_date,
15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15264: schedule_ship_date =
15265: DECODE(ORIGINATION_TYPE,
15266: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),

15259: l_original_req_ship_date,
15260: MSC_ATP_PVT.G_REQUEST_ARRIVAL_DATE_LEGEND,
15261: l_original_req_ship_date,
15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15264: schedule_ship_date =
15265: DECODE(ORIGINATION_TYPE,
15266: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15267: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15266: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15262: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15264: schedule_ship_date =
15265: DECODE(ORIGINATION_TYPE,
15266: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15267: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15268: NULL),
15269: promise_ship_date =
15270: DECODE(ORIGINATION_TYPE,

Line 15267: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15263: TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY),
15264: schedule_ship_date =
15265: DECODE(ORIGINATION_TYPE,
15266: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15267: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15268: NULL),
15269: promise_ship_date =
15270: DECODE(ORIGINATION_TYPE,
15271: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

Line 15271: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15267: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15268: NULL),
15269: promise_ship_date =
15270: DECODE(ORIGINATION_TYPE,
15271: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15272: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15273: NULL)
15274: --end changes for plan by request date
15275: WHERE demand_id = l_demand_id

Line 15272: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,

15268: NULL),
15269: promise_ship_date =
15270: DECODE(ORIGINATION_TYPE,
15271: 6, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15272: 30, TRUNC(p_atp_record.ship_date) + MSC_ATP_PVT.G_END_OF_DAY,
15273: NULL)
15274: --end changes for plan by request date
15275: WHERE demand_id = l_demand_id
15276: AND plan_id = p_plan_id

Line 15304: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'

15300: END IF;
15301: RAISE FND_API.G_EXC_ERROR;
15302: END IF;
15303: --alloc_pp
15304: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15305: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15306: update msc_alloc_demands
15307: set demand_date = p_atp_record.ship_date
15308: where parent_demand_id = l_demand_id

Line 15305: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN

15301: RAISE FND_API.G_EXC_ERROR;
15302: END IF;
15303: --alloc_pp
15304: ELSIF MSC_ATP_PVT.G_INV_CTP = 4 and MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y'
15305: AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 THEN
15306: update msc_alloc_demands
15307: set demand_date = p_atp_record.ship_date
15308: where parent_demand_id = l_demand_id
15309: and plan_id = p_plan_id;

Line 15316: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND ( SQL%ROWCOUNT > 1) AND p_plan_id = -1 THEN

15312: IF PG_DEBUG in ('Y', 'C') THEN
15313: msc_sch_wb.atp_debug('ATP_Check: ' || 'inventory_item_id := ' || l_inventory_item_id);
15314: END IF;
15315: -- update summary records removed in ODS cases - for summary enhancement
15316: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') AND ( SQL%ROWCOUNT > 1) AND p_plan_id = -1 THEN
15317:
15318: IF PG_DEBUG in ('Y', 'C') THEN
15319: msc_sch_wb.atp_debug('ATP_Check: ' || 'old and new dates are not same');
15320: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update summary for old date');

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

15450: END IF;
15451:
15452: /* Modularize Item and Org Info */
15453:
15454: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) THEN
15455: IF PG_DEBUG in ('Y', 'C') THEN
15456: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
15457: END IF;
15458: p_atp_record.demand_class :=

Line 15459: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

15455: IF PG_DEBUG in ('Y', 'C') THEN
15456: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
15457: END IF;
15458: p_atp_record.demand_class :=
15459: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
15460: MSC_ATP_PVT.G_PARTNER_SITE_ID,
15461: l_inv_item_id,
15462: p_atp_record.organization_id,
15463: p_atp_record.instance_id,

Line 15460: MSC_ATP_PVT.G_PARTNER_SITE_ID,

15456: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_HIERARCHY_PROFILE = 2');
15457: END IF;
15458: p_atp_record.demand_class :=
15459: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
15460: MSC_ATP_PVT.G_PARTNER_SITE_ID,
15461: l_inv_item_id,
15462: p_atp_record.organization_id,
15463: p_atp_record.instance_id,
15464: l_requested_ship_date,

Line 15473: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

15469: msc_sch_wb.atp_debug('ATP_Check: ' || 'p_atp_record.demand_class = '||p_atp_record.demand_class);
15470: END IF;
15471:
15472: --diag_atp
15473: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
15474: END IF;
15475:
15476: -- Bug 1410591, we need to consider processing lead time also similar
15477: -- to planning.

Line 15490: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;

15486: -- Fixed + Variable is discontinued, Instead item's processing lead time
15487: -- essentially full_lead_time is used. Initialize local variables.
15488:
15489: l_process_lt := p_atp_record.atp_lead_time;
15490: l_pre_pro_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
15491: -- End Supplier Capacity and Lead Time changes
15492: /* 3316028 (Enforce Pur LT) - No need to to PTF/sysdate checks here as these have already been done
15493: before calling this */
15494: l_atp_ship_date := l_requested_ship_date;

Line 15546: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);

15542: msc_sch_wb.atp_debug('ATP_Check: ' || 'After atp dock date = '||
15543: to_char(l_dock_date, 'DD-MON-YYYY'));
15544: END IF;
15545: -- End Supplier Capacity and Lead Time changes
15546: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
15547: ELSE
15548: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);
15549: END IF;
15550: END IF;

Line 15548: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);

15544: END IF;
15545: -- End Supplier Capacity and Lead Time changes
15546: l_atp_ship_date := GREATEST(l_dock_date, l_requested_ship_date, MSC_ATP_PVT.G_PTF_DATE);
15547: ELSE
15548: l_atp_ship_date := GREATEST(l_sysdate, MSC_ATP_PVT.G_PTF_DATE, l_requested_ship_date);
15549: END IF;
15550: END IF;
15551: 3316028 (Enforce Pur LT) - changes end */
15552: IF PG_DEBUG in ('Y', 'C') THEN

Line 15555: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

15551: 3316028 (Enforce Pur LT) - changes end */
15552: IF PG_DEBUG in ('Y', 'C') THEN
15553: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_request_date := ' || l_atp_request_date);
15554: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_atp_ship_date := ' || l_atp_ship_date);
15555: msc_sch_wb.atp_debug('ATP_Check: ' || 'G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
15556: END IF;
15557:
15558: --diag_atp
15559: /* IF p_search = BACKWARD_SCHEDULING AND

Line 15560: ((l_atp_request_date < l_sysdate) OR (l_requested_ship_date < MSC_ATP_PVT.G_PTF_DATE)) THEN

15556: END IF;
15557:
15558: --diag_atp
15559: /* IF p_search = BACKWARD_SCHEDULING AND
15560: ((l_atp_request_date < l_sysdate) OR (l_requested_ship_date < MSC_ATP_PVT.G_PTF_DATE)) THEN
15561: l_requested_date_quantity := 0;
15562: IF PG_DEBUG in ('Y', 'C') THEN
15563: msc_sch_wb.atp_debug('ATP_Check: ' || 'Sys date, ptf check failed for supplier');
15564: END IF;

Line 15569: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;

15565: ELSE
15566: */
15567: -- Supplier Capacity and Lead Time (SCLT) changes
15568: IF (g_sup_cap_cum_date IS NULL) THEN
15569: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
15570: END IF;
15571: IF PG_DEBUG in ('Y', 'C') THEN
15572: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
15573: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||

Line 15572: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);

15568: IF (g_sup_cap_cum_date IS NULL) THEN
15569: g_sup_cap_cum_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
15570: END IF;
15571: IF PG_DEBUG in ('Y', 'C') THEN
15572: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
15573: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||
15574: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);
15575: msc_sch_wb.atp_debug('ATP_Check: ' || 'g_sup_cap_cum_date := ' || g_sup_cap_cum_date);
15576: END IF;

Line 15574: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);

15570: END IF;
15571: IF PG_DEBUG in ('Y', 'C') THEN
15572: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Id := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id);
15573: msc_sch_wb.atp_debug('ATP_Check: ' || 'Plan Start Date := ' ||
15574: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date);
15575: msc_sch_wb.atp_debug('ATP_Check: ' || 'g_sup_cap_cum_date := ' || g_sup_cap_cum_date);
15576: END IF;
15577:
15578:

Line 15686: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

15682: l_supplier_site_name :=
15683: MSC_ATP_FUNC.get_supplier_site_name(p_atp_record.instance_id,
15684: p_atp_record.supplier_site_id);
15685:
15686: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
15687: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
15688: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
15689: l_pegging_rec.atp_level:= p_level;
15690: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;

Line 15687: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

15683: MSC_ATP_FUNC.get_supplier_site_name(p_atp_record.instance_id,
15684: p_atp_record.supplier_site_id);
15685:
15686: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
15687: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
15688: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
15689: l_pegging_rec.atp_level:= p_level;
15690: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;
15691: l_pegging_rec.inventory_item_name := l_inv_item_name;

Line 15717: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

15713:
15714: -- 1408056
15715: IF (p_search = 1) THEN
15716: --diag_atp : we place the demand on complete quantity in case of diagnostic ATP
15717: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
15718: l_pegging_rec.supply_demand_quantity:= p_atp_record.quantity_ordered;
15719: ELSE
15720:
15721: l_pegging_rec.supply_demand_quantity:=

Line 15740: -- l_pegging_rec.required_date:= TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;

15736: END IF;
15737: IF (p_search = BACKWARD_SCHEDULING) THEN
15738: -- Commented for bug 2748730. G_END_OF_DAY not required here.
15739: -- We will do that inside the procedure Add_Pegging
15740: -- l_pegging_rec.required_date:= TRUNC(l_requested_ship_date) + MSC_ATP_PVT.G_END_OF_DAY;
15741: --bug 3328421
15742: l_pegging_rec.required_date:= l_requested_ship_date ;
15743: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
15744: ELSE

Line 15747: -- l_pegging_rec.required_date:= TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY;

15743: l_pegging_rec.actual_supply_demand_date := l_requested_ship_date;
15744: ELSE
15745: -- Commented for bug 2748730. G_END_OF_DAY not required here.
15746: -- We will do that inside the procedure Add_Pegging
15747: -- l_pegging_rec.required_date:= TRUNC(l_atp_date_this_level) + MSC_ATP_PVT.G_END_OF_DAY;
15748:
15749: l_pegging_rec.required_date:= l_requested_ship_date ;
15750: l_pegging_rec.actual_supply_demand_date := l_atp_date_this_level;
15751: END IF;

Line 15756: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

15752:
15753: -- for demo:1153192
15754: l_pegging_rec.constraint_flag := 'N';
15755: l_pegging_rec.component_identifier :=
15756: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
15757:
15758: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
15759:
15760: --diag_atp

Line 15758: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

15754: l_pegging_rec.constraint_flag := 'N';
15755: l_pegging_rec.component_identifier :=
15756: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
15757:
15758: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
15759:
15760: --diag_atp
15761: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;
15762: l_pegging_rec.demand_class := p_atp_record.demand_class;

Line 15761: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;

15757:
15758: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
15759:
15760: --diag_atp
15761: l_pegging_rec.pegging_type := MSC_ATP_PVT.SUPPLIER_DEMAND;
15762: l_pegging_rec.demand_class := p_atp_record.demand_class;
15763:
15764: --4570421
15765: l_pegging_rec.scaling_type := p_atp_record.scaling_type;

Line 15777: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

15773: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
15774:
15775: -- add pegging info for the supply
15776:
15777: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
15778: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
15779: l_pegging_rec.parent_pegging_id:= l_pegging_id;
15780: l_pegging_rec.atp_level:= p_level+1;
15781:

Line 15778: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

15774:
15775: -- add pegging info for the supply
15776:
15777: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
15778: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
15779: l_pegging_rec.parent_pegging_id:= l_pegging_id;
15780: l_pegging_rec.atp_level:= p_level+1;
15781:
15782: l_pegging_rec.inventory_item_id := p_atp_record.inventory_item_id;

Line 15801: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

15797: l_pegging_rec.supply_demand_source_type:= ATP;
15798: l_pegging_rec.supply_demand_type:= 2;
15799: l_pegging_rec.source_type := 0;
15800: l_pegging_rec.component_identifier :=
15801: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
15802:
15803: IF (p_search = 1) THEN
15804: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
15805: l_pegging_rec.supply_demand_quantity:= l_requested_date_quantity;

Line 15821: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

15817: l_pegging_rec.supply_demand_quantity:= l_atp_date_quantity_this_level;
15818: --bug 3328421
15819: l_pegging_rec.actual_supply_demand_date := l_atp_date_this_level;
15820: END IF;
15821: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
15822:
15823: --diag_atp
15824: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
15825: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists

Line 15824: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;

15820: END IF;
15821: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
15822:
15823: --diag_atp
15824: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
15825: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
15826: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
15827: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
15828: l_pegging_rec.constraint_type := 1;

Line 15827: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

15823: --diag_atp
15824: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLIER;
15825: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
15826: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
15827: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
15828: l_pegging_rec.constraint_type := 1;
15829: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN
15830:
15831: --s_cto_rearch

Line 15829: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN

15825: -- Bug 3828469 - Move the quantity check out so that constraint is added only if it exists
15826: IF p_atp_record.quantity_ordered > l_requested_date_quantity THEN
15827: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
15828: l_pegging_rec.constraint_type := 1;
15829: ELSIF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 and p_search = 2) THEN
15830:
15831: --s_cto_rearch
15832: IF l_atp_date_this_level > l_requested_ship_date THEN
15833: l_pegging_rec.constraint_type := 1;

Line 15868: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN

15864: ---- summary
15865: --- Create record into summary table for this supplier
15866: -- Code to update summary records removed for summary enhancement
15867: /** code commented for time being. Will be removed after code review
15868: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN
15869: IF (p_search = 1) THEN
15870: IF PG_DEBUG in ('Y', 'C') THEN
15871: msc_sch_wb.atp_debug('ATP_Check: ' || 'Update summary table , backward case');
15872: msc_sch_wb.atp_debug('ATP_Check: ' || 'l_requested_ship_date := ' || l_requested_ship_date);

Line 16059: x_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

16055: **/
16056:
16057: FOR i in 1..x_atp_period.Level.COUNT LOOP
16058: x_atp_period.Pegging_Id(i) := l_pegging_id;
16059: x_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
16060:
16061: END LOOP;
16062:
16063: IF PG_DEBUG in ('Y', 'C') THEN

Line 16069: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

16065: END IF;
16066:
16067: IF p_atp_record.insert_flag <> 0 THEN
16068: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_pegging_id,
16069: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
16070: END IF;
16071:
16072: END IF;
16073:

Line 16082: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN

16078:
16079:
16080: EXCEPTION
16081:
16082: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN
16083:
16084: IF PG_DEBUG in ('Y', 'C') THEN
16085: msc_sch_wb.atp_debug('ATP_Check: ' || 'Invalid OSS setup detected');
16086: END IF;

Line 16090: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;

16086: END IF;
16087: p_atp_record.requested_date_quantity := 0;
16088: p_atp_record.available_quantity := 0;
16089: p_atp_record.ship_date := null;
16090: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16091: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16092: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16093:
16094: -- 2400614 : krajan: For detecting assignment set mismatch

Line 16091: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;

16087: p_atp_record.requested_date_quantity := 0;
16088: p_atp_record.available_quantity := 0;
16089: p_atp_record.ship_date := null;
16090: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16091: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16092: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16093:
16094: -- 2400614 : krajan: For detecting assignment set mismatch
16095: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

Line 16092: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

16088: p_atp_record.available_quantity := 0;
16089: p_atp_record.ship_date := null;
16090: p_atp_record.error_code := MSC_ATP_PVT.OSS_SOURCING_ERROR;
16091: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16092: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16093:
16094: -- 2400614 : krajan: For detecting assignment set mismatch
16095: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
16096: IF PG_DEBUG in ('Y', 'C') THEN

Line 16095: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

16091: x_return_status := MSC_ATP_PVT.CTO_OSS_ERROR;
16092: --RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
16093:
16094: -- 2400614 : krajan: For detecting assignment set mismatch
16095: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
16096: IF PG_DEBUG in ('Y', 'C') THEN
16097: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16098: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16099: END IF;

Line 16100: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;

16096: IF PG_DEBUG in ('Y', 'C') THEN
16097: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16098: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16099: END IF;
16100: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16101: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16102: --- Primarily for processing in get_comp_requirements
16103: -- dsting 2764213
16104: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

Line 16101: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch

16097: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0');
16098: msc_sch_wb.atp_debug('ATP_Check: ' || 'Source Mismatch detected');
16099: END IF;
16100: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16101: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16102: --- Primarily for processing in get_comp_requirements
16103: -- dsting 2764213
16104: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
16105: IF PG_DEBUG in ('Y', 'C') THEN

Line 16104: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

16100: p_atp_record.error_code := MSC_ATP_PVT.ASSIGN_SET_NOT_IN_SYNC;
16101: x_return_status := MSC_ATP_PVT.G_ATO_SRC_MISMATCH ; --- krajan : indicates mismatch
16102: --- Primarily for processing in get_comp_requirements
16103: -- dsting 2764213
16104: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
16105: IF PG_DEBUG in ('Y', 'C') THEN
16106: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.1');
16107: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16108: END IF;

Line 16109: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then

16105: IF PG_DEBUG in ('Y', 'C') THEN
16106: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.1');
16107: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16108: END IF;
16109: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16110: --bug 2854351:
16111: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16113: else

Line 16111: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

16107: msc_sch_wb.atp_debug('ATP_Check: Plan not found for the requested item or component');
16108: END IF;
16109: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16110: --bug 2854351:
16111: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16113: else
16114: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16115: end if;

Line 16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;

16108: END IF;
16109: if (NVL(MSC_ATP_PVT.G_DOWNTIME_HIT, 'N') = 'Y') then
16110: --bug 2854351:
16111: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16113: else
16114: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16115: end if;
16116: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;

Line 16114: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

16110: --bug 2854351:
16111: --p_atp_record.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16113: else
16114: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16115: end if;
16116: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16117:
16118: -- krajan 2752705

Line 16116: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;

16112: p_atp_record.error_code := MSC_ATP_PVT.PLAN_DOWN_TIME;
16113: else
16114: p_atp_record.error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
16115: end if;
16116: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16117:
16118: -- krajan 2752705
16119: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
16120: IF PG_DEBUG in ('Y', 'C') THEN

Line 16119: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

16115: end if;
16116: x_return_status := MSC_ATP_PVT.G_NO_PLAN_FOUND;
16117:
16118: -- krajan 2752705
16119: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
16120: IF PG_DEBUG in ('Y', 'C') THEN
16121: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16122: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16123: END IF;

Line 16124: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

16120: IF PG_DEBUG in ('Y', 'C') THEN
16121: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16122: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16123: END IF;
16124: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
16125: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;
16126:
16127: WHEN FND_API.G_EXC_ERROR THEN
16128: IF PG_DEBUG in ('Y', 'C') THEN

Line 16125: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;

16121: msc_sch_wb.atp_debug('something wrong in the ATP_Check 0.2');
16122: msc_sch_wb.atp_debug('ATP_Check: The item is not collected');
16123: END IF;
16124: p_atp_record.error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
16125: x_return_status := MSC_ATP_PVT.G_ATO_UNCOLL_ITEM;
16126:
16127: WHEN FND_API.G_EXC_ERROR THEN
16128: IF PG_DEBUG in ('Y', 'C') THEN
16129: msc_sch_wb.atp_debug('something wrong in the ATP_Check 1');

Line 16322: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018

16318: l_msg_name varchar2(30);
16319:
16320: l_global_availability varchar2(1); --3720018
16321: l_temp VARCHAR2(1); --3720018
16322: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
16323: l_old_source_org_id NUMBER; --3720018
16324: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
16325: l NUMBER; --3720018
16326: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;

Line 16324: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018

16320: l_global_availability varchar2(1); --3720018
16321: l_temp VARCHAR2(1); --3720018
16322: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
16323: l_old_source_org_id NUMBER; --3720018
16324: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
16325: l NUMBER; --3720018
16326: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;
16327: l_same_org_count NUMBER;
16328: l_feeder_count NUMBER;

Line 16326: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;

16322: l_null_remove_req_level_rec MSC_ATP_PVT.remove_request_level_rec; --3720018
16323: l_old_source_org_id NUMBER; --3720018
16324: l_delete_atp_rec MSC_ATP_PVT.DELETE_ATP_REC ;--3720018
16325: l NUMBER; --3720018
16326: x_plan_info_rec MSC_ATP_PVT.plan_info_rec ;
16327: l_same_org_count NUMBER;
16328: l_feeder_count NUMBER;
16329: l_consume_so_profile_value NUMBER;
16330:

Line 16357: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;

16353: -- 24x7
16354: G_DOWNTIME_HIT := 'N';
16355:
16356:
16357: MSC_ATP_PVT.G_INSTANCE_ID := p_instance_id;
16358:
16359: G_TIME_PHASED_SET := 'N'; -- For summary enhancement
16360:
16361: -- initialize API return status to success

Line 16408: MSC_ATP_PVT.G_SESSION_ID := p_session_id;

16404: END IF; --3720018
16405:
16406: -- initial null collections so that we can use these
16407: -- collections to initialize collections for next iterations
16408: MSC_ATP_PVT.G_SESSION_ID := p_session_id;
16409: IF PG_DEBUG in ('Y', 'C') THEN
16410: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);
16411: END IF;
16412:

Line 16410: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);

16406: -- initial null collections so that we can use these
16407: -- collections to initialize collections for next iterations
16408: MSC_ATP_PVT.G_SESSION_ID := p_session_id;
16409: IF PG_DEBUG in ('Y', 'C') THEN
16410: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_SESSION_ID = '||MSC_ATP_PVT.G_SESSION_ID);
16411: END IF;
16412:
16413: l_null_atp_table := x_atp_table;
16414: l_null_atp_period := x_atp_period;

Line 16419: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

16415: l_null_atp_supply_demand := x_atp_supply_demand;
16416: l_null_atp_details := x_atp_details;
16417:
16418: --alloc_pp
16419: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
16420: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
16421:
16422: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
16423: IF PG_DEBUG in ('Y', 'C') THEN

Line 16420: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN

16416: l_null_atp_details := x_atp_details;
16417:
16418: --alloc_pp
16419: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
16420: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
16421:
16422: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
16423: IF PG_DEBUG in ('Y', 'C') THEN
16424: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

Line 16422: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);

16418: --alloc_pp
16419: IF MSC_ATP_PVT.G_INV_CTP = 4 AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
16420: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
16421:
16422: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
16423: IF PG_DEBUG in ('Y', 'C') THEN
16424: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
16425: END IF;
16426: END IF;

Line 16424: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

16420: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
16421:
16422: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(FND_PROFILE.VALUE('MSC_ALLOCATION_METHOD'), 2);
16423: IF PG_DEBUG in ('Y', 'C') THEN
16424: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
16425: END IF;
16426: END IF;
16427:
16428: --3720018, call in case of ATP inquiry or global availability from scheduled line of Sales Order pad.

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

16452: END IF;
16453: x_return_status := FND_API.G_RET_STS_ERROR;
16454: RAISE FND_API.G_EXC_ERROR;
16455: END IF;
16456: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
16457: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
16458: x_atp_table := p_atp_table;
16459: FOR i in 1..x_atp_table.action.count LOOP
16460: x_atp_table.error_code(i) := l_delete_atp_rec.error_code(1);

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

16453: x_return_status := FND_API.G_RET_STS_ERROR;
16454: RAISE FND_API.G_EXC_ERROR;
16455: END IF;
16456: IF (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.TRY_ATP_LATER) OR
16457: (l_delete_atp_rec.error_code(1) = MSC_ATP_PVT.SUMM_CONC_PROG_RUNNING) THEN
16458: x_atp_table := p_atp_table;
16459: FOR i in 1..x_atp_table.action.count LOOP
16460: x_atp_table.error_code(i) := l_delete_atp_rec.error_code(1);
16461: END LOOP;

Line 16480: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);

16476: i := p_atp_table.Action.FIRST;
16477:
16478: IF PG_DEBUG in ('Y', 'C') THEN
16479: msc_sch_wb.atp_debug('Call_Schedule, i='||i);
16480: msc_sch_wb.atp_debug('Call_Schedule: ' || 'G_ALLOCATION_METHOD := ' || MSC_ATP_PVT.G_ALLOCATION_METHOD);
16481: END IF;
16482:
16483: LOOP
16484: -- make sure we set the variables to null so that it is clean

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

16576: MSC_ATP_CTO.G_MODEL_IS_PRESENT_IN_SET := 1;
16577:
16578:
16579: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 and
16580: (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' ) THEN
16581:
16582: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);
16583: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
16584:

Line 16582: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);

16578:
16579: IF NVL(MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED, 2) = 2 and
16580: (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'N' ) THEN
16581:
16582: MSC_ATP_CTO.Populate_CTO_Bom(MSC_ATP_PVT.G_SESSION_ID, p_refresh_number, null);
16583: MSC_ATP_CTO.G_MODEL_BOM_IS_COLLECTED := 1;
16584:
16585: END IF;
16586: END IF;

Line 16595: IF (p_atp_table.attribute_06(j) is null and NVL(MSC_ATP_PVT.G_CALLING_MODULE, -1) <> 724

16591: msc_sch_wb.atp_debug('source_organization_id := ' || NVL(p_atp_table.source_organization_id(j), -1));
16592: END IF;
16593:
16594: --- raise invalid item org combo error only for non-aps instance
16595: IF (p_atp_table.attribute_06(j) is null and NVL(MSC_ATP_PVT.G_CALLING_MODULE, -1) <> 724
16596: -- if validation org and source_org are null then we cannot validate the item
16597: -- hence do not raise the error
16598: and (p_atp_table.validation_org(j) is not null
16599: or p_atp_table.source_organization_id(j) is not null)) or

Line 16600: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,

16596: -- if validation org and source_org are null then we cannot validate the item
16597: -- hence do not raise the error
16598: and (p_atp_table.validation_org(j) is not null
16599: or p_atp_table.source_organization_id(j) is not null)) or
16600: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16601: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16602: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
16603: l_set_fail_flag = 'Y' THEN
16604:

Line 16601: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,

16597: -- hence do not raise the error
16598: and (p_atp_table.validation_org(j) is not null
16599: or p_atp_table.source_organization_id(j) is not null)) or
16600: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16601: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16602: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
16603: l_set_fail_flag = 'Y' THEN
16604:
16605: l_count := l_atp_input_table.inventory_item_id.count;

Line 16602: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or

16598: and (p_atp_table.validation_org(j) is not null
16599: or p_atp_table.source_organization_id(j) is not null)) or
16600: p_atp_table.oss_error_code(j) in ( MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16601: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16602: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) or
16603: l_set_fail_flag = 'Y' THEN
16604:
16605: l_count := l_atp_input_table.inventory_item_id.count;
16606:

Line 16615: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,

16611:
16612:
16613: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
16614:
16615: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16616: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16617: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
16618:
16619: IF PG_DEBUG in ('Y', 'C') THEN

Line 16616: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,

16612:
16613: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
16614:
16615: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16616: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16617: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
16618:
16619: IF PG_DEBUG in ('Y', 'C') THEN
16620: msc_sch_wb.atp_debug('Inavlid CTO sourcing');

Line 16617: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN

16613: l_atp_input_table.error_code(l_count) := INVALID_ITEM_ORG_COMBINATION;
16614:
16615: ELSIF p_atp_table.oss_error_code(j) in (MSC_ATP_PVT.MUTUALLY_EXCLUSIVE_OSS,
16616: MSC_ATP_PVT.OSS_ERROR_AT_LOWER_LEVEL,
16617: MSC_ATP_PVT.OSS_ERROR_AT_THIS_LEVEL) THEN
16618:
16619: IF PG_DEBUG in ('Y', 'C') THEN
16620: msc_sch_wb.atp_debug('Inavlid CTO sourcing');
16621: END IF;

Line 16665: MSC_ATP_PVT.G_PTF_DATE := sysdate;

16661: msc_sch_wb.atp_debug('Now call Get Mand Comp');
16662: END IF;
16663:
16664: --- included items are not passed. Explode them
16665: MSC_ATP_PVT.G_PTF_DATE := sysdate;
16666: MSC_ATP_CTO.Get_Mandatory_Components( -1,
16667: p_instance_id,
16668: p_atp_table.validation_org(j),
16669: p_atp_table.inventory_item_id(j),

Line 16827: IF l_atp_input_table.oe_flag(m) = 'Y' and MSC_ATP_PVT.G_INV_CTP = 4 THEN

16823: IF PG_DEBUG in ('Y', 'C') THEN
16824: msc_sch_wb.atp_debug('Call_Schedule: ' || 'OE Flag (Before ISO check) : '||l_atp_input_table.OE_flag(m));
16825: END IF;
16826: --Bug 4279623 4333596
16827: IF l_atp_input_table.oe_flag(m) = 'Y' and MSC_ATP_PVT.G_INV_CTP = 4 THEN
16828: 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
16829: --l_consume_so_profile_value := NVL(FND_PROFILE.VALUE('MSC_CONSUME_INT_SALES_ORDERS'), NO);
16830: IF PG_DEBUG in ('Y', 'C') THEN
16831: msc_sch_wb.atp_debug('Before get_plan_info_call:l_consume_so_profile_value ' || l_consume_so_profile_value);

Line 16918: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4

16914: msc_sch_wb.atp_debug('Profile value is set to CHECK ATP. We need to do ATP always.');
16915: END IF;
16916:
16917: END IF; -- nvl(fnd_profile.value('msc_consume_int_sales_orders'), '2') = 3
16918: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4
16919: --Bug 4279623 4333596
16920: msc_sch_wb.atp_debug('l_atp_input_table.oe_flag(m) = '||l_atp_input_table.oe_flag(m)); --5564082
16921: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
16922:

Line 16921: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

16917: END IF; -- nvl(fnd_profile.value('msc_consume_int_sales_orders'), '2') = 3
16918: END IF; -- l_atp_input_table.oe_flag(1) = 'y' and msc_atp_pvt.g_inv_ctp = 4
16919: --Bug 4279623 4333596
16920: msc_sch_wb.atp_debug('l_atp_input_table.oe_flag(m) = '||l_atp_input_table.oe_flag(m)); --5564082
16921: IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
16922:
16923: IF PG_DEBUG in ('Y', 'C') THEN
16924: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside Internal Sales order import for OM');
16925: END IF;

Line 16981: MSC_ATP_PVT.G_SESSION_ID,

16977: NULL, -- customer id
16978: NULL, -- customer site id
16979: NULL, -- supplier_id
16980: NULL, -- supplier_site_id
16981: MSC_ATP_PVT.G_SESSION_ID,
16982: NULL, -- partner site id
16983: l_ship_method,
16984: l_delivery_lead_time
16985: );

Line 16999: MSC_ATP_PVT.G_SESSION_ID,

16995: x_atp_table.customer_id(m),
16996: x_atp_table.customer_site_id(m),
16997: NULL, -- supplier_id
16998: NULL, -- supplier_site_id
16999: MSC_ATP_PVT.G_SESSION_ID,
17000: x_atp_table.customer_site_id(m),
17001: l_ship_method,
17002: l_delivery_lead_time
17003: );

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

17028: null,
17029: MSC_CALENDAR.OMC);
17030:
17031: -- Bug 3593394
17032: IF MSC_ATP_PVT.G_USE_SHIP_REC_CAL='Y' THEN
17033:
17034: IF (x_atp_table.internal_org_id(m) IS NOT NULL) OR
17035: (x_atp_table.organization_id(m) IS NOT NULL AND
17036: x_atp_table.customer_id(m) IS NULL AND x_atp_table.customer_site_id(m) IS NULL) THEN

Line 17054: MSC_ATP_PVT.G_PARTNER_ID,

17050: l_receiving_cal_code := MSC_CALENDAR.Get_Calendar_Code(
17051: p_instance_id,
17052: null,
17053: null,
17054: MSC_ATP_PVT.G_PARTNER_ID,
17055: MSC_ATP_PVT.G_PARTNER_SITE_ID,
17056: 2,
17057: null,
17058: l_ship_method,

Line 17055: MSC_ATP_PVT.G_PARTNER_SITE_ID,

17051: p_instance_id,
17052: null,
17053: null,
17054: MSC_ATP_PVT.G_PARTNER_ID,
17055: MSC_ATP_PVT.G_PARTNER_SITE_ID,
17056: 2,
17057: null,
17058: l_ship_method,
17059: -- Bug 3593394 - x_atp_table.ship_method(m),

Line 17190: x_atp_table.error_code(m) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

17186: IF PG_DEBUG in ('Y', 'C') THEN
17187: msc_sch_wb.atp_debug('Call_Schedule: ' || 'prev date for ship date not found in Calendar');
17188: msc_sch_wb.atp_debug('Call_Schedule: ' || 'x_atp_table.ship_date ' || x_atp_table.ship_date(m) );
17189: END IF;
17190: x_atp_table.error_code(m) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
17191: END IF;
17192: */
17193:
17194: IF PG_DEBUG in ('Y', 'C') THEN

Line 17295: x_atp_table.Error_Code(i) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;

17291: -- Error Handling Changes
17292: FOR i in l_atp_input_table.Action.FIRST ..l_atp_input_table.Action.LAST LOOP
17293: IF (x_atp_table.Error_Code(i) IS NULL) or (x_atp_table.Error_Code(i) IN (0,61,150)) THEN
17294: IF l_msg_app='MRP' AND l_msg_name='GEN-DATE OUT OF BOUNDS' THEN
17295: x_atp_table.Error_Code(i) := MSC_ATP_PVT.NO_MATCHING_CAL_DATE;
17296: IF PG_DEBUG in ('Y', 'C') THEN
17297: msc_sch_wb.atp_debug('Call_Schedule: NO_MATCHING_CAL_DATE');
17298: END IF;
17299: ELSE

Line 17300: x_atp_table.Error_Code(i) := MSC_ATP_PVT.ATP_PROCESSING_ERROR; -- ATP Processing Error

17296: IF PG_DEBUG in ('Y', 'C') THEN
17297: msc_sch_wb.atp_debug('Call_Schedule: NO_MATCHING_CAL_DATE');
17298: END IF;
17299: ELSE
17300: x_atp_table.Error_Code(i) := MSC_ATP_PVT.ATP_PROCESSING_ERROR; -- ATP Processing Error
17301: END IF;
17302: END IF;
17303: END LOOP;
17304: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN

Line 17305: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'MSC_ATP_PVT');

17301: END IF;
17302: END IF;
17303: END LOOP;
17304: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
17305: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME , 'MSC_ATP_PVT');
17306: END IF;
17307: IF PG_DEBUG in ('Y', 'C') THEN
17308: msc_sch_wb.atp_debug('Call_Schedule: ' || 'error := ' || sqlerrm);
17309: END IF;

Line 17318: ELSE -- IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

17314: IF PG_DEBUG in ('Y', 'C') THEN
17315: msc_sch_wb.atp_debug('Call_Schedule: ' || 'After Assigning values for l_atp_output_table');
17316: END IF;
17317:
17318: ELSE -- IF l_atp_input_table.OE_flag(m) = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
17319: -- now call schedule to schedule this line/set.
17320: -- the reason that we do it this way is that when source org not
17321: -- specified, for each line/set, we may return multiple results
17322: -- to users when we cannot satisfy the request on the preferred

Line 17358: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then

17354: -- Reset l_set_fail_flag
17355: l_set_fail_flag := 'N';
17356: ELSE
17357: -- 24x7 Call to schedule. What do we call ?
17358: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then
17359: IF PG_DEBUG in ('Y','C') THEN
17360: msc_sch_wb.atp_debug ('Calling Schedule with 24x7 related parameters');
17361: END IF;
17362:

Line 17363: MSC_ATP_PVT.Schedule(l_atp_input_table,

17359: IF PG_DEBUG in ('Y','C') THEN
17360: msc_sch_wb.atp_debug ('Calling Schedule with 24x7 related parameters');
17361: END IF;
17362:
17363: MSC_ATP_PVT.Schedule(l_atp_input_table,
17364: l_atp_input_table.instance_id(l_atp_input_table.instance_id.FIRST),
17365: p_assign_set_id,
17366: l_atp_input_table.attribute_04(l_atp_input_table.attribute_04.FIRST),
17367: l_atp_output_table,

Line 17375: MSC_ATP_PVT.Schedule(l_atp_input_table,

17371: l_atp_supply_demand,
17372: l_atp_period,
17373: l_atp_details);
17374: else
17375: MSC_ATP_PVT.Schedule(l_atp_input_table,
17376: p_instance_id,
17377: p_assign_set_id,
17378: p_refresh_number,
17379: l_atp_output_table,

Line 17454: MSC_ATP_PVT.UNDO,

17450:
17451: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(l_atp_output_table.end_pegging_id(k),
17452: l_atp_output_table.instance_id(k),
17453: l_atp_output_table.plan_id(k),
17454: MSC_ATP_PVT.UNDO,
17455: 2,--p_dc_flag
17456: l_return_status);
17457: END IF;
17458: END LOOP;

Line 17508: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink

17504: l_msg_count,
17505: x_return_status,
17506: l_msg_data,
17507: l_msg_count);
17508: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink
17509: --as global variable already has the right dblink for RAC
17510: IF l_dblink IS NOT NULL THEN
17511: plsql_block := 'BEGIN msc_sch_wb.pipe_utility'
17512: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,

Line 17512: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,

17508: */ --bug3520746 pass MSC_ATP_PVT.G_DATABASE_LINK insead of l_dblink
17509: --as global variable already has the right dblink for RAC
17510: IF l_dblink IS NOT NULL THEN
17511: plsql_block := 'BEGIN msc_sch_wb.pipe_utility'
17512: ||'@'||MSC_ATP_PVT.G_DATABASE_LINK||'(:p_session_id,
17513: :p_command,
17514: :l_msg_data,
17515: :l_msg_number,
17516: :x_return_status,

Line 17578: 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

17574: IF PG_DEBUG in ('Y', 'C') THEN
17575: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside global availability check and calling remove_invalid_sd_rec');
17576: END IF;
17577: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
17578: 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
17579: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17580: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
17582: p_instance_id,

Line 17579: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP

17575: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside global availability check and calling remove_invalid_sd_rec');
17576: END IF;
17577: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
17578: 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
17579: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17580: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
17582: p_instance_id,
17583: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),

Line 17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),

17577: IF ( x_atp_table.Action(1) = ATPQUERY ) THEN
17578: 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
17579: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17580: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
17582: p_instance_id,
17583: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
17584: UNDO,
17585: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

Line 17583: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),

17579: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17580: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
17582: p_instance_id,
17583: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
17584: UNDO,
17585: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
17586: l_return_status); --3720018
17587: END LOOP;

Line 17585: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

17581: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m),
17582: p_instance_id,
17583: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST (m),
17584: UNDO,
17585: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
17586: l_return_status); --3720018
17587: END LOOP;
17588: END IF;
17589: END IF;

Line 17592: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;

17588: END IF;
17589: END IF;
17590:
17591: --3720018, Initialize global variables to NULL.
17592: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;
17593:
17594: END IF;
17595:
17596: i := j;

Line 17611: 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

17607: IF PG_DEBUG in ('Y', 'C') THEN
17608: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Outside global availability check and calling remove_invalid_sdrec');
17609: END IF;
17610:
17611: 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
17612: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17613: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
17615: p_instance_id,

Line 17612: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP

17608: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Outside global availability check and calling remove_invalid_sdrec');
17609: END IF;
17610:
17611: 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
17612: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17613: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
17615: p_instance_id,
17616: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),

Line 17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,

17610:
17611: 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
17612: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17613: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
17615: p_instance_id,
17616: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
17617: UNDO,
17618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

Line 17616: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),

17612: FOR m in 1..MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST.COUNT LOOP
17613: MSC_ATP_DB_UTILS.Remove_Invalid_SD_Rec(
17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
17615: p_instance_id,
17616: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
17617: UNDO,
17618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
17619: l_return_status);
17620: END LOOP;

Line 17618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),

17614: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PEGGING_ID_REQUEST(m) ,
17615: p_instance_id,
17616: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_PLAN_ID_REQUEST(m),
17617: UNDO,
17618: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC.REMOVE_DC_ATP_FLAG_REQUEST(m),
17619: l_return_status);
17620: END LOOP;
17621: END IF;
17622: IF (NVL(p_atp_table.calling_module(1), -99) <> 724) OR

Line 17656: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;

17652: );
17653: END IF;
17654: END IF;
17655:
17656: MSC_ATP_PVT.G_REMOVE_REQUEST_LEVEL_REC := l_null_remove_req_level_rec;
17657:
17658: END IF;
17659:
17660: --3720018 (end of changes)

Line 17685: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.

17681: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before calling MSC_ATP_PROC.Delete_Copy_Demand');
17682: END IF;
17683:
17684: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
17685: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
17686: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
17687: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
17688: G_TIME_PHASED_SET,
17689: l_return_status);

Line 17686: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,

17682: END IF;
17683:
17684: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
17685: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
17686: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
17687: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
17688: G_TIME_PHASED_SET,
17689: l_return_status);
17690: END IF;

Line 17687: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,

17683:
17684: -- Summary enhancement - Delete the copy demands that were created in this transaction if refresh number has moved.
17685: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' THEN --bug4291375 Delete_Copy_Demand should be called when summary is ON.
17686: MSC_ATP_DB_UTILS.Delete_Copy_Demand(MSC_ATP_PVT.G_COPY_DEMAND_ID,
17687: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
17688: G_TIME_PHASED_SET,
17689: l_return_status);
17690: END IF;
17691: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();

Line 17691: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();

17687: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID,
17688: G_TIME_PHASED_SET,
17689: l_return_status);
17690: END IF;
17691: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();
17692: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();
17693:
17694: --Bug 3629191: Insert Offset Record to MRP_ATP_DETAILS_TEMP with record_type = 3
17695: -- and these will be inserted with NULL in all the three pegging_id columns

Line 17692: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();

17688: G_TIME_PHASED_SET,
17689: l_return_status);
17690: END IF;
17691: MSC_ATP_PVT.G_COPY_DEMAND_ID := MRP_ATP_PUB.number_arr();
17692: MSC_ATP_PVT.G_COPY_DEMAND_PLAN_ID := MRP_ATP_PUB.number_arr();
17693:
17694: --Bug 3629191: Insert Offset Record to MRP_ATP_DETAILS_TEMP with record_type = 3
17695: -- and these will be inserted with NULL in all the three pegging_id columns
17696:

Line 17704: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN

17700: msc_sch_wb.atp_debug('Call_Schedule: ' ||G_OFF_INSTANCE_ID(i) ||',' || G_OFF_PLAN_ID(i)||','||G_OFF_DEM_TRANS_ID(i));
17701: END LOOP;
17702: END IF;
17703:
17704: IF (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
17705: FORALL i in 1..G_OFF_DEM_TRANS_ID.count
17706: INSERT INTO MRP_ATP_DETAILS_TEMP(
17707: session_id,
17708: identifier1,

Line 17749: IF NVL(l_wf_profile, 'N') = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN

17745: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Override_flag : '||x_atp_table.Override_Flag(k));
17746: END IF;
17747:
17748: /* rajjain code specific to workflow generation begin*/
17749: IF NVL(l_wf_profile, 'N') = 'Y' AND MSC_ATP_PVT.G_INV_CTP = 4 THEN
17750: -- generate workflow notification only in case of PDS.
17751: IF PG_DEBUG in ('Y', 'C') THEN
17752: msc_sch_wb.atp_debug('Call_Schedule: ' || '*** Begin Workflow Notification ***');
17753: msc_sch_wb.atp_debug('Call_Schedule: ' || 'qty ordered : '||x_atp_table.Quantity_Ordered(k));

Line 17785: IF (nvl(x_atp_table.Error_Code(k),-1) IN (0,53)) AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

17781:
17782: IF PG_DEBUG in ('Y', 'C') THEN
17783: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_avail_date : '||l_avail_date);
17784: END IF;
17785: IF (nvl(x_atp_table.Error_Code(k),-1) IN (0,53)) AND MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
17786:
17787: IF PG_DEBUG in ('Y', 'C') THEN
17788: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Inside Workflow for Action : '||
17789: x_atp_table.Action(k));

Line 17820: END IF; --IF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN

17816: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_stealing_qty : '||l_stealing_qty);
17817: END IF;
17818:
17819: l_wf_start := 'Y';
17820: END IF; --IF MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' THEN
17821:
17822: IF NVL(l_wf_start, 'N') = 'Y' THEN
17823:
17824: -- Get the demand_id from mrp_atp_details_temp

Line 17864: (nvl(l_stealing_qty, 0) > 0)) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND

17860: msc_sch_wb.atp_debug('Call_Schedule: ' || 'l_exception_rec.demand_id : '||l_exception_rec.demand_id);
17861: END IF;
17862:
17863: IF ((nvl(x_atp_table.Requested_Date_Quantity(k),0) < nvl(x_atp_table.Quantity_Ordered(k),0)) OR
17864: (nvl(l_stealing_qty, 0) > 0)) AND (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') AND
17865: (l_wf_item_key IS NOT NULL) THEN
17866:
17867: IF PG_DEBUG in ('Y', 'C') THEN
17868: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before Allocated ATP Workflow');

Line 17940: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then

17936: msc_sch_wb.atp_debug('Call_Schedule: ' || 'Before ATP Override Exception');
17937: END IF;
17938:
17939: -- 24x7
17940: if (NVL(MSC_ATP_PVT.G_SYNC_ATP_CHECK, 'N') = 'Y' ) then
17941: if (x_atp_table.instance_id.exists(k)) then
17942: l_instance_id := NVL (x_atp_table.instance_id(k),
17943: x_atp_table.instance_id(x_atp_table.instance_id.FIRST));
17944: else

Line 18187: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER

18183: WHERE instance_id = p_instance_id;
18184: END IF;
18185: --bug3520746 end
18186: SELECT summary_flag, apps_ver
18187: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER
18188: FROM msc_apps_instances
18189: WHERE instance_id = p_instance_id;
18190:
18191: IF PG_DEBUG in ('Y', 'C') THEN

Line 18219: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_profile_value(j), 2 );

18215: END IF;
18216:
18217: IF l_profile_name(j) = 'MSC_ALLOCATION_METHOD' THEN
18218:
18219: MSC_ATP_PVT.G_ALLOCATION_METHOD := NVL(l_profile_value(j), 2 );
18220: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
18221:
18222: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP' THEN
18223:

Line 18224: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_profile_value(j), 'N');

18220: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
18221:
18222: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP' THEN
18223:
18224: MSC_ATP_PVT.G_ALLOCATED_ATP := NVL(l_profile_value(j), 'N');
18225: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
18226:
18227: ELSIF l_profile_name(j) = 'MSC_CLASS_HIERARCHY' THEN
18228:

Line 18229: MSC_ATP_PVT.G_HIERARCHY_PROFILE := NVL(l_profile_value(j), 2 );

18225: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 'N'));
18226:
18227: ELSIF l_profile_name(j) = 'MSC_CLASS_HIERARCHY' THEN
18228:
18229: MSC_ATP_PVT.G_HIERARCHY_PROFILE := NVL(l_profile_value(j), 2 );
18230: FND_PROFILE.put(l_profile_name(j) , NVL(l_profile_value(j), 2 ));
18231:
18232: ELSIF l_profile_name(j) = 'MSC_ALLOCATED_ATP_WORKFLOW' THEN
18233:

Line 18239: MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(l_profile_value(j), 0 );

18235: FND_PROFILE.put(l_profile_name(j) , l_profile_value(j));
18236:
18237: ELSIF l_profile_name(j) = 'INV_CTP' THEN
18238:
18239: MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(l_profile_value(j), 0 );
18240:
18241: ELSIF l_profile_name(j) = 'MSC_USE_SHIP_REC_CAL' THEN
18242:
18243: l_use_ship_rec := NVL(l_profile_value(j), 'N');

Line 18247: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476

18243: l_use_ship_rec := NVL(l_profile_value(j), 'N');
18244:
18245: ELSIF l_profile_name(j) = 'MSC_MOVE_PAST_DUE_TO_SYSDATE' THEN --6316476
18246:
18247: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476
18248:
18249: ELSIF l_profile_name(j) = 'MSC_ZERO_ALLOC_PERC' THEN --6359986
18250:
18251: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986

Line 18251: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986

18247: MSC_ATP_PVT.G_MOV_PAST_DUE_SYSDATE_PROF := NVL(l_profile_value(j), 'Y'); --6316476
18248:
18249: ELSIF l_profile_name(j) = 'MSC_ZERO_ALLOC_PERC' THEN --6359986
18250:
18251: MSC_ATP_PVT.G_ZERO_ALLOCATION_PERC := NVL(l_profile_value(j), 'N'); --6359986
18252:
18253: ELSE
18254:
18255: IF PG_DEBUG in ('Y', 'C') THEN

Line 18307: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above

18303: END IF;
18304:
18305: -- store p_inv_ctp and assignment_set_id passed from source
18306: -- in global variable for bug 2368426 starts
18307: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above
18308: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
18309: -- changes for bug 2368426 ends
18310:
18311: IF PG_DEBUG in ('Y', 'C') THEN

Line 18308: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);

18304:
18305: -- store p_inv_ctp and assignment_set_id passed from source
18306: -- in global variable for bug 2368426 starts
18307: --MSC_ATP_PVT.G_INV_CTP_SOURCE := NVL(p_inv_ctp, 0); --bug3940999 set above
18308: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
18309: -- changes for bug 2368426 ends
18310:
18311: IF PG_DEBUG in ('Y', 'C') THEN
18312: msc_sch_wb.atp_debug('***** Begin Call_Schedule_Remote Procedure *****');

Line 18343: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER

18339: WHERE instance_id = p_instance_id;
18340: END IF;
18341: --bug3520746 end
18342: SELECT summary_flag, apps_ver
18343: INTO l_summary_flag, MSC_ATP_PVT.G_APPS_VER
18344: FROM msc_apps_instances
18345: WHERE instance_id = p_instance_id;
18346: IF PG_DEBUG in ('Y', 'C') THEN
18347: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'after get m2a_dblink');

Line 18352: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);

18348: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_dblink = ' || l_dblink);
18349: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_summary_flag := ' || l_summary_flag);
18350: END IF;
18351: */ --bug3940999 end
18352: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
18353: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
18354:
18355: --s_cto_rearch: 24x7
18356: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;

Line 18353: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;

18349: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'l_summary_flag := ' || l_summary_flag);
18350: END IF;
18351: */ --bug3940999 end
18352: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
18353: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
18354:
18355: --s_cto_rearch: 24x7
18356: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;
18357: --e_cto_rearch: 24x7

Line 18356: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;

18352: MSC_ATP_PVT.G_SR_ASSIGN_SET := NVL(p_def_assign_set_id, 0);
18353: MSC_ATP_PVT.G_DATABASE_LINK := l_dblink;
18354:
18355: --s_cto_rearch: 24x7
18356: MSC_ATP_PVT.G_REFRESH_NUMBER := p_refresh_number;
18357: --e_cto_rearch: 24x7
18358:
18359: MSC_ATP_UTILS.Get_From_Temp_Table(
18360: l_dblink,

Line 18379: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

18375: END IF;
18376:
18377: --- 2301524: Summary mode is not supported for backlog workbench.
18378: IF PG_DEBUG in ('Y', 'C') THEN
18379: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
18380: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
18381: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
18382: END IF;
18383: 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 18380: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);

18376:
18377: --- 2301524: Summary mode is not supported for backlog workbench.
18378: IF PG_DEBUG in ('Y', 'C') THEN
18379: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
18380: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
18381: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
18382: END IF;
18383: 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'
18384: 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 18383: 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'

18379: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
18380: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
18381: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
18382: END IF;
18383: 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'
18384: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
18385: --- if backlog workbench is used then set the summary falg to 200 for ODS cases
18386: IF PG_DEBUG in ('Y', 'C') THEN
18387: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, update tables and turnoff ODS summary');

Line 18384: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement

18380: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_ALLOCATED_ATP := ' || MSC_ATP_PVT.G_ALLOCATED_ATP);
18381: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'calling_module := '|| p_atp_table.calling_module(1));
18382: END IF;
18383: 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'
18384: and MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
18385: --- if backlog workbench is used then set the summary falg to 200 for ODS cases
18386: IF PG_DEBUG in ('Y', 'C') THEN
18387: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, update tables and turnoff ODS summary');
18388: END IF;

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

18389:
18390: update msc_apps_instances
18391: set summary_flag = 200;
18392:
18393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
18394: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
18395: --site is using backlog workbench, turn off the summary flag for ODS cases;
18396: IF PG_DEBUG in ('Y', 'C') THEN
18397: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');

Line 18394: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement

18390: update msc_apps_instances
18391: set summary_flag = 200;
18392:
18393: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
18394: ELSIF l_summary_flag = 200 AND MSC_ATP_PVT.G_INV_CTP = 5 THEN -- INV_CTP check added for summary enhancement
18395: --site is using backlog workbench, turn off the summary flag for ODS cases;
18396: IF PG_DEBUG in ('Y', 'C') THEN
18397: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');
18398: END IF;

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

18395: --site is using backlog workbench, turn off the summary flag for ODS cases;
18396: IF PG_DEBUG in ('Y', 'C') THEN
18397: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Site is using backlog workbench, turnoff ODS summary');
18398: END IF;
18399: MSC_ATP_PVT.G_SUMMARY_FLAG := 'N';
18400: END IF;
18401:
18402:
18403: -- bug3940999 Moved code from Line 579 in Schedule here, not directly due to this bug

Line 18405: IF l_use_ship_rec <> MSC_ATP_PVT.G_USE_SHIP_REC_CAL THEN --bug3593394

18401:
18402:
18403: -- bug3940999 Moved code from Line 579 in Schedule here, not directly due to this bug
18404: -- Also changed the order of IF condition.
18405: IF l_use_ship_rec <> MSC_ATP_PVT.G_USE_SHIP_REC_CAL THEN --bug3593394
18406:
18407: --bug3593394
18408: IF PG_DEBUG in ('Y', 'C') THEN
18409: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'G_USE_SHIP_REC_CAL doesnt match');

Line 18418: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;

18414: IF (i=1) or
18415: (NVL(x_atp_table.Ship_Set_Name(i),-99) <> NVL(x_atp_table.Ship_Set_Name(i-1),-100) AND
18416: NVL(x_atp_table.Arrival_Set_Name(i),-99) <> NVL(x_atp_table.Arrival_Set_Name(i-1),-100)) THEN
18417: -- Independent line or first line of a set. Error should be USE_SHIP_REC_NOT_IN_SYNC
18418: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;
18419: ELSE
18420: -- Part of a set. Error code should be
18421: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
18422: END IF;

Line 18421: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;

18417: -- Independent line or first line of a set. Error should be USE_SHIP_REC_NOT_IN_SYNC
18418: x_atp_table.error_code(i) := MSC_ATP_PVT.USE_SHIP_REC_NOT_IN_SYNC;
18419: ELSE
18420: -- Part of a set. Error code should be
18421: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
18422: END IF;
18423: IF PG_DEBUG in ('Y', 'C') THEN
18424: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'error_code(' || i || ') : ' || x_atp_table.error_code(i));
18425: END IF;

Line 18429: ELSIF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN

18425: END IF;
18426: i := p_atp_table.Action.NEXT(i);
18427: END LOOP;
18428:
18429: ELSIF MSC_ATP_PVT.G_INV_CTP_SOURCE <> MSC_ATP_PVT.G_INV_CTP THEN
18430:
18431: IF PG_DEBUG in ('Y', 'C') THEN
18432: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'Source INV_CTP not in sync with destination ');
18433: END IF;

Line 18441: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;

18437: IF (i=1) or
18438: (NVL(x_atp_table.Ship_Set_Name(i),-99) <> NVL(x_atp_table.Ship_Set_Name(i-1),-100) AND
18439: NVL(x_atp_table.Arrival_Set_Name(i),-99) <> NVL(x_atp_table.Arrival_Set_Name(i-1),-100)) THEN
18440: -- Independent line or first line of a set. Error should be INV_CTP_NOT_IN_SYNC
18441: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
18442: ELSE
18443: -- Part of a set. Error code should be
18444: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
18445: END IF;

Line 18444: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;

18440: -- Independent line or first line of a set. Error should be INV_CTP_NOT_IN_SYNC
18441: x_atp_table.error_code(i) := MSC_ATP_PVT.INV_CTP_NOT_IN_SYNC;
18442: ELSE
18443: -- Part of a set. Error code should be
18444: x_atp_table.error_code(i) := MSC_ATP_PVT.GROUPEL_ERROR;
18445: END IF;
18446: IF PG_DEBUG in ('Y', 'C') THEN
18447: msc_sch_wb.atp_debug('Call_Schedule_Remote: ' || 'error_code(' || i || ') : ' || x_atp_table.error_code(i));
18448: END IF;

Line 18454: MSC_ATP_PVT.Call_Schedule(p_session_id,

18450: END LOOP;
18451:
18452: ELSE
18453:
18454: MSC_ATP_PVT.Call_Schedule(p_session_id,
18455: p_atp_table,
18456: p_instance_id,
18457: p_assign_set_id,
18458: p_refresh_number,

Line 18519: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);

18515: IF PG_DEBUG in ('Y', 'C') THEN
18516: msc_sch_wb.atp_debug('********** Begin Process_Time_Stamp_Errors **********');
18517: msc_sch_wb.atp_debug('ship_date:(Before) ' || to_char(l_atp_table.ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
18518: msc_sch_wb.atp_debug('Req. ship_date:(Before) ' || to_char(l_atp_table.requested_ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
18519: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
18520: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
18521: END IF;
18522: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN
18523: IF l_atp_table.requested_ship_date(i) is not null then

Line 18520: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);

18516: msc_sch_wb.atp_debug('********** Begin Process_Time_Stamp_Errors **********');
18517: msc_sch_wb.atp_debug('ship_date:(Before) ' || to_char(l_atp_table.ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
18518: msc_sch_wb.atp_debug('Req. ship_date:(Before) ' || to_char(l_atp_table.requested_ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
18519: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
18520: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
18521: END IF;
18522: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN
18523: IF l_atp_table.requested_ship_date(i) is not null then
18524: l_atp_table.ship_date(i) := l_atp_table.ship_date(i) +

Line 18522: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN

18518: msc_sch_wb.atp_debug('Req. ship_date:(Before) ' || to_char(l_atp_table.requested_ship_date(i), 'DD-MON-YYYY HH24:MI:SS'));
18519: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP := ' || MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP);
18520: msc_sch_wb.atp_debug('MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET := ' || MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET);
18521: END IF;
18522: IF MSC_ATP_PVT.G_RETAIN_TIME_NON_ATP = 'Y' and MSC_ATP_PVT.G_ATP_ITEM_PRESENT_IN_SET = 'N' THEN
18523: IF l_atp_table.requested_ship_date(i) is not null then
18524: l_atp_table.ship_date(i) := l_atp_table.ship_date(i) +
18525: (l_atp_table.requested_ship_date(i)
18526: - TRUNC(l_atp_table.requested_ship_date(i)));

Line 18541: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;

18537: - TRUNC(l_atp_table.requested_arrival_date(i)));
18538: END IF;
18539: ELSE
18540: IF l_atp_table.requested_ship_date(i) is not null then
18541: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18542: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18543: ELSE
18544: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18545: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

Line 18542: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

18538: END IF;
18539: ELSE
18540: IF l_atp_table.requested_ship_date(i) is not null then
18541: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18542: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18543: ELSE
18544: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18545: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18546:

Line 18544: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;

18540: IF l_atp_table.requested_ship_date(i) is not null then
18541: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18542: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18543: ELSE
18544: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18545: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18546:
18547: END IF;
18548: END IF;

Line 18545: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040

18541: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18542: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18543: ELSE
18544: l_atp_table.arrival_date(i) := trunc(l_atp_table.arrival_date(i)) + MSC_ATP_PVT.G_END_OF_DAY;
18545: l_atp_table.ship_date(i) := trunc(l_atp_table.ship_date(i)) + MSC_ATP_PVT.G_END_OF_DAY; --4967040
18546:
18547: END IF;
18548: END IF;
18549: 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 18561: END MSC_ATP_PVT;

18557: msc_sch_wb.atp_debug('********** END Process_Time_Stamp_Errors **********');
18558: END IF;
18559: END Process_Time_Stamp_Errors;
18560: -- Comment
18561: END MSC_ATP_PVT;