67:
68: cursor ITEM1_cur IS
69: --Bug#2713829, also selected MRP_SAFETY_STOCK_PERCENT from MSI.
70: SELECT DISTINCT F.INVENTORY_ITEM_ID, MSI.MRP_SAFETY_STOCK_PERCENT
71: FROM MRP_FORECAST_DESIGNATORS D, MRP_FORECAST_DATES F, MTL_SYSTEM_ITEMS MSI
72: WHERE D.ORGANIZATION_ID = X_ORGANIZATION_ID AND
73: D.FORECAST_DESIGNATOR = X_FORECAST_NAME AND
74: D.ORGANIZATION_ID = F.ORGANIZATION_ID AND
75: D.FORECAST_DESIGNATOR = F.FORECAST_DESIGNATOR AND
77: MSI.INVENTORY_ITEM_ID = F.INVENTORY_ITEM_ID;
78:
79: cursor ITEM2_cur IS
80: SELECT DISTINCT F.INVENTORY_ITEM_ID
81: FROM MRP_FORECAST_DESIGNATORS D, MRP_FORECAST_DATES F,
82: MTL_ITEM_CATEGORIES C
83: WHERE D.ORGANIZATION_ID = X_ORGANIZATION_ID AND
84: D.FORECAST_DESIGNATOR = X_FORECAST_NAME AND
85: D.ORGANIZATION_ID = F.ORGANIZATION_ID AND
89: C.ORGANIZATION_ID = X_ORGANIZATION_ID AND
90: C.INVENTORY_ITEM_ID = F.INVENTORY_ITEM_ID;
91:
92: cursor FORECAST_cur IS
93: SELECT 'X' FROM MRP_FORECAST_DESIGNATORS
94: WHERE FORECAST_DESIGNATOR = X_FORECAST_NAME AND
95: FORECAST_DESIGNATOR
96: IN (SELECT d.FORECAST_DESIGNATOR
97: FROM MRP_FORECAST_DESIGNATORS d
93: SELECT 'X' FROM MRP_FORECAST_DESIGNATORS
94: WHERE FORECAST_DESIGNATOR = X_FORECAST_NAME AND
95: FORECAST_DESIGNATOR
96: IN (SELECT d.FORECAST_DESIGNATOR
97: FROM MRP_FORECAST_DESIGNATORS d
98: WHERE d.ORGANIZATION_ID = X_ORGANIZATION_ID AND
99: EXISTS (SELECT 'X' FROM MRP_FORECAST_DATES f
100: WHERE f.INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID AND
101: d.FORECAST_DESIGNATOR = f.FORECAST_DESIGNATOR AND
136: DELETE FROM MTL_SAFETY_STOCKS M
137: WHERE ORGANIZATION_ID = X_ORGANIZATION_ID
138: AND FORECAST_DESIGNATOR = X_FORECAST_NAME
139: AND INVENTORY_ITEM_ID NOT IN ( SELECT DISTINCT F.INVENTORY_ITEM_ID
140: FROM MRP_FORECAST_DESIGNATORS D, MRP_FORECAST_DATES F
141: WHERE D.ORGANIZATION_ID = X_ORGANIZATION_ID
142: AND D.FORECAST_DESIGNATOR = X_FORECAST_NAME
143: AND D.ORGANIZATION_ID = F.ORGANIZATION_ID
144: AND D.FORECAST_DESIGNATOR = F.FORECAST_DESIGNATOR )
152: DELETE FROM MTL_SAFETY_STOCKS M
153: WHERE ORGANIZATION_ID = X_ORGANIZATION_ID
154: AND FORECAST_DESIGNATOR = X_FORECAST_NAME
155: AND INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID
156: AND NOT EXISTS ( SELECT 1 FROM MRP_FORECAST_DESIGNATORS D, MRP_FORECAST_DATES F
157: WHERE D.ORGANIZATION_ID = X_ORGANIZATION_ID
158: AND D.FORECAST_DESIGNATOR = X_FORECAST_NAME
159: AND D.ORGANIZATION_ID = F.ORGANIZATION_ID
160: AND D.FORECAST_DESIGNATOR = F.FORECAST_DESIGNATOR
175: AND C.CATEGORY_SET_ID = X_CATEGORY_SET_ID
176: AND C.CATEGORY_ID = X_CATEGORY_ID
177: AND C.ORGANIZATION_ID = X_ORGANIZATION_ID )
178: AND INVENTORY_ITEM_ID NOT IN ( SELECT DISTINCT F.INVENTORY_ITEM_ID
179: FROM MRP_FORECAST_DESIGNATORS D, MRP_FORECAST_DATES F,
180: MTL_ITEM_CATEGORIES C
181: WHERE D.ORGANIZATION_ID = X_ORGANIZATION_ID
182: AND D.FORECAST_DESIGNATOR = X_FORECAST_NAME
183: AND D.ORGANIZATION_ID = F.ORGANIZATION_ID
362: TO_NUMBER(TO_CHAR(C1.CALENDAR_DATE,'J')),
363: ROUND(SUM(NVL(F.FORECAST_MAD, 0)) * srv_factor, 5) -- 6797274 changes
364: FROM
365: BOM_CALENDAR_DATES C1,
366: MRP_FORECAST_DESIGNATORS D1,
367: MRP_FORECAST_DATES F
368: WHERE D1.ORGANIZATION_ID = org_id
369: AND D1.FORECAST_DESIGNATOR = forc_name
370: AND F.ORGANIZATION_ID = org_id
385: C3.NEXT_SEQ_NUM)) * srv_factor, 5)
386: FROM BOM_CALENDAR_DATES C1, BOM_CALENDAR_DATES C2,
387: BOM_CALENDAR_DATES C3,
388: BOM_CAL_WEEK_START_DATES W1, MRP_FORECAST_DATES F,
389: MRP_FORECAST_DESIGNATORS D1
390: WHERE D1.ORGANIZATION_ID = org_id
391: AND D1.FORECAST_DESIGNATOR = forc_name
392: AND F.ORGANIZATION_ID = org_id
393: AND F.INVENTORY_ITEM_ID = item_id
418: C3.NEXT_SEQ_NUM)) * srv_factor, 5)
419: FROM BOM_CALENDAR_DATES C1, BOM_CALENDAR_DATES C2,
420: BOM_CALENDAR_DATES C3,
421: BOM_PERIOD_START_DATES W1, MRP_FORECAST_DATES F,
422: MRP_FORECAST_DESIGNATORS D1
423: WHERE D1.ORGANIZATION_ID = org_id
424: AND D1.FORECAST_DESIGNATOR = forc_name
425: AND F.ORGANIZATION_ID = org_id
426: AND F.INVENTORY_ITEM_ID = item_id
451: TO_NUMBER(TO_CHAR(C1.CALENDAR_DATE,'J')),
452: ROUND(SUM(F.ORIGINAL_FORECAST_QUANTITY)* ss_percent/100 , 5)
453: FROM
454: BOM_CALENDAR_DATES C1,
455: MRP_FORECAST_DESIGNATORS D1,
456: MRP_FORECAST_DATES F
457: WHERE D1.ORGANIZATION_ID = org_id
458: AND D1.FORECAST_DESIGNATOR = forc_name
459: AND F.ORGANIZATION_ID = org_id
473: (C2.NEXT_SEQ_NUM - C3.NEXT_SEQ_NUM))* ss_percent/100 ,5)
474: FROM BOM_CALENDAR_DATES C1, BOM_CALENDAR_DATES C2,
475: BOM_CALENDAR_DATES C3,
476: BOM_CAL_WEEK_START_DATES W1, MRP_FORECAST_DATES F,
477: MRP_FORECAST_DESIGNATORS D1
478: WHERE D1.ORGANIZATION_ID = org_id
479: AND D1.FORECAST_DESIGNATOR = forc_name
480: AND F.ORGANIZATION_ID = org_id
481: AND F.INVENTORY_ITEM_ID = item_id
505: (C2.NEXT_SEQ_NUM - C3.NEXT_SEQ_NUM))* ss_percent/100 ,5)
506: FROM BOM_CALENDAR_DATES C1, BOM_CALENDAR_DATES C2,
507: BOM_CALENDAR_DATES C3,
508: BOM_PERIOD_START_DATES W1, MRP_FORECAST_DATES F,
509: MRP_FORECAST_DESIGNATORS D1
510: WHERE D1.ORGANIZATION_ID = org_id
511: AND D1.FORECAST_DESIGNATOR = forc_name
512: AND F.ORGANIZATION_ID = org_id
513: AND F.INVENTORY_ITEM_ID = item_id
534:
535: --Added as a part of bug # 5718937
536: CURSOR c_bucket_type (cp_forecast IN VARCHAR2) IS
537: SELECT BUCKET_TYPE
538: FROM MRP_FORECAST_DESIGNATORS
539: WHERE FORECAST_DESIGNATOR = cp_forecast;
540:
541: CURSOR QTY_cur IS
542: SELECT SAFETY_STOCK_QUANTITY
559: forc_date NUMBER;
560: ss_qty NUMBER;
561: forc_qty NUMBER;
562: pro_sqty NUMBER;
563: bucket_type MRP_FORECAST_DESIGNATORS.BUCKET_TYPE%TYPE; -- Bug # 5718937
564: l_mad_calc BOOLEAN; -- Bug # 5718937
565:
566: next_date DATE;
567: