36: --
37: BEGIN
38: --
39: IF (l_debug <> -1) THEN
40: rlm_core_sv.dpush(k_SDEBUG,'ManageForecast');
41: rlm_core_sv.dlog(k_DEBUG,'x_InterfaceHeaderId',x_InterfaceHeaderId);
42: END IF;
43: --
44: x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
37: BEGIN
38: --
39: IF (l_debug <> -1) THEN
40: rlm_core_sv.dpush(k_SDEBUG,'ManageForecast');
41: rlm_core_sv.dlog(k_DEBUG,'x_InterfaceHeaderId',x_InterfaceHeaderId);
42: END IF;
43: --
44: x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
45: --
40: rlm_core_sv.dpush(k_SDEBUG,'ManageForecast');
41: rlm_core_sv.dlog(k_DEBUG,'x_InterfaceHeaderId',x_InterfaceHeaderId);
42: END IF;
43: --
44: x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
45: --
46: IF NOT rlm_dp_sv.CheckForecast(x_InterfaceHeaderId,x_Group_rec) THEN
47: --
48: IF (l_debug <> -1) THEN
45: --
46: IF NOT rlm_dp_sv.CheckForecast(x_InterfaceHeaderId,x_Group_rec) THEN
47: --
48: IF (l_debug <> -1) THEN
49: rlm_core_sv.dlog(k_DEBUG,'No Forecast processing');
50: END IF;
51: --
52: RAISE e_no_forecast;
53: --
67: --
68: IF NOT LockLines(v_SubGroup_rec, x_InterfaceHeaderId) THEN
69: --
70: IF (l_debug <> -1) THEN
71: rlm_core_sv.dlog(k_DEBUG,'RLM_LOCK_NOT_OBTAINED');
72: END IF;
73: --
74: RAISE e_lines_locked;
75: --
79: --
80:
81: IF (l_debug <> -1) THEN
82: --
83: rlm_core_sv.dlog(k_DEBUG,'customer_id' ,v_subgroup_rec.customer_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
80:
81: IF (l_debug <> -1) THEN
82: --
83: rlm_core_sv.dlog(k_DEBUG,'customer_id' ,v_subgroup_rec.customer_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
81: IF (l_debug <> -1) THEN
82: --
83: rlm_core_sv.dlog(k_DEBUG,'customer_id' ,v_subgroup_rec.customer_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
82: --
83: rlm_core_sv.dlog(k_DEBUG,'customer_id' ,v_subgroup_rec.customer_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
83: rlm_core_sv.dlog(k_DEBUG,'customer_id' ,v_subgroup_rec.customer_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
84: rlm_core_sv.dlog(k_DEBUG,'ship_to_customer_id',v_subgroup_rec.ship_to_customer_id);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
92: rlm_core_sv.dlog(k_DEBUG,'industry_attribute15' ,v_subgroup_rec.industry_attribute15);
85: rlm_core_sv.dlog(k_DEBUG,'ship_from_org_id' ,v_subgroup_rec.ship_from_org_id);
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
92: rlm_core_sv.dlog(k_DEBUG,'industry_attribute15' ,v_subgroup_rec.industry_attribute15);
93: --
86: rlm_core_sv.dlog(k_DEBUG,'ship_to_org_id' ,v_subgroup_rec.ship_to_address_id);
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
92: rlm_core_sv.dlog(k_DEBUG,'industry_attribute15' ,v_subgroup_rec.industry_attribute15);
93: --
94: END IF;
87: rlm_core_sv.dlog(k_DEBUG,'ship_to_site_use_id' ,v_subgroup_rec.ship_to_site_use_id);
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
92: rlm_core_sv.dlog(k_DEBUG,'industry_attribute15' ,v_subgroup_rec.industry_attribute15);
93: --
94: END IF;
95:
88: rlm_core_sv.dlog(k_DEBUG,'bill_to_address_id' ,v_subgroup_rec.bill_to_address_id);
89: rlm_core_sv.dlog(k_DEBUG,'bill_to_site_use_id' ,v_subgroup_rec.bill_to_site_use_id);
90: rlm_core_sv.dlog(k_DEBUG,'customer_item_id' ,v_subgroup_rec.customer_item_id);
91: rlm_core_sv.dlog(k_DEBUG,'inventory_item_id' ,v_subgroup_rec.inventory_item_id);
92: rlm_core_sv.dlog(k_DEBUG,'industry_attribute15' ,v_subgroup_rec.industry_attribute15);
93: --
94: END IF;
95:
96: RLM_TPA_SV.ManageGroupForecast(x_sched_rec,
112: CLOSE v_SubGroup_ref;
113:
114: IF (l_debug <> -1) THEN
115: --
116: rlm_core_sv.dlog(k_DEBUG,'before mrp_forecast_interface_pk api');
117: --
118: END IF;
119:
120: IF mrp_forecast_interface_pk.mrp_forecast_interface(t_forecast,
120: IF mrp_forecast_interface_pk.mrp_forecast_interface(t_forecast,
121: t_designator) THEN
122: IF (l_debug <> -1) THEN
123: --
124: rlm_core_sv.dlog(k_DEBUG,'after mrp_forecast_interface_pk.
125: mrp_forecast_interface api');
126: --
127: END IF;
128:
129: FOR v_counter IN 1..t_designator.COUNT LOOP
130:
131: IF (l_debug <> -1) THEN
132: --
133: rlm_core_sv.dlog(k_DEBUG,'Inserted new forecast for ', t_designator(v_counter).forecast_designator);
134: --
135: END IF;
136: END LOOP;
137: --
142: --
143: x_progress :='070';
144: --
145: IF (l_debug <> -1) THEN
146: rlm_core_sv.dlog(k_DEBUG,'MRP Forecast API Failed ');
147: END IF;
148: --
149:
150: FOR v_counter IN 1..t_designator.COUNT LOOP
169: x_InterfaceLineId => v_InterfaceLineId,
170: x_ScheduleHeaderId => x_sched_rec.schedule_header_id,
171: x_ScheduleLineId => NULL,
172: x_Token1 => 'GROUP',
173: x_value1 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
174: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
175: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
176: x_Token2 => 'FORECAST_DESIGNATOR',
177: x_value2 => v_designator);
170: x_ScheduleHeaderId => x_sched_rec.schedule_header_id,
171: x_ScheduleLineId => NULL,
172: x_Token1 => 'GROUP',
173: x_value1 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
174: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
175: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
176: x_Token2 => 'FORECAST_DESIGNATOR',
177: x_value2 => v_designator);
178: --
171: x_ScheduleLineId => NULL,
172: x_Token1 => 'GROUP',
173: x_value1 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
174: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
175: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
176: x_Token2 => 'FORECAST_DESIGNATOR',
177: x_value2 => v_designator);
178: --
179: RAISE e_group_error;
182: --
183: t_forecast.DELETE;
184: t_designator.DELETE;
185: --
186: --x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
187: --
188: IF (l_debug <> -1) THEN
189: rlm_core_sv.dpop(k_SDEBUG);
190: END IF;
185: --
186: --x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
187: --
188: IF (l_debug <> -1) THEN
189: rlm_core_sv.dpop(k_SDEBUG);
190: END IF;
191: --
192: EXCEPTION
193: --
194: WHEN e_Group_Error THEN
195: --
196: t_forecast.DELETE;
197: t_designator.DELETE;
198: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
199: --
200: IF (l_debug <> -1) THEN
201: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
202: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
197: t_designator.DELETE;
198: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
199: --
200: IF (l_debug <> -1) THEN
201: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
202: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
203: END IF;
204: --
205: WHEN e_lines_locked THEN
198: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
199: --
200: IF (l_debug <> -1) THEN
201: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
202: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
203: END IF;
204: --
205: WHEN e_lines_locked THEN
206: --
205: WHEN e_lines_locked THEN
206: --
207: t_forecast.DELETE;
208: t_designator.DELETE;
209: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
210: --
211: SELECT line_id
212: INTO v_InterfaceLineId
213: FROM rlm_interface_lines
227: x_Token1 => 'SCHED_REF',
228: x_value1 => x_sched_rec.schedule_reference_num);
229: --
230: IF (l_debug <> -1) THEN
231: rlm_core_sv.dpop(k_DEBUG,'lines are locked');
232: END IF;
233: --
234: WHEN NO_DATA_FOUND THEN
235: --
234: WHEN NO_DATA_FOUND THEN
235: --
236: t_forecast.DELETE;
237: t_designator.DELETE;
238: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
239: --
240: IF (l_debug <> -1) THEN
241: rlm_core_sv.dlog(k_DEBUG,'No data found in Interface headers for headerId',
242: x_InterfaceHeaderId);
237: t_designator.DELETE;
238: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
239: --
240: IF (l_debug <> -1) THEN
241: rlm_core_sv.dlog(k_DEBUG,'No data found in Interface headers for headerId',
242: x_InterfaceHeaderId);
243: rlm_core_sv.dpop(k_SDEBUG);
244: END IF;
245: --
239: --
240: IF (l_debug <> -1) THEN
241: rlm_core_sv.dlog(k_DEBUG,'No data found in Interface headers for headerId',
242: x_InterfaceHeaderId);
243: rlm_core_sv.dpop(k_SDEBUG);
244: END IF;
245: --
246: WHEN e_no_forecast THEN
247: --
245: --
246: WHEN e_no_forecast THEN
247: --
248: IF (l_debug <> -1) THEN
249: rlm_core_sv.dpop(k_SDEBUG,'ManageForecast: e_no_forecast');
250: END IF;
251: --
252: WHEN OTHERS THEN
253: --
252: WHEN OTHERS THEN
253: --
254: t_forecast.DELETE;
255: t_designator.DELETE;
256: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
257: --
258: rlm_message_sv.sql_error('rlm_forecast_sv.ManageForecast',x_progress);
259: --
260: IF (l_debug <> -1) THEN
257: --
258: rlm_message_sv.sql_error('rlm_forecast_sv.ManageForecast',x_progress);
259: --
260: IF (l_debug <> -1) THEN
261: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
262: END IF;
263: --
264: END ManageForecast;
265:
284: --
285: BEGIN
286: --
287: IF (l_debug <> -1) THEN
288: rlm_core_sv.dpush(k_SDEBUG,'ManageGroupForecast');
289: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
290: x_Group_rec.customer_id);
291: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
292: x_Group_rec.ship_from_org_id);
285: BEGIN
286: --
287: IF (l_debug <> -1) THEN
288: rlm_core_sv.dpush(k_SDEBUG,'ManageGroupForecast');
289: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
290: x_Group_rec.customer_id);
291: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
292: x_Group_rec.ship_from_org_id);
293: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
287: IF (l_debug <> -1) THEN
288: rlm_core_sv.dpush(k_SDEBUG,'ManageGroupForecast');
289: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
290: x_Group_rec.customer_id);
291: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
292: x_Group_rec.ship_from_org_id);
293: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
294: x_Group_rec.ship_to_site_use_id);
295: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
289: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
290: x_Group_rec.customer_id);
291: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
292: x_Group_rec.ship_from_org_id);
293: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
294: x_Group_rec.ship_to_site_use_id);
295: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
296: x_Group_rec.bill_to_site_use_id);
297: END IF;
291: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
292: x_Group_rec.ship_from_org_id);
293: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
294: x_Group_rec.ship_to_site_use_id);
295: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
296: x_Group_rec.bill_to_site_use_id);
297: END IF;
298: --
299: RLM_TPA_SV.GetDesignator(x_sched_rec,
309: -- Validate the forecast designator as it is not done in
310: -- validate demand
311: --
312: IF (l_debug <> -1) THEN
313: rlm_core_sv.dlog(k_DEBUG,'forecast designator',v_forecast_designator);
314: rlm_core_sv.dlog(k_DEBUG,'x_Sched_rec.schedule_purpose',
315: x_Sched_rec.schedule_purpose);
316: END IF;
317: --
310: -- validate demand
311: --
312: IF (l_debug <> -1) THEN
313: rlm_core_sv.dlog(k_DEBUG,'forecast designator',v_forecast_designator);
314: rlm_core_sv.dlog(k_DEBUG,'x_Sched_rec.schedule_purpose',
315: x_Sched_rec.schedule_purpose);
316: END IF;
317: --
318: --
320: --
321: IF v_forecast_designator IS NULL THEN
322: --
323: IF (l_debug <> -1) THEN
324: rlm_core_sv.dlog(k_DEBUG, 'Null Forecast Designator, raising group error');
325: END IF;
326: --
327: SELECT line_id
328: INTO v_InterfaceLineId
340: x_InterfaceLineId => v_InterfaceLineId,
341: x_ScheduleHeaderId => x_Sched_rec.schedule_header_id,
342: x_ScheduleLineId => NULL,
343: x_Token1=>'CUST',
344: x_Value1=> rlm_core_sv.get_customer_name(x_Sched_rec.customer_id));
345: --
346: RAISE e_Group_Error;
347: --
348: END IF;
349: --
350: IF x_Sched_rec.schedule_purpose = k_ADD THEN
351: --
352: IF (l_debug <> -1) THEN
353: rlm_core_sv.dlog(k_DEBUG,'No Lines in t_designator as schedule purpose = ADD');
354: END IF;
355: --
356: ELSIF x_Sched_rec.schedule_purpose IN (k_CANCEL,
357: k_DELETE,
367: x_designator(x_designator.COUNT).inventory_item_id :=
368: x_Group_rec.inventory_item_id;
369: --
370: IF (l_debug <> -1) THEN
371: rlm_core_sv.dlog(k_DEBUG,'x_designator.forecast_designator',
372: x_designator(x_designator.COUNT).forecast_designator);
373: rlm_core_sv.dlog(k_DEBUG,'x_designator.organization_id',
374: x_designator(x_designator.COUNT).organization_id);
375: rlm_core_sv.dlog(k_DEBUG,'x_designator.inventory_item_id',
369: --
370: IF (l_debug <> -1) THEN
371: rlm_core_sv.dlog(k_DEBUG,'x_designator.forecast_designator',
372: x_designator(x_designator.COUNT).forecast_designator);
373: rlm_core_sv.dlog(k_DEBUG,'x_designator.organization_id',
374: x_designator(x_designator.COUNT).organization_id);
375: rlm_core_sv.dlog(k_DEBUG,'x_designator.inventory_item_id',
376: x_designator(x_designator.COUNT).inventory_item_id);
377: END IF;
371: rlm_core_sv.dlog(k_DEBUG,'x_designator.forecast_designator',
372: x_designator(x_designator.COUNT).forecast_designator);
373: rlm_core_sv.dlog(k_DEBUG,'x_designator.organization_id',
374: x_designator(x_designator.COUNT).organization_id);
375: rlm_core_sv.dlog(k_DEBUG,'x_designator.inventory_item_id',
376: x_designator(x_designator.COUNT).inventory_item_id);
377: END IF;
378: --
379: END IF;
386: v_forecast_designator);
387: --
388: END IF;
389: --
390: x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
391: --
392: IF (l_debug <> -1) THEN
393: rlm_core_sv.dpop(k_DEBUG);
394: END IF;
389: --
390: x_ReturnStatus := rlm_core_sv.k_PROC_SUCCESS;
391: --
392: IF (l_debug <> -1) THEN
393: rlm_core_sv.dpop(k_DEBUG);
394: END IF;
395: --
396: EXCEPTION
397: WHEN e_Group_Error THEN
395: --
396: EXCEPTION
397: WHEN e_Group_Error THEN
398: --
399: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
400: --
401: IF (l_debug <> -1) THEN
402: rlm_core_sv.dlog(k_DEBUG,'ManageGroupForecast : progress',x_Progress);
403: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
398: --
399: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
400: --
401: IF (l_debug <> -1) THEN
402: rlm_core_sv.dlog(k_DEBUG,'ManageGroupForecast : progress',x_Progress);
403: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
404: END IF;
405: --
406: RAISE;
399: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
400: --
401: IF (l_debug <> -1) THEN
402: rlm_core_sv.dlog(k_DEBUG,'ManageGroupForecast : progress',x_Progress);
403: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
404: END IF;
405: --
406: RAISE;
407: --
406: RAISE;
407: --
408: WHEN OTHERS THEN
409: --
410: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
411: rlm_message_sv.sql_error('rlm_forecast_sv.ManageForecast',x_progress);
412: --
413: IF (l_debug <> -1) THEN
414: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
410: x_ReturnStatus := rlm_core_sv.k_PROC_ERROR;
411: rlm_message_sv.sql_error('rlm_forecast_sv.ManageForecast',x_progress);
412: --
413: IF (l_debug <> -1) THEN
414: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
415: END IF;
416: --
417: raise;
418: --
431:
432: BEGIN
433: --
434: IF (l_debug <> -1) THEN
435: rlm_core_sv.dpush(k_SDEBUG,'InitializeGroup');
436: END IF;
437: --
438: OPEN x_Group_ref FOR
439: SELECT rih.customer_id,
453: AND ril.industry_attribute15 = x_Group_rec.ship_from_org_id
454: AND ril.item_detail_type = k_MRP_FORECAST
455: AND ril.inventory_item_id = x_Group_rec.inventory_item_id
456: AND ril.ship_to_address_id = x_Group_rec.ship_to_address_id
457: AND ril.process_status = rlm_core_sv.k_PS_AVAILABLE
458: AND rih.org_id = ril.org_id
459: GROUP BY rih.customer_id,
460: ril.ship_from_org_id,
461: ril.ship_to_address_id,
471: ril.bill_to_site_use_id,
472: ril.customer_item_id;
473: --
474: IF (l_debug <> -1) THEN
475: rlm_core_sv.dpop(k_SDEBUG);
476: END IF;
477: --
478: EXCEPTION
479: WHEN OTHERS THEN
479: WHEN OTHERS THEN
480: rlm_message_sv.sql_error('RLM_FORECAST_SV.InitializeGroup',x_progress);
481: --
482: IF (l_debug <> -1) THEN
483: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
484: END IF;
485: --
486: raise e_group_error;
487:
500: x_progress VARCHAR2(3) := '010';
501: BEGIN
502: --
503: IF (l_debug <> -1) THEN
504: rlm_core_sv.dpush(k_SDEBUG,'FetchGroup');
505: END IF;
506: --
507: FETCH x_Group_ref INTO
508: x_Group_rec.customer_id,
518: --
519: IF x_Group_ref%NOTFOUND THEN
520: --
521: IF (l_debug <> -1) THEN
522: rlm_core_sv.dpop(k_SDEBUG, 'false');
523: END IF;
524: --
525: RETURN(FALSE);
526: --
526: --
527: ELSE
528: --
529: IF (l_debug <> -1) THEN
530: rlm_core_sv.dpop(k_SDEBUG, 'true');
531: END IF;
532: --
533: RETURN(TRUE);
534: --
538: WHEN OTHERS THEN
539: rlm_message_sv.sql_error('rlm_forecast_sv.FetchGroup',x_progress);
540: --
541: IF (l_debug <> -1) THEN
542: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
543: END IF;
544: --
545: raise;
546:
559: CURSOR c IS
560: SELECT *
561: FROM rlm_interface_headers
562: WHERE header_id = x_header_id
563: AND process_status = rlm_core_sv.k_PS_AVAILABLE
564: FOR UPDATE NOWAIT;
565:
566: BEGIN
567: --
565:
566: BEGIN
567: --
568: IF (l_debug <> -1) THEN
569: rlm_core_sv.dpush(k_SDEBUG,'LockHeaders');
570: rlm_core_sv.dlog(k_DEBUG,'Locking RLM_INTERFACE_HEADERS');
571: END IF;
572: --
573: OPEN c;
566: BEGIN
567: --
568: IF (l_debug <> -1) THEN
569: rlm_core_sv.dpush(k_SDEBUG,'LockHeaders');
570: rlm_core_sv.dlog(k_DEBUG,'Locking RLM_INTERFACE_HEADERS');
571: END IF;
572: --
573: OPEN c;
574: --
574: --
575: CLOSE c;
576: --
577: IF (l_debug <> -1) THEN
578: rlm_core_sv.dlog(k_DEBUG,'Returning True ');
579: rlm_core_sv.dpop(k_SDEBUG);
580: END IF;
581: --
582: RETURN TRUE;
575: CLOSE c;
576: --
577: IF (l_debug <> -1) THEN
578: rlm_core_sv.dlog(k_DEBUG,'Returning True ');
579: rlm_core_sv.dpop(k_SDEBUG);
580: END IF;
581: --
582: RETURN TRUE;
583: --
584: EXCEPTION
585: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
586: --
587: IF (l_debug <> -1) THEN
588: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
589: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
590: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
591: END IF;
592: --
585: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
586: --
587: IF (l_debug <> -1) THEN
588: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
589: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
590: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
591: END IF;
592: --
593: RETURN FALSE;
586: --
587: IF (l_debug <> -1) THEN
588: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
589: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
590: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
591: END IF;
592: --
593: RETURN FALSE;
594:
595: WHEN OTHERS THEN
596: rlm_message_sv.sql_error('rlm_forecast_sv.LockHeaders',x_progress);
597: --
598: IF (l_debug <> -1) THEN
599: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE from WHEN OTHERS ');
600: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
601: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
602: END IF;
603: --
596: rlm_message_sv.sql_error('rlm_forecast_sv.LockHeaders',x_progress);
597: --
598: IF (l_debug <> -1) THEN
599: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE from WHEN OTHERS ');
600: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
601: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
602: END IF;
603: --
604: RETURN FALSE;
597: --
598: IF (l_debug <> -1) THEN
599: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE from WHEN OTHERS ');
600: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
601: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
602: END IF;
603: --
604: RETURN FALSE;
605:
618:
619: BEGIN
620: --
621: IF (l_debug <> -1) THEN
622: rlm_core_sv.dpush(k_SDEBUG,'UpdateHeaderStatus');
623: rlm_core_sv.dlog(k_DEBUG,'UpdateHeaderStatus to ', x_status);
624: END IF;
625: --
626: UPDATE rlm_interface_headers
619: BEGIN
620: --
621: IF (l_debug <> -1) THEN
622: rlm_core_sv.dpush(k_SDEBUG,'UpdateHeaderStatus');
623: rlm_core_sv.dlog(k_DEBUG,'UpdateHeaderStatus to ', x_status);
624: END IF;
625: --
626: UPDATE rlm_interface_headers
627: SET process_status = x_Status
631: SET process_status = x_Status
632: WHERE header_id = x_ScheduleHeaderId;
633: --
634: IF (l_debug <> -1) THEN
635: rlm_core_sv.dpop(k_SDEBUG);
636: END IF;
637: --
638: EXCEPTION
639: --
641: --
642: rlm_message_sv.sql_error('rlm_forecast_sv.UpdateHeaderStatus',x_progress);
643: --
644: IF (l_debug <> -1) THEN
645: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
646: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
647: END IF;
648: --
649: RAISE ;
642: rlm_message_sv.sql_error('rlm_forecast_sv.UpdateHeaderStatus',x_progress);
643: --
644: IF (l_debug <> -1) THEN
645: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
646: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
647: END IF;
648: --
649: RAISE ;
650: --
669: AND ship_to_site_use_id = x_Group_rec.ship_to_site_use_id
670: AND bill_to_site_use_id = x_Group_rec.bill_to_site_use_id
671: AND customer_item_id = x_Group_rec.customer_item_id
672: AND inventory_item_id = x_Group_rec.inventory_item_id
673: AND process_status = rlm_core_sv.k_PS_AVAILABLE
674: FOR UPDATE NOWAIT;
675:
676: BEGIN
677: --
675:
676: BEGIN
677: --
678: IF (l_debug <> -1) THEN
679: rlm_core_sv.dpush(k_SDEBUG,'LockLines');
680: rlm_core_sv.dlog(k_DEBUG,'Locking RLM_INTERFACE_LINES');
681: END IF;
682: --
683: OPEN c;
676: BEGIN
677: --
678: IF (l_debug <> -1) THEN
679: rlm_core_sv.dpush(k_SDEBUG,'LockLines');
680: rlm_core_sv.dlog(k_DEBUG,'Locking RLM_INTERFACE_LINES');
681: END IF;
682: --
683: OPEN c;
684: --
684: --
685: CLOSE c;
686: --
687: IF (l_debug <> -1) THEN
688: rlm_core_sv.dlog(k_DEBUG,'Returning True ');
689: rlm_core_sv.dpop(k_SDEBUG);
690: END IF;
691: --
692: RETURN TRUE;
685: CLOSE c;
686: --
687: IF (l_debug <> -1) THEN
688: rlm_core_sv.dlog(k_DEBUG,'Returning True ');
689: rlm_core_sv.dpop(k_SDEBUG);
690: END IF;
691: --
692: RETURN TRUE;
693: --
694: EXCEPTION
695: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
696: --
697: IF (l_debug <> -1) THEN
698: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
699: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
700: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
701: END IF;
702: --
695: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
696: --
697: IF (l_debug <> -1) THEN
698: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
699: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
700: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
701: END IF;
702: --
703: RETURN FALSE;
696: --
697: IF (l_debug <> -1) THEN
698: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE');
699: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
700: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
701: END IF;
702: --
703: RETURN FALSE;
704:
705: WHEN OTHERS THEN
706: rlm_message_sv.sql_error('rlm_forecast_sv.LockLines',x_progress);
707: --
708: IF (l_debug <> -1) THEN
709: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE OTHERS ');
710: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
711: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
712: END IF;
713: --
706: rlm_message_sv.sql_error('rlm_forecast_sv.LockLines',x_progress);
707: --
708: IF (l_debug <> -1) THEN
709: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE OTHERS ');
710: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
711: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
712: END IF;
713: --
714: RETURN FALSE;
707: --
708: IF (l_debug <> -1) THEN
709: rlm_core_sv.dlog(k_DEBUG,'Returning FALSE OTHERS ');
710: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
711: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
712: END IF;
713: --
714: RETURN FALSE;
715:
729:
730: BEGIN
731: --
732: IF (l_debug <> -1) THEN
733: rlm_core_sv.dpush(k_SDEBUG,'UpdateGroupStatus');
734: rlm_core_sv.dlog(k_DEBUG,'UpdateGroupStatus to ', x_status);
735: rlm_core_sv.dlog(k_DEBUG,'x_header_id ', x_header_id);
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
730: BEGIN
731: --
732: IF (l_debug <> -1) THEN
733: rlm_core_sv.dpush(k_SDEBUG,'UpdateGroupStatus');
734: rlm_core_sv.dlog(k_DEBUG,'UpdateGroupStatus to ', x_status);
735: rlm_core_sv.dlog(k_DEBUG,'x_header_id ', x_header_id);
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
731: --
732: IF (l_debug <> -1) THEN
733: rlm_core_sv.dpush(k_SDEBUG,'UpdateGroupStatus');
734: rlm_core_sv.dlog(k_DEBUG,'UpdateGroupStatus to ', x_status);
735: rlm_core_sv.dlog(k_DEBUG,'x_header_id ', x_header_id);
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
739: x_Group_rec.ship_to_site_use_id);
732: IF (l_debug <> -1) THEN
733: rlm_core_sv.dpush(k_SDEBUG,'UpdateGroupStatus');
734: rlm_core_sv.dlog(k_DEBUG,'UpdateGroupStatus to ', x_status);
735: rlm_core_sv.dlog(k_DEBUG,'x_header_id ', x_header_id);
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
739: x_Group_rec.ship_to_site_use_id);
740: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id ',
734: rlm_core_sv.dlog(k_DEBUG,'UpdateGroupStatus to ', x_status);
735: rlm_core_sv.dlog(k_DEBUG,'x_header_id ', x_header_id);
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
739: x_Group_rec.ship_to_site_use_id);
740: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id ',
741: x_Group_rec.bill_to_site_use_id);
742: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_item_id ',
736: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id ',
737: x_Group_rec.ship_from_org_id);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
739: x_Group_rec.ship_to_site_use_id);
740: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id ',
741: x_Group_rec.bill_to_site_use_id);
742: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_item_id ',
743: x_Group_rec.customer_item_id);
744: rlm_core_sv.dlog(k_DEBUG,'x_ScheduleHeaderId ', x_ScheduleHeaderId);
738: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id ',
739: x_Group_rec.ship_to_site_use_id);
740: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id ',
741: x_Group_rec.bill_to_site_use_id);
742: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_item_id ',
743: x_Group_rec.customer_item_id);
744: rlm_core_sv.dlog(k_DEBUG,'x_ScheduleHeaderId ', x_ScheduleHeaderId);
745: rlm_core_sv.dlog(k_DEBUG,'x_UpdateLevel to ', x_UpdateLevel);
746: END IF;
740: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id ',
741: x_Group_rec.bill_to_site_use_id);
742: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_item_id ',
743: x_Group_rec.customer_item_id);
744: rlm_core_sv.dlog(k_DEBUG,'x_ScheduleHeaderId ', x_ScheduleHeaderId);
745: rlm_core_sv.dlog(k_DEBUG,'x_UpdateLevel to ', x_UpdateLevel);
746: END IF;
747: --
748: IF x_UpdateLevel <> 'GROUP' THEN
741: x_Group_rec.bill_to_site_use_id);
742: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_item_id ',
743: x_Group_rec.customer_item_id);
744: rlm_core_sv.dlog(k_DEBUG,'x_ScheduleHeaderId ', x_ScheduleHeaderId);
745: rlm_core_sv.dlog(k_DEBUG,'x_UpdateLevel to ', x_UpdateLevel);
746: END IF;
747: --
748: IF x_UpdateLevel <> 'GROUP' THEN
749: --
749: --
750: UPDATE rlm_interface_lines
751: SET process_status = x_Status
752: WHERE header_id = x_header_id
753: AND process_status = rlm_core_sv.k_PS_AVAILABLE
754: AND Item_detail_type = k_MRP_FORECAST;
755: --
756: UPDATE rlm_schedule_lines
757: SET process_status = x_Status
755: --
756: UPDATE rlm_schedule_lines
757: SET process_status = x_Status
758: WHERE header_id = x_ScheduleHeaderid
759: AND process_status in (rlm_core_sv.k_PS_AVAILABLE,
760: rlm_core_sv.k_PS_ERROR)
761: AND item_detail_type = k_MRP_FORECAST;
762: --
763: ELSE
756: UPDATE rlm_schedule_lines
757: SET process_status = x_Status
758: WHERE header_id = x_ScheduleHeaderid
759: AND process_status in (rlm_core_sv.k_PS_AVAILABLE,
760: rlm_core_sv.k_PS_ERROR)
761: AND item_detail_type = k_MRP_FORECAST;
762: --
763: ELSE
764: --
770: = nvl(x_Group_rec.ship_to_site_use_id,k_NNULL)
771: AND nvl(bill_to_site_use_id,k_NNULL)
772: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
773: AND inventory_item_id = x_Group_rec.inventory_item_id
774: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
775: rlm_core_sv.k_PS_ERROR)
776: AND line_id IN ( select schedule_line_id
777: from rlm_interface_lines
778: WHERE header_id = x_header_id
771: AND nvl(bill_to_site_use_id,k_NNULL)
772: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
773: AND inventory_item_id = x_Group_rec.inventory_item_id
774: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
775: rlm_core_sv.k_PS_ERROR)
776: AND line_id IN ( select schedule_line_id
777: from rlm_interface_lines
778: WHERE header_id = x_header_id
779: AND ship_from_org_id = x_Group_rec.ship_from_org_id
781: = nvl(x_Group_rec.ship_to_site_use_id,k_NNULL)
782: AND nvl(bill_to_site_use_id,k_NNULL)
783: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
784: AND inventory_item_id = x_Group_rec.inventory_item_id
785: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
786: rlm_core_sv.k_PS_ERROR)
787: AND item_detail_type = k_MRP_FORECAST);
788: --
789: IF (l_debug <> -1) THEN
782: AND nvl(bill_to_site_use_id,k_NNULL)
783: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
784: AND inventory_item_id = x_Group_rec.inventory_item_id
785: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
786: rlm_core_sv.k_PS_ERROR)
787: AND item_detail_type = k_MRP_FORECAST);
788: --
789: IF (l_debug <> -1) THEN
790: rlm_core_sv.dlog(k_DEBUG,'No of Schedule Lines Updated ', SQL%ROWCOUNT);
786: rlm_core_sv.k_PS_ERROR)
787: AND item_detail_type = k_MRP_FORECAST);
788: --
789: IF (l_debug <> -1) THEN
790: rlm_core_sv.dlog(k_DEBUG,'No of Schedule Lines Updated ', SQL%ROWCOUNT);
791: END IF;
792: --
793: UPDATE rlm_interface_lines
794: SET process_status = x_Status
798: = nvl(x_Group_rec.ship_to_site_use_id,k_NNULL)
799: AND nvl(bill_to_site_use_id,k_NNULL)
800: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
801: AND inventory_item_id = x_Group_rec.inventory_item_id
802: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
803: rlm_core_sv.k_PS_ERROR)
804: AND item_detail_type = k_MRP_FORECAST;
805: --
806: IF (l_debug <> -1) THEN
799: AND nvl(bill_to_site_use_id,k_NNULL)
800: = nvl(x_Group_rec.bill_to_site_use_id,k_NNULL)
801: AND inventory_item_id = x_Group_rec.inventory_item_id
802: AND process_status IN (rlm_core_sv.k_PS_AVAILABLE,
803: rlm_core_sv.k_PS_ERROR)
804: AND item_detail_type = k_MRP_FORECAST;
805: --
806: IF (l_debug <> -1) THEN
807: rlm_core_sv.dlog(k_DEBUG,'No of interface Lines Updated ', SQL%ROWCOUNT);
803: rlm_core_sv.k_PS_ERROR)
804: AND item_detail_type = k_MRP_FORECAST;
805: --
806: IF (l_debug <> -1) THEN
807: rlm_core_sv.dlog(k_DEBUG,'No of interface Lines Updated ', SQL%ROWCOUNT);
808: END IF;
809: --
810: END IF;
811: --
809: --
810: END IF;
811: --
812: IF (l_debug <> -1) THEN
813: rlm_core_sv.dpop(k_SDEBUG);
814: END IF;
815: --
816: EXCEPTION
817: --
819: --
820: rlm_message_sv.sql_error('rlm_forecast_sv.UpdateGroupStatus',x_progress);
821: --
822: IF (l_debug <> -1) THEN
823: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
824: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
825: END IF;
826: --
827: RAISE ;
820: rlm_message_sv.sql_error('rlm_forecast_sv.UpdateGroupStatus',x_progress);
821: --
822: IF (l_debug <> -1) THEN
823: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
824: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHER - sql error');
825: END IF;
826: --
827: RAISE ;
828: --
842: --
843: BEGIN
844: --
845: IF (l_debug <> -1) THEN
846: rlm_core_sv.dpush(k_SDEBUG,'initialize_table');
847: END IF;
848: --
849: t_forecast.DELETE;
850: --
848: --
849: t_forecast.DELETE;
850: --
851: IF (l_debug <> -1) THEN
852: rlm_core_sv.dpop(k_SDEBUG);
853: END IF;
854: --
855: EXCEPTION
856: WHEN OTHERS THEN
856: WHEN OTHERS THEN
857: rlm_message_sv.sql_error ('RLM_forecast_sv.initialize_table', x_progress);
858: --
859: IF (l_debug <> -1) THEN
860: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHERS - sql error');
861: END IF;
862: --
863: raise;
864:
912: AND ril.bill_to_site_use_id IS NULL
913: AND ril.inventory_item_id = x_Group_rec.inventory_item_id
914: AND ril.customer_item_id = x_Group_rec.customer_item_id
915: AND ril.item_detail_type = k_MRP_FORECAST
916: AND ril.process_status = rlm_core_sv.k_PS_AVAILABLE
917: AND ril.request_date is NOT NULL --bug 2882311
918: AND ril.primary_quantity <> 0
919: --bug 1786492
920:
950: = nvl(x_Group_rec.ship_to_site_use_id,k_NNULL)
951: AND ril.bill_to_site_use_id IS NULL
952: AND ril.inventory_item_id = x_Group_rec.inventory_item_id
953: AND ril.item_detail_type = k_MRP_FORECAST
954: AND ril.process_status = rlm_core_sv.k_PS_PROCESSED
955: AND ril.primary_quantity <> 0;
956:
957:
958: CURSOR C_bill IS
987: AND bill_to_site_use_id = x_Group_rec.bill_to_site_use_id
988: AND ril.inventory_item_id = x_Group_rec.inventory_item_id
989: AND ril.customer_item_id = x_Group_rec.customer_item_id
990: AND ril.item_detail_type = k_MRP_FORECAST
991: AND ril.process_status = rlm_core_sv.k_PS_AVAILABLE
992: AND ril.request_date is NOT NULL --bug 2882311
993: AND ril.primary_quantity <> 0
994: --bug 1786492
995:
1025: = nvl(x_Group_rec.ship_to_site_use_id,k_NNULL)
1026: AND bill_to_site_use_id = x_Group_rec.bill_to_site_use_id
1027: AND ril.inventory_item_id = x_Group_rec.inventory_item_id
1028: AND ril.item_detail_type = k_MRP_FORECAST
1029: AND ril.process_status = rlm_core_sv.k_PS_PROCESSED
1030: AND ril.primary_quantity <> 0;
1031:
1032: --
1033: Recinfo C%ROWTYPE;
1038: --
1039: BEGIN
1040: --
1041: IF (l_debug <> -1) THEN
1042: rlm_core_sv.dpush(k_SDEBUG,'LoadForecast');
1043: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
1044: x_Group_rec.ship_from_org_id);
1045: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
1046: x_Group_rec.bill_to_site_use_id);
1039: BEGIN
1040: --
1041: IF (l_debug <> -1) THEN
1042: rlm_core_sv.dpush(k_SDEBUG,'LoadForecast');
1043: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
1044: x_Group_rec.ship_from_org_id);
1045: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
1046: x_Group_rec.bill_to_site_use_id);
1047: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
1041: IF (l_debug <> -1) THEN
1042: rlm_core_sv.dpush(k_SDEBUG,'LoadForecast');
1043: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
1044: x_Group_rec.ship_from_org_id);
1045: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
1046: x_Group_rec.bill_to_site_use_id);
1047: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
1048: x_Group_rec.ship_to_site_use_id);
1049: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
1043: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_from_org_id',
1044: x_Group_rec.ship_from_org_id);
1045: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
1046: x_Group_rec.bill_to_site_use_id);
1047: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
1048: x_Group_rec.ship_to_site_use_id);
1049: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
1050: x_Group_rec.customer_id);
1051: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.inventory_item_id',
1045: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.bill_to_site_use_id',
1046: x_Group_rec.bill_to_site_use_id);
1047: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
1048: x_Group_rec.ship_to_site_use_id);
1049: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
1050: x_Group_rec.customer_id);
1051: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.inventory_item_id',
1052: x_Group_rec.inventory_item_id);
1053: rlm_core_sv.dlog(k_DEBUG,'x_forecast_designator',
1047: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.ship_to_site_use_id',
1048: x_Group_rec.ship_to_site_use_id);
1049: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
1050: x_Group_rec.customer_id);
1051: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.inventory_item_id',
1052: x_Group_rec.inventory_item_id);
1053: rlm_core_sv.dlog(k_DEBUG,'x_forecast_designator',
1054: x_forecast_designator);
1055: rlm_core_sv.dlog(k_DEBUG,'k_MRP_FORECAST',
1049: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.customer_id',
1050: x_Group_rec.customer_id);
1051: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.inventory_item_id',
1052: x_Group_rec.inventory_item_id);
1053: rlm_core_sv.dlog(k_DEBUG,'x_forecast_designator',
1054: x_forecast_designator);
1055: rlm_core_sv.dlog(k_DEBUG,'k_MRP_FORECAST',
1056: k_MRP_FORECAST);
1057: rlm_core_sv.dlog(k_DEBUG,'rlm_core_sv.k_PS_AVAILABLE',
1051: rlm_core_sv.dlog(k_DEBUG,'x_Group_rec.inventory_item_id',
1052: x_Group_rec.inventory_item_id);
1053: rlm_core_sv.dlog(k_DEBUG,'x_forecast_designator',
1054: x_forecast_designator);
1055: rlm_core_sv.dlog(k_DEBUG,'k_MRP_FORECAST',
1056: k_MRP_FORECAST);
1057: rlm_core_sv.dlog(k_DEBUG,'rlm_core_sv.k_PS_AVAILABLE',
1058: rlm_core_sv.k_PS_AVAILABLE);
1059: END IF;
1053: rlm_core_sv.dlog(k_DEBUG,'x_forecast_designator',
1054: x_forecast_designator);
1055: rlm_core_sv.dlog(k_DEBUG,'k_MRP_FORECAST',
1056: k_MRP_FORECAST);
1057: rlm_core_sv.dlog(k_DEBUG,'rlm_core_sv.k_PS_AVAILABLE',
1058: rlm_core_sv.k_PS_AVAILABLE);
1059: END IF;
1060: --
1061: /*==============================================================================
1054: x_forecast_designator);
1055: rlm_core_sv.dlog(k_DEBUG,'k_MRP_FORECAST',
1056: k_MRP_FORECAST);
1057: rlm_core_sv.dlog(k_DEBUG,'rlm_core_sv.k_PS_AVAILABLE',
1058: rlm_core_sv.k_PS_AVAILABLE);
1059: END IF;
1060: --
1061: /*==============================================================================
1062: =======
1073: --
1074: IF (nvl(Recinfo.uom_code,'-99') <> nvl(Recinfo.primary_uom_code,'99')) THEN
1075: --
1076: IF (l_debug <> -1) THEN
1077: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1078: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1079: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1080: END IF;
1081: --
1074: IF (nvl(Recinfo.uom_code,'-99') <> nvl(Recinfo.primary_uom_code,'99')) THEN
1075: --
1076: IF (l_debug <> -1) THEN
1077: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1078: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1079: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1080: END IF;
1081: --
1082: Convert_UOM (Recinfo.uom_code,
1075: --
1076: IF (l_debug <> -1) THEN
1077: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1078: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1079: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1080: END IF;
1081: --
1082: Convert_UOM (Recinfo.uom_code,
1083: Recinfo.primary_uom_code,
1085: Recinfo.inventory_item_id,
1086: Recinfo.organization_id);
1087: --
1088: IF (l_debug <> -1) THEN
1089: rlm_core_sv.dlog(k_DEBUG,'After conversion: Recinfo.quantity',Recinfo.quantity);
1090: END IF;
1091: --
1092: END IF;
1093: --
1137: t_forecast(index_cnt).task_id :=NULL;
1138: t_forecast(index_cnt).line_id :=NULL;
1139: --
1140: IF (l_debug <> -1) THEN
1141: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1142: t_forecast(index_cnt).source_line_id);
1143: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1144: t_forecast(index_cnt).inventory_item_id);
1145: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1139: --
1140: IF (l_debug <> -1) THEN
1141: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1142: t_forecast(index_cnt).source_line_id);
1143: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1144: t_forecast(index_cnt).inventory_item_id);
1145: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1146: t_forecast(index_cnt).forecast_designator);
1147: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1141: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1142: t_forecast(index_cnt).source_line_id);
1143: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1144: t_forecast(index_cnt).inventory_item_id);
1145: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1146: t_forecast(index_cnt).forecast_designator);
1147: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1148: t_forecast(index_cnt).organization_id);
1149: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1143: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1144: t_forecast(index_cnt).inventory_item_id);
1145: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1146: t_forecast(index_cnt).forecast_designator);
1147: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1148: t_forecast(index_cnt).organization_id);
1149: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1150: t_forecast(index_cnt).forecast_date);
1151: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1145: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1146: t_forecast(index_cnt).forecast_designator);
1147: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1148: t_forecast(index_cnt).organization_id);
1149: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1150: t_forecast(index_cnt).forecast_date);
1151: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1152: t_forecast(index_cnt).quantity);
1153: END IF;
1147: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1148: t_forecast(index_cnt).organization_id);
1149: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1150: t_forecast(index_cnt).forecast_date);
1151: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1152: t_forecast(index_cnt).quantity);
1153: END IF;
1154: --
1155: END LOOP;
1163: --
1164: IF (nvl(Recinfo.uom_code,'-99') <> nvl(Recinfo.primary_uom_code,'99')) THEN
1165: --
1166: IF (l_debug <> -1) THEN
1167: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1168: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1169: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1170: END IF;
1171: --
1164: IF (nvl(Recinfo.uom_code,'-99') <> nvl(Recinfo.primary_uom_code,'99')) THEN
1165: --
1166: IF (l_debug <> -1) THEN
1167: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1168: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1169: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1170: END IF;
1171: --
1172: Convert_UOM (Recinfo.uom_code,
1165: --
1166: IF (l_debug <> -1) THEN
1167: rlm_core_sv.dlog(k_DEBUG,'Recinfo.uom_code',Recinfo.uom_code);
1168: rlm_core_sv.dlog(k_DEBUG,'Recinfo.primary_uom_code',Recinfo.primary_uom_code);
1169: rlm_core_sv.dlog(k_DEBUG,'Before conversion: Recinfo.quantity',Recinfo.quantity);
1170: END IF;
1171: --
1172: Convert_UOM (Recinfo.uom_code,
1173: Recinfo.primary_uom_code,
1175: Recinfo.inventory_item_id,
1176: Recinfo.organization_id);
1177: --
1178: IF (l_debug <> -1) THEN
1179: rlm_core_sv.dlog(k_DEBUG,'After conversion: Recinfo.quantity',Recinfo.quantity);
1180: END IF;
1181: --
1182: END IF;
1183: --
1227: t_forecast(index_cnt).task_id :=NULL;
1228: t_forecast(index_cnt).line_id :=NULL;
1229: --
1230: IF (l_debug <> -1) THEN
1231: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1232: t_forecast(index_cnt).source_line_id);
1233: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1234: t_forecast(index_cnt).inventory_item_id);
1235: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1229: --
1230: IF (l_debug <> -1) THEN
1231: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1232: t_forecast(index_cnt).source_line_id);
1233: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1234: t_forecast(index_cnt).inventory_item_id);
1235: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1236: t_forecast(index_cnt).forecast_designator);
1237: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1231: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').source_line_id',
1232: t_forecast(index_cnt).source_line_id);
1233: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1234: t_forecast(index_cnt).inventory_item_id);
1235: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1236: t_forecast(index_cnt).forecast_designator);
1237: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1238: t_forecast(index_cnt).organization_id);
1239: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1233: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').inventory_item_id',
1234: t_forecast(index_cnt).inventory_item_id);
1235: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1236: t_forecast(index_cnt).forecast_designator);
1237: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1238: t_forecast(index_cnt).organization_id);
1239: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1240: t_forecast(index_cnt).forecast_date);
1241: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1235: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_designator',
1236: t_forecast(index_cnt).forecast_designator);
1237: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1238: t_forecast(index_cnt).organization_id);
1239: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1240: t_forecast(index_cnt).forecast_date);
1241: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1242: t_forecast(index_cnt).quantity);
1243: END IF;
1237: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').organization_id',
1238: t_forecast(index_cnt).organization_id);
1239: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').forecast_date',
1240: t_forecast(index_cnt).forecast_date);
1241: rlm_core_sv.dlog(k_DEBUG,'t_forecast(' || index_cnt || ').quantity',
1242: t_forecast(index_cnt).quantity);
1243: END IF;
1244: --
1245: END LOOP;
1246: --
1247: END IF;
1248: --
1249: IF (l_debug <> -1) THEN
1250: rlm_core_sv.dlog(k_DEBUG,'COUNT',index_cnt);
1251: rlm_core_sv.dpop(k_SDEBUG);
1252: END IF;
1253: --
1254: EXCEPTION
1247: END IF;
1248: --
1249: IF (l_debug <> -1) THEN
1250: rlm_core_sv.dlog(k_DEBUG,'COUNT',index_cnt);
1251: rlm_core_sv.dpop(k_SDEBUG);
1252: END IF;
1253: --
1254: EXCEPTION
1255: /* Bug 4176961 : UOM conversion */
1255: /* Bug 4176961 : UOM conversion */
1256: WHEN e_Group_Error THEN
1257: --
1258: IF (l_debug <> -1) THEN
1259: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
1260: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
1261: END IF;
1262: --
1263: raise;
1256: WHEN e_Group_Error THEN
1257: --
1258: IF (l_debug <> -1) THEN
1259: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
1260: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
1261: END IF;
1262: --
1263: raise;
1264:
1265: WHEN OTHERS THEN
1266: rlm_message_sv.sql_error ('RLM_forecast_sv.LoadForecast', x_progress);
1267: --
1268: IF (l_debug <> -1) THEN
1269: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHERS - sql error');
1270: END IF;
1271: --
1272: raise;
1273:
1293: --
1294: BEGIN
1295: --
1296: IF (l_debug <> -1) THEN
1297: rlm_core_sv.dpush(k_SDEBUG,'process_table');
1298: END IF;
1299: --
1300: v_line_error := FALSE;
1301: --
1303: --
1304: x_Progress := '020';
1305: --
1306: IF (l_debug <> -1) THEN
1307: rlm_core_sv.dlog(k_DEBUG,'process status of forecast lines',
1308: t_Forecast(v_Count).process_status);
1309: END IF;
1310: --
1311: IF t_Forecast(v_Count).process_status = 4 THEN
1313: x_Progress := '030';
1314: v_line_error := TRUE;
1315: --
1316: IF (l_debug <> -1) THEN
1317: rlm_core_sv.dlog(k_DEBUG,'RLM_FORECAST_FAILED',
1318: t_Forecast(v_Count).error_message);
1319: END IF;
1320: --
1321: rlm_message_sv.app_error(
1329: x_value1 => t_Forecast(v_Count).error_message,
1330: x_Token2 => 'QUANTITY',
1331: x_value2 => t_Forecast(v_Count).quantity,
1332: x_Token3 => 'GROUP',
1333: x_value3 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
1334: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
1335: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
1336: x_Token4 => 'REQ_DATE',
1337: x_value4 => t_Forecast(v_Count).forecast_date,
1330: x_Token2 => 'QUANTITY',
1331: x_value2 => t_Forecast(v_Count).quantity,
1332: x_Token3 => 'GROUP',
1333: x_value3 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
1334: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
1335: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
1336: x_Token4 => 'REQ_DATE',
1337: x_value4 => t_Forecast(v_Count).forecast_date,
1338: x_Token5 => 'START_DATE_TIME',
1331: x_value2 => t_Forecast(v_Count).quantity,
1332: x_Token3 => 'GROUP',
1333: x_value3 => rlm_core_sv.get_ship_from(x_Group_rec.ship_from_org_id)||'-'||
1334: rlm_core_sv.get_ship_to(x_Group_rec.ship_to_address_id)||'-'||
1335: rlm_core_sv.get_item_number(x_Group_rec.customer_item_id),
1336: x_Token4 => 'REQ_DATE',
1337: x_value4 => t_Forecast(v_Count).forecast_date,
1338: x_Token5 => 'START_DATE_TIME',
1339: x_value5 => to_date(t_Forecast(v_Count).attribute2,'YYYY/MM/DD HH24:MI:SS'),
1353: --
1354: IF v_line_error THEN
1355: --{
1356: IF (l_debug <> -1) THEN
1357: rlm_core_sv.dlog(k_DEBUG, 'At least one MRP line is in error, so fail entire group');
1358: END IF;
1359: --
1360: RAISE e_Group_error;
1361: --}
1361: --}
1362: END IF;
1363: --
1364: IF (l_debug <> -1) THEN
1365: rlm_core_sv.dpop(k_SDEBUG);
1366: END IF;
1367: --
1368: EXCEPTION
1369: --
1369: --
1370: WHEN e_Group_error THEN
1371: --
1372: IF (l_debug <> -1) THEN
1373: rlm_core_sv.dlog(k_DEBUG, 'x_Progress', x_Progress);
1374: rlm_core_sv.dpop(k_SDEBUG, 'e_Group_error');
1375: END IF;
1376: --
1377: RAISE;
1370: WHEN e_Group_error THEN
1371: --
1372: IF (l_debug <> -1) THEN
1373: rlm_core_sv.dlog(k_DEBUG, 'x_Progress', x_Progress);
1374: rlm_core_sv.dpop(k_SDEBUG, 'e_Group_error');
1375: END IF;
1376: --
1377: RAISE;
1378: --
1379: WHEN OTHERS THEN
1380: rlm_message_sv.sql_error ('RLM_forecast_sv.process_table', x_progress);
1381: --
1382: IF (l_debug <> -1) THEN
1383: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: OTHERS - sql error');
1384: END IF;
1385: --
1386: raise;
1387:
1410:
1411: BEGIN
1412: --
1413: IF (l_debug <> -1) THEN
1414: rlm_core_sv.dpush(K_SDEBUG, 'GetDesignator');
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1411: BEGIN
1412: --
1413: IF (l_debug <> -1) THEN
1414: rlm_core_sv.dpush(K_SDEBUG, 'GetDesignator');
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1412: --
1413: IF (l_debug <> -1) THEN
1414: rlm_core_sv.dpush(K_SDEBUG, 'GetDesignator');
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1420: rlm_core_sv.dlog(k_DEBUG, 'x_bill_address_Id',x_bill_address_Id);
1413: IF (l_debug <> -1) THEN
1414: rlm_core_sv.dpush(K_SDEBUG, 'GetDesignator');
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1420: rlm_core_sv.dlog(k_DEBUG, 'x_bill_address_Id',x_bill_address_Id);
1421: END IF;
1414: rlm_core_sv.dpush(K_SDEBUG, 'GetDesignator');
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1420: rlm_core_sv.dlog(k_DEBUG, 'x_bill_address_Id',x_bill_address_Id);
1421: END IF;
1422: --
1415: rlm_core_sv.dlog(k_DEBUG, 'customer_id',x_customer_id);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1420: rlm_core_sv.dlog(k_DEBUG, 'x_bill_address_Id',x_bill_address_Id);
1421: END IF;
1422: --
1423: fnd_profile.get('RLM_SELECTION_LIST',v_ListName);
1416: rlm_core_sv.dlog(k_DEBUG, 'x_ship_to_customer_id',x_ship_to_customer_id);
1417: rlm_core_sv.dlog(k_DEBUG, 'ship_from_org_id',x_ShipFromOrgId);
1418: rlm_core_sv.dlog(k_DEBUG, 'x_Ship_Site_Id',x_Ship_Site_Id);
1419: rlm_core_sv.dlog(k_DEBUG, 'x_bill_site_id',x_bill_site_id);
1420: rlm_core_sv.dlog(k_DEBUG, 'x_bill_address_Id',x_bill_address_Id);
1421: END IF;
1422: --
1423: fnd_profile.get('RLM_SELECTION_LIST',v_ListName);
1424: --
1422: --
1423: fnd_profile.get('RLM_SELECTION_LIST',v_ListName);
1424: --
1425: IF (l_debug <> -1) THEN
1426: rlm_core_sv.dlog(k_DEBUG,'Profile: RLM_SELECTION_LIST',v_ListName);
1427: END IF;
1428: --
1429: v_listNameTmp := v_ListName;
1430: --
1437: EXCEPTION
1438: WHEN OTHERS THEN
1439: --
1440: IF (l_debug <> -1) THEN
1441: rlm_core_sv.dlog(k_DEBUG, 'error getting selection list',
1442: SUBSTR(SQLERRM,1,200));
1443: END IF;
1444: --
1445: END;
1448: v_ListName := V_ListNameTmp;
1449: END IF;
1450: --
1451: IF (l_debug <> -1) THEN
1452: rlm_core_sv.dlog(k_DEBUG,'v_ListName',v_ListName);
1453: END IF;
1454: --
1455: IF (x_bill_site_id IS NOT NULL) THEN
1456: --
1468: --
1469: v_bill_Site_Id := x_bill_site_id;
1470: --
1471: IF (l_debug <> -1) THEN
1472: rlm_core_sv.dlog(k_DEBUG, 'v_bill_address_Id',v_bill_address_Id);
1473: END IF;
1474: --
1475: ELSIF (x_bill_address_id IS NOT NULL) THEN
1476: --
1488: --
1489: v_bill_address_Id := x_bill_address_id;
1490: --
1491: IF (l_debug <> -1) THEN
1492: rlm_core_sv.dlog(k_DEBUG, 'v_bill_Site_Id',v_bill_Site_Id);
1493: END IF;
1494: --
1495: ELSE
1496: --
1497: v_bill_address_Id := null;
1498: v_bill_Site_Id := null;
1499: --
1500: IF (l_debug <> -1) THEN
1501: rlm_core_sv.dlog(k_DEBUG, 'v_bill_address_Id',v_bill_address_Id);
1502: rlm_core_sv.dlog(k_DEBUG, 'v_bill_Site_Id',v_bill_Site_Id);
1503: END IF;
1504: --
1505: END IF;
1498: v_bill_Site_Id := null;
1499: --
1500: IF (l_debug <> -1) THEN
1501: rlm_core_sv.dlog(k_DEBUG, 'v_bill_address_Id',v_bill_address_Id);
1502: rlm_core_sv.dlog(k_DEBUG, 'v_bill_Site_Id',v_bill_Site_Id);
1503: END IF;
1504: --
1505: END IF;
1506: --
1521: AND selection_list_type = 2
1522: AND selection_list_name = v_ListName);
1523: --
1524: IF (l_debug <> -1) THEN
1525: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator',SQL%ROWCOUNT);
1526: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1527: rlm_core_sv.dpop(K_SDEBUG);
1528: END IF;
1529: --
1522: AND selection_list_name = v_ListName);
1523: --
1524: IF (l_debug <> -1) THEN
1525: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator',SQL%ROWCOUNT);
1526: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1527: rlm_core_sv.dpop(K_SDEBUG);
1528: END IF;
1529: --
1530: EXCEPTION
1523: --
1524: IF (l_debug <> -1) THEN
1525: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator',SQL%ROWCOUNT);
1526: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1527: rlm_core_sv.dpop(K_SDEBUG);
1528: END IF;
1529: --
1530: EXCEPTION
1531: --
1548: AND selection_list_type = 2
1549: AND selection_list_name = v_ListName);
1550: --
1551: IF (l_debug <> -1) THEN
1552: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT/ST',SQL%ROWCOUNT);
1553: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1554: rlm_core_sv.dpop(K_SDEBUG);
1555: END IF;
1556: --
1549: AND selection_list_name = v_ListName);
1550: --
1551: IF (l_debug <> -1) THEN
1552: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT/ST',SQL%ROWCOUNT);
1553: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1554: rlm_core_sv.dpop(K_SDEBUG);
1555: END IF;
1556: --
1557: EXCEPTION
1550: --
1551: IF (l_debug <> -1) THEN
1552: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT/ST',SQL%ROWCOUNT);
1553: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1554: rlm_core_sv.dpop(K_SDEBUG);
1555: END IF;
1556: --
1557: EXCEPTION
1558: --
1559: /*2328087*/
1560: WHEN NO_DATA_FOUND THEN
1561: --
1562: IF (l_debug <> -1) THEN
1563: rlm_core_sv.dlog(k_DEBUG, 'No data found for forecast designator at ShiptoCT/ST',SQL%ROWCOUNT);
1564: END IF;
1565: --
1566: BEGIN
1567: --
1579: AND selection_list_type = 2
1580: AND selection_list_name = v_ListName);
1581: --
1582: IF (l_debug <> -1) THEN
1583: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1584: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1585: rlm_core_sv.dpop(K_SDEBUG);
1586: END IF;
1587: --
1580: AND selection_list_name = v_ListName);
1581: --
1582: IF (l_debug <> -1) THEN
1583: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1584: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1585: rlm_core_sv.dpop(K_SDEBUG);
1586: END IF;
1587: --
1588: EXCEPTION
1581: --
1582: IF (l_debug <> -1) THEN
1583: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1584: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1585: rlm_core_sv.dpop(K_SDEBUG);
1586: END IF;
1587: --
1588: EXCEPTION
1589: --
1589: --
1590: WHEN NO_DATA_FOUND THEN
1591: --
1592: IF (l_debug <> -1) THEN
1593: rlm_core_sv.dlog(k_DEBUG, 'No forecast designator for ship to
1594: customer',SQL%ROWCOUNT);
1595: END IF;
1596: --
1597: IF x_ship_to_customer_id is NULL OR
1599: --
1600: x_ForecastDesignator := NULL;
1601: --
1602: IF (l_debug <> -1) THEN
1603: rlm_core_sv.dpop(K_SDEBUG);
1604: END IF;
1605: --
1606: ELSE
1607: --
1621: AND selection_list_type = 2
1622: AND selection_list_name = v_ListName);
1623: --
1624: IF (l_debug <> -1) THEN
1625: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1626: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1627: rlm_core_sv.dpop(K_SDEBUG);
1628: END IF;
1629: --
1622: AND selection_list_name = v_ListName);
1623: --
1624: IF (l_debug <> -1) THEN
1625: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1626: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1627: rlm_core_sv.dpop(K_SDEBUG);
1628: END IF;
1629: --
1630: EXCEPTION
1623: --
1624: IF (l_debug <> -1) THEN
1625: rlm_core_sv.dlog(k_DEBUG, 'No of rows for forecast designator at CT',SQL%ROWCOUNT);
1626: rlm_core_sv.dlog(k_DEBUG, 'x_ForecastDesignator',x_ForecastDesignator);
1627: rlm_core_sv.dpop(K_SDEBUG);
1628: END IF;
1629: --
1630: EXCEPTION
1631: --
1633: --
1634: x_ForecastDesignator := NULL;
1635: --
1636: IF (l_debug <> -1) THEN
1637: rlm_core_sv.dpop(K_SDEBUG, 'No forecast Designator found for header level customer');
1638: END IF;
1639: --
1640: WHEN TOO_MANY_ROWS THEN
1641: --
1641: --
1642: x_ForecastDesignator := NULL;
1643: --
1644: IF (l_debug <> -1) THEN
1645: rlm_core_sv.dpop(K_SDEBUG, 'Too many rows found for
1646: header level customer');
1647: END IF;
1648: --
1649: END;
1654: --
1655: x_ForecastDesignator := NULL;
1656: --
1657: IF (l_debug <> -1) THEN
1658: rlm_core_sv.dpop(K_SDEBUG, 'Too many rows');
1659: END IF;
1660: --
1661: END;
1662: --
1664: --
1665: x_ForecastDesignator := NULL;
1666: --
1667: IF (l_debug <> -1) THEN
1668: rlm_core_sv.dpop(K_SDEBUG, 'Too many rows');
1669: END IF;
1670: --
1671: END;
1672: --
1674: --
1675: x_ForecastDesignator := NULL;
1676: --
1677: IF (l_debug <> -1) THEN
1678: rlm_core_sv.dpop(K_SDEBUG, 'Too many rows');
1679: END IF;
1680: --
1681: WHEN OTHERS THEN
1682: --
1682: --
1683: x_ForecastDesignator := NULL;
1684: --
1685: IF (l_debug <> -1) THEN
1686: rlm_core_sv.dpop(K_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1687: END IF;
1688: --
1689: raise;
1690: --
1711: --
1712: BEGIN
1713: --
1714: IF (l_debug <> -1) THEN
1715: rlm_core_sv.dpush(K_SDEBUG, 'EmptyForecast');
1716: END IF;
1717:
1718: --empty all the forecast lines for the designator
1719: x_designator(1).inventory_item_id := NULL;
1720: x_designator(1).forecast_designator := x_t_designator(x_t_designator.COUNT).forecast_designator;
1721: x_designator(1).organization_id:=x_t_designator(x_t_designator.COUNT).organization_id;
1722: --
1723: IF (l_debug <> -1) THEN
1724: rlm_core_sv.dlog(k_DEBUG,'before mrp_forecast_interface_pk api for REPLACE');
1725: END IF;
1726: --
1727: IF mrp_forecast_interface_pk.mrp_forecast_interface(x_forecast,
1728: x_designator) THEN
1731: x_t_designator(x_t_designator.COUNT).forecast_designator;
1732: g_designator_tab(g_designator_tab.count+1).organization_id :=
1733: x_t_designator(x_t_designator.COUNT).organization_id; --Bugfix 6817494
1734: IF (l_debug <> -1) THEN
1735: rlm_core_sv.dlog(k_DEBUG,'after mrp_forecast_interface_pk.mrp_forecast_interface api for REPLACE');
1736: rlm_core_sv.dlog(k_DEBUG,'Old forecast deleted for ', x_designator(1).forecast_designator);
1737: END IF;
1738:
1739: ELSE
1732: g_designator_tab(g_designator_tab.count+1).organization_id :=
1733: x_t_designator(x_t_designator.COUNT).organization_id; --Bugfix 6817494
1734: IF (l_debug <> -1) THEN
1735: rlm_core_sv.dlog(k_DEBUG,'after mrp_forecast_interface_pk.mrp_forecast_interface api for REPLACE');
1736: rlm_core_sv.dlog(k_DEBUG,'Old forecast deleted for ', x_designator(1).forecast_designator);
1737: END IF;
1738:
1739: ELSE
1740: --
1740: --
1741: x_progress :='060';
1742: --
1743: IF (l_debug <> -1) THEN
1744: rlm_core_sv.dlog(k_DEBUG,'MRP Forecast API Failed ');
1745: END IF;
1746: --
1747: SELECT line_id
1748: INTO v_InterfaceLineId
1769: --
1770: END IF;
1771: --
1772: IF (l_debug <> -1) THEN
1773: rlm_core_sv.dpop(K_SDEBUG);
1774: END IF;
1775: --
1776: EXCEPTION
1777: --
1777: --
1778: WHEN e_Group_Error THEN
1779: --
1780: IF (l_debug <> -1) THEN
1781: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
1782: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
1783: END IF;
1784: --
1785: raise;
1778: WHEN e_Group_Error THEN
1779: --
1780: IF (l_debug <> -1) THEN
1781: rlm_core_sv.dlog(k_DEBUG,'progress',x_Progress);
1782: rlm_core_sv.dpop(k_SDEBUG, 'GROUP ERROR');
1783: END IF;
1784: --
1785: raise;
1786: --
1786: --
1787: WHEN OTHERS THEN
1788: --
1789: IF (l_debug <> -1) THEN
1790: rlm_core_sv.dpop(K_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1791: END IF;
1792: --
1793: raise;
1794: --
1811: --
1812: BEGIN
1813: --
1814: IF (l_debug <> -1) THEN
1815: rlm_core_sv.dpush(k_SDEBUG,'ProcessReplaceAll');
1816: END IF;
1817: --
1818: -- count the no of mrp lines for the given header and status =5 /*2816086*/
1819: --
1857: --
1858: k_REPLACE_FLAG := FALSE;
1859: --
1860: IF (l_debug <> -1) THEN
1861: rlm_core_sv.dlog(k_DEBUG,'already deleted old forecast for designator', g_designator_tab(v_counter).designator);
1862: END IF;
1863: --
1864: EXIT;
1865: --
1895: --
1896: END IF; --check for v_mrp_count
1897: --
1898: IF (l_debug <> -1) THEN
1899: rlm_core_sv.dpop(k_SDEBUG,'ProcessReplaceAll');
1900: END IF;
1901: --
1902: EXCEPTION
1903: --
1903: --
1904: WHEN OTHERS THEN
1905: --
1906: IF (l_debug <> -1) THEN
1907: rlm_core_sv.dpop(K_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1908: END IF;
1909: --
1910: RAISE;
1911: --
1936: --
1937: BEGIN
1938: --
1939: IF (l_debug <> -1) THEN
1940: rlm_core_sv.dpush(k_SDEBUG,'GetTPContext');
1941: rlm_core_sv.dlog(k_DEBUG,'customer_id', x_sched_rec.customer_id);
1942: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_translator_code',
1943: x_sched_rec.ece_tp_translator_code);
1944: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_location_code_ext',
1937: BEGIN
1938: --
1939: IF (l_debug <> -1) THEN
1940: rlm_core_sv.dpush(k_SDEBUG,'GetTPContext');
1941: rlm_core_sv.dlog(k_DEBUG,'customer_id', x_sched_rec.customer_id);
1942: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_translator_code',
1943: x_sched_rec.ece_tp_translator_code);
1944: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_location_code_ext',
1945: x_sched_rec.ece_tp_location_code_ext);
1938: --
1939: IF (l_debug <> -1) THEN
1940: rlm_core_sv.dpush(k_SDEBUG,'GetTPContext');
1941: rlm_core_sv.dlog(k_DEBUG,'customer_id', x_sched_rec.customer_id);
1942: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_translator_code',
1943: x_sched_rec.ece_tp_translator_code);
1944: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_location_code_ext',
1945: x_sched_rec.ece_tp_location_code_ext);
1946: rlm_core_sv.dlog(k_DEBUG,'x_group_rec.ship_to_address_id',
1940: rlm_core_sv.dpush(k_SDEBUG,'GetTPContext');
1941: rlm_core_sv.dlog(k_DEBUG,'customer_id', x_sched_rec.customer_id);
1942: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_translator_code',
1943: x_sched_rec.ece_tp_translator_code);
1944: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_location_code_ext',
1945: x_sched_rec.ece_tp_location_code_ext);
1946: rlm_core_sv.dlog(k_DEBUG,'x_group_rec.ship_to_address_id',
1947: x_group_rec.ship_to_address_id);
1948: END IF;
1942: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_translator_code',
1943: x_sched_rec.ece_tp_translator_code);
1944: rlm_core_sv.dlog(k_DEBUG,'x_sched_rec.ece_tp_location_code_ext',
1945: x_sched_rec.ece_tp_location_code_ext);
1946: rlm_core_sv.dlog(k_DEBUG,'x_group_rec.ship_to_address_id',
1947: x_group_rec.ship_to_address_id);
1948: END IF;
1949: --
1950: IF x_sched_rec.ECE_TP_LOCATION_CODE_EXT is NOT NULL THEN
1986: --
1987: END IF;
1988: --
1989: IF (l_debug <> -1) THEN
1990: rlm_core_sv.dlog(k_DEBUG, 'customer_number', x_customer_number);
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1987: END IF;
1988: --
1989: IF (l_debug <> -1) THEN
1990: rlm_core_sv.dlog(k_DEBUG, 'customer_number', x_customer_number);
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1995: rlm_core_sv.dpop(k_SDEBUG);
1988: --
1989: IF (l_debug <> -1) THEN
1990: rlm_core_sv.dlog(k_DEBUG, 'customer_number', x_customer_number);
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1995: rlm_core_sv.dpop(k_SDEBUG);
1996: END IF;
1989: IF (l_debug <> -1) THEN
1990: rlm_core_sv.dlog(k_DEBUG, 'customer_number', x_customer_number);
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1995: rlm_core_sv.dpop(k_SDEBUG);
1996: END IF;
1997: --
1990: rlm_core_sv.dlog(k_DEBUG, 'customer_number', x_customer_number);
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1995: rlm_core_sv.dpop(k_SDEBUG);
1996: END IF;
1997: --
1998: EXCEPTION
1991: rlm_core_sv.dlog(k_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
1992: rlm_core_sv.dlog(k_DEBUG, 'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
1993: rlm_core_sv.dlog(k_DEBUG, 'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
1994: rlm_core_sv.dlog(k_DEBUG, 'x_tp_group_code',x_tp_group_code);
1995: rlm_core_sv.dpop(k_SDEBUG);
1996: END IF;
1997: --
1998: EXCEPTION
1999: --
2000: WHEN NO_DATA_FOUND THEN
2001: --
2002: x_customer_number := NULL;
2003: IF (l_debug <> -1) THEN
2004: rlm_core_sv.dlog(k_DEBUG, 'No data found for' , x_sched_rec.customer_id);
2005: rlm_core_sv.dpop(k_SDEBUG);
2006: END IF;
2007: --
2008: WHEN OTHERS THEN
2001: --
2002: x_customer_number := NULL;
2003: IF (l_debug <> -1) THEN
2004: rlm_core_sv.dlog(k_DEBUG, 'No data found for' , x_sched_rec.customer_id);
2005: rlm_core_sv.dpop(k_SDEBUG);
2006: END IF;
2007: --
2008: WHEN OTHERS THEN
2009: --
2008: WHEN OTHERS THEN
2009: --
2010: rlm_message_sv.sql_error('rlm_validatedemand_sv.GetTPContext',v_Progress);
2011: IF (l_debug <> -1) THEN
2012: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2013: END IF;
2014: raise;
2015:
2016: END GetTPContext;
2037: --
2038: BEGIN
2039: --
2040: IF (l_debug <> -1) THEN
2041: rlm_core_sv.dpush(k_SDEBUG,'Convert_UOM');
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2038: BEGIN
2039: --
2040: IF (l_debug <> -1) THEN
2041: rlm_core_sv.dpush(k_SDEBUG,'Convert_UOM');
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2046: rlm_core_sv.dlog(k_DEBUG,'p_org_id',p_org_id);
2039: --
2040: IF (l_debug <> -1) THEN
2041: rlm_core_sv.dpush(k_SDEBUG,'Convert_UOM');
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2046: rlm_core_sv.dlog(k_DEBUG,'p_org_id',p_org_id);
2047: END IF;
2040: IF (l_debug <> -1) THEN
2041: rlm_core_sv.dpush(k_SDEBUG,'Convert_UOM');
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2046: rlm_core_sv.dlog(k_DEBUG,'p_org_id',p_org_id);
2047: END IF;
2048: --
2041: rlm_core_sv.dpush(k_SDEBUG,'Convert_UOM');
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2046: rlm_core_sv.dlog(k_DEBUG,'p_org_id',p_org_id);
2047: END IF;
2048: --
2049: IF to_uom IS NULL THEN
2042: rlm_core_sv.dlog(k_DEBUG,'from_uom',from_uom);
2043: rlm_core_sv.dlog(k_DEBUG,'to_uom',to_uom);
2044: rlm_core_sv.dlog(k_DEBUG,'quantity',quantity);
2045: rlm_core_sv.dlog(k_DEBUG,'p_item_id',p_item_id);
2046: rlm_core_sv.dlog(k_DEBUG,'p_org_id',p_org_id);
2047: END IF;
2048: --
2049: IF to_uom IS NULL THEN
2050: raise e_PrimaryCodeMissing;
2078: --
2079: quantity := result;
2080: --
2081: IF (l_debug <> -1) THEN
2082: rlm_core_sv.dlog(k_DEBUG,'result',result);
2083: rlm_core_sv.dpop(k_SDEBUG);
2084: END IF;
2085: --
2086: EXCEPTION
2079: quantity := result;
2080: --
2081: IF (l_debug <> -1) THEN
2082: rlm_core_sv.dlog(k_DEBUG,'result',result);
2083: rlm_core_sv.dpop(k_SDEBUG);
2084: END IF;
2085: --
2086: EXCEPTION
2087: --
2091: --
2092: OPEN c;
2093: FETCH c into v_item_number;
2094: --
2095: v_ShipFromOrgName := RLM_CORE_SV.get_ship_from(p_org_id);
2096: --
2097: rlm_message_sv.app_error(
2098: x_ExceptionLevel => rlm_message_sv.k_error_level,
2099: x_MessageName => 'RLM_ERROR_NO_PRIMARY_UOM',
2103: x_value2=> v_ShipFromOrgName);
2104: CLOSE c;
2105: --
2106: IF (l_debug <> -1) THEN
2107: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: RLM_ERROR_NO_PRIMARY_UOM');
2108: END IF;
2109: --
2110: EXCEPTION
2111: --
2111: --
2112: WHEN NO_DATA_FOUND THEN
2113: --
2114: IF (l_debug <> -1) THEN
2115: rlm_core_sv.dpop(K_SDEBUG, 'No data found');
2116: END IF;
2117: --
2118: END;
2119: --
2137: x_value3=> v_item_number);
2138: CLOSE c;
2139: --
2140: IF (l_debug <> -1) THEN
2141: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: RLM_UNDEF_UOM_CONVERSION');
2142: END IF;
2143: --
2144: EXCEPTION
2145: --
2145: --
2146: WHEN NO_DATA_FOUND THEN
2147: --
2148: IF (l_debug <> -1) THEN
2149: rlm_core_sv.dpop(K_SDEBUG, 'No data found');
2150: END IF;
2151: --
2152: END;
2153: --
2155: --
2156: WHEN OTHERS THEN
2157: --
2158: IF (l_debug <> -1) THEN
2159: rlm_core_sv.dpop(k_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2160: END IF;
2161: --
2162: raise;
2163: --