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 6159: AND TRUNC(NVL(OP.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >

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

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

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

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

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

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

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

Line 6297: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

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

Line 6304: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 6789: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

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

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

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

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

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

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

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

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

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

Line 6941: WHERE mcbom1.session_id = MSC_ATP_PVT.G_SESSION_ID

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

Line 6948: decode(MSC_ATP_PVT.G_ITEM_INFO_REC.bom_item_type,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 7594: MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date);

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

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

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

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

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

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

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

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

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

Line 7853: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) OR

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

Line 7866: MSC_ATP_PVT.G_Optimized_Plan,

7862: -- 2859130
7863: get_unalloc_res_avail(
7864: p_insert_flag,
7865: l_batching_flag,
7866: MSC_ATP_PVT.G_Optimized_Plan,
7867: p_instance_id,
7868: p_organization_id,
7869: p_plan_id,
7870: l_plan_start_date,

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

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

Line 7899: MSC_ATP_PVT.G_PARTNER_ID,

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

Line 7900: MSC_ATP_PVT.G_PARTNER_SITE_ID,

7896: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'MSC_ATP_PVT.G_ATP_DEMAND_CLASS := ' || MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7897: END IF;
7898: l_demand_Class := MSC_AATP_FUNC.Get_Res_Hierarchy_demand_class(
7899: MSC_ATP_PVT.G_PARTNER_ID,
7900: MSC_ATP_PVT.G_PARTNER_SITE_ID,
7901: l_department_id,
7902: l_resource_id,
7903: p_organization_id,
7904: p_instance_id,

Line 7907: MSC_ATP_PVT.G_ATP_DEMAND_CLASS);

7903: p_organization_id,
7904: p_instance_id,
7905: l_requested_date,
7906: NULL,
7907: MSC_ATP_PVT.G_ATP_DEMAND_CLASS);
7908:
7909: --diag_atp
7910: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;
7911: IF PG_DEBUG in ('Y', 'C') THEN

Line 7910: l_allocation_rule_name := MSC_ATP_PVT.G_ALLOCATION_RULE_NAME;

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

Line 7918: MSC_ATP_PVT.G_ORDER_LINE_ID,

7914: -- End Bug 2424357
7915:
7916: MSC_AATP_PVT.Res_Alloc_Cum_Atp(p_plan_id,
7917: p_level,
7918: MSC_ATP_PVT.G_ORDER_LINE_ID,
7919: p_scenario_id,
7920: l_department_id,
7921: l_resource_id,
7922: p_organization_id,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 8138: MSC_ATP_PVT.G_PTF_DATE,

8134: MSC_CALENDAR.DATE_OFFSET
8135: (p_organization_id,
8136: p_instance_id,
8137: 1,
8138: MSC_ATP_PVT.G_PTF_DATE,
8139: CEIL(((NVL(l_item_fixed_lt,0)+
8140: NVL(l_item_var_lt,0)* p_requested_quantity) * (1+ l_mso_lead_time_factor))
8141: - l_lead_time)));--4198893,4198445
8142:

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

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

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

8165: IF (l_atp_qty_tab(k) -l_res_qty_before_ptf >= l_requested_res_qty) AND
8166: --((l_atp_period_tab(k) >= trunc(sysdate) AND --4198893,4198445
8167: ((l_atp_period_tab(k) >= trunc(sysdate) AND -- bug 8552388
8168: l_next_period > l_requested_date
8169: AND MSC_ATP_PVT.G_RES_CONSUME = 'Y') OR
8170: (l_atp_period_tab(k) >= l_requested_date
8171: AND MSC_ATP_PVT.G_RES_CONSUME = 'N')) THEN
8172:
8173: IF PG_DEBUG in ('Y', 'C') THEN

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

8167: ((l_atp_period_tab(k) >= trunc(sysdate) AND -- bug 8552388
8168: l_next_period > l_requested_date
8169: AND MSC_ATP_PVT.G_RES_CONSUME = 'Y') OR
8170: (l_atp_period_tab(k) >= l_requested_date
8171: AND MSC_ATP_PVT.G_RES_CONSUME = 'N')) THEN
8172:
8173: IF PG_DEBUG in ('Y', 'C') THEN
8174: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'inside the loop to find x_atp_date');
8175: msc_sch_wb.atp_debug('Get_Res_Requirements: ' || 'x_atp_date = '||x_atp_date);

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

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

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

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

Line 8292: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;

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

Line 8294: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

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

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

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

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

8467: ELSE
8468: l_owning_department_code := l_department_code;
8469: END IF;
8470:
8471: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8472: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8473: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8474: l_pegging_rec.atp_level:= p_level;
8475: l_pegging_rec.organization_id:= p_organization_id;

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

8468: l_owning_department_code := l_department_code;
8469: END IF;
8470:
8471: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8472: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8473: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
8474: l_pegging_rec.atp_level:= p_level;
8475: l_pegging_rec.organization_id:= p_organization_id;
8476: l_pegging_rec.organization_code := l_org_code;

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

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

Line 8522: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);

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

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

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

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

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

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

8534: --e_cto_rearch and ODR
8535: -- End Bug 3348161
8536:
8537: -- dsting ATO 2465370
8538: l_pegging_rec.required_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8539:
8540: --bug 3328421
8541: l_pegging_rec.actual_supply_demand_date := TRUNC(l_requested_date) + MSC_ATP_PVT.G_END_OF_DAY;
8542:

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

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

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

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

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

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

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

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

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

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

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

8577: l_pegging_rec.identifier1:= p_instance_id;
8578: l_pegging_rec.identifier2:= p_plan_id;
8579: l_pegging_rec.identifier3 := -1;
8580: l_pegging_rec.scenario_id:= p_scenario_id;
8581: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;
8582: l_pegging_rec.supply_demand_quantity:=l_requested_date_quantity;
8583: l_pegging_rec.supply_demand_type:= 2;
8584: l_pegging_rec.supply_demand_date:= l_requested_date;
8585: l_pegging_rec.department_id := l_department_id;

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

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

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

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

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

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

Line 8629: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

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

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

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

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

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

Line 8669: AND SESSION_ID = MSC_ATP_PVT.G_SESSION_ID;

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

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

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

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

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

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

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

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

8837: l_pegging_rec.batchable_flag := l_batchable_flag;
8838: --END IF;
8839:
8840: --diag_atp
8841: l_pegging_rec.pegging_type := MSC_ATP_PVT.RESOURCE_DEMAND; --resource demand node
8842:
8843: -- for demo:1153192
8844: l_pegging_rec.constraint_flag := 'N';
8845: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG;

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

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

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

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

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

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

Line 8856: MSC_ATP_PVT.G_ITEM_INFO_REC.base_item_id);

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

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

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

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

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

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

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

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

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

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

8897: END IF;
8898:
8899:
8900: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
8901: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
8902: l_pegging_rec.parent_pegging_id:= l_pegging_id;
8903: l_pegging_rec.atp_level:= p_level+1;
8904: l_pegging_rec.organization_id:= p_organization_id;
8905: l_pegging_rec.organization_code := l_org_code;

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

8907: l_pegging_rec.identifier2:= p_plan_id;
8908: l_pegging_rec.identifier3 := -1;
8909:
8910: l_pegging_rec.scenario_id:= p_scenario_id;
8911: l_pegging_rec.supply_demand_source_type:= MSC_ATP_PVT.ATP;
8912: l_pegging_rec.supply_demand_quantity:= l_res_atp_qty;
8913: l_pegging_rec.supply_demand_type:= 2;
8914: l_pegging_rec.supply_demand_date:= l_res_atp_date;
8915: l_pegging_rec.department_id := l_department_id;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 9014: MSC_ATP_PVT.G_DEMAND_PEGGING_ID);

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

Line 9029: <> MSC_ATP_PVT.INFINITE_NUMBER THEN

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

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

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

Line 9077: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

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

Line 9081: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

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

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

9171: l_fix_var_lead_time NUMBER;
9172: l_future_order_date DATE;
9173: l_ptf_date DATE;
9174: l_ptf_flag NUMBER;
9175: l_plan_info_rec MSC_ATP_PVT.plan_info_rec; -- added for bug 2392456
9176:
9177: l_comp_source_organization_id NUMBER; -- krajan : 2400614
9178: l_comp_atp_flag_src VARCHAR2(1); -- krajan : 2462661
9179:

Line 9205: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;

9201: L_REQUEST_DATE date;
9202: L_MAND_COMP_INFO_REC MSC_ATP_CTO.mand_comp_info_rec;
9203: l_atp_comp_rec MRP_ATP_PVT.ATP_COMP_REC;
9204: l_null_atp_comp_rec MRP_ATP_PVT.ATP_COMP_REC;
9205: l_item_info_rec MSC_ATP_PVT.item_attribute_rec;
9206: l_model_error_code number := 0;
9207: --e_cto_rearch
9208:
9209: -- time_phased_atp

Line 9249: 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: (SELECT I2.SR_INVENTORY_ITEM_ID,
9246: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9247: --4570421
9248: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9249: 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)
9250: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9251: 2, MBC.USAGE_QUANTITY),
9252: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9253: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)

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

9246: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9247: --4570421
9248: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9249: 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)
9250: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9251: 2, MBC.USAGE_QUANTITY),
9252: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9253: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),

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

9248: --4862863, dividing by assembly_qty only in non-lot and non-fix cases.
9249: 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)
9250: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9251: 2, MBC.USAGE_QUANTITY),
9252: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9253: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 2, MBC.USAGE_QUANTITY,
9256: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)

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

9250: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9251: 2, MBC.USAGE_QUANTITY),
9252: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9253: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 2, MBC.USAGE_QUANTITY,
9256: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9257: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9258: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)

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

9253: 1, (MBC.USAGE_QUANTITY*l_requested_quantity)
9254: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9255: 2, MBC.USAGE_QUANTITY,
9256: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9257: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9258: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)
9259: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9260: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9261: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))

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

9255: 2, MBC.USAGE_QUANTITY,
9256: 3, (MBC.USAGE_QUANTITY*l_requested_quantity)
9257: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9258: 4, (MBC.USAGE_QUANTITY*l_requested_quantity)
9259: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9260: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9261: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))
9262: ))
9263: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863

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

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

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

9259: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1),
9260: 5, (MBC.USAGE_QUANTITY*l_requested_quantity)
9261: /Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1))
9262: ))
9263: --/Decode (MSC_ATP_PVT.G_PLAN_COPRODUCTS, 'Y', NVL (BOMS.ASSEMBLY_QUANTITY,1), 1) --4862863
9264: * DECODE (l_routing_type, 3,Decode (l_network_scheduling_method,
9265: 2,(NVL(OP.NET_PLANNING_PERCENT,100)/100),1), 1)
9266: --/NVL (OP.REVERSE_CUMULATIVE_YIELD, DECODE (l_routing_type, 3, NVL (l_first_op_RCY, 1), 1))
9267: /DECODE(OP.REVERSE_CUMULATIVE_YIELD,

Line 9332: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,

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

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

9330: DECODE(l_wip_supply_type,
9331: 6,
9332: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9333: 'N',
9334: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9335: 2,
9336: 0,
9337: CEIL((NVL(I.FIXED_LEAD_TIME,0)+
9338: NVL(I.VARIABLE_LEAD_TIME,0)*

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

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

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

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

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

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

Line 9414: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,

9410: AND C1.SR_INSTANCE_ID = I.SR_INSTANCE_ID
9411: --4106269
9412: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - DECODE(l_wip_supply_type,
9413: 6,
9414: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9415: 'N',
9416: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9417: 2,
9418: 0,

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

9412: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - DECODE(l_wip_supply_type,
9413: 6,
9414: DECODE(MSC_ATP_PVT.G_EXPLODE_PHANTOM,
9415: 'N',
9416: decode(nvl(MSC_ATP_PVT.G_ORG_INFO_REC.use_phantom_routings,2),
9417: 2,
9418: 0,
9419: CEIL((NVL(I.FIXED_LEAD_TIME,0)+
9420: NVL(I.VARIABLE_LEAD_TIME,0)*

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

9440: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID
9441: AND I2.ORGANIZATION_ID =MBC.ORGANIZATION_ID
9442: AND I2.PLAN_ID = I.PLAN_ID
9443: --4570421
9444: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9445: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9446: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9447: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9448: --s_cto_rearch

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

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

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

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

Line 9498: 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),

9494: SELECT I2.SR_INVENTORY_ITEM_ID,
9495: I2.INVENTORY_ITEM_ID, --(3004862) circular BOM issue: also select destination id
9496: --ROUND((MBC.USAGE_QUANTITY * l_requested_quantity ),6),
9497: --4570421
9498: 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),
9499: 2, MBC.USAGE_QUANTITY),
9500: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9501: 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9502: 2, MBC.USAGE_QUANTITY,

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

9496: --ROUND((MBC.USAGE_QUANTITY * l_requested_quantity ),6),
9497: --4570421
9498: 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),
9499: 2, MBC.USAGE_QUANTITY),
9500: MSC_ATP_PVT.OPM_ORG, decode (nvl (mbc.scaling_type, 1), 0, MBC.USAGE_QUANTITY,
9501: 1, (MBC.USAGE_QUANTITY*l_requested_quantity),
9502: 2, MBC.USAGE_QUANTITY,
9503: 3, (MBC.USAGE_QUANTITY*l_requested_quantity),
9504: 4, (MBC.USAGE_QUANTITY*l_requested_quantity),

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

9505: 5, (MBC.USAGE_QUANTITY*l_requested_quantity))
9506: )) --/NVL (mbc.component_yield_factor, 1) --4767982
9507: ,6),
9508: C2.CALENDAR_DATE,
9509: CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9510: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor)),
9511: DECODE(MBC.WIP_SUPPLY_TYPE, 6, l_def_wip_sup_type, MBC.WIP_SUPPLY_TYPE), -- phantoms not be supported for DRP plans
9512: NVL(ceil(MSC_ATP_PVT.G_ITEM_INFO_REC.PRE_PRO_LT),0),
9513: 1, -- default for RCY Yield unsuppored for DRP plans.

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

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

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

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

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

9532: AND MBC.USAGE_QUANTITY > 0
9533: AND MBC.BILL_SEQUENCE_ID = BOMS.BILL_SEQUENCE_ID
9534: AND MBC.PLAN_ID = BOMS.PLAN_ID
9535: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9537: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9538: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9539: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9540: AND C1.CALENDAR_DATE = l_requested_date

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

9533: AND MBC.BILL_SEQUENCE_ID = BOMS.BILL_SEQUENCE_ID
9534: AND MBC.PLAN_ID = BOMS.PLAN_ID
9535: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9537: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9538: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9539: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9540: AND C1.CALENDAR_DATE = l_requested_date
9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID

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

9535: AND MBC.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9536: AND TRUNC(NVL(MBC.DISABLE_DATE, GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)+1)) >
9537: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE))
9538: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9539: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9540: AND C1.CALENDAR_DATE = l_requested_date
9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9542: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9543: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

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

9538: AND TRUNC(MBC.EFFECTIVITY_DATE) <=
9539: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9540: AND C1.CALENDAR_DATE = l_requested_date
9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9542: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9543: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9544: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9545: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9546: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE

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

9539: TRUNC(GREATEST(C2.CALENDAR_DATE, sysdate, MSC_ATP_PVT.G_PTF_DATE)) -- bug 1404312
9540: AND C1.CALENDAR_DATE = l_requested_date
9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9542: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9543: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9544: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9545: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9546: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9547: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID

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

9540: AND C1.CALENDAR_DATE = l_requested_date
9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9542: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9543: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9544: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9545: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9546: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9547: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9548: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID

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

9541: AND C1.SR_INSTANCE_ID = BOMS.SR_INSTANCE_ID
9542: AND C1.CALENDAR_CODE = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_CODE
9543: AND C1.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9544: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9545: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9546: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9547: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9548: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9549: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID

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

9544: AND C2.SEQ_NUM = C1.PRIOR_SEQ_NUM - CEIL((NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.FIXED_LT,0)+
9545: NVL(MSC_ATP_PVT.G_ITEM_INFO_REC.VARIABLE_LT,0)* l_requested_quantity)*(1 + l_mso_lead_time_factor))
9546: AND C2.CALENDAR_CODE = C1.CALENDAR_CODE
9547: AND C2.SR_INSTANCE_ID = C1.SR_INSTANCE_ID
9548: AND C2.EXCEPTION_SET_ID = MSC_ATP_PVT.G_ORG_INFO_REC.CAL_EXCEPTION_SET_ID
9549: AND I2.INVENTORY_ITEM_ID = MBC.INVENTORY_ITEM_ID
9550: AND I2.ORGANIZATION_ID =MBC.ORGANIZATION_ID
9551: AND I2.PLAN_ID = BOMS.PLAN_ID
9552: -- select only atpable components.

Line 9580: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID

9576: FROM msc_bom_temp mbt,
9577: msc_calendar_dates c2,
9578: msc_calendar_dates c1,
9579: msc_trading_partners tp
9580: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9581: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9582: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9583: AND mbt.assembly_item_id = l_inventory_item_id
9584: /* rajjain 3008611

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

9577: msc_calendar_dates c2,
9578: msc_calendar_dates c1,
9579: msc_trading_partners tp
9580: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9581: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9582: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9583: AND mbt.assembly_item_id = l_inventory_item_id
9584: /* rajjain 3008611
9585: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date

Line 9582: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID

9578: msc_calendar_dates c1,
9579: msc_trading_partners tp
9580: WHERE mbt.session_id = MSC_ATP_PVT.G_SESSION_ID
9581: --AND mbt.assembly_identifier = MSC_ATP_PVT.G_ASSEMBLY_LINE_ID
9582: AND mbt.assembly_identifier = MSC_ATP_PVT.G_COMP_LINE_ID
9583: AND mbt.assembly_item_id = l_inventory_item_id
9584: /* rajjain 3008611
9585: * effective date should be greater than or equal to greatest of PTF date, sysdate and start date
9586: * disable date should be less than or equal to greatest of PTF date, sysdate and start date*/

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

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

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

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

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

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

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

9676: l_comp_requirements.requested_date(1) := p_requested_date;
9677:
9678: -- assume the wip supply type to be 1 (as long as it is not phantom)
9679: l_comp_requirements.wip_supply_type(1) := 1;
9680: l_comp_requirements.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
9681:
9682: l_comp_requirements.bom_item_type(1) := 1; -- hard code to model's bom type
9683: l_comp_requirements.parent_so_quantity(1) := p_comp_info_rec.parent_so_quantity;
9684: l_comp_requirements.assembly_identifier(1) := null;

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

9707: l_explode_comp.requested_date(1) := p_requested_date;
9708:
9709: -- assume the wip supply type to be 1 (as long as it is not phantom)
9710: l_explode_comp.wip_supply_type(1) := 1;
9711: l_explode_comp.component_identifier(1) := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id;
9712:
9713: l_explode_comp.bom_item_type(1) := p_comp_info_rec.bom_item_type;
9714: l_explode_comp.parent_so_quantity(1) := p_comp_info_rec.parent_so_quantity;
9715: l_explode_comp.assembly_identifier(1) := p_comp_info_rec.line_id;

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

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

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

9741: */
9742: l_explode_comp.lead_time(1) := 0;
9743: END IF; --- p_comp_info_rec.check_model_capacity_flag = 1 THEN
9744:
9745: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9746: --- get mso_sco_lead_time_factor
9747: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9748: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9749:

Line 9747: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;

9743: END IF; --- p_comp_info_rec.check_model_capacity_flag = 1 THEN
9744:
9745: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9746: --- get mso_sco_lead_time_factor
9747: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9748: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9749:
9750: IF PG_DEBUG in ('Y', 'C') THEN
9751: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'MSO LEAD TIME FACTOR = ' || l_mso_lead_time_factor);

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

9744:
9745: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
9746: --- get mso_sco_lead_time_factor
9747: l_mso_lead_time_factor := MSC_ATP_PVT.G_MSO_LEAD_TIME_FACTOR;
9748: l_network_scheduling_method := MSC_ATP_PVT.G_ORG_INFO_REC.network_scheduling_method; --bug3601223
9749:
9750: IF PG_DEBUG in ('Y', 'C') THEN
9751: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'MSO LEAD TIME FACTOR = ' || l_mso_lead_time_factor);
9752: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'after assign the value');

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

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

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

9773: x_avail_assembly_qty := trunc(p_requested_quantity, 6); -- 5598066
9774: END IF;
9775:
9776: -- bug 2178544
9777: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
9778: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;
9779:
9780: IF p_bill_seq_id is null and p_comp_info_rec.check_model_capacity_flag = 2 THEN
9781: RETURN;

Line 9778: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;

9774: END IF;
9775:
9776: -- bug 2178544
9777: x_atp_date := GREATEST(p_requested_date, MSC_ATP_PVT.G_FUTURE_ORDER_DATE, MSC_ATP_PVT.G_FUTURE_START_DATE);
9778: l_ptf_date := MSC_ATP_PVT.G_PTF_DATE;
9779:
9780: IF p_bill_seq_id is null and p_comp_info_rec.check_model_capacity_flag = 2 THEN
9781: RETURN;
9782: END IF;

Line 9821: and MSC_ATP_PVT.G_INV_CTP = 5 THEN

9817: l_comp_requirements.parent_item_id(1) := p_inventory_item_id;
9818: END IF;
9819:
9820: /* ELSIF p_comp_info_rec.bom_item_type = 4 and p_comp_info_rec.replenish_to_order_flag = 'Y'
9821: and MSC_ATP_PVT.G_INV_CTP = 5 THEN
9822: l_model_flag := 1;
9823: l_model_atp_comp_flag := p_comp_info_rec.atp_comp_flag;
9824: */
9825: END IF;

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

9836: --have all the components we need. Threfore we exit out
9837: EXIT;
9838: END IF;
9839:
9840: -- l_inv_item_id := MSC_ATP_PVT.G_ITEM_INFO_REC.dest_inv_item_id; -- Not required after 3004862 fix
9841: IF PG_DEBUG in ('Y', 'C') THEN
9842: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_explode_comp.component_identifier(' || i || ') : ' || l_explode_comp.component_identifier(i));
9843: END IF;
9844:

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

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

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

10002: END IF;
10003: IF l_model_atp_comp_flag in ('Y', 'C') THEN
10004: ---explode mandatory components if model or option class
10005: IF l_explode_comp.bom_item_type(i) in (1,2) or
10006: (l_explode_comp.bom_item_type(i) = 4 and MSC_ATP_PVT.G_INV_CTP = 5) THEN
10007:
10008: IF PG_DEBUG in ('Y', 'C') THEN
10009: msc_sch_wb.atp_debug('i = ' || i);
10010: END IF;

Line 10034: IF MSC_ATP_PVT.G_WS_CALL = 'N' THEN --Not a Web Serviec call

10030: IF PG_DEBUG in ('Y', 'C') THEN
10031: msc_sch_wb.atp_debug('l_request_date := ' || l_request_date);
10032: END IF;
10033:
10034: IF MSC_ATP_PVT.G_WS_CALL = 'N' THEN --Not a Web Serviec call
10035: MSC_ATP_CTO.Get_Mandatory_Components(p_plan_id,
10036: p_instance_id,
10037: p_organization_id,
10038: l_explode_comp.inventory_item_id(i),

Line 10073: 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

10069: l_atp_comp_rec.rounding_direction := l_mand_comp_info_rec.rounding_direction(l_cto_count);
10070: l_atp_comp_rec.component_yield_factor := l_mand_comp_info_rec.component_yield_factor(l_cto_count);
10071: l_atp_comp_rec.usage_qty := l_mand_comp_info_rec.usage_qty(l_cto_count); --4775920
10072: l_atp_comp_rec.organization_type := l_mand_comp_info_rec.organization_type(l_cto_count); --4775920
10073: 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
10074: l_atp_comp_rec.comp_usage := integer_scaling (l_mand_comp_info_rec.quantity(l_cto_count),
10075: l_mand_comp_info_rec.scale_multiple(l_cto_count),
10076: l_mand_comp_info_rec.scale_rounding_variance(l_cto_count) ,
10077: l_mand_comp_info_rec.rounding_direction(l_cto_count));

Line 10127: MSC_ATP_CTO.Get_CTO_BOM(MSC_ATP_PVT.G_SESSION_ID,

10123: IF PG_DEBUG in ('Y', 'C') THEN
10124: msc_sch_wb.atp_debug('Get CTO Bom');
10125: END IF;
10126:
10127: MSC_ATP_CTO.Get_CTO_BOM(MSC_ATP_PVT.G_SESSION_ID,
10128: l_cto_bom_rec,
10129: l_explode_comp.assembly_identifier(i),
10130: l_explode_comp.requested_date(i),
10131: l_explode_comp.comp_usage(i),

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

10154: EXIT;
10155: END IF;
10156:
10157: -- ATP4drp fetch from DRP specific cursor for DRP plans.
10158: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN
10159: -- Non DRP Plan
10160: IF PG_DEBUG in ('Y', 'C') THEN
10161: msc_sch_wb.atp_debug('Before Fetch of net_rout_comp');
10162: END IF;

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

10229: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_assembly_identifier = '||l_comp_assembly_identifier);
10230: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_component_identifier = '||l_comp_component_identifier);
10231: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_pre_pro_lead_time = '||l_comp_pre_pro_lead_time);
10232: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_atf_date = '||l_atf_date);
10233: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_ASSEMBLY_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10234: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10235: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_uom = '||l_comp_uom); --bug3110023
10236: --4570421
10237: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scaling_type = '||l_scaling_type);

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

10230: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_component_identifier = '||l_comp_component_identifier);
10231: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_pre_pro_lead_time = '||l_comp_pre_pro_lead_time);
10232: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_atf_date = '||l_atf_date);
10233: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_ASSEMBLY_LINE_ID = '||MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10234: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10235: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_uom = '||l_comp_uom); --bug3110023
10236: --4570421
10237: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scaling_type = '||l_scaling_type);
10238: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_scale_multiple = '||l_scale_multiple);

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

10244:
10245:
10246: END IF;
10247:
10248: IF NVL(MSC_ATP_PVT.G_EXPLODE_PHANTOM, 'N') = 'Y' THEN
10249: --- agilent fix: If profile option is set to yes then we consider phantom
10250: --- item as any other item and do not add it to the list of items to be exploded
10251: l_comp_wip_supply_type := 1;
10252: END IF;

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

10258:
10259: /* time_phased_atp changes begin
10260: Support PF ATP for components*/
10261: -- ATP4drp PF ATP not supported for DRP.
10262: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
10263: -- Turn Off Product Family ATP for components.
10264: l_atp_comp_rec.inventory_item_id := l_comp_item_id ;
10265: -- ATP4drp PF ATP not supported for DRP. Print out Debug Here.
10266: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 AND PG_DEBUG in ('Y', 'C') THEN

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

10262: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 THEN
10263: -- Turn Off Product Family ATP for components.
10264: l_atp_comp_rec.inventory_item_id := l_comp_item_id ;
10265: -- ATP4drp PF ATP not supported for DRP. Print out Debug Here.
10266: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) = 5 AND PG_DEBUG in ('Y', 'C') THEN
10267: msc_sch_wb.atp_debug('----- ATP4drp Specific Debug Messages -----');
10268: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_comp_rec.inventory_item_id '
10269: || l_atp_comp_rec.inventory_item_id );
10270: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_comp_rec.request_item_id '

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

10298: l_atp_comp_rec.scale_rounding_variance := l_scale_rounding_variance;
10299: l_atp_comp_rec.rounding_direction := l_rounding_direction;
10300: l_atp_comp_rec.component_yield_factor := l_component_yield_factor; --4570421
10301: l_atp_comp_rec.usage_qty := l_usage_qty; --4775920
10302: l_atp_comp_rec.organization_type := NVL ( MSC_ATP_PVT.G_ORG_INFO_REC.org_type, MSC_ATP_PVT.DISCRETE_ORG); --4775920
10303: --diag_atp
10304: l_atp_comp_rec.reverse_cumulative_yield := l_reverse_cumulative_yield;
10305: --s_cto_rearch
10306: l_atp_comp_rec.match_item_id := null;

Line 10368: MSC_ATP_PVT.G_INV_CTP =5) THEN

10364: l_atp_comp_rec.match_item_id := l_cto_bom_rec.match_item_id(l_cto_count);
10365: --bug 8602072, Phantom Models in ODS ATP treated as Option Classes
10366: IF (l_cto_bom_rec.bom_item_type(l_cto_count) =1 AND
10367: l_cto_bom_rec.wip_supply_type(l_cto_count)=6 AND
10368: MSC_ATP_PVT.G_INV_CTP =5) THEN
10369: l_atp_comp_rec.bom_item_type := 2;
10370: ELSE
10371: l_atp_comp_rec.bom_item_type := l_cto_bom_rec.bom_item_type(l_cto_count);
10372: END IF;

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

10400:
10401: -- Bug 4042403, 4047183, 4070094 Check that l_bill_seq_id is not NULL
10402: IF ((l_routing_type = 3) OR (l_model_flag <> 1)) AND l_bill_seq_id IS NOT NULL THEN
10403: -- ATP4drp close DRP specific cursor for DRP plans.
10404: IF NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_type, 1) <> 5 THEN
10405: -- Bug 4042403, 4047183, 4070094 Close the cursor only if it has been opened.
10406: IF net_rout_comp%ISOPEN THEN
10407: CLOSE net_rout_comp;
10408: IF PG_DEBUG in ('Y', 'C') THEN

Line 10484: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

10480: IF PG_DEBUG in ('Y', 'C') THEN
10481: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'l_comp_requirements.comp_usage(j) := '||l_comp_requirements.comp_usage(j));
10482: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'x_avail_assembly_qty := '||x_avail_assembly_qty);
10483: END IF;
10484: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10485: --- for diagnostic atp we always order the full quantity.
10486: 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
10487: (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
10488: l_requested_comp_qty := l_comp_requirements.comp_usage(j);

Line 10486: 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

10482: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'x_avail_assembly_qty := '||x_avail_assembly_qty);
10483: END IF;
10484: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10485: --- for diagnostic atp we always order the full quantity.
10486: 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
10487: (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
10488: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10489: ELSE
10490: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;

Line 10487: (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

10483: END IF;
10484: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10485: --- for diagnostic atp we always order the full quantity.
10486: 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
10487: (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
10488: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10489: ELSE
10490: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10491: END IF;

Line 10493: 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

10489: ELSE
10490: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10491: END IF;
10492: ELSE --4570421
10493: 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
10494: (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
10495: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10496: 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
10497: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,

Line 10494: (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

10490: l_requested_comp_qty := l_comp_requirements.comp_usage(j)* p_requested_quantity;
10491: END IF;
10492: ELSE --4570421
10493: 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
10494: (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
10495: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10496: 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
10497: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,
10498: l_comp_requirements.scale_multiple(j),

Line 10496: 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

10492: ELSE --4570421
10493: 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
10494: (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
10495: l_requested_comp_qty := l_comp_requirements.comp_usage(j);
10496: 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
10497: l_requested_comp_qty := integer_scaling (l_comp_requirements.comp_usage(j)*x_avail_assembly_qty,
10498: l_comp_requirements.scale_multiple(j),
10499: l_comp_requirements.scale_rounding_variance(j) ,
10500: l_comp_requirements.rounding_direction(j));

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

10521: -- In such a case, if item C is not available enough say while making Model B
10522: -- in backward case, during adjustment of other resources and components, we want
10523: -- G_ASSEMBLY_LINE_ID to be set to line Id of Model B and not Model A.
10524:
10525: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10526: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10527: IF PG_DEBUG in ('Y', 'C') THEN
10528: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10529: END IF;

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

10522: -- in backward case, during adjustment of other resources and components, we want
10523: -- G_ASSEMBLY_LINE_ID to be set to line Id of Model B and not Model A.
10524:
10525: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10526: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10527: IF PG_DEBUG in ('Y', 'C') THEN
10528: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10529: END IF;
10530:

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

10524:
10525: MSC_ATP_PVT.G_ASSEMBLY_LINE_ID := NVL(l_comp_requirements.assembly_identifier(j), MSC_ATP_PVT.G_ASSEMBLY_LINE_ID);
10526: MSC_ATP_PVT.G_COMP_LINE_ID := NVL(l_comp_requirements.component_identifier(j), MSC_ATP_PVT.G_COMP_LINE_ID);
10527: IF PG_DEBUG in ('Y', 'C') THEN
10528: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'G_COMP_LINE_ID = '||MSC_ATP_PVT.G_COMP_LINE_ID);
10529: END IF;
10530:
10531: -- no need to do uom conversion
10532: l_atp_rec.instance_id := p_instance_id;

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

10529: END IF;
10530:
10531: -- no need to do uom conversion
10532: l_atp_rec.instance_id := p_instance_id;
10533: l_atp_rec.identifier := MSC_ATP_PVT.G_ORDER_LINE_ID;
10534: l_atp_rec.component_identifier := l_comp_requirements.component_identifier(j);
10535:
10536: -- 2462661 : krajan
10537: --l_atp_rec.src_atp_flag := l_comp_requirements.src_atp_flag(j);

Line 10544: and session_id = MSC_ATP_PVT.G_SESSION_ID;

10540: into l_atp_rec.demand_source_line
10541: from mrp_atp_details_temp
10542: where pegging_id = p_parent_pegging_id
10543: and record_type = 3
10544: and session_id = MSC_ATP_PVT.G_SESSION_ID;
10545:
10546:
10547: -- l_atp_rec.demand_source_header_id:= l_atp_table.Demand_Source_Header_Id(i);
10548: -- l_atp_rec.demand_source_delivery:= l_atp_table.Demand_Source_Delivery(i);

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

10572: l_atp_rec.ship_date := null;
10573:
10574: -- krajan: 2408902: populate demand class from global variable
10575: -- Bug 2424357
10576: l_atp_rec.demand_class := NVL(MSC_ATP_PVT.G_ATP_DEMAND_CLASS, p_demand_class);
10577:
10578: IF PG_DEBUG in ('Y', 'C') THEN
10579: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Demand Class being passed is : '|| l_atp_rec.demand_class);
10580: END IF;

Line 10594: l_model_error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;

10590: --exclude mand_comp flag as they will always be collected
10591: and NVL(l_comp_requirements.MAND_COMP_FLAG(j), 2) = 2 THEN
10592:
10593: --item doesn't exists in the given organization
10594: l_model_error_code := MSC_ATP_PVT.ATP_ITEM_NOT_COLLECTED;
10595:
10596: IF PG_DEBUG in ('Y', 'C') THEN
10597: msc_sch_wb.atp_debug('Item not collected := ' || l_comp_requirements.inventory_item_id(j));
10598: END IF;

Line 10604: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 THEN

10600: ELSIF l_model_flag = 1 and l_comp_requirements.atp_flag(j) = 'N'
10601: and l_comp_requirements.atp_components_flag(j) = 'N' THEN
10602: --model entity is non-atpable. Do not find plan, default to parent's plan
10603: l_plan_id := p_plan_id;
10604: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 THEN
10605: l_plan_id := -1;
10606: l_assign_set_id := p_assign_set_id;
10607: ELSE
10608:

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

10645: END IF;
10646: END IF;
10647: /* time_phased_atp changes end*/
10648:
10649: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10650: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10651: IF PG_DEBUG in ('Y', 'C') THEN
10652: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10653: END IF;

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

10646: END IF;
10647: /* time_phased_atp changes end*/
10648:
10649: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10650: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10651: IF PG_DEBUG in ('Y', 'C') THEN
10652: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10653: END IF;
10654: ---plan found for match

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

10648:
10649: IF MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id is not null and
10650: NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id, -1) <> -1 then
10651: IF PG_DEBUG in ('Y', 'C') THEN
10652: msc_sch_wb.atp_debug('Plan found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10653: END IF;
10654: ---plan found for match
10655: l_plan_found_for_match := 1;
10656: --l_atp_rec.request_item_id := l_comp_requirements.match_item_id(j);

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

10659: ELSE
10660: ---plan is not found for match. Do ATP on model level
10661: --l_atp_rec.inventory_item_id := l_comp_requirements.inventory_item_id(j);
10662: IF PG_DEBUG in ('Y', 'C') THEN
10663: msc_sch_wb.atp_debug('Plan not found for match := ' || MSC_ATP_PVT.G_PLAN_INFO_REC.plan_id );
10664: END IF;
10665: /* time_phased_atp
10666: Support PF ATP for components*/
10667: l_atp_rec.inventory_item_id := l_comp_requirements.inventory_item_id(j);

Line 10704: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;

10700: END IF;
10701: /* time_phased_atp changes end*/
10702: END IF;
10703:
10704: l_plan_info_rec := MSC_ATP_PVT.G_PLAN_INFO_REC;
10705: -- End New procedure for obtaining plan data : Supplier Capacity Lead Time proj
10706:
10707: l_plan_id := l_plan_info_rec.plan_id;
10708: l_assign_set_id := l_plan_info_rec.assignment_set_id;

Line 10721: l_model_error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;

10717: msc_sch_wb.atp_debug ('Plan ID in Get_Comp_Reqs : ' || l_plan_id);
10718: IF (l_plan_id is NULL) or (l_plan_id IN (-100, -200)) THEN
10719: --s_cto_rearch
10720: IF l_model_flag = 1 THEN
10721: l_model_error_code := MSC_ATP_PVT.PLAN_NOT_FOUND;
10722: ELSE
10723: --standard item
10724: -- this should not happen but just in case
10725: l_plan_id := p_plan_id;

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

10728: END IF;
10729:
10730: -- 24x7
10731: IF (l_plan_id = -300) then
10732: l_atp_rec.error_code := MSC_ATP_PVT.TRY_ATP_LATER;
10733: IF PG_DEBUG in ('Y', 'C') THEN
10734: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10735: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10736: END IF;

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

10733: IF PG_DEBUG in ('Y', 'C') THEN
10734: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10735: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10736: END IF;
10737: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10738: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10739: End IF;
10740: END IF;
10741: --subst

Line 10738: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

10734: msc_sch_wb.atp_debug('Get_Comp_Req: ATP Downtime Detected');
10735: msc_sch_wb.atp_debug('Get_Comp_Requirements: ATP Downtime');
10736: END IF;
10737: MSC_ATP_PVT.G_DOWNTIME_HIT := 'Y';
10738: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10739: End IF;
10740: END IF;
10741: --subst
10742: l_atp_rec.original_item_flag := 2;

Line 10754: IF MSC_ATP_PVT.G_INV_CTP = 5 and

10750: l_atp_rec.manufacturing_cal_code := p_manufacturing_cal_code;
10751: /* ship_rec_cal changes end */
10752:
10753: ---s_cto_rearch
10754: IF MSC_ATP_PVT.G_INV_CTP = 5 and
10755: p_comp_info_rec.bom_item_type = 4 and p_comp_info_rec.replenish_to_order_flag = 'Y' THEN
10756: --add ato item's components in ODS case share the same line id as ato item itself
10757: l_atp_rec.demand_source_line := p_comp_info_rec.line_id;
10758: ELSE

Line 10818: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN

10814: l_atp_rec.ship_date := l_comp_requirements.requested_date(j);
10815:
10816:
10817: --add pegging for diagnostic case
10818: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10819: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10820: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10821: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10822: l_pegging_rec.atp_level:= p_level;

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

10815:
10816:
10817: --add pegging for diagnostic case
10818: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10819: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10820: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10821: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10822: l_pegging_rec.atp_level:= p_level;
10823: l_pegging_rec.organization_id:= p_organization_id;

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

10816:
10817: --add pegging for diagnostic case
10818: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 1 THEN
10819: l_pegging_rec.session_id:= MSC_ATP_PVT.G_SESSION_ID;
10820: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
10821: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
10822: l_pegging_rec.atp_level:= p_level;
10823: l_pegging_rec.organization_id:= p_organization_id;
10824: l_pegging_rec.organization_code := l_org_code;

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

10855: l_pegging_rec.component_identifier := null;
10856:
10857:
10858: --diag_atp
10859: l_pegging_rec.pegging_type := MSC_ATP_PVT.ORG_DEMAND; --demand pegging
10860:
10861: --s_cto_rearch
10862: l_pegging_rec.dest_inv_item_id := null;
10863: l_pegging_rec.error_code := l_model_error_code;

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

10862: l_pegging_rec.dest_inv_item_id := null;
10863: l_pegging_rec.error_code := l_model_error_code;
10864: --e_cto_rearch
10865:
10866: l_pegging_rec.summary_flag := MSC_ATP_PVT.G_SUMMARY_FLAG; -- for summary enhancement
10867: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
10868: END IF;
10869: ELSE
10870:

Line 10883: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673

10879: msc_sch_wb.atp_debug('Get_Comp_Requirements: l_atp_rec.parent_item_id ' || l_atp_rec.parent_item_id );
10880: END IF;
10881: -- End ATP4drp
10882:
10883: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
10884: MSC_ATP_PVT.ATP_Check(l_atp_rec,
10885: l_plan_id,
10886: p_level ,
10887: p_scenario_id,

Line 10884: MSC_ATP_PVT.ATP_Check(l_atp_rec,

10880: END IF;
10881: -- End ATP4drp
10882:
10883: l_alloc_atp := MSC_ATP_PVT.G_ALLOCATED_ATP; --ALLOC ATP CHANGES, 12973673
10884: MSC_ATP_PVT.ATP_Check(l_atp_rec,
10885: l_plan_id,
10886: p_level ,
10887: p_scenario_id,
10888: p_search,

Line 10895: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN

10891: l_assign_set_id,
10892: l_atp_period,
10893: l_atp_supply_demand,
10894: x_return_status);
10895: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
10896: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;
10897: END IF;
10898:
10899: END IF;

Line 10896: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;

10892: l_atp_period,
10893: l_atp_supply_demand,
10894: x_return_status);
10895: IF MSC_ATP_PVT.G_HYBRID_ALLOC_ATP = 'Y' THEN
10896: MSC_ATP_PVT.G_ALLOCATED_ATP := l_alloc_atp;
10897: END IF;
10898:
10899: END IF;
10900: --- bug 2178544

Line 10902: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;

10898:
10899: END IF;
10900: --- bug 2178544
10901: -- Since PTF-Date might be chnaged by some different plan for components we reset the global varibale
10902: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10903:
10904: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10905:
10906: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

Line 10904: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN

10900: --- bug 2178544
10901: -- Since PTF-Date might be chnaged by some different plan for components we reset the global varibale
10902: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10903:
10904: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10905:
10906: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10907:
10908: IF PG_DEBUG in ('Y', 'C') THEN

Line 10906: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;

10902: MSC_ATP_PVT.G_PTF_DATE := l_ptf_date;
10903:
10904: IF x_return_status = MSC_ATP_PVT.CTO_OSS_ERROR THEN
10905:
10906: RAISE MSC_ATP_PVT.INVALID_OSS_SOURCE;
10907:
10908: IF PG_DEBUG in ('Y', 'C') THEN
10909: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || ' Error in OSS');
10910: END IF;

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

10911:
10912: -- Bug 1531429, in case return status is not success, raise an exception.
10913: -- krajan: 2400614
10914: -- krajan: If it is 'G', then it is a sourcing mismatch error.
10915: -- krajan: If it is MSC_ATP_PVT.G_ATO_SRC_MISMATCH, then it is a sourcing mismatch error.
10916:
10917: -- krajan: Basically for handling recursive ATP_CHECK <-> Get_Comp_Req calls
10918: -- krajan : 2752705 and dsting 2764213 : Other errors that need to go through to the
10919: -- top level model are also handled the same way as the mismatch case.

Line 10920: ELSIF x_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN

10916:
10917: -- krajan: Basically for handling recursive ATP_CHECK <-> Get_Comp_Req calls
10918: -- krajan : 2752705 and dsting 2764213 : Other errors that need to go through to the
10919: -- top level model are also handled the same way as the mismatch case.
10920: ELSIF x_return_status = MSC_ATP_PVT.G_ATO_SRC_MISMATCH THEN
10921: IF PG_DEBUG in ('Y', 'C') THEN
10922: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Get_Comp_Req: Error in ATP_CHECK 0.1');
10923: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Error in lower level component check');
10924: END IF;

Line 10925: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

10921: IF PG_DEBUG in ('Y', 'C') THEN
10922: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Get_Comp_Req: Error in ATP_CHECK 0.1');
10923: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'Error in lower level component check');
10924: END IF;
10925: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10926:
10927: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10928: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10929: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN

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

10924: END IF;
10925: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10926:
10927: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10928: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10929: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10930: IF PG_DEBUG in ('Y', 'C') THEN
10931: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10932: END IF;

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

10925: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
10926:
10927: --bug 3308206: IF ATP rule is not defined on the item then error out with message
10928: ELSIF MSC_ATP_PVT.G_INV_CTP = 5 and x_return_status <> FND_API.G_RET_STS_SUCCESS
10929: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10930: IF PG_DEBUG in ('Y', 'C') THEN
10931: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10932: END IF;
10933: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

Line 10933: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

10929: and l_atp_rec.error_code = MSC_ATP_PVT.ATP_BAD_RULE THEN
10930: IF PG_DEBUG in ('Y', 'C') THEN
10931: msc_sch_wb.atp_debug('Get_Comp_Requirements: ' || 'No ATP rule on Component');
10932: END IF;
10933: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
10934: END IF;
10935:
10936: -- dsting 2764213
10937: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

Line 10937: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN

10933: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
10934: END IF;
10935:
10936: -- dsting 2764213
10937: IF x_return_status = MSC_ATP_PVT.G_NO_PLAN_FOUND THEN
10938: IF PG_DEBUG in ('Y', 'C') THEN
10939: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.2');
10940: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10941: END IF;

Line 10942: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

10938: IF PG_DEBUG in ('Y', 'C') THEN
10939: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.2');
10940: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10941: END IF;
10942: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10943: END IF;
10944:
10945: -- krajan 2752705
10946: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

Line 10946: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN

10942: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
10943: END IF;
10944:
10945: -- krajan 2752705
10946: IF x_return_status = MSC_ATP_PVT.G_ATO_UNCOLL_ITEM THEN
10947: IF PG_DEBUG in ('Y', 'C') THEN
10948: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.3');
10949: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10950: END IF;

Line 10951: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

10947: IF PG_DEBUG in ('Y', 'C') THEN
10948: msc_sch_wb.atp_debug('Get_Comp_Req: Error in ATP_CHECK 0.3');
10949: msc_sch_wb.atp_debug('Get_Comp_Requirements: Error in lower level component check');
10950: END IF;
10951: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
10952: END IF;
10953:
10954: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10955: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;

Line 10985: 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

10981: l_atp_rec.requested_date_quantity) >= l_requested_comp_qty) THEN
10982: NULL;
10983: ELSIF (NVL(l_atp_rec.combined_requested_date_qty,
10984: l_atp_rec.requested_date_quantity) >0) THEN
10985: 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
10986: (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
10987: x_avail_assembly_qty := 0;
10988: IF PG_DEBUG in ('Y', 'C') THEN
10989: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);

Line 10986: (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

10982: NULL;
10983: ELSIF (NVL(l_atp_rec.combined_requested_date_qty,
10984: l_atp_rec.requested_date_quantity) >0) THEN
10985: 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
10986: (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
10987: x_avail_assembly_qty := 0;
10988: IF PG_DEBUG in ('Y', 'C') THEN
10989: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);
10990: END IF;

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

10987: x_avail_assembly_qty := 0;
10988: IF PG_DEBUG in ('Y', 'C') THEN
10989: msc_sch_wb.atp_debug('Fixed or Lot Based Case: Lot qty not available: avail_assembly_qty: ' || x_avail_assembly_qty);
10990: END IF;
10991: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN --5403495
10992: EXIT;
10993: END IF;
10994: --EXIT;
10995: 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 10995: 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

10991: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN --5403495
10992: EXIT;
10993: END IF;
10994: --EXIT;
10995: 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
10996: IF PG_DEBUG in ('Y', 'C') THEN
10997: msc_sch_wb.atp_debug('Before inverse scaling : avail_assembly_qty: ' || x_avail_assembly_qty);
10998: END IF;
10999: x_avail_assembly_qty := LEAST(x_avail_assembly_qty,

Line 11019: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN

11015: END IF;
11016: ELSE
11017: x_avail_assembly_qty := 0;
11018: --diag_atp
11019: IF MSC_ATP_PVT.G_DIAGNOSTIC_ATP = 2 THEN
11020: EXIT;
11021: END IF;
11022: END IF;
11023:

Line 11082: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN

11078:
11079:
11080: Exception
11081:
11082: WHEN MSC_ATP_PVT.INVALID_OSS_SOURCE THEN
11083:
11084: IF PG_DEBUG in ('Y', 'C') THEN
11085: msc_sch_wb.atp_debug('Get_Comp_Reqs: ' || 'Invalid OSS setup detected');
11086: END IF;

Line 11089: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;

11085: msc_sch_wb.atp_debug('Get_Comp_Reqs: ' || 'Invalid OSS setup detected');
11086: END IF;
11087: x_avail_assembly_qty := 0;
11088: x_atp_date := null;
11089: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;
11090:
11091: -- 2400614 : krajan
11092: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
11093: IF PG_DEBUG in ('Y', 'C') THEN

Line 11092: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN

11088: x_atp_date := null;
11089: x_return_status := MSC_ATP_PVT.CTO_OSS_Error;
11090:
11091: -- 2400614 : krajan
11092: WHEN MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH THEN
11093: IF PG_DEBUG in ('Y', 'C') THEN
11094: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_ATO_SOURCE');
11095: END IF;
11096: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11097: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;

11093: IF PG_DEBUG in ('Y', 'C') THEN
11094: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_ATO_SOURCE');
11095: END IF;
11096: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11097: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
11098:
11099: -- dsting 2764213
11100: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
11101: IF PG_DEBUG in ('Y', 'C') THEN

Line 11100: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN

11096: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11097: RAISE MSC_ATP_PVT.G_ATO_SOURCING_MISMATCH;
11098:
11099: -- dsting 2764213
11100: WHEN MSC_ATP_PVT.EXC_NO_PLAN_FOUND THEN
11101: IF PG_DEBUG in ('Y', 'C') THEN
11102: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for EXC_NO_PLAN_FOUND');
11103: END IF;
11104: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11105: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;

11101: IF PG_DEBUG in ('Y', 'C') THEN
11102: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for EXC_NO_PLAN_FOUND');
11103: END IF;
11104: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11105: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11106:
11107: -- krajan 2752705
11108: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
11109: IF PG_DEBUG in ('Y', 'C') THEN

Line 11108: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN

11104: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11105: RAISE MSC_ATP_PVT.EXC_NO_PLAN_FOUND;
11106:
11107: -- krajan 2752705
11108: WHEN MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM THEN
11109: IF PG_DEBUG in ('Y', 'C') THEN
11110: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_EXC_UNCOLLECTED_ITEM');
11111: END IF;
11112: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);

Line 11113: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;

11109: IF PG_DEBUG in ('Y', 'C') THEN
11110: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for G_EXC_UNCOLLECTED_ITEM');
11111: END IF;
11112: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11113: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
11114:
11115: ---bug 3308206: Add exception so that it could be propogated to ATP_check
11116: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11117: IF PG_DEBUG in ('Y', 'C') THEN

Line 11116: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN

11112: x_return_status := NVL(x_return_status, FND_API.G_RET_STS_ERROR);
11113: RAISE MSC_ATP_PVT.G_EXC_UNCOLLECTED_ITEM;
11114:
11115: ---bug 3308206: Add exception so that it could be propogated to ATP_check
11116: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11117: IF PG_DEBUG in ('Y', 'C') THEN
11118: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11119: END IF;
11120: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

Line 11120: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;

11116: WHEN MSC_ATP_PVT.EXC_NO_ATP_RULE THEN
11117: IF PG_DEBUG in ('Y', 'C') THEN
11118: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11119: END IF;
11120: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
11121:
11122: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11123: IF PG_DEBUG in ('Y', 'C') THEN
11124: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');

Line 11122: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705

11118: msc_sch_wb.atp_debug('Get_Comp_Reqs: IN Exception Block for EXC_NO_ATP_RULE');
11119: END IF;
11120: RAISE MSC_ATP_PVT.EXC_NO_ATP_RULE;
11121:
11122: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11123: IF PG_DEBUG in ('Y', 'C') THEN
11124: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');
11125: END IF;
11126: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

Line 11126: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;

11122: WHEN MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL THEN --bug3583705
11123: IF PG_DEBUG in ('Y', 'C') THEN
11124: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block for NO_MATCHING_DATE_IN_CAL');
11125: END IF;
11126: RAISE MSC_ATP_PVT.NO_MATCHING_DATE_IN_CAL;
11127:
11128: WHEN OTHERS THEN
11129: IF PG_DEBUG in ('Y', 'C') THEN
11130: msc_sch_wb.atp_debug ('Get_Comp_Reqs: IN Exception Block in others');

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

11222: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'sup_cap_cum_date: '|| to_char(p_sup_atp_info_rec.sup_cap_cum_date));
11223: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || ' bom_item_type : ' || p_sup_atp_info_rec.bom_item_type);
11224: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'rep_ord_flag := ' || p_sup_atp_info_rec.rep_ord_flag);
11225: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'base item id := ' || p_sup_atp_info_rec.base_item_id);
11226: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'MSC_ATP_PVT.G_PTF_DATE := ' || MSC_ATP_PVT.G_PTF_DATE);
11227: END IF;
11228:
11229:
11230: -- initialize API return status to success

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

11235: ---profile option for including purchase order
11236: MSC_ATP_REQ.G_PURCHASE_ORDER_PREFERENCE := NVL(FND_PROFILE.VALUE('MSC_PO_DOCK_DATE_CALC_PREF'), 2);
11237:
11238: -- Instead re-assigned local values using global variable
11239: l_uom_code := MSC_ATP_PVT.G_ITEM_INFO_REC.uom_code;
11240: l_postprocessing_lead_time := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11241:
11242: IF PG_DEBUG in ('Y', 'C') THEN
11243: msc_sch_wb.atp_debug('G_PURCHASE_ORDER_PREFERENCE := ' || G_PURCHASE_ORDER_PREFERENCE);

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

11236: MSC_ATP_REQ.G_PURCHASE_ORDER_PREFERENCE := NVL(FND_PROFILE.VALUE('MSC_PO_DOCK_DATE_CALC_PREF'), 2);
11237:
11238: -- Instead re-assigned local values using global variable
11239: l_uom_code := MSC_ATP_PVT.G_ITEM_INFO_REC.uom_code;
11240: l_postprocessing_lead_time := MSC_ATP_PVT.G_ITEM_INFO_REC.pre_pro_lt;
11241:
11242: IF PG_DEBUG in ('Y', 'C') THEN
11243: msc_sch_wb.atp_debug('G_PURCHASE_ORDER_PREFERENCE := ' || G_PURCHASE_ORDER_PREFERENCE);
11244: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'l_uom_code and l_postprocessing_lead_time = '||

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

11282: -- get the plan start date. later on we will use this restrict the
11283: -- availability
11284:
11285: -- Instead re-assigned local values using global variable
11286: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11287: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11288: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11289: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11290:

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

11283: -- availability
11284:
11285: -- Instead re-assigned local values using global variable
11286: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11287: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11288: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11289: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11290:
11291: /* Modularize Item and Org Info */

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

11284:
11285: -- Instead re-assigned local values using global variable
11286: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11287: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11288: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11289: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11290:
11291: /* Modularize Item and Org Info */
11292: -- changed call, re-use info already obtained.

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

11285: -- Instead re-assigned local values using global variable
11286: l_plan_start_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_start_date;
11287: l_instance_id := MSC_ATP_PVT.G_PLAN_INFO_REC.sr_instance_id;
11288: l_org_id := MSC_ATP_PVT.G_PLAN_INFO_REC.organization_id;
11289: l_cutoff_date := MSC_ATP_PVT.G_PLAN_INFO_REC.plan_cutoff_date;
11290:
11291: /* Modularize Item and Org Info */
11292: -- changed call, re-use info already obtained.
11293: -- Assumption is that since the instance and org is obtained using the plan_id,

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

11292: -- changed call, re-use info already obtained.
11293: -- Assumption is that since the instance and org is obtained using the plan_id,
11294: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11295: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11296: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11297: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11298: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11299:
11300: /*

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

11293: -- Assumption is that since the instance and org is obtained using the plan_id,
11294: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11295: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11296: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11297: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11298: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11299:
11300: /*
11301: Changes for ship_rec_cal begin

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

11294: -- they are the same as the parameters p_sup_atp_info_rec.instance_id, p_sup_atp_info_rec.organization_id.
11295: MSC_ATP_PROC.get_global_org_info(l_instance_id, l_org_id);
11296: l_default_atp_rule_id := MSC_ATP_PVT.G_ORG_INFO_REC.default_atp_rule_id;
11297: l_default_demand_class := MSC_ATP_PVT.G_ORG_INFO_REC.default_demand_class;
11298: l_org_code := MSC_ATP_PVT.G_ORG_INFO_REC.org_code;
11299:
11300: /*
11301: Changes for ship_rec_cal begin
11302: 1. For ship_rec_cal, Use SMC rather thn OMC for supplier capacity

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

11307: */
11308: l_calendar_code := p_sup_atp_info_rec.manufacturing_cal_code;
11309:
11310: l_calendar_exception_set_id := -1;
11311: -- l_enforce_sup_capacity := NVL(MSC_ATP_PVT.G_PLAN_INFO_REC.enforce_sup_capacity, 2); -- Enforce Pur LT
11312: l_sysdate := MSC_CALENDAR.PREV_WORK_DAY(l_calendar_code, p_sup_atp_info_rec.instance_id, sysdate);
11313: 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);
11314:
11315: /* Enforce Pur LT - capacity is always enforced

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

11339: l_capacity_defined := 0;
11340: l_last_cap_next_date := MSC_CALENDAR.NEXT_WORK_DAY(
11341: l_calendar_code,
11342: p_sup_atp_info_rec.instance_id,
11343: GREATEST(l_plan_start_date, MSC_ATP_PVT.G_PTF_DATE, p_sup_atp_info_rec.sup_cap_cum_date));
11344: ELSE
11345: l_capacity_defined := 1;
11346: l_last_cap_next_date := MSC_CALENDAR.NEXT_WORK_DAY(
11347: l_calendar_code,

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

11369: END IF;
11370:
11371: -- Ship_rec_cal.
11372: l_atp_period_tab(i) := l_last_cap_next_date;
11373: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11374:
11375: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0) THEN
11376:
11377: -- dsting clear sd details temp table

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

11395: -- ship_rec_cal changes begin
11396: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
11397: -- ship_rec_cal changes end
11398:
11399: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11400: x_atp_period.Total_Demand_Quantity(i) := 0;
11401: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11402: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11403:

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

11397: -- ship_rec_cal changes end
11398:
11399: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11400: x_atp_period.Total_Demand_Quantity(i) := 0;
11401: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11402: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11403:
11404: END IF;
11405: ELSE -- else of l_capacity_defined = 0

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

11398:
11399: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11400: x_atp_period.Total_Demand_Quantity(i) := 0;
11401: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11402: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
11403:
11404: END IF;
11405: ELSE -- else of l_capacity_defined = 0
11406:

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

11405: ELSE -- else of l_capacity_defined = 0
11406:
11407: -- we really need to check net supplier site capacity
11408: -- we need to have a branch here for allocated atp
11409: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11410: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11411: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11412:
11413: -- check if we have tolerence defined for this item/org/supplier/site

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

11406:
11407: -- we really need to check net supplier site capacity
11408: -- we need to have a branch here for allocated atp
11409: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11410: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11411: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11412:
11413: -- check if we have tolerence defined for this item/org/supplier/site
11414:

Line 11411: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN

11407: -- we really need to check net supplier site capacity
11408: -- we need to have a branch here for allocated atp
11409: IF (MSC_ATP_PVT.G_ALLOCATED_ATP = 'N') OR
11410: (MSC_ATP_PVT.G_ALLOCATED_ATP = 'Y' AND MSC_ATP_PVT.G_HIERARCHY_PROFILE = 1 AND
11411: MSC_ATP_PVT.G_ALLOCATION_METHOD = 1) THEN
11412:
11413: -- check if we have tolerence defined for this item/org/supplier/site
11414:
11415: l_tolerence_defined := 0;

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

11485: -- 2. Removed join with msc_calendar_dates
11486: --=======================================================================================================
11487:
11488: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) = 0) THEN
11489: IF (l_tolerence_defined = 0) AND (MSC_ATP_PVT.G_SUMMARY_FLAG = 'Y') THEN
11490: ---- we do summary approach only if tolerance is not defined
11491: ---- since one of the components for calculating tolerance is difference of sys_date and
11492: ---- request date, we might not get a right data if we include tolerance in summary data
11493:

Line 11865: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

11861: )
11862:
11863: (SELECT
11864: p_sup_atp_info_rec.level col1,
11865: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
11866: p_sup_atp_info_rec.scenario_id col3,
11867: l_null_num col4 ,
11868: l_null_num col5,
11869: p_sup_atp_info_rec.organization_id col6,

Line 11928: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

11924: -- AND c.calendar_date >= l_plan_start_date -- bug 1169467
11925: UNION ALL
11926: SELECT
11927: p_sup_atp_info_rec.level col1,
11928: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
11929: p_sup_atp_info_rec.scenario_id col3,
11930: l_null_num col4 ,
11931: l_null_num col5,
11932: p_sup_atp_info_rec.organization_id col6,

Line 12035: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

12031: )
12032:
12033: (SELECT
12034: p_sup_atp_info_rec.level col1,
12035: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
12036: p_sup_atp_info_rec.scenario_id col3,
12037: l_null_num col4 ,
12038: l_null_num col5,
12039: p_sup_atp_info_rec.organization_id col6,

Line 12098: MSC_ATP_PVT.G_ORDER_LINE_ID col2,

12094: -- AND c.calendar_date >= l_plan_start_date -- bug 1169467
12095: UNION ALL
12096: SELECT
12097: p_sup_atp_info_rec.level col1,
12098: MSC_ATP_PVT.G_ORDER_LINE_ID col2,
12099: p_sup_atp_info_rec.scenario_id col3,
12100: l_null_num col4 ,
12101: l_null_num col5,
12102: p_sup_atp_info_rec.organization_id col6,

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

12205: END IF;
12206:
12207: -- ship_rec_cal
12208: l_atp_period_tab(i) := l_last_cap_next_date;
12209: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12210:
12211: IF PG_DEBUG in ('Y', 'C') THEN
12212: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'l_plan_start_date1 := ' || l_plan_start_date);
12213: END IF;

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

12231:
12232: -- ship_rec_cal
12233: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12234:
12235: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12236: x_atp_period.Total_Demand_Quantity(i) := 0;
12237: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12238: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12239:

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

12233: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12234:
12235: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12236: x_atp_period.Total_Demand_Quantity(i) := 0;
12237: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12238: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12239:
12240: END IF;
12241:

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

12234:
12235: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12236: x_atp_period.Total_Demand_Quantity(i) := 0;
12237: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12238: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12239:
12240: END IF;
12241:
12242: --=======================================================================================================

Line 12249: MSC_ATP_PVT.G_ORDER_LINE_ID,

12245:
12246: ELSE -- (G_ALLOCATED_ATP = 'N')
12247: -- we are using allocated atp
12248: MSC_AATP_PVT.Supplier_Alloc_Cum_Atp(p_sup_atp_info_rec,
12249: MSC_ATP_PVT.G_ORDER_LINE_ID,
12250: l_requested_date,
12251: l_atp_info,
12252: x_atp_period,
12253: x_atp_supply_demand);

Line 12267: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12263: l_atp_info.limit_qty.EXTEND;
12264:
12265: i := l_atp_info.atp_qty.COUNT;
12266: l_atp_info.atp_period(i) := l_last_cap_next_date;
12267: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12268: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12269:
12270:
12271: IF NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0 THEN

Line 12268: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;

12264:
12265: i := l_atp_info.atp_qty.COUNT;
12266: l_atp_info.atp_period(i) := l_last_cap_next_date;
12267: l_atp_info.atp_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12268: ---x_atp_info.limit_qty(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12269:
12270:
12271: IF NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0 THEN
12272: -- add one more entry to indicate infinite time fence date

Line 12288: x_atp_period.Identifier(j) := MSC_ATP_PVT.G_ORDER_LINE_ID;

12284: x_atp_period.Identifier2(j) := x_atp_period.Identifier2(j-1);
12285: END IF;
12286:
12287: x_atp_period.Level(j) := p_sup_atp_info_rec.level;
12288: x_atp_period.Identifier(j) := MSC_ATP_PVT.G_ORDER_LINE_ID;
12289: x_atp_period.Scenario_Id(j) := p_sup_atp_info_rec.scenario_id;
12290: x_atp_period.Pegging_Id(j) := NULL;
12291: x_atp_period.End_Pegging_Id(j) := NULL;
12292: x_atp_period.Supplier_Id(j) := p_sup_atp_info_rec.supplier_id;

Line 12297: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12293: x_atp_period.Supplier_site_id(j) := p_sup_atp_info_rec.supplier_site_id;
12294: x_atp_period.Organization_id(j) := p_sup_atp_info_rec.organization_id;
12295: --x_atp_period.Period_Start_Date(j) := l_infinite_time_fence_date; --4055719
12296: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12297: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12298: x_atp_period.Total_Demand_Quantity(j) := 0;
12299: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12300: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12301: END IF;

Line 12299: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12295: --x_atp_period.Period_Start_Date(j) := l_infinite_time_fence_date; --4055719
12296: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12297: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12298: x_atp_period.Total_Demand_Quantity(j) := 0;
12299: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12300: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12301: END IF;
12302: END IF;
12303:

Line 12300: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;

12296: x_atp_period.Period_Start_Date(j) := l_last_cap_next_date;
12297: x_atp_period.Total_Supply_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12298: x_atp_period.Total_Demand_Quantity(j) := 0;
12299: x_atp_period.Period_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12300: x_atp_period.Cumulative_Quantity(j) := MSC_ATP_PVT.INFINITE_NUMBER;
12301: END IF;
12302: END IF;
12303:
12304: l_atp_period_tab := l_atp_info.atp_period;

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

12341: END IF;
12342:
12343: -- ship_rec_cal
12344: l_atp_period_tab(i) := l_last_cap_next_date;
12345: l_atp_qty_tab(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12346:
12347:
12348: IF (NVL(p_sup_atp_info_rec.insert_flag, 0) <> 0) THEN
12349:

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

12364:
12365: -- ship_rec_cal
12366: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12367:
12368: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12369: x_atp_period.Total_Demand_Quantity(i) := 0;
12370: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12371: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12372:

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

12366: x_atp_period.Period_Start_Date(i) := l_last_cap_next_date;
12367:
12368: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12369: x_atp_period.Total_Demand_Quantity(i) := 0;
12370: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12371: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12372:
12373: END IF; */
12374:

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

12367:
12368: x_atp_period.Total_Supply_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12369: x_atp_period.Total_Demand_Quantity(i) := 0;
12370: x_atp_period.Period_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12371: x_atp_period.Cumulative_Quantity(i) := MSC_ATP_PVT.INFINITE_NUMBER;
12372:
12373: END IF; */
12374:
12375: END IF; -- l_capacity_defined = 0

Line 12430: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12426: -- request in on Day2. for bug 948863
12427: p_sup_atp_info_rec.requested_date_quantity := 0;
12428: FOR k IN 1..l_atp_period_tab.COUNT LOOP
12429: IF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12430: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12431: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12432: p_sup_atp_info_rec.atp_date_this_level := l_atp_period_tab(k);
12433: EXIT;
12434: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)

Line 12437: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check

12433: EXIT;
12434: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12435: AND (l_atp_period_tab.COUNT = k
12436: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12437: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12438: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12439: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12440: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12441: EXIT;

Line 12438: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check

12434: ELSIF (l_atp_qty_tab(k) >= p_sup_atp_info_rec.quantity_ordered)
12435: AND (l_atp_period_tab.COUNT = k
12436: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12437: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12438: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12439: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12440: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12441: EXIT;
12442: END IF;

Line 12440: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;

12436: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check.
12437: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12438: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN -- Bug 3782472 - Added PTF check
12439: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k);
12440: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12441: EXIT;
12442: END IF;
12443: END LOOP; -- end of k loop
12444: ELSE

Line 12471: -- l_requested_date < GREATEST(MSC_ATP_PVT.G_PTF_DATE,l_atp_requested_date)) THEN -- Bug 3782472 - Added PTF check

12467: IF (l_pre_process_date IS NOT NULL and l_pre_process_date < l_sysdate)
12468: or (l_pre_process_date IS NULL and
12469: l_requested_date < l_atp_requested_date) THEN
12470: -- Bug 3828469 - Removed the regression introduced in 3782472
12471: -- l_requested_date < GREATEST(MSC_ATP_PVT.G_PTF_DATE,l_atp_requested_date)) THEN -- Bug 3782472 - Added PTF check
12472: p_sup_atp_info_rec.requested_date_quantity := 0;
12473:
12474: IF PG_DEBUG in ('Y', 'C') THEN
12475: msc_sch_wb.atp_debug('Get_Supplier_Atp_Info: ' || 'inside p_sup_atp_info_rec.requested_date_quantity 0 = '||

Line 12490: AND l_atp_requested_date >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12486: END IF;
12487: -- now find the atp_date_quantity and atp_date at this level
12488: ---bug 2341075: Cum Qty should not include cum qty before sysdate
12489: IF (l_atp_qty_tab(j) - l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered
12490: AND l_atp_requested_date >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12491:
12492: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(j) - l_qty_before_sysdate;
12493: p_sup_atp_info_rec.atp_date_this_level := l_atp_requested_date;
12494:

Line 12509: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check

12505: ELSE
12506: FOR k IN j+1..l_atp_period_tab.COUNT LOOP
12507: ---bug 2341075: exclude qty before sysdate
12508: IF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12509: AND l_atp_period_tab(k) >= MSC_ATP_PVT.G_PTF_DATE THEN -- Bug 3782472 - Added PTF check
12510: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12511: p_sup_atp_info_rec.atp_date_this_level := l_atp_period_tab(k);
12512: EXIT;
12513: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)

Line 12516: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN

12512: EXIT;
12513: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12514: AND (l_atp_period_tab.COUNT = k
12515: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12516: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12517: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12518: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12519: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12520: EXIT;

Line 12517: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN

12513: ELSIF ((l_atp_qty_tab(k)- l_qty_before_sysdate) >= p_sup_atp_info_rec.quantity_ordered)
12514: AND (l_atp_period_tab.COUNT = k
12515: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12516: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12517: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12518: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12519: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12520: EXIT;
12521: END IF;

Line 12519: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;

12515: -- Bug 3862224, handled the case where ptf_date has some supply/demand activity, removed equality check
12516: --OR l_atp_period_tab(k+1) >= MSC_ATP_PVT.G_PTF_DATE) THEN
12517: OR l_atp_period_tab(k+1) > MSC_ATP_PVT.G_PTF_DATE) THEN
12518: p_sup_atp_info_rec.atp_date_quantity_this_level := l_atp_qty_tab(k) - l_qty_before_sysdate;
12519: p_sup_atp_info_rec.atp_date_this_level := MSC_ATP_PVT.G_PTF_DATE;
12520: EXIT;
12521: END IF;
12522: END LOOP; -- end of k loop
12523: END IF; -- end if j = l_atp_period_tab.COUNT

Line 12678: AND session_id = MSC_ATP_PVT.G_SESSION_ID

12674: AND sup.transaction_id <> (SELECT identifier3
12675: FROM mrp_atp_details_temp
12676: WHERE record_type = 3
12677: AND pegging_id = p_parent_pegging_id
12678: AND session_id = MSC_ATP_PVT.G_SESSION_ID
12679: ))
12680: GROUP BY l_date
12681: ORDER BY l_date;
12682:

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

12788:
12789: IF NVL(p_insert_flag,0) <> 0 THEN -- p_insert_flag
12790: -- add pegging info for weight demand
12791:
12792: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12793: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12794: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12795: l_pegging_rec.atp_level:= p_level;
12796: l_pegging_rec.from_organization_id := p_from_organization_id;

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

12789: IF NVL(p_insert_flag,0) <> 0 THEN -- p_insert_flag
12790: -- add pegging info for weight demand
12791:
12792: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12793: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12794: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12795: l_pegging_rec.atp_level:= p_level;
12796: l_pegging_rec.from_organization_id := p_from_organization_id;
12797: l_pegging_rec.to_organization_id := p_to_organization_id;

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

12823: l_wt_demand_pegging_id := l_pegging_id;
12824:
12825: -- add pegging info for volume demand
12826:
12827: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12828: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12829: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12830: l_pegging_rec.atp_level:= p_level;
12831: l_pegging_rec.from_organization_id := p_from_organization_id;

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

12824:
12825: -- add pegging info for volume demand
12826:
12827: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12828: l_pegging_rec.order_line_id:= MSC_ATP_PVT.G_ORDER_LINE_ID;
12829: l_pegging_rec.parent_pegging_id:= p_parent_pegging_id;
12830: l_pegging_rec.atp_level:= p_level;
12831: l_pegging_rec.from_organization_id := p_from_organization_id;
12832: l_pegging_rec.to_organization_id := p_to_organization_id;

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

12857: l_vol_demand_pegging_id := l_pegging_id;
12858:
12859: -- add pegging info for weight 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_wt_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 weight 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_wt_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 := 'WEIGHT';
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_tab(k);
12875: l_pegging_rec.weight_capacity := l_atp_qty_tab(k);
12876: l_pegging_rec.supply_demand_type := 2;
12877: l_pegging_rec.supply_demand_date := x_atp_date_this_level;

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

12890: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
12891:
12892: -- add pegging info for volume supply
12893:
12894: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12895: l_pegging_rec.order_line_id := MSC_ATP_PVT.G_ORDER_LINE_ID;
12896: l_pegging_rec.parent_pegging_id := l_vol_demand_pegging_id;
12897: l_pegging_rec.atp_level := p_level;
12898: l_pegging_rec.from_organization_id := p_from_organization_id;

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

12891:
12892: -- add pegging info for volume supply
12893:
12894: l_pegging_rec.session_id := MSC_ATP_PVT.G_SESSION_ID;
12895: l_pegging_rec.order_line_id := MSC_ATP_PVT.G_ORDER_LINE_ID;
12896: l_pegging_rec.parent_pegging_id := l_vol_demand_pegging_id;
12897: l_pegging_rec.atp_level := p_level;
12898: l_pegging_rec.from_organization_id := p_from_organization_id;
12899: l_pegging_rec.to_organization_id := p_to_organization_id;

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

12902: l_pegging_rec.identifier2 := 'VOLUME';
12903: l_pegging_rec.identifier3 := -1;
12904: l_pegging_rec.identifier4 := p_dest_org_instance_id;
12905: l_pegging_rec.scenario_id := p_scenario_id;
12906: l_pegging_rec.supply_demand_source_type := MSC_ATP_PVT.ATP;
12907: l_pegging_rec.supply_demand_quantity := l_atp_qty_tab2(k);
12908: l_pegging_rec.volume_capacity := l_atp_qty_tab2(k);
12909: l_pegging_rec.supply_demand_type := 2;
12910: l_pegging_rec.supply_demand_date := x_atp_date_this_level;

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

12924: MSC_ATP_DB_UTILS.Add_Pegging(l_pegging_rec, l_pegging_id);
12925:
12926: FOR i in 1..l_atp_period.Level.COUNT LOOP
12927: l_atp_period.Pegging_Id(i) := l_pegging_id;
12928: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12929:
12930: l_atp_period2.Pegging_Id(i) := l_pegging_id;
12931: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12932:

Line 12931: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12927: l_atp_period.Pegging_Id(i) := l_pegging_id;
12928: l_atp_period.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12929:
12930: l_atp_period2.Pegging_Id(i) := l_pegging_id;
12931: l_atp_period2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12932:
12933: END LOOP;
12934:
12935: IF PG_DEBUG in ('Y', 'C') THEN

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

12937: END IF;
12938:
12939: FOR i in 1..l_atp_supply_demand.Level.COUNT LOOP
12940: l_atp_supply_demand.Pegging_Id(i) := l_pegging_id;
12941: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12942:
12943: l_atp_supply_demand2.Pegging_Id(i) := l_pegging_id;
12944: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12945:

Line 12944: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;

12940: l_atp_supply_demand.Pegging_Id(i) := l_pegging_id;
12941: l_atp_supply_demand.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12942:
12943: l_atp_supply_demand2.Pegging_Id(i) := l_pegging_id;
12944: l_atp_supply_demand2.End_Pegging_Id(i) := MSC_ATP_PVT.G_DEMAND_PEGGING_ID;
12945:
12946: END LOOP;
12947:
12948: -- select weight information into table

Line 13595: and MSC_ATP_PVT.G_INV_CTP = 4)) THEN

13591:
13592: IF ((p_atp_comp_rec.model_flag = 1 and p_atp_comp_rec.bom_item_type = 2) or
13593: (p_atp_comp_rec.model_flag <> 1 and p_atp_comp_rec.wip_supply_type = 6
13594: and p_atp_comp_rec.parent_repl_ord_flag = 'N'
13595: and MSC_ATP_PVT.G_INV_CTP = 4)) THEN
13596: -- this is phantom, add to explode list
13597:
13598: j := p_explode_comp_rec.inventory_item_id.COUNT;
13599:

Line 13678: 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

13674:
13675: p_component_rec.requested_date(j+1) := p_atp_comp_rec.requested_date;
13676: --p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13677: --4570421
13678: 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
13679: (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
13680: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13681: ELSE
13682: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage;

Line 13679: (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

13675: p_component_rec.requested_date(j+1) := p_atp_comp_rec.requested_date;
13676: --p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13677: --4570421
13678: 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
13679: (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
13680: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage/p_atp_comp_rec.requested_quantity;
13681: ELSE
13682: p_component_rec.comp_usage(j+1) := p_atp_comp_rec.comp_usage;
13683: END IF;