DBA Data[Home] [Help]

APPS.MSC_ATP_REQ dependencies on MSC_ATP_PVT

Line 288: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN

284: AND REQ.DEPARTMENT_ID = DR.DEPARTMENT_ID
285: AND REQ.ORGANIZATION_ID = DR.ORGANIZATION_ID
286: --bug3394866
287: -- End Bug 2675504, 2665805
288: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN
289: -- CTO Option Dependent Resources ODR
290: -- Option Dependent Resources Capacity Check
291: AND I.SR_INSTANCE_ID = REQ.SR_INSTANCE_Id
292: AND I.PLAN_ID = REQ.PLAN_ID

Line 533: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN

529: AND REQ.DEPARTMENT_ID = DR.DEPARTMENT_ID
530: AND REQ.ORGANIZATION_ID = DR.ORGANIZATION_ID
531: --bug3394866
532: -- End Bug 2675504, 2665805,
533: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN
534: AND I.SR_INSTANCE_ID = S.SR_INSTANCE_ID
535: AND I.PLAN_ID = S.PLAN_ID
536: AND I.ORGANIZATION_ID = S.ORGANIZATION_ID
537: AND I.INVENTORY_ITEM_ID = S.INVENTORY_ITEM_ID

Line 655: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

651: )
652:
653: (SELECT
654: p_level col1,
655: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
656: p_scenario_id col3,
657: l_null_num col4 ,
658: l_null_num col5,
659: p_org_id col6,

Line 750: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

746: AND TRUNC(REQ.START_DATE) < nvl(p_itf, REQ.START_DATE+1)
747: UNION ALL
748: SELECT
749: p_level col1,
750: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
751: p_scenario_id col3,
752: l_null_num col4 ,
753: l_null_num col5,
754: p_org_id col6,

Line 863: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

859: )
860:
861: (SELECT
862: p_level col1,
863: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
864: p_scenario_id col3,
865: l_null_num col4 ,
866: l_null_num col5,
867: p_org_id col6,

Line 925: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN

921: AND REQ.RESOURCE_ID = DR.RESOURCE_ID
922: AND REQ.DEPARTMENT_ID = DR.DEPARTMENT_ID
923: AND REQ.ORGANIZATION_ID = DR.ORGANIZATION_ID
924: --bug3394866-- End Bug 2675504, 2665805,
925: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN
926: -- CTO Option Dependent Resources ODR
927: -- Option Dependent Resources Capacity Check
928: AND I.SR_INSTANCE_ID = REQ.SR_INSTANCE_Id
929: AND I.PLAN_ID = REQ.PLAN_ID

Line 958: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

954: AND C.CALENDAR_DATE < NVL(p_itf, C.CALENDAR_DATE+1)
955: UNION ALL
956: SELECT
957: p_level col1,
958: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
959: p_scenario_id col3,
960: l_null_num col4 ,
961: l_null_num col5,
962: p_org_id col6,

Line 1073: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

1069: )
1070:
1071: (SELECT
1072: p_level col1,
1073: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
1074: p_scenario_id col3,
1075: l_null_num col4 ,
1076: l_null_num col5,
1077: p_org_id col6,

Line 1178: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

1174: AND TRUNC(REQ.START_DATE) < trunc(nvl(p_itf, REQ.START_DATE+1)) --4135752
1175: UNION ALL
1176: SELECT
1177: p_level col1,
1178: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
1179: p_scenario_id col3,
1180: l_null_num col4 ,
1181: l_null_num col5,
1182: p_org_id col6,

Line 1295: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

1291: )
1292:
1293: (SELECT
1294: p_level col1,
1295: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
1296: p_scenario_id col3,
1297: l_null_num col4 ,
1298: l_null_num col5,
1299: p_org_id col6,

Line 1361: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN

1357: AND REQ.DEPARTMENT_ID = DR.DEPARTMENT_ID
1358: AND REQ.ORGANIZATION_ID = DR.ORGANIZATION_ID
1359: --bug3394866
1360: -- End Bug 2675504, 2665805,
1361: AND NVL(REQ.PARENT_ID, MSC_ATP_PVT.G_OPTIMIZED_PLAN) = MSC_ATP_PVT.G_OPTIMIZED_PLAN
1362: AND I.SR_INSTANCE_ID = S.SR_INSTANCE_Id
1363: AND I.PLAN_ID = S.PLAN_ID
1364: AND I.ORGANIZATION_ID = S.ORGANIZATION_ID
1365: AND I.INVENTORY_ITEM_ID = S.INVENTORY_ITEM_ID

Line 1404: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

1400: AND C.CALENDAR_DATE < NVL(p_itf, C.CALENDAR_DATE+1)
1401: UNION ALL
1402: SELECT
1403: p_level col1,
1404: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
1405: p_scenario_id col3,
1406: l_null_num col4 ,
1407: l_null_num col5,
1408: p_org_id col6,

Line 1534: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN

1530: ORDER BY SD_DATE;
1531:
1532: print_dates_qtys(x_atp_dates, x_atp_qtys);
1533:
1534: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN
1535: MSC_ATP_PROC.atp_consume(x_atp_qtys, x_atp_qtys.COUNT);
1536: END IF;
1537:
1538: END get_res_avail_summ;

Line 1627: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN

1623: );
1624: END IF;
1625: END IF;
1626:
1627: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN
1628: MSC_ATP_PROC.atp_consume(x_atp_qtys, x_atp_qtys.COUNT);
1629: END IF;
1630:
1631: END get_res_avail;

Line 1730: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN

1726: MSC_ATP_PROC.get_period_data_from_SD_temp(x_atp_period);
1727: x_atp_period.cumulative_quantity := x_atp_period.period_quantity;
1728:
1729: print_dates_qtys(x_atp_period.period_start_date,x_atp_period.period_quantity);
1730: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN
1731: MSC_ATP_PROC.atp_consume(x_atp_period.Cumulative_Quantity,
1732: x_atp_period.Cumulative_Quantity.count);
1733: END IF;
1734:

Line 1790: MSC_ATP_PVT.G_ORDER_LINE_ID, -- identifier

1786:
1787: IF p_itf IS NOT NULL THEN
1788: MSC_ATP_PROC.add_inf_time_fence_to_period(
1789: p_level,
1790: MSC_ATP_PVT.G_ORDER_LINE_ID, -- identifier
1791: p_scenario_id,
1792: p_item_id,
1793: p_item_id, -- requested item id
1794: p_org_id,

Line 1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement

1801:
1802: x_atp_dates := x_atp_period.Period_Start_Date;
1803: x_atp_qtys := x_atp_period.Cumulative_Quantity;
1804: ELSE
1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement
1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR
1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))

Line 1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR

1802: x_atp_dates := x_atp_period.Period_Start_Date;
1803: x_atp_qtys := x_atp_period.Cumulative_Quantity;
1804: ELSE
1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement
1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR
1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))
1810: THEN

Line 1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND

1803: x_atp_qtys := x_atp_period.Cumulative_Quantity;
1804: ELSE
1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement
1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR
1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))
1810: THEN
1811: get_res_avail_summ(

Line 1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND

1804: ELSE
1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement
1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR
1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))
1810: THEN
1811: get_res_avail_summ(
1812: p_instance_id,

Line 1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))

1805: IF p_summary_flag = 'Y' AND -- MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND -- changed for summary enhancement
1806: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N' OR
1807: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND
1808: MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
1809: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1))
1810: THEN
1811: get_res_avail_summ(
1812: p_instance_id,
1813: p_org_id,

Line 1850: x_atp_qtys(x_atp_qtys.count) := MSC_ATP_PVT.INFINITE_NUMBER;

1846: -- and quantity.
1847: x_atp_dates.EXTEND;
1848: x_atp_qtys.EXTEND;
1849: x_atp_dates(x_atp_dates.count) := p_itf;
1850: x_atp_qtys(x_atp_qtys.count) := MSC_ATP_PVT.INFINITE_NUMBER;
1851: END IF;
1852:
1853: END IF;
1854: END get_unalloc_res_avail;

Line 2120: AND DECODE(MSC_ATP_PVT.G_APPS_VER,3,D.COMPLETED_QUANTITY,0) = 0 -- 2300767

2116: AND D.DEMAND_SOURCE_TYPE <> DECODE(R.INCLUDE_SALES_ORDERS,2,2,-1)
2117: AND D.DEMAND_SOURCE_TYPE <> DECODE(R.INCLUDE_INTERNAL_ORDERS,2,8,-1)
2118: AND D.PRIMARY_UOM_QUANTITY > GREATEST(NVL(D.RESERVATION_QUANTITY,0),
2119: D.COMPLETED_QUANTITY)
2120: AND DECODE(MSC_ATP_PVT.G_APPS_VER,3,D.COMPLETED_QUANTITY,0) = 0 -- 2300767
2121: AND (D.SUBINVENTORY IS NULL OR D.SUBINVENTORY IN
2122: (SELECT S.SUB_INVENTORY_CODE
2123: FROM MSC_SUB_INVENTORIES S
2124: WHERE S.ORGANIZATION_ID=D.ORGANIZATION_ID

Line 2280: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2276: -- Bug 3550296 and 3574164. IMPLEMENT_DATE AND DMD_SATISFIED_DATE are changed to
2277: -- IMPLEMENT_SHIP_DATE and PLANNED_SHIP_DATE resp.
2278: TRUNC(DECODE(D.RECORD_SOURCE,
2279: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2280: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2281: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2282: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE)))) SD_DATE,
2283: --plan by requestdate,promisedate,scheduledate
2284: -- -1*D.USING_REQUIREMENT_QUANTITY SD_QTY

Line 2310: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2306: --bug3693892 added trunc
2307: AND D.USING_REQUIREMENT_QUANTITY <> 0 --4501434
2308: AND TRUNC(DECODE(D.RECORD_SOURCE,
2309: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2310: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2311: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2312: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
2313: < TRUNC(NVL(p_itf, DECODE(D.RECORD_SOURCE,
2314: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),

Line 2315: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2311: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2312: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
2313: < TRUNC(NVL(p_itf, DECODE(D.RECORD_SOURCE,
2314: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2315: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2316: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2317: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))) + 1))
2318: --plan by request date,promise date ,ship date
2319: UNION ALL

Line 2400: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2396: AND C.CALENDAR_DATE
2397: BETWEEN
2398: TRUNC(DECODE(D.RECORD_SOURCE,
2399: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2400: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2401: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2402: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
2403: AND
2404: TRUNC(NVL(D.ASSEMBLY_DEMAND_COMP_DATE,

Line 2407: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2403: AND
2404: TRUNC(NVL(D.ASSEMBLY_DEMAND_COMP_DATE,
2405: DECODE(D.RECORD_SOURCE,
2406: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2407: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2408: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2409: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE)))))
2410: --plan by request date, promise date, schedule date
2411: -- new clause 2640489 SIMPLIFY

Line 2666: AND DECODE(MSC_ATP_PVT.G_APPS_VER,3,D.COMPLETED_QUANTITY,0) = 0 -- 2300767

2662: AND D.DEMAND_SOURCE_TYPE <> DECODE(R.INCLUDE_SALES_ORDERS,2,2,-1)
2663: AND D.DEMAND_SOURCE_TYPE <> DECODE(R.INCLUDE_INTERNAL_ORDERS,2,8,-1)
2664: AND D.PRIMARY_UOM_QUANTITY > GREATEST(NVL(D.RESERVATION_QUANTITY,0),
2665: D.COMPLETED_QUANTITY)
2666: AND DECODE(MSC_ATP_PVT.G_APPS_VER,3,D.COMPLETED_QUANTITY,0) = 0 -- 2300767
2667: AND (D.SUBINVENTORY IS NULL OR D.SUBINVENTORY IN
2668: (SELECT S.SUB_INVENTORY_CODE
2669: FROM MSC_SUB_INVENTORIES S
2670: WHERE S.ORGANIZATION_ID=D.ORGANIZATION_ID

Line 2945: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2941: -- Bug 3550296 and 3574164. IMPLEMENT_DATE AND DMD_SATISFIED_DATE are changed to
2942: -- IMPLEMENT_SHIP_DATE and PLANNED_SHIP_DATE resp.
2943: TRUNC(DECODE(D.RECORD_SOURCE,
2944: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2945: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2946: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2947: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE)))) col25,
2948: --plan by request date,promise date, schedule date
2949: l_null_num col26,

Line 2988: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2984: -- IMPLEMENT_SHIP_DATE and PLANNED_SHIP_DATE resp.
2985: --bug3693892 added trunc
2986: AND TRUNC(DECODE(D.RECORD_SOURCE,
2987: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2988: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2989: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2990: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
2991: < TRUNC(NVL(p_itf,
2992: DECODE(D.RECORD_SOURCE,

Line 2994: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

2990: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
2991: < TRUNC(NVL(p_itf,
2992: DECODE(D.RECORD_SOURCE,
2993: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
2994: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
2995: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
2996: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))) + 1))
2997: --plan by request date, promise date, schedule date
2998: UNION ALL

Line 3203: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

3199: AND C.CALENDAR_DATE
3200: BETWEEN
3201: TRUNC(DECODE(D.RECORD_SOURCE,
3202: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
3203: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
3204: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
3205: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))))
3206: AND
3207: TRUNC(NVL(D.ASSEMBLY_DEMAND_COMP_DATE,

Line 3210: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,

3206: AND
3207: TRUNC(NVL(D.ASSEMBLY_DEMAND_COMP_DATE,
3208: DECODE(D.RECORD_SOURCE,
3209: 2, NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE),
3210: DECODE(MSC_ATP_PVT.G_HP_DEMAND_BUCKETING_PREF,
3211: 2, NVL(D.IMPLEMENT_SHIP_DATE,NVL(D.FIRM_DATE,NVL(D.PLANNED_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE))),
3212: NVL(D.SCHEDULE_SHIP_DATE,D.USING_ASSEMBLY_DEMAND_DATE)))))--plan by request date,promisedate, schedule date
3213: -- new clause 2640489 SIMPLIFY
3214: AND (C.SEQ_NUM IS NOT NULL OR D.ORIGINATION_TYPE <> 4)

Line 3317: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN

3313: IF PG_DEBUG in ('Y', 'C') THEN
3314: msc_sch_wb.atp_debug('Begin get_mat_avail');
3315: END IF;
3316:
3317: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
3318: -- ODS atp
3319: IF p_summary_flag = 'Y' THEN
3320: -- summary ODS atp
3321: get_mat_avail_ods_summ(

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

3352: ELSE
3353: -- PDS atp
3354: IF p_summary_flag = 'Y' THEN
3355: -- ATP4drp Changes to support ATP for DRP plans.
3356: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
3357: -- DRP plan call DRP plan specific summary
3358: MSC_ATP_DRP.get_mat_avail_drp_summ(
3359: p_item_id,
3360: p_org_id,

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

3381: ELSE
3382: IF nvl(p_optimized_plan, 2) = 1 THEN
3383: -- constrained plan
3384: -- ATP4drp Changes to support ATP for DRP plans.
3385: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
3386: MSC_ATP_DRP.get_mat_avail_drp(
3387: p_item_id,
3388: p_org_id,
3389: p_instance_id,

Line 3449: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN

3445: IF PG_DEBUG in ('Y', 'C') THEN
3446: msc_sch_wb.atp_debug('Begin get_mat_avail_dtls');
3447: END IF;
3448:
3449: IF MSC_ATP_PVT.G_INV_CTP = 5 THEN
3450: -- ODS atp
3451: get_mat_avail_ods_dtls(
3452: p_item_id,
3453: p_request_item_id,

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

3470: -- PDS atp
3471: IF nvl(p_optimized_plan, 2) = 1 THEN
3472: -- constrained plan
3473: -- ATP4drp Changes to support ATP for DRP plans.
3474: IF (NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5) THEN
3475: MSC_ATP_DRP.get_mat_avail_drp_dtls(
3476: p_item_id,
3477: p_request_item_id,
3478: p_org_id,

Line 3579: x_atp_date_this_level := GREATEST(p_atp_period_tab(k), MSC_ATP_PVT.G_PTF_DATE);

3575: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));
3576: ELSE
3577: x_atp_date_quantity_this_level := p_atp_qty_tab(k);
3578: END IF;
3579: x_atp_date_this_level := GREATEST(p_atp_period_tab(k), MSC_ATP_PVT.G_PTF_DATE);
3580: IF PG_DEBUG in ('Y', 'C') THEN
3581: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || x_atp_date_quantity_this_level);
3582: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || x_atp_date_this_level);
3583: END IF;

Line 3588: ((p_atp_period_tab(k) <= MSC_ATP_PVT.G_PTF_DATE AND

3584:
3585: END IF;
3586: EXIT;
3587: ELSIF (p_atp_qty_tab(k) >= p_quantity_ordered) AND
3588: ((p_atp_period_tab(k) <= MSC_ATP_PVT.G_PTF_DATE AND
3589: p_atp_period_tab(k+1)> MSC_ATP_PVT.G_PTF_DATE)
3590: OR (p_atp_period_tab(k) > MSC_ATP_PVT.G_PTF_DATE)) THEN
3591: IF (p_round_flag = 1) THEN
3592: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));

Line 3589: p_atp_period_tab(k+1)> MSC_ATP_PVT.G_PTF_DATE)

3585: END IF;
3586: EXIT;
3587: ELSIF (p_atp_qty_tab(k) >= p_quantity_ordered) AND
3588: ((p_atp_period_tab(k) <= MSC_ATP_PVT.G_PTF_DATE AND
3589: p_atp_period_tab(k+1)> MSC_ATP_PVT.G_PTF_DATE)
3590: OR (p_atp_period_tab(k) > MSC_ATP_PVT.G_PTF_DATE)) THEN
3591: IF (p_round_flag = 1) THEN
3592: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));
3593: ELSE

Line 3590: OR (p_atp_period_tab(k) > MSC_ATP_PVT.G_PTF_DATE)) THEN

3586: EXIT;
3587: ELSIF (p_atp_qty_tab(k) >= p_quantity_ordered) AND
3588: ((p_atp_period_tab(k) <= MSC_ATP_PVT.G_PTF_DATE AND
3589: p_atp_period_tab(k+1)> MSC_ATP_PVT.G_PTF_DATE)
3590: OR (p_atp_period_tab(k) > MSC_ATP_PVT.G_PTF_DATE)) THEN
3591: IF (p_round_flag = 1) THEN
3592: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));
3593: ELSE
3594: x_atp_date_quantity_this_level := p_atp_qty_tab(k);

Line 3596: x_atp_date_this_level := GREATEST(p_atp_period_tab(k), MSC_ATP_PVT.G_PTF_DATE);

3592: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));
3593: ELSE
3594: x_atp_date_quantity_this_level := p_atp_qty_tab(k);
3595: END IF;
3596: x_atp_date_this_level := GREATEST(p_atp_period_tab(k), MSC_ATP_PVT.G_PTF_DATE);
3597: IF PG_DEBUG in ('Y', 'C') THEN
3598: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || x_atp_date_quantity_this_level);
3599: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || x_atp_date_this_level);
3600: END IF;

Line 3676: -- IF (p_requested_date < GREATEST(l_atp_requested_date,MSC_ATP_PVT.G_PTF_DATE)) THEN

3672: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || 'I am here 3');
3673: END IF;
3674: -- Bug 3512996 - For request before PTF return 0 as request date quantity
3675: -- IF (p_requested_date < l_atp_requested_date) THEN
3676: -- IF (p_requested_date < GREATEST(l_atp_requested_date,MSC_ATP_PVT.G_PTF_DATE)) THEN
3677: IF (p_requested_date < l_atp_requested_date) THEN -- Bug 3828469 - Undo the regression introduced by Bug 3512996
3678: IF PG_DEBUG in ('Y', 'C') THEN
3679: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || 'p_requested_date < l_atp_requested_date');
3680: END IF;

Line 3700: (p_atp_period_tab(j) >= NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)) THEN

3696: END IF;
3697:
3698: -- now find the atp_date_quantity and atp_date at this level
3699: IF p_atp_qty_tab(j) >= p_quantity_ordered AND
3700: (p_atp_period_tab(j) >= NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)) THEN
3701: IF(p_round_flag = 1) THEN --- bug 1774959
3702: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(j));
3703: ELSE
3704: x_atp_date_quantity_this_level := p_atp_qty_tab(j);

Line 3729: GREATEST(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date));

3725: x_atp_date_quantity_this_level := p_atp_qty_tab(j);
3726: END IF;
3727:
3728: x_atp_date_this_level := GREATEST(p_atp_period_tab(j),
3729: GREATEST(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date));
3730: ELSE
3731: x_atp_date_quantity_this_level := NULL;
3732: x_atp_date_this_level := NULL;
3733: END IF;

Line 3736: p_atp_period_tab(j+1) > NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)) THEN

3732: x_atp_date_this_level := NULL;
3733: END IF;
3734:
3735: ELSIF (p_atp_qty_tab(j) >= p_quantity_ordered AND
3736: p_atp_period_tab(j+1) > NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)) THEN
3737: IF(p_round_flag = 1) THEN --- bug 1774959
3738: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(j));
3739: ELSE
3740: x_atp_date_quantity_this_level := p_atp_qty_tab(j);

Line 3747: x_atp_date_this_level := GREATEST(NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)

3743: --x_atp_date_quantity_this_level := p_quantity_ordered;
3744: IF PG_DEBUG in ('Y', 'C') THEN
3745: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || 'Checkpoint 3');
3746: END IF;
3747: x_atp_date_this_level := GREATEST(NVL(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date)
3748: , p_atp_period_tab(j));
3749: ELSE
3750: IF PG_DEBUG in ('Y', 'C') THEN
3751: msc_sch_wb.atp_debug('Calculate_Atp_Dates_Qtys: ' || 'Checkpoint 2');

Line 3783: p_atp_period_tab(k) >= NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date) THEN

3779: END IF;
3780: -- time_phased_atp changes end
3781:
3782: IF (p_atp_qty_tab(k) >= p_quantity_ordered) AND
3783: p_atp_period_tab(k) >= NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date) THEN
3784:
3785: IF(p_round_flag = 1) THEN --- bug 1774959
3786: x_atp_date_quantity_this_level := FLOOR(p_atp_qty_tab(k));
3787: ELSE

Line 3805: GREATEST(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date));

3801: ---Record with j will
3802: -- always have lower quantity or lower date than G_PTF_DATE.
3803: --x_atp_date_this_level := GREATEST(p_atp_period_tab(j),
3804: x_atp_date_this_level := GREATEST(p_atp_period_tab(k),
3805: GREATEST(MSC_ATP_PVT.G_PTF_DATE,p_sys_next_date));
3806: --ELSE
3807: -- x_atp_date_quantity_this_level := NULL;
3808: -- x_atp_date_this_level := NULL;
3809: --END IF;

Line 3815: NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date) THEN

3811: ELSIF (p_atp_qty_tab(k) >= p_quantity_ordered) AND
3812: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
3813: --p_atp_period_tab(k+1) >=
3814: p_atp_period_tab(k+1) >
3815: NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date) THEN
3816:
3817: x_atp_date_this_level := NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date);
3818: IF PG_DEBUG in ('Y', 'C') THEN
3819: msc_sch_wb.atp_debug('x_atp_date_this_level '||x_atp_date_this_level);

Line 3817: x_atp_date_this_level := NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date);

3813: --p_atp_period_tab(k+1) >=
3814: p_atp_period_tab(k+1) >
3815: NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date) THEN
3816:
3817: x_atp_date_this_level := NVL(MSC_ATP_PVT.G_PTF_DATE, p_sys_next_date);
3818: IF PG_DEBUG in ('Y', 'C') THEN
3819: msc_sch_wb.atp_debug('x_atp_date_this_level '||x_atp_date_this_level);
3820: END IF;
3821: IF(p_round_flag = 1) THEN --- bug 1774959

Line 3897: WHERE peg.session_id = MSC_ATP_PVT.G_SESSION_ID

3893:
3894: FROM msc_system_items msi, msc_component_substitutes sub,
3895: msc_bom_components comp, msc_boms bom, msc_system_items ch,
3896: msc_system_items pt, mrp_atp_details_temp peg
3897: WHERE peg.session_id = MSC_ATP_PVT.G_SESSION_ID
3898: AND peg.pegging_id = p_parent_pegging_id
3899: AND pt.sr_instance_id = p_instance_id
3900: AND pt.organization_id = peg.organization_id
3901: AND pt.sr_inventory_item_id = peg.inventory_item_id

Line 3932: decode (NVL(MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG),

3928: ORDER BY priority;
3929: */
3930: CURSOR substitute(l_requested_ship_date date) IS
3931: SELECT msi.inventory_item_id, msi.sr_inventory_item_id,
3932: decode (NVL(MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG),
3933: MSC_ATP_PVT.DISCRETE_ORG, decode (nvl (comp.scaling_type, 1),
3934: 1, (sub.usage_quantity/comp.usage_quantity),
3935: 2, sub.usage_quantity
3936: ),

Line 3933: MSC_ATP_PVT.DISCRETE_ORG, decode (nvl (comp.scaling_type, 1),

3929: */
3930: CURSOR substitute(l_requested_ship_date date) IS
3931: SELECT msi.inventory_item_id, msi.sr_inventory_item_id,
3932: decode (NVL(MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG),
3933: MSC_ATP_PVT.DISCRETE_ORG, decode (nvl (comp.scaling_type, 1),
3934: 1, (sub.usage_quantity/comp.usage_quantity),
3935: 2, sub.usage_quantity
3936: ),
3937: MSC_ATP_PVT.OPM_ORG , decode (nvl (comp.scaling_type, 1),

Line 3937: MSC_ATP_PVT.OPM_ORG , decode (nvl (comp.scaling_type, 1),

3933: MSC_ATP_PVT.DISCRETE_ORG, decode (nvl (comp.scaling_type, 1),
3934: 1, (sub.usage_quantity/comp.usage_quantity),
3935: 2, sub.usage_quantity
3936: ),
3937: MSC_ATP_PVT.OPM_ORG , decode (nvl (comp.scaling_type, 1),
3938: 0, sub.usage_quantity,
3939: 1, (sub.usage_quantity/comp.usage_quantity),
3940: 2, sub.usage_quantity,
3941: 3, (sub.usage_quantity/comp.usage_quantity),

Line 4018: l_plan_info_rec MSC_ATP_PVT.plan_info_rec; -- added for bug 2392456

4014: l_inv_item_name varchar2(250); --bug 2246200
4015: l_org_code varchar2(7);
4016: l_inv_item_id number; -- 1665483
4017: l_summary_flag varchar2(1);
4018: l_plan_info_rec MSC_ATP_PVT.plan_info_rec; -- added for bug 2392456
4019:
4020: --diag_atp
4021: L_GET_MAT_IN_REC MSC_ATP_REQ.GET_MAT_IN_REC;
4022: l_get_mat_out_rec MSC_ATP_REQ.get_mat_out_rec;

Line 4051: l_item_info_rec MSC_ATP_PVT.item_attribute_rec; --5147647

4047: l_lot_fail NUMBER := 0;
4048: l_usage_qty NUMBER; --4775920
4049: l_index NUMBER := 2; --5216528 as it points to substitutes/ 5216528
4050: x_substitutes_rec MSC_ATP_REQ.get_subs_out_rec;-- 5216528/5216528
4051: l_item_info_rec MSC_ATP_PVT.item_attribute_rec; --5147647
4052:
4053:
4054: -- ATP4drp Bug 3986053, 4052808
4055: -- Once the item changes the corresponding global data should change.

Line 4056: -- l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

4052:
4053:
4054: -- ATP4drp Bug 3986053, 4052808
4055: -- Once the item changes the corresponding global data should change.
4056: -- l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
4057: BEGIN
4058:
4059: IF PG_DEBUG in ('Y', 'C') THEN
4060: msc_sch_wb.atp_debug('**********Begin Check_Substitutes Procedure************');

Line 4081: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'Opening the substitute cursor:' || to_char(MSC_ATP_PVT.G_SESSION_ID) || ':' ||

4077: -- set the flag that the component is substitute so that UI can check that
4078: -- Keep decrementing the net_demand and exit if it is <= 0
4079: -- If the net_demand is still > 0, pass that back to the calling routing
4080: IF PG_DEBUG in ('Y', 'C') THEN
4081: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'Opening the substitute cursor:' || to_char(MSC_ATP_PVT.G_SESSION_ID) || ':' ||
4082: to_char(p_parent_pegging_id) || ':' || to_char(p_plan_id) || ':'
4083: || to_char(p_instance_id) || ':' || p_inventory_item_id || ':' || p_atp_record.bill_seq_id); --4741012
4084: END IF;
4085: --bug3583705

Line 4100: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

4096: l_net_demand := p_quantity;
4097:
4098: --- store the summary flag so that the flag can be restored to the value with which we entered this
4099: --- module
4100: l_summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4101:
4102: /* rajjain 3008611 select component substitutes for which:
4103: * effective date is greater than or equal to greatest of PTF date, sysdate and component due date
4104: * disable date is less than or equal to greatest of PTF date, sysdate and component due date*/

Line 4109: GREATEST(p_atp_record.requested_ship_date, sysdate, MSC_ATP_PVT.G_PTF_DATE));

4105: IF PG_DEBUG in ('Y', 'C') THEN
4106: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'p_atp_record.requested_ship_date: ' || p_atp_record.requested_ship_date);
4107: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'p_atp_record.shipping_cal_code: ' || p_atp_record.shipping_cal_code);
4108: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'Date passed to cursor: ' ||
4109: GREATEST(p_atp_record.requested_ship_date, sysdate, MSC_ATP_PVT.G_PTF_DATE));
4110: END IF;
4111:
4112: --5216528/5216528 Start First should be having the main item.
4113: x_substitutes_rec.inventory_item_id.EXTEND;

Line 4122: OPEN substitute(GREATEST(p_atp_record.requested_ship_date, sysdate, MSC_ATP_PVT.G_PTF_DATE));

4118: x_substitutes_rec.quantity_ordered.EXTEND;
4119: x_substitutes_rec.pf_item_id.EXTEND;
4120: --5216528/5216528 End
4121:
4122: OPEN substitute(GREATEST(p_atp_record.requested_ship_date, sysdate, MSC_ATP_PVT.G_PTF_DATE));
4123: LOOP
4124: FETCH substitute INTO l_inv_item_id, l_substitute_id, l_usage, l_atp_flag, --4570421
4125: l_atp_comp_flag, l_primary_comp_usage, l_inv_item_name
4126: --diag_atp

Line 4175: g_atp_record.error_code := MSC_ATP_PVT.ALLSUCCESS;

4171: -- Setup new g_atp_record during each loop, we should not resue the
4172: -- original record, because we need the original one for CTP if there
4173: -- is not enough supply of components
4174:
4175: g_atp_record.error_code := MSC_ATP_PVT.ALLSUCCESS;
4176: g_atp_record.instance_id := p_atp_record.instance_id;
4177: g_atp_record.identifier := p_atp_record.identifier;
4178:
4179: --5147647, populating the global item info rec.

Line 4200: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR

4196: -- time_phased_atp changes end
4197:
4198: g_atp_record.organization_id := p_atp_record.organization_id;
4199: --4570421 , here multiply by conversion rate
4200: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR
4201: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling
4202: --g_atp_record.quantity_ordered := l_net_demand
4203: --g_atp_record.quantity_ordered := l_usage/l_component_yield_factor; --4570421 , here multiply by conversion rate
4204: g_atp_record.quantity_ordered := l_usage; --4767982

Line 4201: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling

4197:
4198: g_atp_record.organization_id := p_atp_record.organization_id;
4199: --4570421 , here multiply by conversion rate
4200: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR
4201: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling
4202: --g_atp_record.quantity_ordered := l_net_demand
4203: --g_atp_record.quantity_ordered := l_usage/l_component_yield_factor; --4570421 , here multiply by conversion rate
4204: g_atp_record.quantity_ordered := l_usage; --4767982
4205: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (4,5)) THEN --Integer Scaling

Line 4205: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (4,5)) THEN --Integer Scaling

4201: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling
4202: --g_atp_record.quantity_ordered := l_net_demand
4203: --g_atp_record.quantity_ordered := l_usage/l_component_yield_factor; --4570421 , here multiply by conversion rate
4204: g_atp_record.quantity_ordered := l_usage; --4767982
4205: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (4,5)) THEN --Integer Scaling
4206: g_atp_record.quantity_ordered := integer_scaling (l_net_demand * l_usage,--4570421 , here multiply by conversion rate
4207: l_scale_multiple,
4208: l_scale_rounding_variance ,
4209: l_rounding_direction) ;

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

4239: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'Before calling subs atp info');
4240: END IF;
4241:
4242: -- bug 1665483:
4243: --IF (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) AND ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y')
4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
4246: g_atp_record.demand_class :=
4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

Line 4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN

4240: END IF;
4241:
4242: -- bug 1665483:
4243: --IF (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) AND ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y')
4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
4246: g_atp_record.demand_class :=
4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
4248: MSC_ATP_PVT.G_PARTNER_SITE_ID,

Line 4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN

4241:
4242: -- bug 1665483:
4243: --IF (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) AND ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y')
4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
4246: g_atp_record.demand_class :=
4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
4248: MSC_ATP_PVT.G_PARTNER_SITE_ID,
4249: l_inv_item_id,

Line 4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,

4243: --IF (MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2) AND ((MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y')
4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
4246: g_atp_record.demand_class :=
4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
4248: MSC_ATP_PVT.G_PARTNER_SITE_ID,
4249: l_inv_item_id,
4250: g_atp_record.organization_id,
4251: g_atp_record.instance_id,

Line 4248: MSC_ATP_PVT.G_PARTNER_SITE_ID,

4244: -- OR MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
4245: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y') THEN
4246: g_atp_record.demand_class :=
4247: MSC_AATP_FUNC.Get_Hierarchy_Demand_Class(MSC_ATP_PVT.G_PARTNER_ID,
4248: MSC_ATP_PVT.G_PARTNER_SITE_ID,
4249: l_inv_item_id,
4250: g_atp_record.organization_id,
4251: g_atp_record.instance_id,
4252: l_requested_ship_date,

Line 4285: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

4281: END IF;
4282: END IF;
4283: /* time_phased_atp changes end*/
4284:
4285: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
4286: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj.
4287:
4288: l_plan_id := l_plan_info_rec.plan_id;
4289: l_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 4305: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

4301: if (l_plan_id = -300) then
4302: IF PG_DEBUG in ('Y', 'C') THEN
4303: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'ATP Downtime Encountered');
4304: END IF;
4305: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
4306: end if;
4307:
4308: -- ATP4drp Product Family ATP not supported for DRP plans.
4309: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type = 5 THEN

Line 4309: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type = 5 THEN

4305: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
4306: end if;
4307:
4308: -- ATP4drp Product Family ATP not supported for DRP plans.
4309: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type = 5 THEN
4310: l_pf_atp := 'N';
4311: l_time_phased_atp := 'N';
4312: g_atp_record.atf_date := NULL;
4313: -- To handle case where family item id is different re-set it.

Line 4400: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR

4396: -- END IF; -- end if atp_flag in ('Y', 'C')
4397:
4398: -- Normalize this demand to the primary component B
4399: --4570421
4400: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR
4401: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling
4402: IF ( l_requested_date_quantity < g_atp_record.quantity_ordered ) THEN
4403: l_net_demand := g_atp_record.quantity_ordered;
4404: l_lot_fail := 1;

Line 4401: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling

4397:
4398: -- Normalize this demand to the primary component B
4399: --4570421
4400: IF ( ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_scaling_type,1) = 2) OR
4401: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (0,2))) then --Lot based ot Fixed Scaling
4402: IF ( l_requested_date_quantity < g_atp_record.quantity_ordered ) THEN
4403: l_net_demand := g_atp_record.quantity_ordered;
4404: l_lot_fail := 1;
4405: ElSE

Line 4412: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (4,5)) THEN --Integer Scaling

4408: IF PG_DEBUG in ('Y', 'C') THEN
4409: msc_sch_wb.atp_debug('Check_Substitutes: Lot Based or Fixed Scaling ');
4410: msc_sch_wb.atp_debug('Check_Substitutes: l_lot_fail : '|| to_char(l_lot_fail));
4411: END IF;
4412: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_scaling_type,1) IN (4,5)) THEN --Integer Scaling
4413: l_net_demand := (g_atp_record.quantity_ordered -
4414: FLOOR(greatest(l_requested_date_quantity, 0)/l_scale_multiple) *l_scale_multiple);
4415: IF PG_DEBUG in ('Y', 'C') THEN
4416: msc_sch_wb.atp_debug('Check_Substitutes: Integer_scaling ');

Line 4437: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1

4433: -- if we don't have atp for this sub component , don't bother
4434: -- generate pegging tree, demand record.
4435: /* --5373603 we need to add pegging
4436: IF (p_atp_record.requested_date_quantity > 0 AND l_lot_fail = 0 ) --4570421
4437: OR MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1
4438: THEN
4439:
4440: -- prepare the insert record
4441: -- no matter it is a demand or not, we need to insert this

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

4466: l_atp_insert_rec.order_number := g_atp_record.order_number;
4467: -- ATP4drp Component Subst. we are dealing with a component
4468: -- then set the origination type to Constrained Kit Demand
4469: -- for DRP plans.
4470: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type,1) = 5 THEN
4471: l_atp_insert_rec.origination_type := 47;
4472: IF PG_DEBUG in ('Y', 'C') THEN
4473: msc_sch_wb.atp_debug('Check_Substitutes: ' || 'DRP origination_type ='|| l_atp_insert_rec.origination_type);
4474: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');

Line 4495: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

4491:
4492: /* Modularize Item and Org Info */
4493: MSC_ATP_PROC.get_global_org_info (g_atp_record.instance_id,
4494: g_atp_record.organization_id);
4495: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4496: /*Modularize Item and Org Info */
4497:
4498:
4499: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

Line 4499: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

4495: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4496: /*Modularize Item and Org Info */
4497:
4498:
4499: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
4500: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
4501: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
4502: l_pegging_rec.atp_level:= p_level;
4503: l_pegging_rec.organization_id:= g_atp_record.organization_id;

Line 4500: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

4496: /*Modularize Item and Org Info */
4497:
4498:
4499: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
4500: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
4501: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
4502: l_pegging_rec.atp_level:= p_level;
4503: l_pegging_rec.organization_id:= g_atp_record.organization_id;
4504: l_pegging_rec.organization_code := l_org_code;

Line 4515: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

4511: l_pegging_rec.scale_rounding_variance := l_scale_rounding_variance;
4512: l_pegging_rec.rounding_direction := l_rounding_direction;
4513: l_pegging_rec.component_yield_factor := l_component_yield_factor;
4514: l_pegging_rec.usage := l_usage_qty; --4775920
4515: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
4516: --4570421
4517:
4518: -- time_phased_atp changes begin
4519: IF l_pf_atp = 'Y' THEN

Line 4557: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

4553:
4554: -- for demo:1153192
4555: l_pegging_rec.constraint_flag := 'N';
4556: l_pegging_rec.component_identifier :=
4557: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
4558: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4559:
4560: --diag_atp
4561: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; -- demand node

Line 4558: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

4554: -- for demo:1153192
4555: l_pegging_rec.constraint_flag := 'N';
4556: l_pegging_rec.component_identifier :=
4557: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
4558: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4559:
4560: --diag_atp
4561: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; -- demand node
4562: l_pegging_rec.constraint_type := NULL;

Line 4561: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; -- demand node

4557: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
4558: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4559:
4560: --diag_atp
4561: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; -- demand node
4562: l_pegging_rec.constraint_type := NULL;
4563: --s_cto_rearch
4564: l_pegging_rec.dest_inv_item_id := l_pf_item_id;
4565:

Line 4568: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

4564: l_pegging_rec.dest_inv_item_id := l_pf_item_id;
4565:
4566: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
4567:
4568: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
4569: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
4570: l_pegging_rec.parent_pegging_id:= l_pegging_id;
4571: l_pegging_rec.atp_level:= p_level + 1;
4572: l_pegging_rec.organization_id:= g_atp_record.organization_id;

Line 4569: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

4565:
4566: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
4567:
4568: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
4569: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
4570: l_pegging_rec.parent_pegging_id:= l_pegging_id;
4571: l_pegging_rec.atp_level:= p_level + 1;
4572: l_pegging_rec.organization_id:= g_atp_record.organization_id;
4573: l_pegging_rec.organization_code:= l_org_code;

Line 4600: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;

4596: l_pegging_rec.supplier_name := NULL;
4597: l_pegging_rec.supplier_site_id := NULL;
4598: l_pegging_rec.supplier_site_name := NULL;
4599: l_pegging_rec.scenario_id:= p_scenario_id;
4600: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;
4601: l_pegging_rec.supply_demand_quantity:=
4602: p_atp_record.requested_date_quantity;
4603: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
4604: l_pegging_rec.supply_demand_type:= 2;

Line 4607: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);

4603: l_pegging_rec.supply_demand_date:= l_requested_ship_date;
4604: l_pegging_rec.supply_demand_type:= 2;
4605: l_pegging_rec.source_type := 0;
4606: l_pegging_rec.component_identifier :=
4607: NVL(p_atp_record.component_identifier, MSC_ATP_PVT.G_COMP_LINE_ID);
4608:
4609: -- for demo:1153192
4610: IF (p_search = 1) AND
4611: ( g_atp_record.quantity_ordered >= l_requested_date_quantity)

Line 4619: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node

4615: l_pegging_rec.constraint_flag := 'N';
4616:
4617: END IF;
4618:
4619: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
4620: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4621: -- Bug 3826234
4622: l_pegging_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;
4623:

Line 4620: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

4616:
4617: END IF;
4618:
4619: l_pegging_rec.pegging_type := MSC_ATP_PVT.ATP_SUPPLY; ---atp supply node
4620: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
4621: -- Bug 3826234
4622: l_pegging_rec.manufacturing_cal_code := p_atp_record.manufacturing_cal_code;
4623:
4624: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_atp_pegging_id);

Line 4630: g_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

4626: -- Add pegging_id to the l_atp_period and l_atp_supply_demand
4627:
4628: FOR i in 1..g_atp_period.Level.COUNT LOOP
4629: g_atp_period.Pegging_Id(i) := l_atp_pegging_id;
4630: g_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
4631: END LOOP;
4632:
4633: IF p_atp_record.insert_flag <> 0 THEN
4634: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,

Line 4635: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

4631: END LOOP;
4632:
4633: IF p_atp_record.insert_flag <> 0 THEN
4634: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_atp_pegging_id,
4635: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
4636: END IF;
4637:
4638:
4639: MSC_ATP_PROC.Details_Output(g_atp_period,

Line 4665: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

4661: END IF;
4662: END LOOP;
4663: l_substitutes_rec := x_substitutes_rec;
4664: CLOSE substitute;
4665: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4666: EXCEPTION
4667: -- 24x7
4668: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
4669: IF PG_DEBUG in ('Y', 'C') THEN

Line 4668: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

4664: CLOSE substitute;
4665: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4666: EXCEPTION
4667: -- 24x7
4668: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
4669: IF PG_DEBUG in ('Y', 'C') THEN
4670: msc_sch_wb.atp_debug ('Check Substitutes : Plan Downtime encountered');
4671: END IF;
4672: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';

Line 4672: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';

4668: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
4669: IF PG_DEBUG in ('Y', 'C') THEN
4670: msc_sch_wb.atp_debug ('Check Substitutes : Plan Downtime encountered');
4671: END IF;
4672: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
4673: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4674: l_return_status := FND_API.G_RET_STS_ERROR;
4675: CLOSE substitute;
4676: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

Line 4673: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

4669: IF PG_DEBUG in ('Y', 'C') THEN
4670: msc_sch_wb.atp_debug ('Check Substitutes : Plan Downtime encountered');
4671: END IF;
4672: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
4673: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4674: l_return_status := FND_API.G_RET_STS_ERROR;
4675: CLOSE substitute;
4676: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
4677:

Line 4676: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

4672: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
4673: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4674: l_return_status := FND_API.G_RET_STS_ERROR;
4675: CLOSE substitute;
4676: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
4677:
4678: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
4679: IF PG_DEBUG in ('Y', 'C') THEN
4680: msc_sch_wb.atp_debug ('Check Substitutes : NO_MATCHING_DATE_IN_CAL');

Line 4678: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

4674: l_return_status := FND_API.G_RET_STS_ERROR;
4675: CLOSE substitute;
4676: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
4677:
4678: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
4679: IF PG_DEBUG in ('Y', 'C') THEN
4680: msc_sch_wb.atp_debug ('Check Substitutes : NO_MATCHING_DATE_IN_CAL');
4681: END IF;
4682: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

Line 4682: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

4678: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
4679: IF PG_DEBUG in ('Y', 'C') THEN
4680: msc_sch_wb.atp_debug ('Check Substitutes : NO_MATCHING_DATE_IN_CAL');
4681: END IF;
4682: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4683: l_return_status := FND_API.G_RET_STS_ERROR;
4684: CLOSE substitute;
4685: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
4686:

Line 4685: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

4681: END IF;
4682: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4683: l_return_status := FND_API.G_RET_STS_ERROR;
4684: CLOSE substitute;
4685: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
4686:
4687: WHEN OTHERS THEN
4688: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4689: l_return_status := FND_API.G_RET_STS_ERROR;

Line 4688: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;

4684: CLOSE substitute;
4685: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
4686:
4687: WHEN OTHERS THEN
4688: MSC_ATP_PVT.G_SUMMARY_FLAG := l_summary_flag;
4689: l_return_status := FND_API.G_RET_STS_ERROR;
4690: CLOSE substitute;
4691: return;
4692: END Check_Substitutes;

Line 4773: IF (MSC_ATP_PVT.G_INV_CTP = 4)

4769: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'p_mat_atp_info_rec.atf_date: '|| p_mat_atp_info_rec.atf_date);
4770: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'p_mat_atp_info_rec.shipping_cal_code: '|| p_mat_atp_info_rec.shipping_cal_code);
4771: END IF;
4772: /* time_phased_atp changes begin*/
4773: IF (MSC_ATP_PVT.G_INV_CTP = 4)
4774: and (p_mat_atp_info_rec.inventory_item_id <> p_mat_atp_info_rec.request_item_id)
4775: and (p_mat_atp_info_rec.atf_date is null)
4776: THEN
4777: l_request_item_id := p_mat_atp_info_rec.inventory_item_id;

Line 4778: ELSIF (MSC_ATP_PVT.G_INV_CTP = 4)

4774: and (p_mat_atp_info_rec.inventory_item_id <> p_mat_atp_info_rec.request_item_id)
4775: and (p_mat_atp_info_rec.atf_date is null)
4776: THEN
4777: l_request_item_id := p_mat_atp_info_rec.inventory_item_id;
4778: ELSIF (MSC_ATP_PVT.G_INV_CTP = 4)
4779: and (p_mat_atp_info_rec.inventory_item_id <> p_mat_atp_info_rec.request_item_id)
4780: and (p_mat_atp_info_rec.atf_date is not null)
4781: THEN
4782: l_request_item_id := p_mat_atp_info_rec.request_item_id;

Line 4828: INTO MSC_ATP_PVT.G_OPTIMIZED_PLAN, l_summary_flag -- For summary enhancement

4824: )
4825: )
4826: ),
4827: summary_flag
4828: INTO MSC_ATP_PVT.G_OPTIMIZED_PLAN, l_summary_flag -- For summary enhancement
4829: FROM msc_plans plans
4830: WHERE plans.plan_id = p_mat_atp_info_rec.plan_id;
4831: EXCEPTION WHEN NO_DATA_FOUND THEN
4832: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;

Line 4832: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;

4828: INTO MSC_ATP_PVT.G_OPTIMIZED_PLAN, l_summary_flag -- For summary enhancement
4829: FROM msc_plans plans
4830: WHERE plans.plan_id = p_mat_atp_info_rec.plan_id;
4831: EXCEPTION WHEN NO_DATA_FOUND THEN
4832: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;
4833: END;
4834: END IF;
4835: l_get_mat_in_rec.optimized_plan := MSC_ATP_PVT.G_OPTIMIZED_PLAN; -- 2859130
4836:

Line 4835: l_get_mat_in_rec.optimized_plan := MSC_ATP_PVT.G_OPTIMIZED_PLAN; -- 2859130

4831: EXCEPTION WHEN NO_DATA_FOUND THEN
4832: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;
4833: END;
4834: END IF;
4835: l_get_mat_in_rec.optimized_plan := MSC_ATP_PVT.G_OPTIMIZED_PLAN; -- 2859130
4836:
4837: IF PG_DEBUG in ('Y', 'C') THEN
4838: msc_sch_wb.atp_debug('Optimized plan: ' || MSC_ATP_PVT.G_OPTIMIZED_PLAN);
4839: END IF;

Line 4838: msc_sch_wb.atp_debug('Optimized plan: ' || MSC_ATP_PVT.G_OPTIMIZED_PLAN);

4834: END IF;
4835: l_get_mat_in_rec.optimized_plan := MSC_ATP_PVT.G_OPTIMIZED_PLAN; -- 2859130
4836:
4837: IF PG_DEBUG in ('Y', 'C') THEN
4838: msc_sch_wb.atp_debug('Optimized plan: ' || MSC_ATP_PVT.G_OPTIMIZED_PLAN);
4839: END IF;
4840:
4841: --- bug 1819638: get next working day.
4842:

Line 4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;

4844: -- l_calendar_code, l_exception_set_id);
4845: /* Modularize Item and Org Info */
4846: -- changed call, re-use info already obtained.
4847: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

Line 4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;

4845: /* Modularize Item and Org Info */
4846: -- changed call, re-use info already obtained.
4847: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4853: /*Modularize Item and Org Info */

Line 4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;

4846: -- changed call, re-use info already obtained.
4847: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4853: /*Modularize Item and Org Info */
4854:

Line 4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

4847: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4853: /*Modularize Item and Org Info */
4854:
4855:

Line 4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

4848: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
4849: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
4850: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
4851: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
4852: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
4853: /*Modularize Item and Org Info */
4854:
4855:
4856: /************ Bug 1510853 ATP Rule Check ************/

Line 4857: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND

4853: /*Modularize Item and Org Info */
4854:
4855:
4856: /************ Bug 1510853 ATP Rule Check ************/
4857: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND
4858: (l_default_atp_rule_id IS NULL) AND -- no default rule at org level
4859: (MSC_ATP_PVT.G_ATP_RULE_FLAG = 'N') THEN
4860: IF PG_DEBUG in ('Y', 'C') THEN
4861: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || ' RAISING EXCEPTION for NO ATP RULE ');

Line 4859: (MSC_ATP_PVT.G_ATP_RULE_FLAG = 'N') THEN

4855:
4856: /************ Bug 1510853 ATP Rule Check ************/
4857: IF (MSC_ATP_PVT.G_INV_CTP = 5) AND
4858: (l_default_atp_rule_id IS NULL) AND -- no default rule at org level
4859: (MSC_ATP_PVT.G_ATP_RULE_FLAG = 'N') THEN
4860: IF PG_DEBUG in ('Y', 'C') THEN
4861: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || ' RAISING EXCEPTION for NO ATP RULE ');
4862: END IF;
4863: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE; -- ATPeable item has no rule

Line 4863: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE; -- ATPeable item has no rule

4859: (MSC_ATP_PVT.G_ATP_RULE_FLAG = 'N') THEN
4860: IF PG_DEBUG in ('Y', 'C') THEN
4861: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || ' RAISING EXCEPTION for NO ATP RULE ');
4862: END IF;
4863: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE; -- ATPeable item has no rule
4864: ELSE
4865: IF PG_DEBUG in ('Y', 'C') THEN
4866: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'ATP RULE EXISTS at Item or Org level ' ||
4867: 'ORG LEVEL Default Rule: '||l_default_atp_rule_id);

Line 4869: MSC_ATP_PVT.G_ATP_RULE_FLAG := 'Y'; -- Item has an applicable ATP rule

4865: IF PG_DEBUG in ('Y', 'C') THEN
4866: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'ATP RULE EXISTS at Item or Org level ' ||
4867: 'ORG LEVEL Default Rule: '||l_default_atp_rule_id);
4868: END IF;
4869: MSC_ATP_PVT.G_ATP_RULE_FLAG := 'Y'; -- Item has an applicable ATP rule
4870: END IF;
4871: /************ Bug 1510853 ATP Rule Check ************/
4872:
4873: --- Write SQL statement so that we do not need to

Line 4898: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

4894: END IF;
4895: l_get_mat_in_rec.sys_next_osc_date := l_sys_next_osc_date; --bug3333114
4896: EXCEPTION
4897: WHEN OTHERS THEN
4898: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
4899: END;
4900:
4901: IF PG_DEBUG in ('Y', 'C') THEN
4902: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_sysdate_seq_num = ' || l_sysdate_seq_num);

Line 4919: p_mat_atp_info_rec.requested_date_quantity := MSC_ATP_PVT.INFINITE_NUMBER;

4915: NVL(l_infinite_time_fence_date, l_requested_date +1)) THEN
4916: -- requested date outside the infinite time fence. no need to do
4917: -- the actual atp check.
4918: MSC_ATP_DB_UTILS.Clear_SD_Details_temp(); --bug 4618369
4919: p_mat_atp_info_rec.requested_date_quantity := MSC_ATP_PVT.INFINITE_NUMBER;
4920: p_mat_atp_info_rec.atp_date_quantity_this_level := MSC_ATP_PVT.INFINITE_NUMBER;
4921: p_mat_atp_info_rec.atp_date_this_level := l_requested_date;
4922:
4923: ELSE

Line 4920: p_mat_atp_info_rec.atp_date_quantity_this_level := MSC_ATP_PVT.INFINITE_NUMBER;

4916: -- requested date outside the infinite time fence. no need to do
4917: -- the actual atp check.
4918: MSC_ATP_DB_UTILS.Clear_SD_Details_temp(); --bug 4618369
4919: p_mat_atp_info_rec.requested_date_quantity := MSC_ATP_PVT.INFINITE_NUMBER;
4920: p_mat_atp_info_rec.atp_date_quantity_this_level := MSC_ATP_PVT.INFINITE_NUMBER;
4921: p_mat_atp_info_rec.atp_date_this_level := l_requested_date;
4922:
4923: ELSE
4924:

Line 4926: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND

4922:
4923: ELSE
4924:
4925: -- Check if full summary has been run - for summary enhancement
4926: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND
4927: l_summary_flag NOT IN (MSC_POST_PRO.G_SF_SUMMARY_NOT_RUN, MSC_POST_PRO.G_SF_PREALLOC_COMPLETED,
4928: MSC_POST_PRO.G_SF_FULL_SUMMARY_RUNNING) THEN
4929: -- Summary SQL can be used
4930: MSC_ATP_PVT.G_SUMMARY_SQL := 'Y';

Line 4930: MSC_ATP_PVT.G_SUMMARY_SQL := 'Y';

4926: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND
4927: l_summary_flag NOT IN (MSC_POST_PRO.G_SF_SUMMARY_NOT_RUN, MSC_POST_PRO.G_SF_PREALLOC_COMPLETED,
4928: MSC_POST_PRO.G_SF_FULL_SUMMARY_RUNNING) THEN
4929: -- Summary SQL can be used
4930: MSC_ATP_PVT.G_SUMMARY_SQL := 'Y';
4931: ELSE
4932: -- Use the SQL for non summary case
4933: MSC_ATP_PVT.G_SUMMARY_SQL := 'N';
4934: END IF;

Line 4933: MSC_ATP_PVT.G_SUMMARY_SQL := 'N';

4929: -- Summary SQL can be used
4930: MSC_ATP_PVT.G_SUMMARY_SQL := 'Y';
4931: ELSE
4932: -- Use the SQL for non summary case
4933: MSC_ATP_PVT.G_SUMMARY_SQL := 'N';
4934: END IF;
4935:
4936: -- we need to have a branch here for allocated atp
4937: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') THEN

Line 4937: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') THEN

4933: MSC_ATP_PVT.G_SUMMARY_SQL := 'N';
4934: END IF;
4935:
4936: -- we need to have a branch here for allocated atp
4937: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') THEN
4938: -- if we need the detail information, we will get individual s/d rows
4939: -- and do the sum ourselves. if we don't need the detail infomation,
4940: -- we will do a group by and select the sum in the sql statement.
4941: IF PG_DEBUG in ('Y', 'C') THEN

Line 4942: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);

4938: -- if we need the detail information, we will get individual s/d rows
4939: -- and do the sum ourselves. if we don't need the detail infomation,
4940: -- we will do a group by and select the sum in the sql statement.
4941: IF PG_DEBUG in ('Y', 'C') THEN
4942: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'MSC_ATP_PVT.G_SUMMARY_FLAG := ' || MSC_ATP_PVT.G_SUMMARY_FLAG);
4943: END IF;
4944:
4945: -- 2859130 replace sql stmts with calls to procedures containing the sql stmts
4946: IF nvl(p_mat_atp_info_rec.insert_flag, 0) = 0 THEN

Line 4949: MSC_ATP_PVT.G_SUMMARY_SQL, -- MSC_ATP_PVT.G_SUMMARY_FLAG, -- changed for summary enhancement

4945: -- 2859130 replace sql stmts with calls to procedures containing the sql stmts
4946: IF nvl(p_mat_atp_info_rec.insert_flag, 0) = 0 THEN
4947: IF p_mat_atp_info_rec.inventory_item_id = l_request_item_id THEN
4948: get_mat_avail(
4949: MSC_ATP_PVT.G_SUMMARY_SQL, -- MSC_ATP_PVT.G_SUMMARY_FLAG, -- changed for summary enhancement
4950: MSC_ATP_PVT.G_OPTIMIZED_PLAN,
4951: p_mat_atp_info_rec.inventory_item_id,
4952: p_mat_atp_info_rec.organization_id,
4953: p_mat_atp_info_rec.instance_id,

Line 4950: MSC_ATP_PVT.G_OPTIMIZED_PLAN,

4946: IF nvl(p_mat_atp_info_rec.insert_flag, 0) = 0 THEN
4947: IF p_mat_atp_info_rec.inventory_item_id = l_request_item_id THEN
4948: get_mat_avail(
4949: MSC_ATP_PVT.G_SUMMARY_SQL, -- MSC_ATP_PVT.G_SUMMARY_FLAG, -- changed for summary enhancement
4950: MSC_ATP_PVT.G_OPTIMIZED_PLAN,
4951: p_mat_atp_info_rec.inventory_item_id,
4952: p_mat_atp_info_rec.organization_id,
4953: p_mat_atp_info_rec.instance_id,
4954: p_mat_atp_info_rec.plan_id,

Line 4972: MSC_ATP_PVT.G_SUMMARY_SQL, -- MSC_ATP_PVT.G_SUMMARY_FLAG, -- changed for summary enhancement

4968: );
4969: ELSE
4970: -- time_phased_atp
4971: MSC_ATP_PF.Get_Mat_Avail_Pf(
4972: MSC_ATP_PVT.G_SUMMARY_SQL, -- MSC_ATP_PVT.G_SUMMARY_FLAG, -- changed for summary enhancement
4973: p_mat_atp_info_rec.inventory_item_id,
4974: p_mat_atp_info_rec.request_item_id,
4975: p_mat_atp_info_rec.organization_id,
4976: p_mat_atp_info_rec.instance_id,

Line 5042: l_atp_qty_tab(l_atp_qty_tab.count) := MSC_ATP_PVT.INFINITE_NUMBER;

5038: END IF;
5039: l_atp_period_tab.EXTEND;
5040: l_atp_qty_tab.EXTEND;
5041: l_atp_period_tab(l_atp_period_tab.count) := l_infinite_time_fence_date;
5042: l_atp_qty_tab(l_atp_qty_tab.count) := MSC_ATP_PVT.INFINITE_NUMBER;
5043: END IF;
5044:
5045: Print_Dates_Qtys(l_atp_period_tab, l_atp_qty_tab);
5046:

Line 5079: ELSE -- IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') THEN

5075:
5076: Print_Dates_Qtys(l_atp_period_tab, l_atp_qty_tab);
5077: END IF; -- IF nvl(p_mat_atp_info_rec.insert_flag, 0) = 0 THEN
5078:
5079: ELSE -- IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') THEN
5080:
5081: -- we are using allocated atp
5082: /* Modularize Item and Org Info */
5083: -- changed call, re-use info already obtained.

Line 5085: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;

5081: -- we are using allocated atp
5082: /* Modularize Item and Org Info */
5083: -- changed call, re-use info already obtained.
5084: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
5085: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5087: l_calendar_exception_set_id :=
5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

Line 5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;

5082: /* Modularize Item and Org Info */
5083: -- changed call, re-use info already obtained.
5084: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
5085: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5087: l_calendar_exception_set_id :=
5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5090: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

Line 5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;

5084: MSC_ATP_PROC.get_global_org_info(p_mat_atp_info_rec.instance_id, p_mat_atp_info_rec.organization_id);
5085: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5087: l_calendar_exception_set_id :=
5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5090: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5091: /*Modularize Item and Org Info */
5092:

Line 5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

5085: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5087: l_calendar_exception_set_id :=
5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5090: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5091: /*Modularize Item and Org Info */
5092:
5093: IF PG_DEBUG in ('Y', 'C') THEN

Line 5090: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

5086: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5087: l_calendar_exception_set_id :=
5088: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5089: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5090: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5091: /*Modularize Item and Org Info */
5092:
5093: IF PG_DEBUG in ('Y', 'C') THEN
5094: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_default_atp_rule_id='|| l_default_atp_rule_id);

Line 5099: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN

5095: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_calendar_code='||l_calendar_code);
5096: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_calendar_exception_set_id'|| l_calendar_exception_set_id);
5097: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_default_demand_class'|| l_default_demand_class);
5098: END IF;
5099: IF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 THEN
5100: IF PG_DEBUG in ('Y', 'C') THEN
5101: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'Pre-alllocated demand class AATP');
5102: END IF;
5103:

Line 5129: ELSIF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2 THEN

5125: p_mat_atp_info_rec.atf_date); -- For time_phased_atp
5126:
5127:
5128: -- rajjain 02/20/2003 Bug 2813095 Begin
5129: ELSIF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2 THEN
5130: RAISE MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE;
5131: -- rajjain 02/20/2003 Bug 2813095 End
5132: ELSE
5133:

Line 5130: RAISE MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE;

5126:
5127:
5128: -- rajjain 02/20/2003 Bug 2813095 Begin
5129: ELSIF MSC_ATP_PVT.G_ALLOCATION_METHOD = 1 AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 2 THEN
5130: RAISE MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE;
5131: -- rajjain 02/20/2003 Bug 2813095 End
5132: ELSE
5133:
5134: IF PG_DEBUG in ('Y', 'C') THEN

Line 5169: nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.atp_comp_flag,'N') = 'N' THEN

5165: --Copy these values only if we are at Top assembly level.
5166:
5167: IF NVL(p_mat_atp_info_rec.insert_flag,0) = 0 and
5168: p_mat_atp_info_rec.level = 1 AND
5169: nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.atp_comp_flag,'N') = 'N' THEN
5170: x_atp_period.cumulative_quantity := l_atp_info.atp_qty;
5171: x_atp_period.period_start_date := l_atp_info.atp_period;
5172: END IF;
5173: --Bug2471377 End Changes.

Line 5222: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND NVL(p_mat_atp_info_rec.substitution_window,0) > 0

5218: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'p_mat_atp_info_rec.atp_date_this_level :=' || p_mat_atp_info_rec.atp_date_this_level);
5219: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'l_infinite_time_fence_date := ' || l_infinite_time_fence_date);
5220: END IF;
5221:
5222: IF MSC_ATP_PVT.G_SUBSTITUTION_FLAG = 'Y' AND NVL(p_mat_atp_info_rec.substitution_window,0) > 0
5223: AND p_mat_atp_info_rec.atp_date_this_level is not null THEN
5224: IF PG_DEBUG in ('Y', 'C') THEN
5225: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'we have substitution window');
5226: END IF;

Line 5251: p_mat_atp_info_rec.atp_date_quantity_this_level := MSC_ATP_PVT.INFINITE_NUMBER;

5247: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || ' p_mat_atp_info_rec.atp_date_this_level > l_subst_limit_date');
5248: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'moving p_mat_atp_info_rec.atp_date_this_level to infinite time fence');
5249: END IF;
5250: p_mat_atp_info_rec.atp_date_this_level := l_infinite_time_fence_date;
5251: p_mat_atp_info_rec.atp_date_quantity_this_level := MSC_ATP_PVT.INFINITE_NUMBER;
5252: END IF;
5253: END IF;
5254: END IF;
5255:

Line 5276: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN

5272: ---- This exception raises exception NO_MATCHING_DATE_IN_CAL
5273: --- This exception is defined in ATP_CHECK.
5274: --- Since we can't pass back the error code to atp_check from get_mat_atp_info,
5275: --- we are using exceptions
5276: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN
5277: p_mat_atp_info_rec.requested_date_quantity := 0.0;
5278: IF PG_DEBUG in ('Y', 'C') THEN
5279: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'No match for sysdate in cal');
5280: END IF;

Line 5281: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

5277: p_mat_atp_info_rec.requested_date_quantity := 0.0;
5278: IF PG_DEBUG in ('Y', 'C') THEN
5279: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'No match for sysdate in cal');
5280: END IF;
5281: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
5282:
5283: /************ Bug 1510853 ATP Rule Check ************/
5284: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
5285: p_mat_atp_info_rec.requested_date_quantity := 0.0;

Line 5284: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN

5280: END IF;
5281: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
5282:
5283: /************ Bug 1510853 ATP Rule Check ************/
5284: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
5285: p_mat_atp_info_rec.requested_date_quantity := 0.0;
5286: IF PG_DEBUG in ('Y', 'C') THEN
5287: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'No Applicable ATP rule in Get Material ATP Info');
5288: END IF;

Line 5289: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

5285: p_mat_atp_info_rec.requested_date_quantity := 0.0;
5286: IF PG_DEBUG in ('Y', 'C') THEN
5287: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' || 'No Applicable ATP rule in Get Material ATP Info');
5288: END IF;
5289: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
5290:
5291: -- rajjain 02/20/2003 Bug 2813095
5292: WHEN MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE THEN
5293: IF PG_DEBUG in ('Y', 'C') THEN

Line 5292: WHEN MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE THEN

5288: END IF;
5289: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
5290:
5291: -- rajjain 02/20/2003 Bug 2813095
5292: WHEN MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE THEN
5293: IF PG_DEBUG in ('Y', 'C') THEN
5294: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' ||
5295: 'Incompatible setup of MSC: ATP Allocation Method and MSC: Class Hierarchy');
5296: END IF;

Line 5297: RAISE MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE;

5293: IF PG_DEBUG in ('Y', 'C') THEN
5294: msc_sch_wb.atp_debug('Get_Material_Atp_Info: ' ||
5295: 'Incompatible setup of MSC: ATP Allocation Method and MSC: Class Hierarchy');
5296: END IF;
5297: RAISE MSC_ATP_PVT.ALLOC_ATP_INVALID_PROFILE;
5298:
5299: WHEN OTHERS THEN
5300: temp := SQLCODE;
5301: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;

Line 5379: IF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is null) THEN

5375: /* time_phased_atp changes begin*/
5376: IF PG_DEBUG in ('Y', 'C') THEN
5377: msc_sch_wb.atp_debug('Insert_Details: ' || 'p_atf_date := ' || p_atf_date);
5378: END IF;
5379: IF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is null) THEN
5380: l_request_item_id := p_inventory_item_id;
5381: ELSIF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is not null) THEN
5382: l_request_item_id := p_request_item_id;
5383: l_time_phased_atp := 'Y';

Line 5381: ELSIF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is not null) THEN

5377: msc_sch_wb.atp_debug('Insert_Details: ' || 'p_atf_date := ' || p_atf_date);
5378: END IF;
5379: IF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is null) THEN
5380: l_request_item_id := p_inventory_item_id;
5381: ELSIF (MSC_ATP_PVT.G_INV_CTP = 4) and (p_inventory_item_id <> p_request_item_id) and (p_atf_date is not null) THEN
5382: l_request_item_id := p_request_item_id;
5383: l_time_phased_atp := 'Y';
5384: ELSE
5385: l_request_item_id := p_request_item_id;

Line 5411: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;

5407:
5408: /* Modularize Item and Org Info */
5409: -- changed call, re-use info already obtained.
5410: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5411: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5413: l_calendar_exception_set_id :=
5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

Line 5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;

5408: /* Modularize Item and Org Info */
5409: -- changed call, re-use info already obtained.
5410: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5411: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5413: l_calendar_exception_set_id :=
5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5416: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

Line 5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;

5410: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5411: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5413: l_calendar_exception_set_id :=
5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5416: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5417: /*Modularize Item and Org Info */
5418:

Line 5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

5411: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5413: l_calendar_exception_set_id :=
5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5416: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5417: /*Modularize Item and Org Info */
5418:
5419: IF PG_DEBUG in ('Y', 'C') THEN

Line 5416: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

5412: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5413: l_calendar_exception_set_id :=
5414: MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5415: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5416: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5417: /*Modularize Item and Org Info */
5418:
5419: IF PG_DEBUG in ('Y', 'C') THEN
5420: msc_sch_wb.atp_debug('Insert_Details: ' || 'l_default_atp_rule_id='|| l_default_atp_rule_id);

Line 5438: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

5434: AND cal.sr_instance_id = p_instance_id ;
5435: EXCEPTION
5436: WHEN OTHERS THEN
5437: --RAISE NO_MATCHING_CAL_DATE; bug3583705
5438: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
5439:
5440: END;
5441: IF PG_DEBUG in ('Y', 'C') THEN
5442: msc_sch_wb.atp_debug('Insert_Details: ' || 'System Next Date is : '|| l_sys_next_date);

Line 5454: MSC_ATP_PVT.G_OPTIMIZED_PLAN,

5450: -- previous condition : p_inventory_item_id = p_request_item_id
5451: -- 2859130
5452: IF p_inventory_item_id = l_request_item_id THEN
5453: get_mat_avail_dtls(
5454: MSC_ATP_PVT.G_OPTIMIZED_PLAN,
5455: p_inventory_item_id,
5456: p_request_item_id,
5457: p_organization_id,
5458: p_instance_id,

Line 5707: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

5703: -- 2869380
5704: l_rounding_flag number;
5705:
5706: l_batching_flag number;
5707: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
5708:
5709: -- for summary enhancement
5710: l_summary_flag NUMBER;
5711: l_summary_sql VARCHAR2(1);

Line 5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;

5746:
5747: /* Modularize Item and Org Info */
5748: -- changed call, re-use info already obtained.
5749: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

Line 5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;

5747: /* Modularize Item and Org Info */
5748: -- changed call, re-use info already obtained.
5749: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223

Line 5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;

5748: -- changed call, re-use info already obtained.
5749: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
5756: /*Modularize Item and Org Info */

Line 5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

5749: MSC_ATP_PROC.get_global_org_info(p_instance_id, p_organization_id);
5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
5756: /*Modularize Item and Org Info */
5757:

Line 5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

5750: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
5756: /*Modularize Item and Org Info */
5757:
5758: /* Modularize Item and Org Info */

Line 5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223

5751: l_calendar_code := MSC_ATP_PVT.G_ORG_INFO_REC.cal_code;
5752: l_calendar_exception_set_id := MSC_ATP_PVT.G_ORG_INFO_REC.cal_exception_set_id;
5753: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
5754: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
5755: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
5756: /*Modularize Item and Org Info */
5757:
5758: /* Modularize Item and Org Info */
5759: -- Move the item fetch outside of the IF ELSE for BOR

Line 5768: l_rounding_flag := nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type,

5764: p_inventory_item_id,
5765: p_organization_id,
5766: l_item_info_rec);
5767: -- 2869830
5768: l_rounding_flag := nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type,
5769: 2);
5770: -- initially set the x_avail_assembly_qty to the p_request_quantity,
5771: -- and we adjust that later
5772:

Line 5782: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);

5778: END IF;
5779:
5780: -- 2178544
5781: --x_atp_date := sysdate;
5782: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
5783:
5784: IF (p_routing_seq_id is null) AND
5785: (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type <> 1 )THEN
5786: RETURN;

Line 5785: (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type <> 1 )THEN

5781: --x_atp_date := sysdate;
5782: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
5783:
5784: IF (p_routing_seq_id is null) AND
5785: (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type <> 1 )THEN
5786: RETURN;
5787: END IF;
5788: -- end 3027711
5789:

Line 5822: INTO l_use_bor, MSC_ATP_PVT.G_OPTIMIZED_PLAN, l_constraint_plan, l_summary_flag

5818: )
5819: )
5820: ), 0),
5821: plans.summary_flag -- for summary enhancement
5822: INTO l_use_bor, MSC_ATP_PVT.G_OPTIMIZED_PLAN, l_constraint_plan, l_summary_flag
5823: FROM msc_designators desig,
5824: msc_plans plans
5825: WHERE plans.plan_id = p_plan_id
5826: AND desig.designator = plans.compile_designator

Line 5831: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;

5827: AND desig.sr_instance_id = plans.sr_instance_id
5828: AND desig.organization_id = plans.organization_id;
5829: EXCEPTION WHEN NO_DATA_FOUND THEN
5830: l_use_bor := 0;
5831: MSC_ATP_PVT.G_OPTIMIZED_PLAN := 2;
5832: l_constraint_plan := 0;
5833: END;
5834:
5835: IF PG_DEBUG in ('Y', 'C') THEN

Line 5837: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_OPTIMIZED_PLAN = '||MSC_ATP_PVT.G_OPTIMIZED_PLAN);

5833: END;
5834:
5835: IF PG_DEBUG in ('Y', 'C') THEN
5836: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_use_bor = '||l_use_bor);
5837: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_OPTIMIZED_PLAN = '||MSC_ATP_PVT.G_OPTIMIZED_PLAN);
5838: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_constaint_plan =' || l_constraint_plan);
5839: END IF;
5840: IF (l_MSO_Batch_Flag = 'Y') and (l_use_bor = 0) and (l_constraint_plan = 1) THEN
5841: IF PG_DEBUG in ('Y', 'C') THEN

Line 5856: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND

5852: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_use_batching =' || l_use_batching);
5853: END IF;
5854:
5855: -- Check if full summary has been run - for summary enhancement
5856: IF MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y' AND
5857: l_summary_flag NOT IN (MSC_POST_PRO.G_SF_SUMMARY_NOT_RUN, MSC_POST_PRO.G_SF_PREALLOC_COMPLETED,
5858: MSC_POST_PRO.G_SF_FULL_SUMMARY_RUNNING) THEN
5859: -- Summary SQL can be used
5860: l_summary_sql := 'Y';

Line 5887: 'MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type= '||

5883: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'p_bill_seq_id = '|| p_bill_seq_id);
5884: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'p_parent_ship_date = '|| p_parent_ship_date);
5885: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'p_line_identifier = '|| p_line_identifier);
5886: msc_sch_wb.atp_debug('Get_Res_Requirements: ' ||
5887: 'MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type= '||
5888: MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type);
5889: --bug3601223
5890: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_network_scheduling_method = '|| l_network_scheduling_method);
5891: -- End Bug 2814872

Line 5888: MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type);

5884: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'p_parent_ship_date = '|| p_parent_ship_date);
5885: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'p_line_identifier = '|| p_line_identifier);
5886: msc_sch_wb.atp_debug('Get_Res_Requirements: ' ||
5887: 'MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type= '||
5888: MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type);
5889: --bug3601223
5890: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_network_scheduling_method = '|| l_network_scheduling_method);
5891: -- End Bug 2814872
5892: END IF;

Line 5894: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

5890: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_network_scheduling_method = '|| l_network_scheduling_method);
5891: -- End Bug 2814872
5892: END IF;
5893: --- get msc_lead_time factor
5894: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
5895:
5896: -- CTO Option Dependent Resources ODR
5897: l_parent_line_id := NULL;
5898: -- Set Destination Inventory Item Id

Line 5899: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

5895:
5896: -- CTO Option Dependent Resources ODR
5897: l_parent_line_id := NULL;
5898: -- Set Destination Inventory Item Id
5899: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
5900: -- Bug 3432530 Obtain Item Data into local variables.
5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;
5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;

Line 5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;

5897: l_parent_line_id := NULL;
5898: -- Set Destination Inventory Item Id
5899: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
5900: -- Bug 3432530 Obtain Item Data into local variables.
5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;
5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.

Line 5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;

5898: -- Set Destination Inventory Item Id
5899: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
5900: -- Bug 3432530 Obtain Item Data into local variables.
5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;
5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;

Line 5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;

5899: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
5900: -- Bug 3432530 Obtain Item Data into local variables.
5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;
5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;

Line 5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;

5900: -- Bug 3432530 Obtain Item Data into local variables.
5901: l_item_fixed_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.fixed_lt;
5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;

Line 5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;

5902: l_item_var_lt := MSC_ATP_PVT.G_ITEM_INFO_REC.variable_lt;
5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
5909: l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
5910: IF PG_DEBUG in ('Y', 'C') THEN

Line 5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;

5903: l_item_unit_vol := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
5909: l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
5910: IF PG_DEBUG in ('Y', 'C') THEN
5911: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_item_fixed_lt = '

Line 5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;

5904: l_item_unit_wt := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
5909: l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
5910: IF PG_DEBUG in ('Y', 'C') THEN
5911: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_item_fixed_lt = '
5912: || l_item_fixed_lt);

Line 5909: l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;

5905: --Bug 3976771 assigned correct values to local variables.
5906: --l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_volume;
5907: --l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.unit_weight;
5908: l_item_vol_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.volume_uom;
5909: l_item_wt_uom := MSC_ATP_PVT.G_ITEM_INFO_REC.weight_uom;
5910: IF PG_DEBUG in ('Y', 'C') THEN
5911: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_item_fixed_lt = '
5912: || l_item_fixed_lt);
5913: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_item_var_lt = '

Line 5925: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN

5921: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_item_vol_uom = '
5922: ||l_item_vol_uom);
5923: END IF;
5924: -- End Bug 3432530
5925: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN
5926: BEGIN
5927: -- Bug 3358981
5928: -- Default the ATO_PARENT_MODEL_LINE_ID for models to line_id
5929: SELECT DECODE(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1,

Line 5929: SELECT DECODE(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1,

5925: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN
5926: BEGIN
5927: -- Bug 3358981
5928: -- Default the ATO_PARENT_MODEL_LINE_ID for models to line_id
5929: SELECT DECODE(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1,
5930: p_line_identifier, ATO_PARENT_MODEL_LINE_ID)
5931: -- End Bug 3358981
5932: INTO l_parent_line_id
5933: FROM msc_cto_bom

Line 5935: AND session_id = MSC_ATP_PVT.G_SESSION_ID

5931: -- End Bug 3358981
5932: INTO l_parent_line_id
5933: FROM msc_cto_bom
5934: WHERE line_id = p_line_identifier
5935: AND session_id = MSC_ATP_PVT.G_SESSION_ID
5936: AND sr_inventory_item_id = p_inventory_item_id;
5937:
5938: -- Common Routing check
5939: IF p_routing_seq_id IS NOT NULL THEN

Line 5972: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

5968: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'not using BOR');
5969: END IF;
5970: -- get resource requirements
5971: -- OSFM changes
5972: l_inventory_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
5973: /*Modularize Item and Org Info */
5974: -- get the routing flag to determine the type of routing
5975: BEGIN
5976: SELECT cfm_routing_flag, routing_sequence_id

Line 6001: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN

5997: IF l_routing_type = 3 THEN --- network routing
5998:
5999: -- CTO Option Dependent Resources
6000: -- Option Dependent Routing ODR Determination
6001: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN
6002: SELECT DISTINCT -- collapse common into one in case union all is used.
6003: -- Uncomment: Bug 3432530 For CTO we obtain the Op. Seq. related data only once.
6004: department_id,
6005: owning_department_id,

Line 6070: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

6066: --bug3601223 Only if network_scheduling_method is planning percent then use % else 100%
6067: Decode(l_network_scheduling_method,2,
6068: (NVL(OP.NET_PLANNING_PERCENT,100)/100),1)
6069: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
6070: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
6071: decode (RES.BASIS_TYPE, 3,
6072: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
6073: ),
6074: nvl(rtg.routing_quantity,1)

Line 6118: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

6114: MSC_DEPARTMENT_RESOURCES DR, -- this is the sharing dept
6115: MSC_CALENDAR_DATES C1,
6116: MSC_CALENDAR_DATES C2
6117:
6118: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID
6119: AND mcbom1.sr_instance_id = p_instance_id
6120: -- Bug 3358981 line is a model then include,
6121: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6122: -- get all lines having the same parent model End Bug 3358981

Line 6158: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

6154: and NVL(OP.operation_type,1 ) = 1
6155: /* rajjain 3008611
6156: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6157: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6158: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6159: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6160: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6161: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6162: -- SMCs/Mandatory Operations

Line 6159: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6155: /* rajjain 3008611
6156: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6157: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6158: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6159: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6160: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6161: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6162: -- SMCs/Mandatory Operations
6163: AND OP.option_dependent_flag = 2

Line 6161: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

6157: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6158: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6159: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6160: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6161: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6162: -- SMCs/Mandatory Operations
6163: AND OP.option_dependent_flag = 2
6164: -- for the configuration
6165: -- Obtain the Resource Seq numbers.

Line 6242: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

6238: --bug3601223 Only if network_scheduling_method is planning percent then use % else 100%
6239: Decode(l_network_scheduling_method,2,
6240: (NVL(OP.NET_PLANNING_PERCENT,100)/100),1)
6241: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
6242: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
6243: decode (RES.BASIS_TYPE, 3,
6244: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
6245: ),
6246: nvl(rtg.routing_quantity,1)

Line 6294: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

6290: MSC_DEPARTMENT_RESOURCES DR, -- this is the sharing dept
6291: MSC_CALENDAR_DATES C1,
6292: MSC_CALENDAR_DATES C2
6293:
6294: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID
6295: AND mcbom1.sr_instance_id = p_instance_id
6296: -- Bug 3358981 line is a model then include,
6297: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6298: -- get all lines having the same parent model End Bug 3358981

Line 6301: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,

6297: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6298: -- get all lines having the same parent model End Bug 3358981
6299: AND mcbom1.bom_item_type in (1, 2)
6300: AND mcbom1.inventory_item_id =
6301: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,
6302: 1, mcbom1.inventory_item_id,
6303: 2, l_inventory_item_id)
6304: --AND (mcbom1.parent_line_id = p_line_identifier or
6305: -- Handle situation when parent_line_id is null.

Line 6317: AND decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1, -- bom_item_type for model

6313: -- Ensure that only items that have a common routing are processed with
6314: -- the model. OC Items having a separate routing will be processed separately.
6315: -- This check below with decode on the left side will be removed while
6316: -- ones below that achieve the same thing retained if performance is an issue.
6317: AND decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1, -- bom_item_type for model
6318: NVL(proc.routing_sequence_id, p_routing_seq_id),
6319: proc.routing_sequence_id -- all other cases including option_classes
6320: ) = p_routing_seq_id
6321: -- Quantity filter

Line 6332: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6328: -- Note p_requested_date is used instead of C2.calendar_date currently,
6329: -- since p_requested_date is used in MSC_ATP_PROC.get_process_effectivity
6330: -- and also from performance considerations.
6331: AND TRUNC(proc.effectivity_date) <=
6332: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6333: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6334: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6335: -- Join again to msc_cto_bom to obtain the components as well.
6336: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id

Line 6333: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))

6329: -- since p_requested_date is used in MSC_ATP_PROC.get_process_effectivity
6330: -- and also from performance considerations.
6331: AND TRUNC(proc.effectivity_date) <=
6332: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6333: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6334: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6335: -- Join again to msc_cto_bom to obtain the components as well.
6336: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id
6337: AND mcbom2.session_id = mcbom1.session_id

Line 6334: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6330: -- and also from performance considerations.
6331: AND TRUNC(proc.effectivity_date) <=
6332: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6333: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6334: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6335: -- Join again to msc_cto_bom to obtain the components as well.
6336: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id
6337: AND mcbom2.session_id = mcbom1.session_id
6338: AND mcbom2.ato_parent_model_line_id = mcbom1.ATO_PARENT_MODEL_LINE_ID

Line 6380: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

6376: and NVL(OP.operation_type,1 ) = 1
6377: /* rajjain 3008611
6378: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6379: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6380: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6381: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6382: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6383: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6384: -- Validate Model's BOM in sales order with model's bom in manufacturing org.

Line 6381: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6377: /* rajjain 3008611
6378: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6379: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6380: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6381: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6382: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6383: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6384: -- Validate Model's BOM in sales order with model's bom in manufacturing org.
6385: AND mbc.sr_instance_id = RTG.sr_instance_id -- Qry streamline 3358981

Line 6383: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

6379: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6380: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6381: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6382: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6383: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6384: -- Validate Model's BOM in sales order with model's bom in manufacturing org.
6385: AND mbc.sr_instance_id = RTG.sr_instance_id -- Qry streamline 3358981
6386: AND mbc.plan_id = RTG.plan_id
6387: AND mbc.organization_id = RTG.organization_id

Line 6396: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

6392: proc.bill_sequence_id, p_bill_seq_id)
6393: -- End Bug 3358981
6394: AND mbc.using_assembly_id = RTG.assembly_item_id -- Qry streamline 3358981
6395: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
6396: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6397: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6398: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
6399: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6400: AND mbc.inventory_item_id = mcbom2.inventory_item_id

Line 6397: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6393: -- End Bug 3358981
6394: AND mbc.using_assembly_id = RTG.assembly_item_id -- Qry streamline 3358981
6395: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
6396: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6397: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6398: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
6399: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6400: AND mbc.inventory_item_id = mcbom2.inventory_item_id
6401: -- Optional Items selected in the Sales Order

Line 6399: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6395: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
6396: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6397: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6398: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
6399: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6400: AND mbc.inventory_item_id = mcbom2.inventory_item_id
6401: -- Optional Items selected in the Sales Order
6402: -- Select the option dependent operations which are needed
6403: -- for the configuration

Line 6539: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

6535: --bug3601223 Only if network_scheduling_method is planning percent then use % else 100%
6536: Decode(l_network_scheduling_method,2,
6537: (NVL(OP.NET_PLANNING_PERCENT,100)/100),1)
6538: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
6539: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
6540: decode (RES.BASIS_TYPE, 3,
6541: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
6542: ),
6543: nvl(rtg.routing_quantity,1)

Line 6602: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

6598: AND OP.ROUTING_SEQUENCE_ID = RTG.ROUTING_SEQUENCE_ID
6599: /* rajjain 3008611
6600: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6601: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6602: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6603: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6604: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6605: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6606: AND SEQ.PLAN_ID = OP.PLAN_ID

Line 6603: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6599: /* rajjain 3008611
6600: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6601: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6602: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6603: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6604: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6605: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6606: AND SEQ.PLAN_ID = OP.PLAN_ID
6607: AND SEQ.ROUTING_SEQUENCE_ID = OP.ROUTING_SEQUENCE_ID

Line 6605: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

6601: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6602: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6603: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6604: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6605: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6606: AND SEQ.PLAN_ID = OP.PLAN_ID
6607: AND SEQ.ROUTING_SEQUENCE_ID = OP.ROUTING_SEQUENCE_ID
6608: AND SEQ.SR_INSTANCE_ID = OP.SR_INSTANCE_ID
6609: AND SEQ.OPERATION_SEQUENCE_ID = OP.OPERATION_SEQUENCE_ID

Line 6671: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN

6667: -- End CTO Option Dependent Resources ODR
6668: ELSE -- traditional routing
6669: -- CTO Option Dependent Resources
6670: -- Option Dependent Routing ODR Determination
6671: IF MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) THEN
6672: SELECT DISTINCT -- collapse common into one in case union all is used.
6673: -- Uncomment: Bug 3432530 For CTO we obtain the Op. Seq. related data only once.
6674: department_id,
6675: owning_department_id,

Line 6737: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

6733: (NVL(RES.RESOURCE_USAGE,0)
6734: -- krajan : 2408696
6735: -- MUC2.CONVERSION_RATE/MUC1.CONVERSION_RATE, 0
6736: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
6737: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
6738: decode (RES.BASIS_TYPE, 3,
6739: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
6740: ),
6741: nvl(rtg.routing_quantity,1)

Line 6785: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

6781: MSC_DEPARTMENT_RESOURCES DR, -- this is the sharing dept
6782: MSC_CALENDAR_DATES C1,
6783: MSC_CALENDAR_DATES C2
6784:
6785: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID
6786: AND mcbom1.sr_instance_id = p_instance_id
6787: -- Bug 3358981 line is a model then include,
6788: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6789: -- get all lines having the same parent model End Bug 3358981

Line 6825: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

6821: and NVL(OP.operation_type,1 ) = 1
6822: /* rajjain 3008611
6823: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6824: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6825: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6826: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6827: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6828: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6829: -- SMCs/Mandatory Operations

Line 6826: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6822: /* rajjain 3008611
6823: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
6824: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6825: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6826: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6827: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6828: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6829: -- SMCs/Mandatory Operations
6830: and OP.option_dependent_flag = 2

Line 6828: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

6824: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
6825: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
6826: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6827: AND TRUNC(OP.EFFECTIVITY_DATE) <=
6828: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
6829: -- SMCs/Mandatory Operations
6830: and OP.option_dependent_flag = 2
6831: -- for the configuration
6832: -- Obtain the Resource Seq numbers.

Line 6885: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

6881: (NVL(RES.RESOURCE_USAGE,0)
6882: -- krajan : 2408696
6883: -- MUC2.CONVERSION_RATE/MUC1.CONVERSION_RATE, 0
6884: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
6885: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
6886: decode (RES.BASIS_TYPE, 3,
6887: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
6888: ),
6889: nvl(rtg.routing_quantity,1)

Line 6937: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

6933: MSC_DEPARTMENT_RESOURCES DR, -- this is the sharing dept
6934: MSC_CALENDAR_DATES C1,
6935: MSC_CALENDAR_DATES C2
6936:
6937: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID
6938: AND mcbom1.sr_instance_id = p_instance_id
6939: -- Bug 3358981 line is a model then include,
6940: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6941: -- get all lines having the same parent model End Bug 3358981

Line 6944: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,

6940: AND (mcbom1.ATO_PARENT_MODEL_LINE_ID = l_parent_line_id OR mcbom1.line_id = l_parent_line_id)
6941: -- get all lines having the same parent model End Bug 3358981
6942: AND mcbom1.bom_item_type in (1, 2)
6943: AND mcbom1.inventory_item_id =
6944: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,
6945: 1, mcbom1.inventory_item_id,
6946: 2, l_inventory_item_id)
6947: --AND (mcbom1.parent_line_id = p_line_identifier or
6948: -- Handle situation when parent_line_id is null.

Line 6960: AND decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1, -- bom_item_type for model

6956: -- Ensure that only items that have a common routing are processed with
6957: -- the model. OC Items having a separate routing will be processed separately.
6958: -- This check below with decode on the left side will be removed while
6959: -- ones below that achieve the same thing retained if performance is an issue.
6960: AND decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type, 1, -- bom_item_type for model
6961: NVL(proc.routing_sequence_id, p_routing_seq_id),
6962: proc.routing_sequence_id -- all other cases including option_classes
6963: ) = p_routing_seq_id
6964: -- Quantity filter

Line 6975: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6971: -- Note p_requested_date is used instead of C2.calendar_date currently,
6972: -- since p_requested_date is used in MSC_ATP_PROC.get_process_effectivity
6973: -- and also from performance considerations.
6974: AND TRUNC(proc.effectivity_date) <=
6975: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6976: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6977: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6978: -- Join again to msc_cto_bom to obtain the components as well.
6979: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id

Line 6976: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))

6972: -- since p_requested_date is used in MSC_ATP_PROC.get_process_effectivity
6973: -- and also from performance considerations.
6974: AND TRUNC(proc.effectivity_date) <=
6975: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6976: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6977: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6978: -- Join again to msc_cto_bom to obtain the components as well.
6979: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id
6980: AND mcbom2.session_id = mcbom1.session_id

Line 6977: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))

6973: -- and also from performance considerations.
6974: AND TRUNC(proc.effectivity_date) <=
6975: TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6976: AND TRUNC(NVL(proc.disable_date,GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1))
6977: > TRUNC(GREATEST(p_requested_date, sysdate, MSC_ATP_PVT.G_PTF_DATE))
6978: -- Join again to msc_cto_bom to obtain the components as well.
6979: AND mcbom2.sr_instance_id = mcbom1.sr_instance_id
6980: AND mcbom2.session_id = mcbom1.session_id
6981: AND mcbom2.ato_parent_model_line_id = mcbom1.ATO_PARENT_MODEL_LINE_ID

Line 7023: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

7019: and NVL(OP.operation_type,1 ) = 1
7020: /* rajjain 3008611
7021: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
7022: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7023: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7024: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7025: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7026: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7027: -- Validate Model's BOM in sales order with model's bom in manufacturing org.

Line 7024: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

7020: /* rajjain 3008611
7021: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
7022: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7023: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7024: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7025: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7026: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7027: -- Validate Model's BOM in sales order with model's bom in manufacturing org.
7028: AND mbc.sr_instance_id = RTG.sr_instance_id -- Qry Streamline 3358981

Line 7026: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

7022: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7023: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7024: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7025: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7026: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7027: -- Validate Model's BOM in sales order with model's bom in manufacturing org.
7028: AND mbc.sr_instance_id = RTG.sr_instance_id -- Qry Streamline 3358981
7029: AND mbc.plan_id = RTG.plan_id
7030: AND mbc.organization_id = RTG.organization_id

Line 7039: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

7035: proc.bill_sequence_id, p_bill_seq_id)
7036: -- End Bug 3358981
7037: AND mbc.using_assembly_id = RTG.assembly_item_id -- Qry Streamline 3358981
7038: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
7039: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7040: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7041: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
7042: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7043: AND mbc.inventory_item_id = mcbom2.inventory_item_id

Line 7040: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

7036: -- End Bug 3358981
7037: AND mbc.using_assembly_id = RTG.assembly_item_id -- Qry Streamline 3358981
7038: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
7039: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7040: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7041: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
7042: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7043: AND mbc.inventory_item_id = mcbom2.inventory_item_id
7044: -- Optional Items selected in the Sales Order

Line 7042: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

7038: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE,
7039: sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7040: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7041: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
7042: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7043: AND mbc.inventory_item_id = mcbom2.inventory_item_id
7044: -- Optional Items selected in the Sales Order
7045: -- Select the option dependent operations which are needed.
7046: -- for the configuration

Line 7211: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958

7207: (NVL(RES.RESOURCE_USAGE,0)
7208: -- krajan : 2408696
7209: -- MUC2.CONVERSION_RATE/MUC1.CONVERSION_RATE, 0
7210: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,0,1,NVL(OP.REVERSE_CUMULATIVE_YIELD,1)))
7211: /(Decode (nvl (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG), MSC_ATP_PVT.OPM_ORG, --Bug-4694958
7212: decode (RES.BASIS_TYPE, 3,
7213: NVL(DR.MAX_CAPACITY,1), nvl(rtg.routing_quantity,1)
7214: ),
7215: nvl(rtg.routing_quantity,1)

Line 7270: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

7266: AND OP.ROUTING_SEQUENCE_ID = RTG.ROUTING_SEQUENCE_ID
7267: /* rajjain 3008611
7268: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
7269: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7270: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7271: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7272: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7273: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7274: AND SEQ.PLAN_ID = OP.PLAN_ID

Line 7271: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

7267: /* rajjain 3008611
7268: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
7269: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7270: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7271: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7272: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7273: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7274: AND SEQ.PLAN_ID = OP.PLAN_ID
7275: AND SEQ.ROUTING_SEQUENCE_ID = OP.ROUTING_SEQUENCE_ID

Line 7273: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

7269: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
7270: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
7271: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
7272: AND TRUNC(OP.EFFECTIVITY_DATE) <=
7273: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
7274: AND SEQ.PLAN_ID = OP.PLAN_ID
7275: AND SEQ.ROUTING_SEQUENCE_ID = OP.ROUTING_SEQUENCE_ID
7276: AND SEQ.SR_INSTANCE_ID = OP.SR_INSTANCE_ID
7277: AND SEQ.OPERATION_SEQUENCE_ID = OP.OPERATION_SEQUENCE_ID

Line 7376: l_inv_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

7372: END IF;
7373:
7374: -- Added on 01/09/2001 by ngoel for performance improvement
7375: /* Modularize Item and Org Info */
7376: l_inv_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
7377: /* Modularize Item and Org Info */
7378: IF PG_DEBUG in ('Y', 'C') THEN
7379: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Modular change l_inv_item_id : '||l_inv_item_id);
7380: END IF;

Line 7515: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;

7511: -- FROM msc_plans
7512: -- WHERE plan_id = p_plan_id;
7513:
7514: -- Instead re-assigned local values using global variable
7515: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
7516: --l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.curr_cutoff_date; (ssurendr) Bug 2865389
7517: l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
7518: IF PG_DEBUG in ('Y', 'C') THEN
7519: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Plan Start Date := ' || l_plan_start_date );

Line 7516: --l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.curr_cutoff_date; (ssurendr) Bug 2865389

7512: -- WHERE plan_id = p_plan_id;
7513:
7514: -- Instead re-assigned local values using global variable
7515: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
7516: --l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.curr_cutoff_date; (ssurendr) Bug 2865389
7517: l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
7518: IF PG_DEBUG in ('Y', 'C') THEN
7519: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Plan Start Date := ' || l_plan_start_date );
7520: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Infinite Time Fence := ' ||

Line 7517: l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;

7513:
7514: -- Instead re-assigned local values using global variable
7515: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
7516: --l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.curr_cutoff_date; (ssurendr) Bug 2865389
7517: l_infinite_time_fence_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
7518: IF PG_DEBUG in ('Y', 'C') THEN
7519: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Plan Start Date := ' || l_plan_start_date );
7520: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Infinite Time Fence := ' ||
7521: l_infinite_time_fence_date );

Line 7530: IF (j IS NOT NULL) AND (MSC_ATP_PVT.G_PLAN_COPRODUCTS = 'Y') AND (l_use_bor <> 1)

7526:
7527:
7528: ---- bug 1950528
7529: ---- Get assembly item id if 1) there is resource def 2) MSC_corpod is on 3) Its not a BOR
7530: IF (j IS NOT NULL) AND (MSC_ATP_PVT.G_PLAN_COPRODUCTS = 'Y') AND (l_use_bor <> 1)
7531: AND (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG) = MSC_ATP_PVT.DISCRETE_ORG) THEN --Bug-4694958
7532: BEGIN
7533: SELECT BOMS.ASSEMBLY_QUANTITY
7534: INTO l_assembly_quantity

Line 7531: AND (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG) = MSC_ATP_PVT.DISCRETE_ORG) THEN --Bug-4694958

7527:
7528: ---- bug 1950528
7529: ---- Get assembly item id if 1) there is resource def 2) MSC_corpod is on 3) Its not a BOR
7530: IF (j IS NOT NULL) AND (MSC_ATP_PVT.G_PLAN_COPRODUCTS = 'Y') AND (l_use_bor <> 1)
7531: AND (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type,MSC_ATP_PVT.DISCRETE_ORG) = MSC_ATP_PVT.DISCRETE_ORG) THEN --Bug-4694958
7532: BEGIN
7533: SELECT BOMS.ASSEMBLY_QUANTITY
7534: INTO l_assembly_quantity
7535: FROM MSC_BOMS BOMS

Line 7590: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date);

7586: l_resource_id);
7587: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'New Infinite Time Fence := '
7588: || l_infinite_time_fence_date );
7589: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Plan Cutoff Date := ' ||
7590: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date);
7591: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'ATP RULE NAME for Resource := '
7592: || l_atp_rule_name );
7593: END IF;
7594: -- Bug 3036513

Line 7789: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = 1 THEN

7785: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_res_conversion_rate := ' || l_res_conversion_rate);
7786: END IF;
7787:
7788: --diag_atp
7789: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = 1 THEN
7790:
7791: IF ((l_batchable_flag = 1) and (l_use_batching = 1)) then
7792: IF PG_DEBUG in ('Y', 'C') THEN
7793: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Batching quantity, diagnostic atp');

Line 7837: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = 1 THEN

7833: l_requested_res_qty := l_resource_usage/
7834: (l_efficiency * l_utilization);
7835: END IF;
7836: --diag_atp
7837: END IF; --IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 and p_search = 1 THEN
7838:
7839: IF PG_DEBUG in ('Y', 'C') THEN
7840: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_requested_res_qty := '||l_requested_res_qty);
7841: END IF;

Line 7847: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR

7843: -- we need to have a branch here for allocated atp
7844: -- Bug 2372577 . Check value of profile option : krajan
7845: l_msc_cap_allocation := NVL(FND_PROFILE.VALUE('MSC_CAP_ALLOCATION'), 'Y');
7846:
7847: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
7848: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
7849: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) OR
7850: -- added for bug 2372577
7851: (l_msc_cap_allocation = 'N') THEN

Line 7848: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND

7844: -- Bug 2372577 . Check value of profile option : krajan
7845: l_msc_cap_allocation := NVL(FND_PROFILE.VALUE('MSC_CAP_ALLOCATION'), 'Y');
7846:
7847: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
7848: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
7849: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) OR
7850: -- added for bug 2372577
7851: (l_msc_cap_allocation = 'N') THEN
7852:

Line 7849: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) OR

7845: l_msc_cap_allocation := NVL(FND_PROFILE.VALUE('MSC_CAP_ALLOCATION'), 'Y');
7846:
7847: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
7848: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
7849: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) OR
7850: -- added for bug 2372577
7851: (l_msc_cap_allocation = 'N') THEN
7852:
7853: l_batching_flag := 0;

Line 7862: MSC_ATP_PVT.G_Optimized_Plan,

7858: -- 2859130
7859: get_unalloc_res_avail(
7860: p_insert_flag,
7861: l_batching_flag,
7862: MSC_ATP_PVT.G_Optimized_Plan,
7863: p_instance_id,
7864: p_organization_id,
7865: p_plan_id,
7866: l_plan_start_date,

Line 7892: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'MSC_ATP_PVT.G_ATP_DEMAND_CLASS := ' || MSC_ATP_PVT.G_ATP_DEMAND_CLASS);

7888: ELSE -- of G_ALLOCATED_ATP
7889: -- we are using allocated atp
7890: -- Begin Bug 2424357
7891: IF PG_DEBUG in ('Y', 'C') THEN
7892: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'MSC_ATP_PVT.G_ATP_DEMAND_CLASS := ' || MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7893: END IF;
7894: l_demand_Class := MSC_AATP_FUNC.Get_Res_Hierarchy_demand_class(
7895: MSC_ATP_PVT.G_PARTNER_ID,
7896: MSC_ATP_PVT.G_PARTNER_SITE_ID,

Line 7895: MSC_ATP_PVT.G_PARTNER_ID,

7891: IF PG_DEBUG in ('Y', 'C') THEN
7892: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'MSC_ATP_PVT.G_ATP_DEMAND_CLASS := ' || MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7893: END IF;
7894: l_demand_Class := MSC_AATP_FUNC.Get_Res_Hierarchy_demand_class(
7895: MSC_ATP_PVT.G_PARTNER_ID,
7896: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7897: l_department_id,
7898: l_resource_id,
7899: p_organization_id,

Line 7896: MSC_ATP_PVT.G_PARTNER_SITE_ID,

7892: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'MSC_ATP_PVT.G_ATP_DEMAND_CLASS := ' || MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7893: END IF;
7894: l_demand_Class := MSC_AATP_FUNC.Get_Res_Hierarchy_demand_class(
7895: MSC_ATP_PVT.G_PARTNER_ID,
7896: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7897: l_department_id,
7898: l_resource_id,
7899: p_organization_id,
7900: p_instance_id,

Line 7903: MSC_ATP_PVT.G_ATP_DEMAND_CLASS);

7899: p_organization_id,
7900: p_instance_id,
7901: l_requested_date,
7902: NULL,
7903: MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7904:
7905: --diag_atp
7906: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
7907: IF PG_DEBUG in ('Y', 'C') THEN

Line 7906: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

7902: NULL,
7903: MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7904:
7905: --diag_atp
7906: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
7907: IF PG_DEBUG in ('Y', 'C') THEN
7908: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_demand_Class := '|| l_demand_Class);
7909: END IF;
7910: -- End Bug 2424357

Line 7914: MSC_ATP_PVT.G_ORDER_LINE_ID,

7910: -- End Bug 2424357
7911:
7912: MSC_AATP_PVT.Res_Alloc_Cum_Atp(p_plan_id,
7913: p_level,
7914: MSC_ATP_PVT.G_ORDER_LINE_ID,
7915: p_scenario_id,
7916: l_department_id,
7917: l_resource_id,
7918: p_organization_id,

Line 7948: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_PTF_DATE_THIS_LEVEL := ' || MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL);

7944: END LOOP;
7945: END IF;
7946: l_res_qty_before_ptf := 0;
7947: IF PG_DEBUG in ('Y', 'C') THEN
7948: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_PTF_DATE_THIS_LEVEL := ' || MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL);
7949: END IF;
7950: --bug 2341075: we should not consider any resources available before sysdate.Therefore,
7951: --- we get rid of all the resources availability before sysdate. Before this fix we use to ommit all
7952: --- the resources before pTF. Now we get rid off all resource availability prior to greatest of

Line 7957: IF (i = 1 AND l_atp_period_tab(i) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate))) THEN

7953: ---sysdate anf PTF date
7954: --Bug3394751 Added Trunc on the sysdate.
7955:
7956: FOR i in 1..l_atp_period_tab.COUNT LOOP
7957: IF (i = 1 AND l_atp_period_tab(i) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate))) THEN
7958: l_res_qty_before_ptf := 0;
7959: EXIT;
7960: ELSIF (i < l_atp_period_tab.COUNT AND
7961: l_atp_period_tab(i) < GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) AND

Line 7961: l_atp_period_tab(i) < GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) AND

7957: IF (i = 1 AND l_atp_period_tab(i) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate))) THEN
7958: l_res_qty_before_ptf := 0;
7959: EXIT;
7960: ELSIF (i < l_atp_period_tab.COUNT AND
7961: l_atp_period_tab(i) < GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) AND
7962: l_atp_period_tab(i+1) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) ) THEN
7963: l_res_qty_before_ptf := l_atp_qty_tab(i);
7964: -- Bug 4108546 Set the Index value
7965: l_res_ptf_indx := i;

Line 7962: l_atp_period_tab(i+1) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) ) THEN

7958: l_res_qty_before_ptf := 0;
7959: EXIT;
7960: ELSIF (i < l_atp_period_tab.COUNT AND
7961: l_atp_period_tab(i) < GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) AND
7962: l_atp_period_tab(i+1) >= GREATEST(MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL, trunc(sysdate)) ) THEN
7963: l_res_qty_before_ptf := l_atp_qty_tab(i);
7964: -- Bug 4108546 Set the Index value
7965: l_res_ptf_indx := i;
7966: EXIT;

Line 7968: IF l_atp_qty_tab(i) = MSC_ATP_PVT.INFINITE_NUMBER THEN

7964: -- Bug 4108546 Set the Index value
7965: l_res_ptf_indx := i;
7966: EXIT;
7967: ELSIF i = l_atp_period_tab.COUNT THEN
7968: IF l_atp_qty_tab(i) = MSC_ATP_PVT.INFINITE_NUMBER THEN
7969: l_res_qty_before_ptf := 0;
7970: ELSE
7971: l_res_qty_before_ptf := l_atp_qty_tab(i);
7972: -- Bug 4108546 Set the Index value

Line 7999: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN

7995:
7996: l_requested_date_quantity := 0;
7997:
7998: ELSE
7999: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN
8000: IF PG_DEBUG in ('Y', 'C') THEN
8001: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
8002: END IF;
8003: FOR k IN 1..l_atp_period_tab.COUNT LOOP

Line 8001: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);

7997:
7998: ELSE
7999: IF MSC_ATP_PVT.G_RES_CONSUME = 'Y' THEN
8000: IF PG_DEBUG in ('Y', 'C') THEN
8001: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
8002: END IF;
8003: FOR k IN 1..l_atp_period_tab.COUNT LOOP
8004: IF k < l_atp_period_tab.LAST THEN
8005: l_next_period := l_atp_period_tab(k+1);

Line 8030: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);

8026: END IF;
8027: END LOOP;
8028: ELSE -- IF G_RES_CONSUME = 'N'
8029: IF PG_DEBUG in ('Y', 'C') THEN
8030: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
8031: END IF;
8032: -- first we initialize the l_requested_date_quantity so that
8033: -- if we cannot find any date that match the requested date,
8034: -- the l_requested_date_quantity is set to 0.

Line 8062: IF l_basis_type = 2 OR MSC_ATP_PVT.G_RES_CONSUME = 'N'OR

8058: ELSIF l_requested_date_quantity >0 THEN
8059: -- for this resource, we cannot satisfy the resource
8060: -- requirement. so we need to change the x_avail_assembly_qty
8061: --- resource batching: If req_dat_qty < req_qty then we set the avail_qty = 0
8062: IF l_basis_type = 2 OR MSC_ATP_PVT.G_RES_CONSUME = 'N'OR
8063: (l_batchable_flag = 1 AND l_use_batching = 1) THEN
8064: IF PG_DEBUG in ('Y', 'C') THEN
8065: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
8066: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_basis_type = '||l_basis_type);

Line 8065: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);

8061: --- resource batching: If req_dat_qty < req_qty then we set the avail_qty = 0
8062: IF l_basis_type = 2 OR MSC_ATP_PVT.G_RES_CONSUME = 'N'OR
8063: (l_batchable_flag = 1 AND l_use_batching = 1) THEN
8064: IF PG_DEBUG in ('Y', 'C') THEN
8065: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_RES_CONSUME = '||MSC_ATP_PVT.G_RES_CONSUME);
8066: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'l_basis_type = '||l_basis_type);
8067: END IF;
8068: -- this requirement is per lot, so we cannot have any
8069: -- final assembly made

Line 8073: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN

8069: -- final assembly made
8070: x_avail_assembly_qty :=0;
8071: --diag_atp: we want to check for next resource in daignostic mode even if
8072: --available qty for this resource is zero.
8073: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN
8074:
8075: EXIT;
8076: END IF;
8077: ELSE

Line 8106: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN

8102: -- assembly.
8103: x_avail_assembly_qty :=0;
8104: --diag_atp: we want to check for next resource in daignostic mode even if
8105: --available qty for this resource is zero.
8106: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1) THEN
8107: EXIT;
8108: END IF;
8109: END IF;
8110: ELSE

Line 8134: MSC_ATP_PVT.G_PTF_DATE,

8130: MSC_CALENDAR.DATE_OFFSET
8131: (p_organization_id,
8132: p_instance_id,
8133: 1,
8134: MSC_ATP_PVT.G_PTF_DATE,
8135: CEIL(((NVL(l_item_fixed_lt,0)+
8136: NVL(l_item_var_lt,0)* p_requested_quantity) * (1+ l_mso_lead_time_factor))
8137: - l_lead_time)));--4198893,4198445
8138:

Line 8141: --l_requested_date := GREATEST(l_requested_date, MSC_ATP_PVT.G_PTF_DATE);

8137: - l_lead_time)));--4198893,4198445
8138:
8139:
8140: ---2178544
8141: --l_requested_date := GREATEST(l_requested_date, MSC_ATP_PVT.G_PTF_DATE);
8142:
8143: IF PG_DEBUG in ('Y', 'C') THEN
8144: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'New l_requested_date = '||l_requested_date);
8145: END IF;

Line 8165: AND MSC_ATP_PVT.G_RES_CONSUME = 'Y') OR

8161: IF (l_atp_qty_tab(k) -l_res_qty_before_ptf >= l_requested_res_qty) AND
8162: --((l_atp_period_tab(k) >= trunc(sysdate) AND --4198893,4198445
8163: ((l_atp_period_tab(k) >= l_requested_date AND
8164: l_next_period > l_requested_date
8165: AND MSC_ATP_PVT.G_RES_CONSUME = 'Y') OR
8166: (l_atp_period_tab(k) >= l_requested_date
8167: AND MSC_ATP_PVT.G_RES_CONSUME = 'N')) THEN
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN

Line 8167: AND MSC_ATP_PVT.G_RES_CONSUME = 'N')) THEN

8163: ((l_atp_period_tab(k) >= l_requested_date AND
8164: l_next_period > l_requested_date
8165: AND MSC_ATP_PVT.G_RES_CONSUME = 'Y') OR
8166: (l_atp_period_tab(k) >= l_requested_date
8167: AND MSC_ATP_PVT.G_RES_CONSUME = 'N')) THEN
8168:
8169: IF PG_DEBUG in ('Y', 'C') THEN
8170: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'inside the loop to find x_atp_date');
8171: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'x_atp_date = '||x_atp_date);

Line 8269: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND p_search = 1) THEN

8265: x_avail_assembly_qty :=0;
8266: x_atp_date := NULL;
8267: --diag_atp: we want to check for next resource in daignostic mode even if
8268: --available qty for this resource is zero.
8269: IF NOT (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 AND p_search = 1) THEN
8270:
8271: EXIT;
8272: END IF;
8273: END IF; -- end if l_atp_period_tab.count > 0

Line 8281: IF x_avail_assembly_qty <> 0 or MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

8277: -- quantity. not yet done!!!
8278:
8279: IF p_search = 1 THEN -- Backward Scheduling
8280: --diag_atp
8281: IF x_avail_assembly_qty <> 0 or MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
8282: -- get supply_id from the pegging_id
8283: SELECT IDENTIFIER3
8284: INTO l_supply_id
8285: FROM MRP_ATP_DETAILS_TEMP

Line 8288: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;

8284: INTO l_supply_id
8285: FROM MRP_ATP_DETAILS_TEMP
8286: WHERE PEGGING_ID = p_parent_pegging_id
8287: AND RECORD_TYPE = 3
8288: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;
8289: --diag_atp:
8290: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
8291: --since we are checking on full quantity, we do not need to convert it back
8292: IF (l_basis_type in (1,3)) THEN --4694958

Line 8290: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

8286: WHERE PEGGING_ID = p_parent_pegging_id
8287: AND RECORD_TYPE = 3
8288: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;
8289: --diag_atp:
8290: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
8291: --since we are checking on full quantity, we do not need to convert it back
8292: IF (l_basis_type in (1,3)) THEN --4694958
8293: --bug 3766202: divide by l_assembly qty to correctly project resource hours
8294: --- for co-producs

Line 8385: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL)); --4135752

8381: -- for resource_requirements
8382: -- Bug 3562873 only PTF check is needed.
8383: l_res_start_date := trunc(GREATEST(l_res_start_date,
8384: --Bug 3562873 l_res_requirements.requested_date(j),
8385: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL)); --4135752
8386: -- End Bug 3562873.
8387:
8388: IF PG_DEBUG in ('Y', 'C') THEN
8389: msc_sch_wb.atp_debug('Get_Res_Requirements: l_res_requirements.requested_date(j) '||

Line 8467: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8463: ELSE
8464: l_owning_department_code := l_department_code;
8465: END IF;
8466:
8467: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8468: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8469: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8470: l_pegging_rec.atp_level:= p_level;
8471: l_pegging_rec.organization_id:= p_organization_id;

Line 8468: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8464: l_owning_department_code := l_department_code;
8465: END IF;
8466:
8467: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8468: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8469: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8470: l_pegging_rec.atp_level:= p_level;
8471: l_pegging_rec.organization_id:= p_organization_id;
8472: l_pegging_rec.organization_code := l_org_code;

Line 8513: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node

8509: l_pegging_rec.batchable_flag := l_batchable_flag;
8510: --END IF;
8511:
8512: --diag_atp
8513: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node
8514:
8515: -- Bug 3348161
8516: IF PG_DEBUG in ('Y', 'C') THEN
8517: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_ITEM_INFO_REC.base_item_id ' ||

Line 8518: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);

8514:
8515: -- Bug 3348161
8516: IF PG_DEBUG in ('Y', 'C') THEN
8517: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_ITEM_INFO_REC.base_item_id ' ||
8518: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);
8519: END IF;
8520: ---s_cto_rearch and ODR
8521: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;
8522: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR

Line 8522: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR

8518: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);
8519: END IF;
8520: ---s_cto_rearch and ODR
8521: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;
8522: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR
8523: -- Handle Configuration Items as well.
8524: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN
8525: l_pegging_rec.model_sd_flag := 1;
8526: IF PG_DEBUG in ('Y', 'C') THEN

Line 8524: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN

8520: ---s_cto_rearch and ODR
8521: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;
8522: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR
8523: -- Handle Configuration Items as well.
8524: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN
8525: l_pegging_rec.model_sd_flag := 1;
8526: IF PG_DEBUG in ('Y', 'C') THEN
8527: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Set model_sd_flag');
8528: END IF;

Line 8534: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;

8530: --e_cto_rearch and ODR
8531: -- End Bug 3348161
8532:
8533: -- dsting ATO 2465370
8534: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8535:
8536: --bug 3328421
8537: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8538:

Line 8537: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;

8533: -- dsting ATO 2465370
8534: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8535:
8536: --bug 3328421
8537: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8538:
8539: -- for demo:1153192
8540: l_pegging_rec.constraint_flag := 'N';
8541: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

Line 8541: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8537: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8538:
8539: -- for demo:1153192
8540: l_pegging_rec.constraint_flag := 'N';
8541: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8542: -- Bug 3826234
8543: l_pegging_rec.manufacturing_cal_code := NULL;
8544: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
8545:

Line 8544: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

8540: l_pegging_rec.constraint_flag := 'N';
8541: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8542: -- Bug 3826234
8543: l_pegging_rec.manufacturing_cal_code := NULL;
8544: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
8545:
8546: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8547:
8548: -- 1487344: instead of getting resource code and department code

Line 8567: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8563: l_resource_code); */
8564:
8565: -- add pegging info for the supply
8566:
8567: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8568: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8569: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8570: l_pegging_rec.atp_level:= p_level+1;
8571: l_pegging_rec.organization_id:= p_organization_id;

Line 8568: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8564:
8565: -- add pegging info for the supply
8566:
8567: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8568: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8569: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8570: l_pegging_rec.atp_level:= p_level+1;
8571: l_pegging_rec.organization_id:= p_organization_id;
8572: l_pegging_rec.organization_code := l_org_code;

Line 8577: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;

8573: l_pegging_rec.identifier1:= p_instance_id;
8574: l_pegging_rec.identifier2:= p_plan_id;
8575: l_pegging_rec.identifier3 := -1;
8576: l_pegging_rec.scenario_id:= p_scenario_id;
8577: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;
8578: l_pegging_rec.supply_demand_quantity:=l_requested_date_quantity;
8579: l_pegging_rec.supply_demand_type:= 2;
8580: l_pegging_rec.supply_demand_date:= l_requested_date;
8581: l_pegging_rec.department_id := l_department_id;

Line 8612: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_SUPPLY; --resource supply node

8608: l_pegging_rec.efficiency := l_res_requirements.efficiency(j);
8609: l_pegging_rec.utilization := l_res_requirements.utilization(j);
8610: l_pegging_rec.REVERSE_CUM_YIELD := l_res_requirements.reverse_cumulative_yield(j);
8611: l_pegging_rec.owning_department := l_owning_department_code;
8612: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_SUPPLY; --resource supply node
8613:
8614: l_pegging_rec.model_sd_flag := NULL; -- cto_rearch ODR unset flag for supply.
8615:
8616: IF (l_use_batching = 1 AND l_batchable_flag = 1) THEN

Line 8621: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;

8617: l_pegging_rec.required_quantity:=l_requested_res_qty;
8618: ELSE
8619: l_pegging_rec.required_quantity:=l_resource_hours;
8620: END IF;
8621: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8622: --bug 3328421:
8623: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8624: l_pegging_rec.basis_type := l_res_requirements.basis_type(j);
8625: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

Line 8623: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;

8619: l_pegging_rec.required_quantity:=l_resource_hours;
8620: END IF;
8621: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8622: --bug 3328421:
8623: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8624: l_pegging_rec.basis_type := l_res_requirements.basis_type(j);
8625: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
8626: IF l_requested_res_qty > l_requested_date_quantity THEN
8627: l_pegging_rec.constraint_type := 6;

Line 8625: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

8621: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8622: --bug 3328421:
8623: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8624: l_pegging_rec.basis_type := l_res_requirements.basis_type(j);
8625: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
8626: IF l_requested_res_qty > l_requested_date_quantity THEN
8627: l_pegging_rec.constraint_type := 6;
8628: END IF;
8629: END IF;

Line 8641: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8637: l_pegging_rec.constraint_flag := 'N';
8638: END IF;
8639:
8640: l_pegging_rec.source_type := 0;
8641: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8642:
8643: -- Bug 3036513 Add Infinite_Time_fence and ATP Rule Data to Pegging
8644: l_pegging_rec.infinite_time_fence := l_infinite_time_fence_date;
8645: l_pegging_rec.atp_rule_name := l_atp_rule_name;

Line 8649: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

8645: l_pegging_rec.atp_rule_name := l_atp_rule_name;
8646: -- End Bug 3036513
8647: -- Bug 3826234
8648: l_pegging_rec.manufacturing_cal_code := l_calendar_code;
8649: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
8650:
8651: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8652:
8653: END IF;

Line 8665: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;

8661: INTO l_supply_id
8662: FROM MRP_ATP_DETAILS_TEMP
8663: WHERE PEGGING_ID = p_parent_pegging_id
8664: AND RECORD_TYPE = 3
8665: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;
8666:
8667: IF (l_basis_type in (1,3)) THEN --4694958
8668: --bug 3766202: divide by l_assembly qty to correctly project resource hours
8669: --- for co-producs

Line 8720: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL)); --4135752

8716: -- for resource_requirements
8717: -- Bug 3562873 only PTF check is needed.
8718: l_res_start_date := trunc(GREATEST(l_res_start_date,
8719: --Bug 3562873 l_res_requirements.requested_date(j),
8720: MSC_ATP_PVT.G_PTF_DATE_THIS_LEVEL)); --4135752
8721: -- End Bug 3562873.
8722:
8723: IF PG_DEBUG in ('Y', 'C') THEN
8724: msc_sch_wb.atp_debug('Get_Res_Requirements: l_res_requirements.requested_date(j) ' ||

Line 8795: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8791:
8792: IF PG_DEBUG in ('Y', 'C') THEN
8793: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'in forward piece, adding resource demand pegging');
8794: END IF;
8795: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8796: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8797: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8798: l_pegging_rec.atp_level:= p_level;
8799: l_pegging_rec.organization_id:= p_organization_id;

Line 8796: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8792: IF PG_DEBUG in ('Y', 'C') THEN
8793: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'in forward piece, adding resource demand pegging');
8794: END IF;
8795: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8796: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8797: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8798: l_pegging_rec.atp_level:= p_level;
8799: l_pegging_rec.organization_id:= p_organization_id;
8800: l_pegging_rec.organization_code := l_org_code;

Line 8837: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node

8833: l_pegging_rec.batchable_flag := l_batchable_flag;
8834: --END IF;
8835:
8836: --diag_atp
8837: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node
8838:
8839: -- for demo:1153192
8840: l_pegging_rec.constraint_flag := 'N';
8841: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

Line 8841: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8837: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node
8838:
8839: -- for demo:1153192
8840: l_pegging_rec.constraint_flag := 'N';
8841: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8842:
8843: -- dsting ATO 2465370
8844: --bug 3328421: store actual req date in req_date col and actual supply demand date in
8845: --l_pegging_rec.required_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;

Line 8845: --l_pegging_rec.required_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;

8841: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8842:
8843: -- dsting ATO 2465370
8844: --bug 3328421: store actual req date in req_date col and actual supply demand date in
8845: --l_pegging_rec.required_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8846: l_pegging_rec.required_date := l_res_requirements.requested_date(j);
8847: l_pegging_rec.actual_supply_demand_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8848:
8849: -- Bug 3348161

Line 8847: l_pegging_rec.actual_supply_demand_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;

8843: -- dsting ATO 2465370
8844: --bug 3328421: store actual req date in req_date col and actual supply demand date in
8845: --l_pegging_rec.required_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8846: l_pegging_rec.required_date := l_res_requirements.requested_date(j);
8847: l_pegging_rec.actual_supply_demand_date := TRUNC(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8848:
8849: -- Bug 3348161
8850: IF PG_DEBUG in ('Y', 'C') THEN
8851: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_ITEM_INFO_REC.base_item_id ' ||

Line 8852: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);

8848:
8849: -- Bug 3348161
8850: IF PG_DEBUG in ('Y', 'C') THEN
8851: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'G_ITEM_INFO_REC.base_item_id ' ||
8852: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);
8853: END IF;
8854: ---s_cto_rearch and ODR,
8855: -- Bug 3348161 set model_sd_flag for future case.
8856: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;

Line 8857: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR

8853: END IF;
8854: ---s_cto_rearch and ODR,
8855: -- Bug 3348161 set model_sd_flag for future case.
8856: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;
8857: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR
8858: -- Handle Configuration Items as well.
8859: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN
8860: l_pegging_rec.model_sd_flag := 1;
8861: IF PG_DEBUG in ('Y', 'C') THEN

Line 8859: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN

8855: -- Bug 3348161 set model_sd_flag for future case.
8856: l_pegging_rec.dest_inv_item_id := l_inventory_item_id;
8857: IF (MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type in (1, 2) OR
8858: -- Handle Configuration Items as well.
8859: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id is NOT NULL) THEN
8860: l_pegging_rec.model_sd_flag := 1;
8861: IF PG_DEBUG in ('Y', 'C') THEN
8862: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'Set model_sd_flag');
8863: END IF;

Line 8869: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

8865: --e_cto_rearch and ODR
8866: -- End Bug 3348161
8867: -- Bug 3826234
8868: l_pegging_rec.manufacturing_cal_code := NULL;
8869: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
8870:
8871: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8872:
8873: -- 1487344: instead of getting resource code and department code

Line 8896: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

8892: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'in forward piece, adding resource supply pegging');
8893: END IF;
8894:
8895:
8896: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8897: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8898: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8899: l_pegging_rec.atp_level:= p_level+1;
8900: l_pegging_rec.organization_id:= p_organization_id;

Line 8897: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

8893: END IF;
8894:
8895:
8896: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8897: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8898: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8899: l_pegging_rec.atp_level:= p_level+1;
8900: l_pegging_rec.organization_id:= p_organization_id;
8901: l_pegging_rec.organization_code := l_org_code;

Line 8907: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;

8903: l_pegging_rec.identifier2:= p_plan_id;
8904: l_pegging_rec.identifier3 := -1;
8905:
8906: l_pegging_rec.scenario_id:= p_scenario_id;
8907: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;
8908: l_pegging_rec.supply_demand_quantity:= l_res_atp_qty;
8909: l_pegging_rec.supply_demand_type:= 2;
8910: l_pegging_rec.supply_demand_date:= l_res_atp_date;
8911: l_pegging_rec.department_id := l_department_id;

Line 8942: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_SUPPLY; --resource supply node

8938: l_pegging_rec.efficiency := l_res_requirements.efficiency(j);
8939: l_pegging_rec.utilization := l_res_requirements.utilization(j);
8940: l_pegging_rec.REVERSE_CUM_YIELD := l_res_requirements.reverse_cumulative_yield(j);
8941: l_pegging_rec.owning_department := l_owning_department_code;
8942: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_SUPPLY; --resource supply node
8943: IF (l_use_batching = 1 AND l_batchable_flag = 1) THEN
8944: l_pegging_rec.required_quantity:=l_requested_res_qty;
8945: ELSE
8946: l_pegging_rec.required_quantity:=l_resource_hours;

Line 8948: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;

8944: l_pegging_rec.required_quantity:=l_requested_res_qty;
8945: ELSE
8946: l_pegging_rec.required_quantity:=l_resource_hours;
8947: END IF;
8948: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8949: --bug 3328421:
8950: l_pegging_rec.actual_supply_demand_date := trunc(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8951: l_pegging_rec.basis_type := l_res_requirements.basis_type(j);
8952: l_pegging_rec.allocation_rule := l_allocation_rule_name;

Line 8950: l_pegging_rec.actual_supply_demand_date := trunc(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;

8946: l_pegging_rec.required_quantity:=l_resource_hours;
8947: END IF;
8948: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8949: --bug 3328421:
8950: l_pegging_rec.actual_supply_demand_date := trunc(l_res_atp_date) + MSC_ATP_PVT.G_END_OF_DAY;
8951: l_pegging_rec.basis_type := l_res_requirements.basis_type(j);
8952: l_pegging_rec.allocation_rule := l_allocation_rule_name;
8953:
8954: -- Bug 3348161 Unset model_sd_flag for future supply case.

Line 8961: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

8957: l_pegging_rec.source_type := 0;
8958:
8959: -- for demo:1153192
8960: l_pegging_rec.constraint_flag := 'N';
8961: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;
8962:
8963: --s_cto_rearch
8964: IF l_res_atp_date > l_requested_date THEN
8965: IF PG_DEBUG in ('Y', 'C') THEN

Line 8980: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

8976: l_pegging_rec.atp_rule_name := l_atp_rule_name;
8977: -- End Bug 3036513
8978: -- Bug 3826234
8979: l_pegging_rec.manufacturing_cal_code := l_calendar_code;
8980: l_pegging_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
8981:
8982: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
8983:
8984: END IF;

Line 8992: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

8988: msc_sch_wb.atp_debug('in get_res_requirements we are here 1');
8989: END IF;
8990: FOR i in 1..l_atp_period.Level.COUNT LOOP
8991: l_atp_period.Pegging_Id(i) := l_pegging_id;
8992: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
8993:
8994: END LOOP;
8995:
8996: IF PG_DEBUG in ('Y', 'C') THEN

Line 9004: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

9000: -- dsting supply/demand details pl/sql tables no longer used
9001: /*
9002: FOR i in 1..l_atp_supply_demand.Level.COUNT LOOP
9003: l_atp_supply_demand.Pegging_Id(i) := l_pegging_id;
9004: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
9005: END LOOP;
9006: */
9007:
9008: IF p_insert_flag <> 0 THEN

Line 9010: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

9006: */
9007:
9008: IF p_insert_flag <> 0 THEN
9009: MSC_ATP_DB_UTILS.move_SD_temp_into_mrp_details(l_pegging_id,
9010: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);
9011: END IF;
9012:
9013: IF PG_DEBUG in ('Y', 'C') THEN
9014: msc_sch_wb.atp_debug('in get_res_requirements we are here 3');

Line 9025: <> MSC_ATP_PVT.INFINITE_NUMBER THEN

9021: IF (l_res_ptf_indx IS NOT NULL) THEN
9022: IF k <= l_res_ptf_indx THEN
9023: l_atp_period.Cumulative_Quantity(k) := 0;
9024: ELSIF l_atp_period.Cumulative_Quantity(k)
9025: <> MSC_ATP_PVT.INFINITE_NUMBER THEN
9026: l_atp_period.Cumulative_Quantity(k) :=
9027: l_atp_period.Cumulative_Quantity(k) - l_res_qty_before_ptf;
9028: END IF;
9029: IF PG_DEBUG in ('Y', 'C') THEN

Line 9049: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 AND p_search = 2 AND

9045: msc_sch_wb.atp_debug('in get_res_requirements we are here 4');
9046: END IF;
9047:
9048: -- Bug 2814872
9049: IF (MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 AND p_search = 2 AND
9050: x_atp_date >= p_parent_ship_date) THEN
9051: -- No need to look at other resources in forward pass as for this resource
9052: -- the availability date is greater than or equal to the parent's ATP date.
9053: -- Note that when p_parent_ship_date is NULL all resources will get visited.

Line 9073: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

9069: IF PG_DEBUG in ('Y', 'C') THEN
9070: msc_sch_wb.atp_debug('***** End Get_Res_Requirements Procedure *****');
9071: END IF;
9072: Exception
9073: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
9074: IF PG_DEBUG in ('Y', 'C') THEN
9075: msc_sch_wb.atp_debug('Get_Res_Requirements ' || 'No match for sysdate in cal');
9076: END IF;
9077: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

Line 9077: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

9073: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
9074: IF PG_DEBUG in ('Y', 'C') THEN
9075: msc_sch_wb.atp_debug('Get_Res_Requirements ' || 'No match for sysdate in cal');
9076: END IF;
9077: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
9078: WHEN OTHERS THEN
9079: x_return_status := FND_API.G_RET_STS_ERROR;
9080: IF PG_DEBUG in ('Y', 'C') THEN --bug3583705
9081: msc_sch_wb.atp_debug('Get_Res_Requirements ' || 'inside when others');

Line 9171: l_plan_info_rec MSC_ATP_PVT.plan_info_rec; -- added for bug 2392456

9167: l_fix_var_lead_time NUMBER;
9168: l_future_order_date DATE;
9169: l_ptf_date DATE;
9170: l_ptf_flag NUMBER;
9171: l_plan_info_rec MSC_ATP_PVT.plan_info_rec; -- added for bug 2392456
9172:
9173: l_comp_source_organization_id NUMBER; -- krajan : 2400614
9174: l_comp_atp_flag_src VARCHAR2(1); -- krajan : 2462661
9175:

Line 9201: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

9197: L_REQUEST_DATE date;
9198: L_MAND_COMP_INFO_REC MSC_ATP_CTO.mand_comp_info_rec;
9199: l_atp_comp_rec MRP_ATP_PVT.ATP_COMP_REC;
9200: l_null_atp_comp_rec MRP_ATP_PVT.ATP_COMP_REC;
9201: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
9202: l_model_error_code number := 0;
9203: --e_cto_rearch
9204:
9205: -- time_phased_atp

Line 9244: ROUND ((decode (NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode (nvl (mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity)

9240: (SELECT I2.SR_INVENTORY_ITEM_ID,
9241: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9242: --4570421
9243: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9244: ROUND ((decode (NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode (nvl (mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9245: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9246: 2, MBC.USAGE_QUANTITY),
9247: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9248: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)

Line 9245: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

9241: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9242: --4570421
9243: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9244: ROUND ((decode (NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode (nvl (mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9245: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9246: 2, MBC.USAGE_QUANTITY),
9247: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9248: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9249: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

Line 9247: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,

9243: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9244: ROUND ((decode (NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode (nvl (mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9245: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9246: 2, MBC.USAGE_QUANTITY),
9247: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9248: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9249: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9250: 2, MBC.USAGE_QUANTITY,
9251: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)

Line 9249: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

9245: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9246: 2, MBC.USAGE_QUANTITY),
9247: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9248: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9249: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9250: 2, MBC.USAGE_QUANTITY,
9251: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9252: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9253: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)

Line 9252: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

9248: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9249: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9250: 2, MBC.USAGE_QUANTITY,
9251: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9252: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9253: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9256: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))

Line 9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

9250: 2, MBC.USAGE_QUANTITY,
9251: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9252: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9253: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9256: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))
9257: ))
9258: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863

Line 9256: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))

9252: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9253: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9256: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))
9257: ))
9258: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863
9259: * DECODE (l_routing_type, 3,Decode (l_network_scheduling_method,
9260: 2,(NVL(OP.NET_PLANNING_PERCENT,100)/100),1), 1)

Line 9258: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863

9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9256: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))
9257: ))
9258: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863
9259: * DECODE (l_routing_type, 3,Decode (l_network_scheduling_method,
9260: 2,(NVL(OP.NET_PLANNING_PERCENT,100)/100),1), 1)
9261: --/NVL (OP.REVERSE_CUMULATIVE_YIELD, DECODE (l_routing_type, 3, NVL (l_first_op_RCY, 1), 1))
9262: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,

Line 9327: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,

9323: Phantom is exploded to its components and no supply/resource requirements are created for phantom.
9324: --------------------------------------------------------------------------*/
9325: DECODE(l_wip_supply_type,
9326: 6,
9327: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9328: 'N',
9329: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9330: 2,
9331: 0,

Line 9329: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),

9325: DECODE(l_wip_supply_type,
9326: 6,
9327: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9328: 'N',
9329: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9330: 2,
9331: 0,
9332: CEIL((NVL(I.FIXED_LEAD_TIME,0)+
9333: NVL(I.VARIABLE_LEAD_TIME,0)*

Line 9400: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

9396: --AND MBC.ATP_FLAG = 1
9397: /* rajjain 3008611
9398: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9399: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9400: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9401: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9402: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9403: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9404: AND C1.CALENDAR_DATE = l_requested_date

Line 9401: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

9397: /* rajjain 3008611
9398: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9399: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9400: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9401: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9402: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9403: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9404: AND C1.CALENDAR_DATE = l_requested_date
9405: AND C1.SR_INSTANCE_ID = I.SR_INSTANCE_ID

Line 9403: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

9399: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9400: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9401: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9402: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9403: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9404: AND C1.CALENDAR_DATE = l_requested_date
9405: AND C1.SR_INSTANCE_ID = I.SR_INSTANCE_ID
9406: --4106269
9407: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - DECODE(l_wip_supply_type,

Line 9409: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,

9405: AND C1.SR_INSTANCE_ID = I.SR_INSTANCE_ID
9406: --4106269
9407: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - DECODE(l_wip_supply_type,
9408: 6,
9409: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9410: 'N',
9411: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9412: 2,
9413: 0,

Line 9411: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),

9407: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - DECODE(l_wip_supply_type,
9408: 6,
9409: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9410: 'N',
9411: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9412: 2,
9413: 0,
9414: CEIL((NVL(I.FIXED_LEAD_TIME,0)+
9415: NVL(I.VARIABLE_LEAD_TIME,0)*

Line 9439: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE

9435: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID
9436: AND I2.ORGANIZATION_ID =MBC.ORGANIZATION_ID
9437: AND I2.PLAN_ID = I.PLAN_ID
9438: --4570421
9439: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9440: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9441: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9442: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9443: --s_cto_rearch

Line 9440: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

9436: AND I2.ORGANIZATION_ID =MBC.ORGANIZATION_ID
9437: AND I2.PLAN_ID = I.PLAN_ID
9438: --4570421
9439: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9440: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9441: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9442: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9443: --s_cto_rearch
9444: -- select only atpable components. For model and option class, we do not look at atp components

Line 9442: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

9438: --4570421
9439: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9440: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9441: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9442: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9443: --s_cto_rearch
9444: -- select only atpable components. For model and option class, we do not look at atp components
9445: --flag as they do not carry any significance once config is created
9446: AND (I2.atp_flag <> 'N' or I2.atp_components_flag <> DECODE(I2.BOM_ITEM_TYPE,

Line 9492: ROUND ((decode (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode ( nvl(mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity),

9488: SELECT I2.SR_INVENTORY_ITEM_ID,
9489: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9490: --ROUND((MBC.USAGE_QUANTITY * l_requested_quantity ),6),
9491: --4570421
9492: ROUND ((decode (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode ( nvl(mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9493: 2, MBC.USAGE_QUANTITY),
9494: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9495: 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9496: 2, MBC.USAGE_QUANTITY,

Line 9494: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,

9490: --ROUND((MBC.USAGE_QUANTITY * l_requested_quantity ),6),
9491: --4570421
9492: ROUND ((decode (NVL (MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG), 1, decode ( nvl(mbc.scaling_type, 1), 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9493: 2, MBC.USAGE_QUANTITY),
9494: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9495: 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9496: 2, MBC.USAGE_QUANTITY,
9497: 3, (MBC.USAGE_QUANTITY*l_requested_quantity),
9498: 4, (MBC.USAGE_QUANTITY*l_requested_quantity),

Line 9503: CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+

9499: 5, (MBC.USAGE_QUANTITY*l_requested_quantity))
9500: )) --/NVL (mbc.component_yield_factor, 1) --4767982
9501: ,6),
9502: C2.CALENDAR_DATE,
9503: CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9504: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor)),
9505: DECODE(MBC.WIP_SUPPLY_TYPE, 6, l_def_wip_sup_type, MBC.WIP_SUPPLY_TYPE), -- phantoms not be supported for DRP plans
9506: NVL(ceil(MSC_ATP_PVT.G_ITEM_INFO_REC.PRE_PRO_LT),0),
9507: 1, -- default for RCY Yield unsuppored for DRP plans.

Line 9504: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor)),

9500: )) --/NVL (mbc.component_yield_factor, 1) --4767982
9501: ,6),
9502: C2.CALENDAR_DATE,
9503: CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9504: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor)),
9505: DECODE(MBC.WIP_SUPPLY_TYPE, 6, l_def_wip_sup_type, MBC.WIP_SUPPLY_TYPE), -- phantoms not be supported for DRP plans
9506: NVL(ceil(MSC_ATP_PVT.G_ITEM_INFO_REC.PRE_PRO_LT),0),
9507: 1, -- default for RCY Yield unsuppored for DRP plans.
9508: l_def_atf_date, -- ATF will be NULL as a default for DRP plans.

Line 9506: NVL(ceil(MSC_ATP_PVT.G_ITEM_INFO_REC.PRE_PRO_LT),0),

9502: C2.CALENDAR_DATE,
9503: CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9504: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor)),
9505: DECODE(MBC.WIP_SUPPLY_TYPE, 6, l_def_wip_sup_type, MBC.WIP_SUPPLY_TYPE), -- phantoms not be supported for DRP plans
9506: NVL(ceil(MSC_ATP_PVT.G_ITEM_INFO_REC.PRE_PRO_LT),0),
9507: 1, -- default for RCY Yield unsuppored for DRP plans.
9508: l_def_atf_date, -- ATF will be NULL as a default for DRP plans.
9509: I2.UOM_CODE, --bug3110023
9510: --4570421

Line 9530: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

9526: AND MBC.USAGE_QUANTITY > 0
9527: AND MBC.BILL_SEQUENCE_ID = BOMS.BILL_SEQUENCE_ID
9528: AND MBC.PLAN_ID = BOMS.PLAN_ID
9529: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9530: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9531: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9532: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9534: AND C1.CALENDAR_DATE = l_requested_date

Line 9531: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))

9527: AND MBC.BILL_SEQUENCE_ID = BOMS.BILL_SEQUENCE_ID
9528: AND MBC.PLAN_ID = BOMS.PLAN_ID
9529: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9530: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9531: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9532: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9534: AND C1.CALENDAR_DATE = l_requested_date
9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID

Line 9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312

9529: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9530: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9531: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9532: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9534: AND C1.CALENDAR_DATE = l_requested_date
9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

Line 9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE

9532: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9534: AND C1.CALENDAR_DATE = l_requested_date
9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9540: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE

Line 9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

9533: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9534: AND C1.CALENDAR_DATE = l_requested_date
9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9540: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9541: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID

Line 9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+

9534: AND C1.CALENDAR_DATE = l_requested_date
9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9540: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9541: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9542: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

Line 9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))

9535: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9537: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9540: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9541: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9542: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9543: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID

Line 9542: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

9538: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9539: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9540: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9541: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9542: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9543: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID
9544: AND I2.ORGANIZATION_ID =MBC.ORGANIZATION_ID
9545: AND I2.PLAN_ID = BOMS.PLAN_ID
9546: -- select only atpable components.

Line 9574: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID

9570: FROM msc_bom_temp mbt,
9571: msc_calendar_dates c2,
9572: msc_calendar_dates c1,
9573: msc_trading_partners tp
9574: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9575: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9576: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9577: AND mbt.assembly_item_id = l_inventory_item_id
9578: /* rajjain 3008611

Line 9575: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID

9571: msc_calendar_dates c2,
9572: msc_calendar_dates c1,
9573: msc_trading_partners tp
9574: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9575: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9576: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9577: AND mbt.assembly_item_id = l_inventory_item_id
9578: /* rajjain 3008611
9579: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date

Line 9576: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID

9572: msc_calendar_dates c1,
9573: msc_trading_partners tp
9574: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9575: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9576: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9577: AND mbt.assembly_item_id = l_inventory_item_id
9578: /* rajjain 3008611
9579: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9580: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/

Line 9581: AND TRUNC(NVL(mbt.disable_date, GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE)+1)) >

9577: AND mbt.assembly_item_id = l_inventory_item_id
9578: /* rajjain 3008611
9579: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9580: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9581: AND TRUNC(NVL(mbt.disable_date, GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9582: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9583: AND TRUNC(mbt.effective_date) <=
9584: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9585: AND c1.calendar_date = l_requested_date

Line 9582: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))

9578: /* rajjain 3008611
9579: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9580: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9581: AND TRUNC(NVL(mbt.disable_date, GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9582: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9583: AND TRUNC(mbt.effective_date) <=
9584: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9585: AND c1.calendar_date = l_requested_date
9586: AND c1.sr_instance_id = tp.sr_instance_id

Line 9584: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))

9580: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/
9581: AND TRUNC(NVL(mbt.disable_date, GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9582: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9583: AND TRUNC(mbt.effective_date) <=
9584: TRUNC(GREATEST(sysdate, c2.calendar_date, MSC_ATP_PVT.G_PTF_DATE))
9585: AND c1.calendar_date = l_requested_date
9586: AND c1.sr_instance_id = tp.sr_instance_id
9587: AND c1.calendar_code = tp.calendar_code
9588: AND c1.exception_set_id = tp.calendar_exception_set_id

Line 9674: l_comp_requirements.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

9670: l_comp_requirements.requested_date(1) := p_requested_date;
9671:
9672: -- assume the wip supply type to be 1 (as long as it is not phantom)
9673: l_comp_requirements.wip_supply_type(1) := 1;
9674: l_comp_requirements.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
9675:
9676: l_comp_requirements.bom_item_type(1) := 1; -- hard code to model's bom type
9677: l_comp_requirements.parent_so_quantity(1) := p_comp_info_rec.parent_so_quantity;
9678: l_comp_requirements.assembly_identifier(1) := null;

Line 9705: l_explode_comp.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

9701: l_explode_comp.requested_date(1) := p_requested_date;
9702:
9703: -- assume the wip supply type to be 1 (as long as it is not phantom)
9704: l_explode_comp.wip_supply_type(1) := 1;
9705: l_explode_comp.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
9706:
9707: l_explode_comp.bom_item_type(1) := p_comp_info_rec.bom_item_type;
9708: l_explode_comp.parent_so_quantity(1) := p_comp_info_rec.parent_so_quantity;
9709: l_explode_comp.assembly_identifier(1) := p_comp_info_rec.line_id;

Line 9716: l_explode_comp.dest_inventory_item_id(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;

9712: l_explode_comp.ato_model_line_id(1) := p_comp_info_rec.ato_model_line_id;
9713: l_explode_comp.parent_line_id(1) := p_comp_info_rec.parent_line_id;
9714: l_explode_comp.fixed_lt(1) := p_comp_info_rec.fixed_lt;
9715: l_explode_comp.variable_lt(1) := p_comp_info_rec.variable_lt;
9716: l_explode_comp.dest_inventory_item_id(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
9717:
9718: --(3004862) circular BOM issue - initialize with end item's destination id.
9719:
9720: /*---bug 2680027: Extend lead_time field. This field will contain lead time of the parent if

Line 9739: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

9735: */
9736: l_explode_comp.lead_time(1) := 0;
9737: END IF; --- p_comp_info_rec.check_model_capacity_flag = 1 THEN
9738:
9739: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9740: --- get mso_sco_lead_time_factor
9741: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9742: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9743:

Line 9741: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

9737: END IF; --- p_comp_info_rec.check_model_capacity_flag = 1 THEN
9738:
9739: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9740: --- get mso_sco_lead_time_factor
9741: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9742: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9743:
9744: IF PG_DEBUG in ('Y', 'C') THEN
9745: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'MSO LEAD TIME FACTOR = ' || l_mso_lead_time_factor);

Line 9742: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223

9738:
9739: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9740: --- get mso_sco_lead_time_factor
9741: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9742: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9743:
9744: IF PG_DEBUG in ('Y', 'C') THEN
9745: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'MSO LEAD TIME FACTOR = ' || l_mso_lead_time_factor);
9746: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'after assign the value');

Line 9758: l_rounding_flag := nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type, 2);

9754: -- Check if Records exist in MSC_BOM_TEMP table in case of PDS. If yes,
9755: -- open cto_comp cursor instead of cursor comp.
9756:
9757: -- 2869830
9758: l_rounding_flag := nvl(MSC_ATP_PVT.G_ITEM_INFO_REC.rounding_control_type, 2);
9759:
9760: -- 3027711 move this to the beginning
9761: -- initially set the x_avail_assembly_qty to the p_requested_quantity,
9762: -- and we adjust that later

Line 9771: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);

9767: x_avail_assembly_qty := trunc(p_requested_quantity, 6); -- 5598066
9768: END IF;
9769:
9770: -- bug 2178544
9771: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
9772: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;
9773:
9774: IF p_bill_seq_id is null and p_comp_info_rec.check_model_capacity_flag = 2 THEN
9775: RETURN;

Line 9772: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;

9768: END IF;
9769:
9770: -- bug 2178544
9771: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
9772: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;
9773:
9774: IF p_bill_seq_id is null and p_comp_info_rec.check_model_capacity_flag = 2 THEN
9775: RETURN;
9776: END IF;

Line 9815: and MSC_ATP_PVT.G_INV_CTP = 5 THEN

9811: l_comp_requirements.parent_item_id(1) := p_inventory_item_id;
9812: END IF;
9813:
9814: /* ELSIF p_comp_info_rec.bom_item_type = 4 and p_comp_info_rec.replenish_to_order_flag = 'Y'
9815: and MSC_ATP_PVT.G_INV_CTP = 5 THEN
9816: l_model_flag := 1;
9817: l_model_atp_comp_flag := p_comp_info_rec.atp_comp_flag;
9818: */
9819: END IF;

Line 9834: -- l_inv_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id; -- Not required after 3004862 fix

9830: --have all the components we need. Threfore we exit out
9831: EXIT;
9832: END IF;
9833:
9834: -- l_inv_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id; -- Not required after 3004862 fix
9835: IF PG_DEBUG in ('Y', 'C') THEN
9836: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_explode_comp.component_identifier(' || i || ') : ' || l_explode_comp.component_identifier(i));
9837: END IF;
9838:

Line 9964: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN

9960: IF l_bill_seq_id is not null THEN
9961:
9962: ---- Get the bom from msc_bom_components and network routing
9963: -- ATP4drp open DRP specific cursor for DRP plans.
9964: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN
9965:
9966: OPEN net_rout_comp(l_bill_seq_id, -- (3004862) circular BOM issue: call with changed parameter
9967: l_explode_comp.requested_date(i),
9968: l_explode_comp.comp_usage(i),

Line 10000: (l_explode_comp.bom_item_type(i) = 4 and MSC_ATP_PVT.G_INV_CTP = 5) THEN

9996: END IF;
9997: IF l_model_atp_comp_flag in ('Y', 'C') THEN
9998: ---explode mandatory components if model or option class
9999: IF l_explode_comp.bom_item_type(i) in (1,2) or
10000: (l_explode_comp.bom_item_type(i) = 4 and MSC_ATP_PVT.G_INV_CTP = 5) THEN
10001:
10002: IF PG_DEBUG in ('Y', 'C') THEN
10003: msc_sch_wb.atp_debug('i = ' || i);
10004: END IF;

Line 10065: IF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND l_atp_comp_rec.scaling_type IN (4,5)) THEN

10061: l_atp_comp_rec.rounding_direction := l_mand_comp_info_rec.rounding_direction(l_cto_count);
10062: l_atp_comp_rec.component_yield_factor := l_mand_comp_info_rec.component_yield_factor(l_cto_count);
10063: l_atp_comp_rec.usage_qty := l_mand_comp_info_rec.usage_qty(l_cto_count); --4775920
10064: l_atp_comp_rec.organization_type := l_mand_comp_info_rec.organization_type(l_cto_count); --4775920
10065: IF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND l_atp_comp_rec.scaling_type IN (4,5)) THEN
10066: l_atp_comp_rec.comp_usage := integer_scaling (l_mand_comp_info_rec.quantity(l_cto_count),
10067: l_mand_comp_info_rec.scale_multiple(l_cto_count),
10068: l_mand_comp_info_rec.scale_rounding_variance(l_cto_count) ,
10069: l_mand_comp_info_rec.rounding_direction(l_cto_count));

Line 10119: MSC_ATP_CTO.Get_CTO_BOM(MSC_ATP_PVT.G_SESSION_ID,

10115: IF PG_DEBUG in ('Y', 'C') THEN
10116: msc_sch_wb.atp_debug('Get CTO Bom');
10117: END IF;
10118:
10119: MSC_ATP_CTO.Get_CTO_BOM(MSC_ATP_PVT.G_SESSION_ID,
10120: l_cto_bom_rec,
10121: l_explode_comp.assembly_identifier(i),
10122: l_explode_comp.requested_date(i),
10123: l_explode_comp.comp_usage(i),

Line 10150: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN

10146: EXIT;
10147: END IF;
10148:
10149: -- ATP4drp fetch from DRP specific cursor for DRP plans.
10150: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN
10151: -- Non DRP Plan
10152: IF PG_DEBUG in ('Y', 'C') THEN
10153: msc_sch_wb.atp_debug('Before Fetch of net_rout_comp');
10154: END IF;

Line 10225: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_ASSEMBLY_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);

10221: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_assembly_identifier = '||l_comp_assembly_identifier);
10222: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_component_identifier = '||l_comp_component_identifier);
10223: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_pre_pro_lead_time = '||l_comp_pre_pro_lead_time);
10224: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_atf_date = '||l_atf_date);
10225: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_ASSEMBLY_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10226: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10227: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_uom = '||l_comp_uom); --bug3110023
10228: --4570421
10229: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scaling_type = '||l_scaling_type);

Line 10226: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);

10222: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_component_identifier = '||l_comp_component_identifier);
10223: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_pre_pro_lead_time = '||l_comp_pre_pro_lead_time);
10224: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_atf_date = '||l_atf_date);
10225: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_ASSEMBLY_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10226: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10227: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_uom = '||l_comp_uom); --bug3110023
10228: --4570421
10229: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scaling_type = '||l_scaling_type);
10230: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scale_multiple = '||l_scale_multiple);

Line 10240: IF NVL(MSC_ATP_PVT.G_EXPLODE_PHANTOM, 'N') = 'Y' THEN

10236:
10237:
10238: END IF;
10239:
10240: IF NVL(MSC_ATP_PVT.G_EXPLODE_PHANTOM, 'N') = 'Y' THEN
10241: --- agilent fix: If profile option is set to yes then we consider phantom
10242: --- item as any other item and do not add it to the list of items to be exploded
10243: l_comp_wip_supply_type := 1;
10244: END IF;

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

10250:
10251: /* time_phased_atp changes begin
10252: Support PF ATP for components*/
10253: -- ATP4drp PF ATP not supported for DRP.
10254: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
10255: -- Turn Off Product Family ATP for components.
10256: l_atp_comp_rec.inventory_item_id := l_comp_item_id ;
10257: -- ATP4drp PF ATP not supported for DRP. Print out Debug Here.
10258: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 AND PG_DEBUG in ('Y', 'C') THEN

Line 10258: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 AND PG_DEBUG in ('Y', 'C') THEN

10254: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
10255: -- Turn Off Product Family ATP for components.
10256: l_atp_comp_rec.inventory_item_id := l_comp_item_id ;
10257: -- ATP4drp PF ATP not supported for DRP. Print out Debug Here.
10258: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 AND PG_DEBUG in ('Y', 'C') THEN
10259: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
10260: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_comp_rec.inventory_item_id '
10261: || l_atp_comp_rec.inventory_item_id );
10262: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_comp_rec.request_item_id '

Line 10294: l_atp_comp_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920

10290: l_atp_comp_rec.scale_rounding_variance := l_scale_rounding_variance;
10291: l_atp_comp_rec.rounding_direction := l_rounding_direction;
10292: l_atp_comp_rec.component_yield_factor := l_component_yield_factor; --4570421
10293: l_atp_comp_rec.usage_qty := l_usage_qty; --4775920
10294: l_atp_comp_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
10295: --diag_atp
10296: l_atp_comp_rec.reverse_cumulative_yield := l_reverse_cumulative_yield;
10297: --s_cto_rearch
10298: l_atp_comp_rec.match_item_id := null;

Line 10389: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN

10385:
10386: -- Bug 4042403, 4047183, 4070094 Check that l_bill_seq_id is not NULL
10387: IF ((l_routing_type = 3) OR (l_model_flag <> 1)) AND l_bill_seq_id IS NOT NULL THEN
10388: -- ATP4drp close DRP specific cursor for DRP plans.
10389: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN
10390: -- Bug 4042403, 4047183, 4070094 Close the cursor only if it has been opened.
10391: IF net_rout_comp%ISOPEN THEN
10392: CLOSE net_rout_comp;
10393: IF PG_DEBUG in ('Y', 'C') THEN

Line 10469: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

10465: IF PG_DEBUG in ('Y', 'C') THEN
10466: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_requirements.comp_usage(j) := '||l_comp_requirements.comp_usage(j));
10467: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'x_avail_assembly_qty := '||x_avail_assembly_qty);
10468: END IF;
10469: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10470: --- for diagnostic atp we always order the full quantity.
10471: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10472: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10473: l_requested_comp_qty := l_comp_requirements.comp_usage(j);

Line 10471: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR

10467: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'x_avail_assembly_qty := '||x_avail_assembly_qty);
10468: END IF;
10469: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10470: --- for diagnostic atp we always order the full quantity.
10471: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10472: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10473: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10474: ELSE
10475: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;

Line 10472: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN

10468: END IF;
10469: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10470: --- for diagnostic atp we always order the full quantity.
10471: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10472: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10473: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10474: ELSE
10475: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10476: END IF;

Line 10478: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR

10474: ELSE
10475: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10476: END IF;
10477: ELSE --4570421
10478: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10479: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10480: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10481: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) THEN
10482: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,

Line 10479: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN

10475: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10476: END IF;
10477: ELSE --4570421
10478: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10479: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10480: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10481: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) THEN
10482: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,
10483: l_comp_requirements.scale_multiple(j),

Line 10481: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) THEN

10477: ELSE --4570421
10478: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10479: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10480: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10481: ELSIF (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) THEN
10482: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,
10483: l_comp_requirements.scale_multiple(j),
10484: l_comp_requirements.scale_rounding_variance(j) ,
10485: l_comp_requirements.rounding_direction(j));

Line 10510: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);

10506: -- In such a case, if item C is not available enough say while making Model B
10507: -- in backward case, during adjustment of other resources and components, we want
10508: -- G_ASSEMBLY_LINE_ID to be set to line Id of Model B and not Model A.
10509:
10510: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10511: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10512: IF PG_DEBUG in ('Y', 'C') THEN
10513: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10514: END IF;

Line 10511: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);

10507: -- in backward case, during adjustment of other resources and components, we want
10508: -- G_ASSEMBLY_LINE_ID to be set to line Id of Model B and not Model A.
10509:
10510: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10511: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10512: IF PG_DEBUG in ('Y', 'C') THEN
10513: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10514: END IF;
10515:

Line 10513: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);

10509:
10510: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10511: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10512: IF PG_DEBUG in ('Y', 'C') THEN
10513: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10514: END IF;
10515:
10516: -- no need to do uom conversion
10517: l_atp_rec.instance_id := p_instance_id;

Line 10518: l_atp_rec.identifier := MSC_ATP_PVT.G_ORDER_LINE_ID;

10514: END IF;
10515:
10516: -- no need to do uom conversion
10517: l_atp_rec.instance_id := p_instance_id;
10518: l_atp_rec.identifier := MSC_ATP_PVT.G_ORDER_LINE_ID;
10519: l_atp_rec.component_identifier := l_comp_requirements.component_identifier(j);
10520:
10521: -- 2462661 : krajan
10522: --l_atp_rec.src_atp_flag := l_comp_requirements.src_atp_flag(j);

Line 10529: and session_id = MSC_ATP_PVT.G_SESSION_ID;

10525: into l_atp_rec.demand_source_line
10526: from mrp_atp_details_temp
10527: where pegging_id = p_parent_pegging_id
10528: and record_type = 3
10529: and session_id = MSC_ATP_PVT.G_SESSION_ID;
10530:
10531:
10532: -- l_atp_rec.demand_source_header_id:= l_atp_table.Demand_Source_Header_Id(i);
10533: -- l_atp_rec.demand_source_delivery:= l_atp_table.Demand_Source_Delivery(i);

Line 10561: l_atp_rec.demand_class := NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS, p_demand_class);

10557: l_atp_rec.ship_date := null;
10558:
10559: -- krajan: 2408902: populate demand class from global variable
10560: -- Bug 2424357
10561: l_atp_rec.demand_class := NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS, p_demand_class);
10562:
10563: IF PG_DEBUG in ('Y', 'C') THEN
10564: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Demand Class being passed is : '|| l_atp_rec.demand_class);
10565: END IF;

Line 10579: l_model_error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

10575: --exclude mand_comp flag as they will always be collected
10576: and NVL(l_comp_requirements.MAND_COMP_FLAG(j), 2) = 2 THEN
10577:
10578: --item doesn't exists in the given organization
10579: l_model_error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
10580:
10581: IF PG_DEBUG in ('Y', 'C') THEN
10582: msc_sch_wb.atp_debug('Item not collected := ' || l_comp_requirements.inventory_item_id(j));
10583: END IF;

Line 10589: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 THEN

10585: ELSIF l_model_flag = 1 and l_comp_requirements.atp_flag(j) = 'N'
10586: and l_comp_requirements.atp_components_flag(j) = 'N' THEN
10587: --model entity is non-atpable. Do not find plan, default to parent's plan
10588: l_plan_id := p_plan_id;
10589: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 THEN
10590: l_plan_id := -1;
10591: l_assign_set_id := p_assign_set_id;
10592: ELSE
10593:

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

10630: END IF;
10631: END IF;
10632: /* time_phased_atp changes end*/
10633:
10634: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10635: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10636: IF PG_DEBUG in ('Y', 'C') THEN
10637: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10638: END IF;

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

10631: END IF;
10632: /* time_phased_atp changes end*/
10633:
10634: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10635: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10636: IF PG_DEBUG in ('Y', 'C') THEN
10637: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10638: END IF;
10639: ---plan found for match

Line 10637: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );

10633:
10634: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10635: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10636: IF PG_DEBUG in ('Y', 'C') THEN
10637: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10638: END IF;
10639: ---plan found for match
10640: l_plan_found_for_match := 1;
10641: --l_atp_rec.request_item_id := l_comp_requirements.match_item_id(j);

Line 10648: msc_sch_wb.atp_debug('Plan not found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );

10644: ELSE
10645: ---plan is not found for match. Do ATP on model level
10646: --l_atp_rec.inventory_item_id := l_comp_requirements.inventory_item_id(j);
10647: IF PG_DEBUG in ('Y', 'C') THEN
10648: msc_sch_wb.atp_debug('Plan not found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10649: END IF;
10650: /* time_phased_atp
10651: Support PF ATP for components*/
10652: l_atp_rec.inventory_item_id := l_comp_requirements.inventory_item_id(j);

Line 10689: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

10685: END IF;
10686: /* time_phased_atp changes end*/
10687: END IF;
10688:
10689: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
10690: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj
10691:
10692: l_plan_id := l_plan_info_rec.plan_id;
10693: l_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 10706: l_model_error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

10702: msc_sch_wb.atp_debug ('Plan ID in Get_Comp_Reqs : ' || l_plan_id);
10703: IF (l_plan_id is NULL) or (l_plan_id IN (-100, -200)) THEN
10704: --s_cto_rearch
10705: IF l_model_flag = 1 THEN
10706: l_model_error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
10707: ELSE
10708: --standard item
10709: -- this should not happen but just in case
10710: l_plan_id := p_plan_id;

Line 10717: l_atp_rec.error_code := MSC_ATP_PVT.TRY_ATP_LATER;

10713: END IF;
10714:
10715: -- 24x7
10716: IF (l_plan_id = -300) then
10717: l_atp_rec.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
10718: IF PG_DEBUG in ('Y', 'C') THEN
10719: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10720: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10721: END IF;

Line 10722: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';

10718: IF PG_DEBUG in ('Y', 'C') THEN
10719: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10720: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10721: END IF;
10722: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10723: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10724: End IF;
10725: END IF;
10726: --subst

Line 10723: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

10719: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10720: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10721: END IF;
10722: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10723: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10724: End IF;
10725: END IF;
10726: --subst
10727: l_atp_rec.original_item_flag := 2;

Line 10739: IF MSC_ATP_PVT.G_INV_CTP = 5 and

10735: l_atp_rec.manufacturing_cal_code := p_manufacturing_cal_code;
10736: /* ship_rec_cal changes end */
10737:
10738: ---s_cto_rearch
10739: IF MSC_ATP_PVT.G_INV_CTP = 5 and
10740: p_comp_info_rec.bom_item_type = 4 and p_comp_info_rec.replenish_to_order_flag = 'Y' THEN
10741: --add ato item's components in ODS case share the same line id as ato item itself
10742: l_atp_rec.demand_source_line := p_comp_info_rec.line_id;
10743: ELSE

Line 10797: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

10793: l_atp_rec.requested_date_quantity := 0;
10794: l_atp_rec.ship_date := null;
10795:
10796: --add pegging for diagnostic case
10797: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10798: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10799: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10800: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10801: l_pegging_rec.atp_level:= p_level;

Line 10798: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

10794: l_atp_rec.ship_date := null;
10795:
10796: --add pegging for diagnostic case
10797: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10798: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10799: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10800: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10801: l_pegging_rec.atp_level:= p_level;
10802: l_pegging_rec.organization_id:= p_organization_id;

Line 10799: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

10795:
10796: --add pegging for diagnostic case
10797: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10798: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10799: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10800: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10801: l_pegging_rec.atp_level:= p_level;
10802: l_pegging_rec.organization_id:= p_organization_id;
10803: l_pegging_rec.organization_code := l_org_code;

Line 10838: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --demand pegging

10834: l_pegging_rec.component_identifier := null;
10835:
10836:
10837: --diag_atp
10838: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --demand pegging
10839:
10840: --s_cto_rearch
10841: l_pegging_rec.dest_inv_item_id := null;
10842: l_pegging_rec.error_code := l_model_error_code;

Line 10845: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement

10841: l_pegging_rec.dest_inv_item_id := null;
10842: l_pegging_rec.error_code := l_model_error_code;
10843: --e_cto_rearch
10844:
10845: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
10846: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
10847: END IF;
10848: ELSE
10849:

Line 10862: MSC_ATP_PVT.ATP_Check(l_atp_rec,

10858: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_rec.parent_item_id ' || l_atp_rec.parent_item_id );
10859: END IF;
10860: -- End ATP4drp
10861:
10862: MSC_ATP_PVT.ATP_Check(l_atp_rec,
10863: l_plan_id,
10864: p_level ,
10865: p_scenario_id,
10866: p_search,

Line 10877: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;

10873:
10874: END IF;
10875: --- bug 2178544
10876: -- Since PTF-Date might be chnaged by some different plan for components we reset the global varibale
10877: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10878:
10879: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10880:
10881: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

Line 10879: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

10875: --- bug 2178544
10876: -- Since PTF-Date might be chnaged by some different plan for components we reset the global varibale
10877: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10878:
10879: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10880:
10881: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10882:
10883: IF PG_DEBUG in ('Y', 'C') THEN

Line 10881: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

10877: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10878:
10879: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10880:
10881: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10882:
10883: IF PG_DEBUG in ('Y', 'C') THEN
10884: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || ' Error in OSS');
10885: END IF;

Line 10890: -- krajan: If it is MSC_ATP_PVT.G_ATO_SRC_MISMATCH, then it is a sourcing mismatch error.

10886:
10887: -- Bug 1531429, in case return status is not success, raise an exception.
10888: -- krajan: 2400614
10889: -- krajan: If it is 'G', then it is a sourcing mismatch error.
10890: -- krajan: If it is MSC_ATP_PVT.G_ATO_SRC_MISMATCH, then it is a sourcing mismatch error.
10891:
10892: -- krajan: Basically for handling recursive ATP_CHECK <-> Get_Comp_Req calls
10893: -- krajan : 2752705 and dsting 2764213 : Other errors that need to go through to the
10894: -- top level model are also handled the same way as the mismatch case.

Line 10895: ELSIF x_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

10891:
10892: -- krajan: Basically for handling recursive ATP_CHECK <-> Get_Comp_Req calls
10893: -- krajan : 2752705 and dsting 2764213 : Other errors that need to go through to the
10894: -- top level model are also handled the same way as the mismatch case.
10895: ELSIF x_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
10896: IF PG_DEBUG in ('Y', 'C') THEN
10897: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Get_Comp_Req: Error in ATP_CHECK 0.1');
10898: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Error in lower level component check');
10899: END IF;

Line 10900: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

10896: IF PG_DEBUG in ('Y', 'C') THEN
10897: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Get_Comp_Req: Error in ATP_CHECK 0.1');
10898: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Error in lower level component check');
10899: END IF;
10900: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10901:
10902: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10903: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10904: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN

Line 10903: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS

10899: END IF;
10900: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10901:
10902: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10903: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10904: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10905: IF PG_DEBUG in ('Y', 'C') THEN
10906: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10907: END IF;

Line 10904: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN

10900: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10901:
10902: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10903: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10904: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10905: IF PG_DEBUG in ('Y', 'C') THEN
10906: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10907: END IF;
10908: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

Line 10908: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

10904: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10905: IF PG_DEBUG in ('Y', 'C') THEN
10906: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10907: END IF;
10908: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
10909: END IF;
10910:
10911: -- dsting 2764213
10912: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

Line 10912: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

10908: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
10909: END IF;
10910:
10911: -- dsting 2764213
10912: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
10913: IF PG_DEBUG in ('Y', 'C') THEN
10914: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.2');
10915: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10916: END IF;

Line 10917: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

10913: IF PG_DEBUG in ('Y', 'C') THEN
10914: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.2');
10915: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10916: END IF;
10917: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10918: END IF;
10919:
10920: -- krajan 2752705
10921: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

Line 10921: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

10917: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10918: END IF;
10919:
10920: -- krajan 2752705
10921: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
10922: IF PG_DEBUG in ('Y', 'C') THEN
10923: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.3');
10924: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10925: END IF;

Line 10926: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

10922: IF PG_DEBUG in ('Y', 'C') THEN
10923: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.3');
10924: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10925: END IF;
10926: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
10927: END IF;
10928:
10929: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;

Line 10960: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR

10956: l_atp_rec.requested_date_quantity) >= l_requested_comp_qty) THEN
10957: NULL;
10958: ELSIF (NVL(l_atp_rec.combined_requested_date_qty,
10959: l_atp_rec.requested_date_quantity) >0) THEN
10960: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10961: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10962: x_avail_assembly_qty := 0;
10963: IF PG_DEBUG in ('Y', 'C') THEN
10964: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);

Line 10961: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN

10957: NULL;
10958: ELSIF (NVL(l_atp_rec.combined_requested_date_qty,
10959: l_atp_rec.requested_date_quantity) >0) THEN
10960: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(l_comp_requirements.scaling_type(j),1) = 2) OR
10961: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(l_comp_requirements.scaling_type(j),1) IN (0,2))) THEN
10962: x_avail_assembly_qty := 0;
10963: IF PG_DEBUG in ('Y', 'C') THEN
10964: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);
10965: END IF;

Line 10966: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN --5403495

10962: x_avail_assembly_qty := 0;
10963: IF PG_DEBUG in ('Y', 'C') THEN
10964: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);
10965: END IF;
10966: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN --5403495
10967: EXIT;
10968: END IF;
10969: --EXIT;
10970: ELSIF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG) AND (nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) ) THEN

Line 10970: ELSIF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG) AND (nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) ) THEN

10966: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN --5403495
10967: EXIT;
10968: END IF;
10969: --EXIT;
10970: ELSIF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG) AND (nvl(l_comp_requirements.scaling_type(j),1) IN (4,5)) ) THEN
10971: IF PG_DEBUG in ('Y', 'C') THEN
10972: msc_sch_wb.atp_debug('Before inverse scaling : avail_assembly_qty: ' || x_avail_assembly_qty);
10973: END IF;
10974: x_avail_assembly_qty := LEAST(x_avail_assembly_qty,

Line 10994: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN

10990: END IF;
10991: ELSE
10992: x_avail_assembly_qty := 0;
10993: --diag_atp
10994: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN
10995: EXIT;
10996: END IF;
10997: END IF;
10998:

Line 11057: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN

11053:
11054:
11055: Exception
11056:
11057: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN
11058:
11059: IF PG_DEBUG in ('Y', 'C') THEN
11060: msc_sch_wb.atp_debug('Get_Comp_Reqs: ' || 'Invalid OSS setup detected');
11061: END IF;

Line 11064: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;

11060: msc_sch_wb.atp_debug('Get_Comp_Reqs: ' || 'Invalid OSS setup detected');
11061: END IF;
11062: x_avail_assembly_qty := 0;
11063: x_atp_date := null;
11064: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;
11065:
11066: -- 2400614 : krajan
11067: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
11068: IF PG_DEBUG in ('Y', 'C') THEN

Line 11067: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

11063: x_atp_date := null;
11064: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;
11065:
11066: -- 2400614 : krajan
11067: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
11068: IF PG_DEBUG in ('Y', 'C') THEN
11069: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_ATO_SOURCE');
11070: END IF;
11071: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11072: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

11068: IF PG_DEBUG in ('Y', 'C') THEN
11069: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_ATO_SOURCE');
11070: END IF;
11071: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11072: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
11073:
11074: -- dsting 2764213
11075: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
11076: IF PG_DEBUG in ('Y', 'C') THEN

Line 11075: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

11071: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11072: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
11073:
11074: -- dsting 2764213
11075: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
11076: IF PG_DEBUG in ('Y', 'C') THEN
11077: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for EXC_NO_PLAN_FOUND');
11078: END IF;
11079: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11080: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

11076: IF PG_DEBUG in ('Y', 'C') THEN
11077: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for EXC_NO_PLAN_FOUND');
11078: END IF;
11079: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11080: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11081:
11082: -- krajan 2752705
11083: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
11084: IF PG_DEBUG in ('Y', 'C') THEN

Line 11083: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

11079: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11080: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11081:
11082: -- krajan 2752705
11083: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
11084: IF PG_DEBUG in ('Y', 'C') THEN
11085: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_EXC_UNCOLLECTED_ITEM');
11086: END IF;
11087: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11088: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

11084: IF PG_DEBUG in ('Y', 'C') THEN
11085: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_EXC_UNCOLLECTED_ITEM');
11086: END IF;
11087: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11088: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
11089:
11090: ---bug 3308206: Add exception so that it could be propogated to ATP_check
11091: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11092: IF PG_DEBUG in ('Y', 'C') THEN

Line 11091: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN

11087: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11088: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
11089:
11090: ---bug 3308206: Add exception so that it could be propogated to ATP_check
11091: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11092: IF PG_DEBUG in ('Y', 'C') THEN
11093: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11094: END IF;
11095: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

Line 11095: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

11091: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11092: IF PG_DEBUG in ('Y', 'C') THEN
11093: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11094: END IF;
11095: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
11096:
11097: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11098: IF PG_DEBUG in ('Y', 'C') THEN
11099: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');

Line 11097: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

11093: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11094: END IF;
11095: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
11096:
11097: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11098: IF PG_DEBUG in ('Y', 'C') THEN
11099: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');
11100: END IF;
11101: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

Line 11101: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

11097: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11098: IF PG_DEBUG in ('Y', 'C') THEN
11099: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');
11100: END IF;
11101: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
11102:
11103: WHEN OTHERS THEN
11104: IF PG_DEBUG in ('Y', 'C') THEN
11105: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block in others');

Line 11201: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);

11197: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'sup_cap_cum_date: '|| to_char(p_sup_atp_info_rec.sup_cap_cum_date));
11198: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || ' bom_item_type : ' || p_sup_atp_info_rec.bom_item_type);
11199: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'rep_ord_flag := ' || p_sup_atp_info_rec.rep_ord_flag);
11200: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'base item id := ' || p_sup_atp_info_rec.base_item_id);
11201: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
11202: END IF;
11203:
11204:
11205: -- initialize API return status to success

Line 11214: l_uom_code := MSC_ATP_PVT.G_ITEM_INFO_REC.uom_code;

11210: ---profile option for including purchase order
11211: MSC_ATP_REQ.G_PURCHASE_ORDER_PREFERENCE := NVL(FND_PROFILE.VALUE('MSC_PO_DOCK_DATE_CALC_PREF'), 2);
11212:
11213: -- Instead re-assigned local values using global variable
11214: l_uom_code := MSC_ATP_PVT.G_ITEM_INFO_REC.uom_code;
11215: l_postprocessing_lead_time := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11216:
11217: IF PG_DEBUG in ('Y', 'C') THEN
11218: msc_sch_wb.atp_debug('G_PURCHASE_ORDER_PREFERENCE := ' || G_PURCHASE_ORDER_PREFERENCE);

Line 11215: l_postprocessing_lead_time := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;

11211: MSC_ATP_REQ.G_PURCHASE_ORDER_PREFERENCE := NVL(FND_PROFILE.VALUE('MSC_PO_DOCK_DATE_CALC_PREF'), 2);
11212:
11213: -- Instead re-assigned local values using global variable
11214: l_uom_code := MSC_ATP_PVT.G_ITEM_INFO_REC.uom_code;
11215: l_postprocessing_lead_time := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11216:
11217: IF PG_DEBUG in ('Y', 'C') THEN
11218: msc_sch_wb.atp_debug('G_PURCHASE_ORDER_PREFERENCE := ' || G_PURCHASE_ORDER_PREFERENCE);
11219: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'l_uom_code and l_postprocessing_lead_time = '||

Line 11253: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;

11249: -- get the plan start date. later on we will use this restrict the
11250: -- availability
11251:
11252: -- Instead re-assigned local values using global variable
11253: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11254: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11255: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11256: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11257:

Line 11254: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;

11250: -- availability
11251:
11252: -- Instead re-assigned local values using global variable
11253: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11254: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11255: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11256: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11257:
11258: /* Modularize Item and Org Info */

Line 11255: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;

11251:
11252: -- Instead re-assigned local values using global variable
11253: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11254: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11255: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11256: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11257:
11258: /* Modularize Item and Org Info */
11259: -- changed call, re-use info already obtained.

Line 11256: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;

11252: -- Instead re-assigned local values using global variable
11253: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11254: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11255: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11256: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11257:
11258: /* Modularize Item and Org Info */
11259: -- changed call, re-use info already obtained.
11260: -- Assumption is that since the instance and org is obtained using the plan_id,

Line 11263: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;

11259: -- changed call, re-use info already obtained.
11260: -- Assumption is that since the instance and org is obtained using the plan_id,
11261: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11262: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11263: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11264: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11265: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11266:
11267: /*

Line 11264: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;

11260: -- Assumption is that since the instance and org is obtained using the plan_id,
11261: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11262: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11263: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11264: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11265: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11266:
11267: /*
11268: Changes for ship_rec_cal begin

Line 11265: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;

11261: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11262: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11263: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11264: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11265: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11266:
11267: /*
11268: Changes for ship_rec_cal begin
11269: 1. For ship_rec_cal, Use SMC rather thn OMC for supplier capacity

Line 11278: -- l_enforce_sup_capacity := NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_sup_capacity, 2); -- Enforce Pur LT

11274: */
11275: l_calendar_code := p_sup_atp_info_rec.manufacturing_cal_code;
11276:
11277: l_calendar_exception_set_id := -1;
11278: -- l_enforce_sup_capacity := NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_sup_capacity, 2); -- Enforce Pur LT
11279: l_sysdate := MSC_CALENDAR.PREV_WORK_DAY(l_calendar_code, p_sup_atp_info_rec.instance_id, sysdate);
11280: l_requested_date := MSC_CALENDAR.PREV_WORK_DAY(l_calendar_code, p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.requested_date);
11281:
11282: /* Enforce Pur LT - capacity is always enforced

Line 11310: GREATEST(l_plan_start_date, MSC_ATP_PVT.G_PTF_DATE, p_sup_atp_info_rec.sup_cap_cum_date));

11306: l_capacity_defined := 0;
11307: l_last_cap_next_date := MSC_CALENDAR.NEXT_WORK_DAY(
11308: l_calendar_code,
11309: p_sup_atp_info_rec.instance_id,
11310: GREATEST(l_plan_start_date, MSC_ATP_PVT.G_PTF_DATE, p_sup_atp_info_rec.sup_cap_cum_date));
11311: ELSE
11312: l_capacity_defined := 1;
11313: l_last_cap_next_date := MSC_CALENDAR.NEXT_WORK_DAY(
11314: l_calendar_code,

Line 11340: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;

11336: END IF;
11337:
11338: -- Ship_rec_cal.
11339: l_atp_period_tab(i) := l_last_cap_next_date;
11340: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11341:
11342: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0) THEN
11343:
11344: -- dsting clear sd details temp table

Line 11366: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

11362: -- ship_rec_cal changes begin
11363: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
11364: -- ship_rec_cal changes end
11365:
11366: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11367: x_atp_period.Total_Demand_Quantity(i) := 0;
11368: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11369: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11370:

Line 11368: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

11364: -- ship_rec_cal changes end
11365:
11366: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11367: x_atp_period.Total_Demand_Quantity(i) := 0;
11368: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11369: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11370:
11371: END IF;
11372: ELSE -- else of l_capacity_defined = 0

Line 11369: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

11365:
11366: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11367: x_atp_period.Total_Demand_Quantity(i) := 0;
11368: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11369: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11370:
11371: END IF;
11372: ELSE -- else of l_capacity_defined = 0
11373:

Line 11376: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR

11372: ELSE -- else of l_capacity_defined = 0
11373:
11374: -- we really need to check net supplier site capacity
11375: -- we need to have a branch here for allocated atp
11376: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11377: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11378: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11379:
11380: -- check if we have tolerence defined for this item/org/supplier/site

Line 11377: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND

11373:
11374: -- we really need to check net supplier site capacity
11375: -- we need to have a branch here for allocated atp
11376: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11377: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11378: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11379:
11380: -- check if we have tolerence defined for this item/org/supplier/site
11381:

Line 11378: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN

11374: -- we really need to check net supplier site capacity
11375: -- we need to have a branch here for allocated atp
11376: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11377: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11378: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11379:
11380: -- check if we have tolerence defined for this item/org/supplier/site
11381:
11382: l_tolerence_defined := 0;

Line 11456: IF (l_tolerence_defined = 0) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN

11452: -- 2. Removed join with msc_calendar_dates
11453: --=======================================================================================================
11454:
11455: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) = 0) THEN
11456: IF (l_tolerence_defined = 0) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
11457: ---- we do summary approach only if tolerance is not defined
11458: ---- since one of the components for calculating tolerance is difference of sys_date and
11459: ---- request date, we might not get a right data if we include tolerance in summary data
11460:

Line 11832: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

11828: )
11829:
11830: (SELECT
11831: p_sup_atp_info_rec.level col1,
11832: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
11833: p_sup_atp_info_rec.scenario_id col3,
11834: l_null_num col4 ,
11835: l_null_num col5,
11836: p_sup_atp_info_rec.organization_id col6,

Line 11895: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

11891: -- AND c.calendar_date >= l_plan_start_date -- bug 1169467
11892: UNION ALL
11893: SELECT
11894: p_sup_atp_info_rec.level col1,
11895: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
11896: p_sup_atp_info_rec.scenario_id col3,
11897: l_null_num col4 ,
11898: l_null_num col5,
11899: p_sup_atp_info_rec.organization_id col6,

Line 12002: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

11998: )
11999:
12000: (SELECT
12001: p_sup_atp_info_rec.level col1,
12002: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
12003: p_sup_atp_info_rec.scenario_id col3,
12004: l_null_num col4 ,
12005: l_null_num col5,
12006: p_sup_atp_info_rec.organization_id col6,

Line 12065: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

12061: -- AND c.calendar_date >= l_plan_start_date -- bug 1169467
12062: UNION ALL
12063: SELECT
12064: p_sup_atp_info_rec.level col1,
12065: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
12066: p_sup_atp_info_rec.scenario_id col3,
12067: l_null_num col4 ,
12068: l_null_num col5,
12069: p_sup_atp_info_rec.organization_id col6,

Line 12176: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12172: END IF;
12173:
12174: -- ship_rec_cal
12175: l_atp_period_tab(i) := l_last_cap_next_date;
12176: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12177:
12178: IF PG_DEBUG in ('Y', 'C') THEN
12179: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'l_plan_start_date1 := ' || l_plan_start_date);
12180: END IF;

Line 12202: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12198:
12199: -- ship_rec_cal
12200: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12201:
12202: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12203: x_atp_period.Total_Demand_Quantity(i) := 0;
12204: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12205: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12206:

Line 12204: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12200: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12201:
12202: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12203: x_atp_period.Total_Demand_Quantity(i) := 0;
12204: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12205: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12206:
12207: END IF;
12208:

Line 12205: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12201:
12202: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12203: x_atp_period.Total_Demand_Quantity(i) := 0;
12204: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12205: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12206:
12207: END IF;
12208:
12209: --=======================================================================================================

Line 12216: MSC_ATP_PVT.G_ORDER_LINE_ID,

12212:
12213: ELSE -- (G_ALLOCATED_ATP = 'N')
12214: -- we are using allocated atp
12215: MSC_AATP_PVT.Supplier_Alloc_Cum_Atp(p_sup_atp_info_rec,
12216: MSC_ATP_PVT.G_ORDER_LINE_ID,
12217: l_requested_date,
12218: l_atp_info,
12219: x_atp_period,
12220: x_atp_supply_demand);

Line 12234: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12230: l_atp_info.limit_qty.EXTEND;
12231:
12232: i := l_atp_info.atp_qty.COUNT;
12233: l_atp_info.atp_period(i) := l_last_cap_next_date;
12234: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12235: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12236:
12237:
12238: IF NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0 THEN

Line 12235: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12231:
12232: i := l_atp_info.atp_qty.COUNT;
12233: l_atp_info.atp_period(i) := l_last_cap_next_date;
12234: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12235: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12236:
12237:
12238: IF NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0 THEN
12239: -- add one more entry to indicate infinite time fence date

Line 12255: x_atp_period.Identifier(j) := MSC_ATP_PVT.G_ORDER_LINE_ID;

12251: x_atp_period.Identifier2(j) := x_atp_period.Identifier2(j-1);
12252: END IF;
12253:
12254: x_atp_period.Level(j) := p_sup_atp_info_rec.level;
12255: x_atp_period.Identifier(j) := MSC_ATP_PVT.G_ORDER_LINE_ID;
12256: x_atp_period.Scenario_Id(j) := p_sup_atp_info_rec.scenario_id;
12257: x_atp_period.Pegging_Id(j) := NULL;
12258: x_atp_period.End_Pegging_Id(j) := NULL;
12259: x_atp_period.Supplier_Id(j) := p_sup_atp_info_rec.supplier_id;

Line 12264: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12260: x_atp_period.Supplier_site_id(j) := p_sup_atp_info_rec.supplier_site_id;
12261: x_atp_period.Organization_id(j) := p_sup_atp_info_rec.organization_id;
12262: --x_atp_period.Period_Start_Date(j) := l_infinite_time_fence_date; --4055719
12263: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12264: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12265: x_atp_period.Total_Demand_Quantity(j) := 0;
12266: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12267: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12268: END IF;

Line 12266: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12262: --x_atp_period.Period_Start_Date(j) := l_infinite_time_fence_date; --4055719
12263: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12264: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12265: x_atp_period.Total_Demand_Quantity(j) := 0;
12266: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12267: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12268: END IF;
12269: END IF;
12270:

Line 12267: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12263: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12264: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12265: x_atp_period.Total_Demand_Quantity(j) := 0;
12266: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12267: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12268: END IF;
12269: END IF;
12270:
12271: l_atp_period_tab := l_atp_info.atp_period;

Line 12312: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12308: END IF;
12309:
12310: -- ship_rec_cal
12311: l_atp_period_tab(i) := l_last_cap_next_date;
12312: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12313:
12314:
12315: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0) THEN
12316:

Line 12335: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12331:
12332: -- ship_rec_cal
12333: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12334:
12335: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12336: x_atp_period.Total_Demand_Quantity(i) := 0;
12337: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12338: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12339:

Line 12337: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12333: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12334:
12335: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12336: x_atp_period.Total_Demand_Quantity(i) := 0;
12337: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12338: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12339:
12340: END IF; */
12341:

Line 12338: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12334:
12335: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12336: x_atp_period.Total_Demand_Quantity(i) := 0;
12337: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12338: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12339:
12340: END IF; */
12341:
12342: END IF; -- l_capacity_defined = 0

Line 12397: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12393: -- request in on Day2. for bug 948863
12394: p_sup_atp_info_rec.requested_date_quantity := 0;
12395: FOR k IN 1..l_atp_period_tab.COUNT LOOP
12396: IF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12397: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12398: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12399: p_sup_atp_info_rec.atp_date_this_level := l_atp_period_tab(k);
12400: EXIT;
12401: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)

Line 12404: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check

12400: EXIT;
12401: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12402: AND (l_atp_period_tab.COUNT = k
12403: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12404: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12405: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12406: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12407: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12408: EXIT;

Line 12405: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check

12401: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12402: AND (l_atp_period_tab.COUNT = k
12403: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12404: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12405: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12406: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12407: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12408: EXIT;
12409: END IF;

Line 12407: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;

12403: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12404: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12405: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12406: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12407: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12408: EXIT;
12409: END IF;
12410: END LOOP; -- end of k loop
12411: ELSE

Line 12438: -- l_requested_date < GREATEST(MSC_ATP_PVT.G_PTF_DATE,l_atp_requested_date)) THEN -- Bug 3782472 - Added PTF check

12434: IF (l_pre_process_date IS NOT NULL and l_pre_process_date < l_sysdate)
12435: or (l_pre_process_date IS NULL and
12436: l_requested_date < l_atp_requested_date) THEN
12437: -- Bug 3828469 - Removed the regression introduced in 3782472
12438: -- l_requested_date < GREATEST(MSC_ATP_PVT.G_PTF_DATE,l_atp_requested_date)) THEN -- Bug 3782472 - Added PTF check
12439: p_sup_atp_info_rec.requested_date_quantity := 0;
12440:
12441: IF PG_DEBUG in ('Y', 'C') THEN
12442: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'inside p_sup_atp_info_rec.requested_date_quantity 0 = '||

Line 12457: AND l_atp_requested_date >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12453: END IF;
12454: -- now find the atp_date_quantity and atp_date at this level
12455: ---bug 2341075: Cum Qty should not include cum qty before sysdate
12456: IF (l_atp_qty_tab(j) - l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered
12457: AND l_atp_requested_date >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12458:
12459: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(j) - l_qty_before_sysdate;
12460: p_sup_atp_info_rec.atp_date_this_level := l_atp_requested_date;
12461:

Line 12476: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12472: ELSE
12473: FOR k IN j+1..l_atp_period_tab.COUNT LOOP
12474: ---bug 2341075: exclude qty before sysdate
12475: IF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12476: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12477: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12478: p_sup_atp_info_rec.atp_date_this_level := l_atp_period_tab(k);
12479: EXIT;
12480: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)

Line 12483: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN

12479: EXIT;
12480: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12481: AND (l_atp_period_tab.COUNT = k
12482: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12483: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12484: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12485: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12486: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12487: EXIT;

Line 12484: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN

12480: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12481: AND (l_atp_period_tab.COUNT = k
12482: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12483: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12484: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12485: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12486: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12487: EXIT;
12488: END IF;

Line 12486: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;

12482: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12483: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12484: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12485: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12486: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12487: EXIT;
12488: END IF;
12489: END LOOP; -- end of k loop
12490: END IF; -- end if j = l_atp_period_tab.COUNT

Line 12645: AND session_id = MSC_ATP_PVT.G_SESSION_ID

12641: AND sup.transaction_id <> (SELECT identifier3
12642: FROM mrp_atp_details_temp
12643: WHERE record_type = 3
12644: AND pegging_id = p_parent_pegging_id
12645: AND session_id = MSC_ATP_PVT.G_SESSION_ID
12646: ))
12647: GROUP BY l_date
12648: ORDER BY l_date;
12649:

Line 12759: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;

12755:
12756: IF NVL(p_insert_flag,0) <> 0 THEN -- p_insert_flag
12757: -- add pegging info for weight demand
12758:
12759: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12760: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12761: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12762: l_pegging_rec.atp_level:= p_level;
12763: l_pegging_rec.from_organization_id := p_from_organization_id;

Line 12760: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

12756: IF NVL(p_insert_flag,0) <> 0 THEN -- p_insert_flag
12757: -- add pegging info for weight demand
12758:
12759: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12760: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12761: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12762: l_pegging_rec.atp_level:= p_level;
12763: l_pegging_rec.from_organization_id := p_from_organization_id;
12764: l_pegging_rec.to_organization_id := p_to_organization_id;

Line 12794: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;

12790: l_wt_demand_pegging_id := l_pegging_id;
12791:
12792: -- add pegging info for volume demand
12793:
12794: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12795: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12796: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12797: l_pegging_rec.atp_level:= p_level;
12798: l_pegging_rec.from_organization_id := p_from_organization_id;

Line 12795: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

12791:
12792: -- add pegging info for volume demand
12793:
12794: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12795: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12796: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12797: l_pegging_rec.atp_level:= p_level;
12798: l_pegging_rec.from_organization_id := p_from_organization_id;
12799: l_pegging_rec.to_organization_id := p_to_organization_id;

Line 12828: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;

12824: l_vol_demand_pegging_id := l_pegging_id;
12825:
12826: -- add pegging info for weight supply
12827:
12828: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
12829: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12830: l_pegging_rec.parent_pegging_id:= l_wt_demand_pegging_id;
12831: l_pegging_rec.atp_level:= p_level;
12832: l_pegging_rec.from_organization_id := p_from_organization_id;

Line 12829: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;

12825:
12826: -- add pegging info for weight supply
12827:
12828: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
12829: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12830: l_pegging_rec.parent_pegging_id:= l_wt_demand_pegging_id;
12831: l_pegging_rec.atp_level:= p_level;
12832: l_pegging_rec.from_organization_id := p_from_organization_id;
12833: l_pegging_rec.to_organization_id := p_to_organization_id;

Line 12840: l_pegging_rec.supply_demand_source_type := MSC_ATP_PVT.ATP;

12836: l_pegging_rec.identifier2 := 'WEIGHT';
12837: l_pegging_rec.identifier3 := -1;
12838: l_pegging_rec.identifier4 := p_dest_org_instance_id;
12839: l_pegging_rec.scenario_id := p_scenario_id;
12840: l_pegging_rec.supply_demand_source_type := MSC_ATP_PVT.ATP;
12841: l_pegging_rec.supply_demand_quantity := l_atp_qty_tab(k);
12842: l_pegging_rec.weight_capacity := l_atp_qty_tab(k);
12843: l_pegging_rec.supply_demand_type := 2;
12844: l_pegging_rec.supply_demand_date := x_atp_date_this_level;

Line 12861: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;

12857: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
12858:
12859: -- add pegging info for volume supply
12860:
12861: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12862: l_pegging_rec.order_line_id := MSC_ATP_PVT.G_ORDER_LINE_ID;
12863: l_pegging_rec.parent_pegging_id := l_vol_demand_pegging_id;
12864: l_pegging_rec.atp_level := p_level;
12865: l_pegging_rec.from_organization_id := p_from_organization_id;

Line 12862: l_pegging_rec.order_line_id := MSC_ATP_PVT.G_ORDER_LINE_ID;

12858:
12859: -- add pegging info for volume supply
12860:
12861: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12862: l_pegging_rec.order_line_id := MSC_ATP_PVT.G_ORDER_LINE_ID;
12863: l_pegging_rec.parent_pegging_id := l_vol_demand_pegging_id;
12864: l_pegging_rec.atp_level := p_level;
12865: l_pegging_rec.from_organization_id := p_from_organization_id;
12866: l_pegging_rec.to_organization_id := p_to_organization_id;

Line 12873: l_pegging_rec.supply_demand_source_type := MSC_ATP_PVT.ATP;

12869: l_pegging_rec.identifier2 := 'VOLUME';
12870: l_pegging_rec.identifier3 := -1;
12871: l_pegging_rec.identifier4 := p_dest_org_instance_id;
12872: l_pegging_rec.scenario_id := p_scenario_id;
12873: l_pegging_rec.supply_demand_source_type := MSC_ATP_PVT.ATP;
12874: l_pegging_rec.supply_demand_quantity := l_atp_qty_tab2(k);
12875: l_pegging_rec.volume_capacity := l_atp_qty_tab2(k);
12876: l_pegging_rec.supply_demand_type := 2;
12877: l_pegging_rec.supply_demand_date := x_atp_date_this_level;

Line 12895: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12891: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
12892:
12893: FOR i in 1..l_atp_period.Level.COUNT LOOP
12894: l_atp_period.Pegging_Id(i) := l_pegging_id;
12895: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12896:
12897: l_atp_period2.Pegging_Id(i) := l_pegging_id;
12898: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12899:

Line 12898: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12894: l_atp_period.Pegging_Id(i) := l_pegging_id;
12895: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12896:
12897: l_atp_period2.Pegging_Id(i) := l_pegging_id;
12898: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12899:
12900: END LOOP;
12901:
12902: IF PG_DEBUG in ('Y', 'C') THEN

Line 12908: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12904: END IF;
12905:
12906: FOR i in 1..l_atp_supply_demand.Level.COUNT LOOP
12907: l_atp_supply_demand.Pegging_Id(i) := l_pegging_id;
12908: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12909:
12910: l_atp_supply_demand2.Pegging_Id(i) := l_pegging_id;
12911: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12912:

Line 12911: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12907: l_atp_supply_demand.Pegging_Id(i) := l_pegging_id;
12908: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12909:
12910: l_atp_supply_demand2.Pegging_Id(i) := l_pegging_id;
12911: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12912:
12913: END LOOP;
12914:
12915: -- select weight information into table

Line 13562: and MSC_ATP_PVT.G_INV_CTP = 4)) THEN

13558:
13559: IF ((p_atp_comp_rec.model_flag = 1 and p_atp_comp_rec.bom_item_type = 2) or
13560: (p_atp_comp_rec.model_flag <> 1 and p_atp_comp_rec.wip_supply_type = 6
13561: and p_atp_comp_rec.parent_repl_ord_flag = 'N'
13562: and MSC_ATP_PVT.G_INV_CTP = 4)) THEN
13563: -- this is phantom, add to explode list
13564:
13565: j := p_explode_comp_rec.inventory_item_id.COUNT;
13566:

Line 13645: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(p_atp_comp_rec.scaling_type,1) = 1) OR

13641:
13642: p_component_rec.requested_date(j+1) := p_atp_comp_rec.requested_date;
13643: --p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13644: --4570421
13645: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(p_atp_comp_rec.scaling_type,1) = 1) OR
13646: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(p_atp_comp_rec.scaling_type,1) IN (1,3,4,5))) THEN
13647: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13648: ELSE
13649: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage;

Line 13646: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(p_atp_comp_rec.scaling_type,1) IN (1,3,4,5))) THEN

13642: p_component_rec.requested_date(j+1) := p_atp_comp_rec.requested_date;
13643: --p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13644: --4570421
13645: IF ( (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.DISCRETE_ORG AND nvl(p_atp_comp_rec.scaling_type,1) = 1) OR
13646: (MSC_ATP_PVT.G_ORG_INFO_REC.org_type = MSC_ATP_PVT.OPM_ORG AND nvl(p_atp_comp_rec.scaling_type,1) IN (1,3,4,5))) THEN
13647: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13648: ELSE
13649: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage;
13650: END IF;