18: IS
19: --
20: v_Progress VARCHAR2(3) := '010';
21: v_SdpCode VARCHAR2(30);
22: v_DailyPercent rlm_core_sv.t_NumberTable;
23: v_WeeklyBucket t_BucketTable;
24: v_QuantityDate t_OutputTable;
25: v_LeadTime t_LeadTimeRec;
26: v_ReturnMessage t_ErrorMsgTable;
57: --
58: BEGIN
59: --
60: IF (l_debug <> -1) THEN
61: rlm_core_sv.dpush(g_SDEBUG,'calc_scheduled_ship_date');
62: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName',
63: x_Input.ShipDeliveryRuleName);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
58: BEGIN
59: --
60: IF (l_debug <> -1) THEN
61: rlm_core_sv.dpush(g_SDEBUG,'calc_scheduled_ship_date');
62: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName',
63: x_Input.ShipDeliveryRuleName);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
60: IF (l_debug <> -1) THEN
61: rlm_core_sv.dpush(g_SDEBUG,'calc_scheduled_ship_date');
62: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName',
63: x_Input.ShipDeliveryRuleName);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
62: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName',
63: x_Input.ShipDeliveryRuleName);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
63: x_Input.ShipDeliveryRuleName);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
64: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
65: x_Input.ItemDetailSubtype);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
66: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode', x_Input.DateTypeCode);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
67: rlm_core_sv.dlog(g_DEBUG,'StartDateTime', x_Input.StartDateTime);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
68: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', x_Input.ShipToAddressId);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
69: rlm_core_sv.dlog(g_DEBUG,'ShipToSiteUseId', x_Input.ShipToSiteUseId);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
70: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', x_Input.ShipFromOrgId );
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
71: rlm_core_sv.dlog(g_DEBUG,'CustomerItemId', x_Input.CustomerItemId);
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
79: rlm_core_sv.dlog(g_DEBUG,'ShipToCustomerId', x_Input.ShiptoCustomerId );
72: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',x_Input.PrimaryQuantity);
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
79: rlm_core_sv.dlog(g_DEBUG,'ShipToCustomerId', x_Input.ShiptoCustomerId );
80: END IF;
73: rlm_core_sv.dlog(g_DEBUG,'EndDateTime ', x_Input.EndDateTime);
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
79: rlm_core_sv.dlog(g_DEBUG,'ShipToCustomerId', x_Input.ShiptoCustomerId );
80: END IF;
81: --
74: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ', x_Input.DefaultSDP);
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
79: rlm_core_sv.dlog(g_DEBUG,'ShipToCustomerId', x_Input.ShiptoCustomerId );
80: END IF;
81: --
82: x_ReturnStatus := g_SUCCESS;
75: rlm_core_sv.dlog(g_DEBUG,'ship_method ', x_Input.ship_method);
76: rlm_core_sv.dlog(g_DEBUG,'Intransit_time ', x_Input.Intransit_time);
77: rlm_core_sv.dlog(g_DEBUG,'time_uom_code ', x_Input.time_uom_code);
78: rlm_core_sv.dlog(g_DEBUG,'exclude non workdays flag', x_input.exclude_non_workdays_flag);
79: rlm_core_sv.dlog(g_DEBUG,'ShipToCustomerId', x_Input.ShiptoCustomerId );
80: END IF;
81: --
82: x_ReturnStatus := g_SUCCESS;
83: --
85: --
86: v_Input := x_Input;
87: --
88: IF (l_debug <> -1) THEN
89: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', v_Input.ShipToAddressId);
90: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', v_Input.ShipFromOrgId );
91: END IF;
92: --
93: /* Call shipping API to get calendars from Shipping Tables */
86: v_Input := x_Input;
87: --
88: IF (l_debug <> -1) THEN
89: rlm_core_sv.dlog(g_DEBUG,'ShipToAddressId', v_Input.ShipToAddressId);
90: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId', v_Input.ShipFromOrgId );
91: END IF;
92: --
93: /* Call shipping API to get calendars from Shipping Tables */
94: --
95: v_RcvLocationId := WSH_UTIL_CORE.Cust_Site_To_Location(
96: v_Input.ShipToSiteUseId);
97: --
98: IF (l_debug <> -1) THEN
99: rlm_core_sv.dlog(g_DEBUG,'v_RcvLocationId ', v_RcvLocationId);
100: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.ShipToCustomerId);
101: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.CustomerId);
102: END IF;
103: --
96: v_Input.ShipToSiteUseId);
97: --
98: IF (l_debug <> -1) THEN
99: rlm_core_sv.dlog(g_DEBUG,'v_RcvLocationId ', v_RcvLocationId);
100: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.ShipToCustomerId);
101: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.CustomerId);
102: END IF;
103: --
104: WSH_CAL_ASG_VALIDATIONS.Get_Calendar
97: --
98: IF (l_debug <> -1) THEN
99: rlm_core_sv.dlog(g_DEBUG,'v_RcvLocationId ', v_RcvLocationId);
100: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.ShipToCustomerId);
101: rlm_core_sv.dlog(g_DEBUG,'CustomerId', v_Input.CustomerId);
102: END IF;
103: --
104: WSH_CAL_ASG_VALIDATIONS.Get_Calendar
105: ( p_api_version_number => 1.0,
114: x_calendar_code => v_customer_rcv_calendar_cd
115: );
116: --
117: IF (l_debug <> -1) THEN
118: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
119: rlm_core_sv.dlog(g_DEBUG,'customer_rcv_calendar_cd',
120: v_customer_rcv_calendar_cd);
121: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
122: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
115: );
116: --
117: IF (l_debug <> -1) THEN
118: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
119: rlm_core_sv.dlog(g_DEBUG,'customer_rcv_calendar_cd',
120: v_customer_rcv_calendar_cd);
121: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
122: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
123: END IF;
117: IF (l_debug <> -1) THEN
118: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
119: rlm_core_sv.dlog(g_DEBUG,'customer_rcv_calendar_cd',
120: v_customer_rcv_calendar_cd);
121: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
122: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
123: END IF;
124: --
125: IF v_return_status = FND_API.G_RET_STS_ERROR OR
118: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
119: rlm_core_sv.dlog(g_DEBUG,'customer_rcv_calendar_cd',
120: v_customer_rcv_calendar_cd);
121: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
122: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
123: END IF;
124: --
125: IF v_return_status = FND_API.G_RET_STS_ERROR OR
126: v_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
142: v_entity := 'SHP';
143: v_ShipLocationId := WSH_UTIL_CORE.Org_To_Location( v_Input.ShipFromOrgId);
144: --
145: IF (l_debug <> -1) THEN
146: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId ', v_Input.ShipFromOrgId);
147: rlm_core_sv.dlog(g_DEBUG,'v_ShipLocationId ', v_ShipLocationId);
148: END IF;
149: --
150: WSH_CAL_ASG_VALIDATIONS.Get_Calendar
143: v_ShipLocationId := WSH_UTIL_CORE.Org_To_Location( v_Input.ShipFromOrgId);
144: --
145: IF (l_debug <> -1) THEN
146: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId ', v_Input.ShipFromOrgId);
147: rlm_core_sv.dlog(g_DEBUG,'v_ShipLocationId ', v_ShipLocationId);
148: END IF;
149: --
150: WSH_CAL_ASG_VALIDATIONS.Get_Calendar
151: ( p_api_version_number => 1.0,
159: x_calendar_code => v_supplier_shp_calendar_cd
160: );
161: --
162: IF (l_debug <> -1) THEN
163: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
164: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
165: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
166: rlm_core_sv.dlog(g_DEBUG,'v_supplier_shp_calendar_cd',
167: v_supplier_shp_calendar_cd);
160: );
161: --
162: IF (l_debug <> -1) THEN
163: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
164: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
165: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
166: rlm_core_sv.dlog(g_DEBUG,'v_supplier_shp_calendar_cd',
167: v_supplier_shp_calendar_cd);
168: END IF;
161: --
162: IF (l_debug <> -1) THEN
163: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
164: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
165: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
166: rlm_core_sv.dlog(g_DEBUG,'v_supplier_shp_calendar_cd',
167: v_supplier_shp_calendar_cd);
168: END IF;
169: --
162: IF (l_debug <> -1) THEN
163: rlm_core_sv.dlog(g_DEBUG,'v_return_status ', v_return_status);
164: rlm_core_sv.dlog(g_DEBUG,'v_msg_count', v_msg_count);
165: rlm_core_sv.dlog(g_DEBUG,'v_msg_data', v_msg_data);
166: rlm_core_sv.dlog(g_DEBUG,'v_supplier_shp_calendar_cd',
167: v_supplier_shp_calendar_cd);
168: END IF;
169: --
170: IF v_return_status = FND_API.G_RET_STS_ERROR OR
227: --
228: END IF;
229: --
230: IF (l_debug <> -1) THEN
231: rlm_core_sv.dlog(g_DEBUG,' v_tot_percent',v_tot_percent);
232: END IF;
233: --
234: --Find the appropriate lead time
235: --
245: --
246: set_return_status(x_ReturnStatus,g_ERROR);
247: --
248: IF (l_debug <> -1) THEN
249: rlm_core_sv.dlog(g_DEBUG,' Lead time is NULL, ERROR condition');
250: END IF;
251: --
252: --v_ReturnMessage.
253: rlm_message_sv.get_msg_text('RLM_NULL_LEAD_TIME',
263: --
264: set_return_status(x_ReturnStatus,g_WARNING);
265: --
266: IF (l_debug <> -1) THEN
267: rlm_core_sv.dlog(g_DEBUG,' Lead time is NULL, WARNING condition');
268: END IF;
269: --
270: rlm_message_sv.get_msg_text('RLM_NULL_LEAD_TIME',
271: x_message);
277: --
278: -- Break buckets
279: --
280: IF (l_debug <> -1) THEN
281: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype',v_Input.ItemDetailSubtype);
282: END IF;
283: --
284: IF (v_Input.ItemDetailSubtype IN (g_WEEK,
285: g_FLEXIBLE,
291: v_WeeklyBucket,
292: v_BreakBucketReturnStatus);
293: --
294: IF (l_debug <> -1) THEN
295: rlm_core_sv.dlog(g_DEBUG,' v_BreakBucketReturnStatus',
296: v_BreakBucketReturnStatus);
297: rlm_core_sv.dlog(g_DEBUG,' v_WeeklyBucket.COUNT ',
298: v_WeeklyBucket.COUNT);
299: END IF;
293: --
294: IF (l_debug <> -1) THEN
295: rlm_core_sv.dlog(g_DEBUG,' v_BreakBucketReturnStatus',
296: v_BreakBucketReturnStatus);
297: rlm_core_sv.dlog(g_DEBUG,' v_WeeklyBucket.COUNT ',
298: v_WeeklyBucket.COUNT);
299: END IF;
300: --
301: set_return_status(x_ReturnStatus,v_BreakBucketReturnStatus);
374: --
375: END IF;
376: --
377: IF (l_debug <> -1) THEN
378: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate.COUNT',x_QuantityDate.COUNT);
379: rlm_core_sv.dlog(g_DEBUG,'rcv_calendar',v_input.customer_rcv_calendar_cd);
380: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode',v_Input.DateTypeCode);
381: END IF;
382: --
375: END IF;
376: --
377: IF (l_debug <> -1) THEN
378: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate.COUNT',x_QuantityDate.COUNT);
379: rlm_core_sv.dlog(g_DEBUG,'rcv_calendar',v_input.customer_rcv_calendar_cd);
380: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode',v_Input.DateTypeCode);
381: END IF;
382: --
383: -- Apply Lead Times
376: --
377: IF (l_debug <> -1) THEN
378: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate.COUNT',x_QuantityDate.COUNT);
379: rlm_core_sv.dlog(g_DEBUG,'rcv_calendar',v_input.customer_rcv_calendar_cd);
380: rlm_core_sv.dlog(g_DEBUG,'DateTypeCode',v_Input.DateTypeCode);
381: END IF;
382: --
383: -- Apply Lead Times
384: --
416: IF RLM_TPA_SV.check_send_date(v_Input,x_QuantityDate(i).PlannedReceiveDate - j) THEN
417: --
418: v_lead_count:= v_lead_count+1;
419: IF (l_debug <> -1) THEN
420: rlm_core_sv.dlog(g_DEBUG,'Found a valid send date');
421: END IF;
422: --
423: END IF;
424: --
426: --
427: v_temp_LeadTime.Time:= j;
428:
429: IF (l_debug <> -1) THEN
430: rlm_core_sv.dlog(g_DEBUG,'Effective Lead Time',v_temp_LeadTime.TIME);
431: END IF;
432: --
433: END IF;
434: --
475: x_text => x_message,
476: x_token1 => 'SHIP_DATE',
477: x_value1 => v_temp_shipdate,
478: x_token2 => 'CUST_ITEM',
479: x_value2 => rlm_core_sv.get_item_number(x_input.CustomerItemId),
480: x_token3 => 'QTY',
481: x_value3 => v_Input.PrimaryQuantity,
482: x_token4 => 'SHIP_NEW_DATE',
483: x_value4 => x_QuantityDate(i).PlannedShipmentDate,
510: rlm_message_sv.get_msg_text(
511: x_message_name => 'RLM_RECVD_DATE_CLOSED',
512: x_text => x_message,
513: x_token1 => 'CUST_ITEM',
514: x_value1 => rlm_core_sv.get_item_number(x_input.CustomerItemId),
515: x_token2 => 'QTY',
516: x_value2 => v_Input.PrimaryQuantity,
517: x_token3 => 'CALENDAR',
518: x_value3 => v_Input.customer_rcv_calendar_cd,
561: rlm_message_sv.get_msg_text(
562: x_message_name => 'RLM_SHIP_DATE_CLOSED',
563: x_text => x_message,
564: x_token1 => 'CUST_ITEM',
565: x_value1 => rlm_core_sv.get_item_number(x_input.CustomerItemId),
566: x_token2 => 'QTY',
567: x_value2 => v_Input.PrimaryQuantity,
568: x_token3 => 'SHIP_DATE',
569: x_value3 => x_QuantityDate(i).PlannedShipmentDate,
592: x_QuantityDate(i).PlannedReceiveDate) = FALSE THEN
593: --
594: /*
595: IF (l_debug <> -1) THEN
596: rlm_core_sv.dlog(g_DEBUG,'RLM_RECVD_DATE_CLOSED',
597: x_QuantityDate(i).PlannedReceiveDate);
598: END IF;
599:
600: rlm_message_sv.get_msg_text(
621: --
622: x_ReturnMessage := v_ReturnMessage;
623: --
624: IF (l_debug <> -1) THEN
625: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
626: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
627: rlm_core_sv.dpop(g_SDEBUG);
628: END IF;
629: --
622: x_ReturnMessage := v_ReturnMessage;
623: --
624: IF (l_debug <> -1) THEN
625: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
626: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
627: rlm_core_sv.dpop(g_SDEBUG);
628: END IF;
629: --
630: EXCEPTION
623: --
624: IF (l_debug <> -1) THEN
625: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
626: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
627: rlm_core_sv.dpop(g_SDEBUG);
628: END IF;
629: --
630: EXCEPTION
631: --
635: rlm_message_sv.get_msg_text(
636: x_message_name => 'RLM_NO_SHP_CALENDAR',
637: x_text => x_message,
638: x_token1 => 'ORG',
639: x_value1 => rlm_core_sv.get_ship_from(v_Input.ShipFromOrgId));
640: --
641: IF (l_debug <> -1) THEN
642: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
643: END IF;
638: x_token1 => 'ORG',
639: x_value1 => rlm_core_sv.get_ship_from(v_Input.ShipFromOrgId));
640: --
641: IF (l_debug <> -1) THEN
642: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
643: END IF;
644: --
645: get_err_message( x_message,'RLM_NO_SHP_CALENDAR',-1, v_ReturnMessage);
646: x_ReturnMessage := v_ReturnMessage;
645: get_err_message( x_message,'RLM_NO_SHP_CALENDAR',-1, v_ReturnMessage);
646: x_ReturnMessage := v_ReturnMessage;
647: --
648: IF (l_debug <> -1) THEN
649: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
650: rlm_core_sv.dpop(g_SDEBUG,'e_ShpCalAPINULL');
651: END IF;
652: --
653: WHEN e_RcvCalAPINULL THEN
646: x_ReturnMessage := v_ReturnMessage;
647: --
648: IF (l_debug <> -1) THEN
649: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
650: rlm_core_sv.dpop(g_SDEBUG,'e_ShpCalAPINULL');
651: END IF;
652: --
653: WHEN e_RcvCalAPINULL THEN
654: --
656: rlm_message_sv.get_msg_text(
657: x_message_name => 'RLM_NO_RCV_CALENDAR',
658: x_text => x_message,
659: x_token1 => 'CUSTOMER',
660: x_value1 => rlm_core_sv.get_customer_name(v_Input.CustomerId));
661: --
662: IF (l_debug <> -1) THEN
663: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
664: END IF;
659: x_token1 => 'CUSTOMER',
660: x_value1 => rlm_core_sv.get_customer_name(v_Input.CustomerId));
661: --
662: IF (l_debug <> -1) THEN
663: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
664: END IF;
665: --
666: get_err_message( x_message,'RLM_NO_RCV_CALENDAR',-1, v_ReturnMessage);
667: x_ReturnMessage := v_ReturnMessage;
666: get_err_message( x_message,'RLM_NO_RCV_CALENDAR',-1, v_ReturnMessage);
667: x_ReturnMessage := v_ReturnMessage;
668: --
669: IF (l_debug <> -1) THEN
670: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
671: rlm_core_sv.dpop(g_SDEBUG,'e_RcvCalAPINULL');
672: END IF;
673: --
674: WHEN e_ShpCalAPIFailed THEN
667: x_ReturnMessage := v_ReturnMessage;
668: --
669: IF (l_debug <> -1) THEN
670: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
671: rlm_core_sv.dpop(g_SDEBUG,'e_RcvCalAPINULL');
672: END IF;
673: --
674: WHEN e_ShpCalAPIFailed THEN
675: --
676: set_return_status(x_ReturnStatus,g_Error);
677: WSH_UTIL_CORE.Get_Messages('N',v_summary, v_details, v_msg_count);
678: --
679: IF (l_debug <> -1) THEN
680: rlm_core_sv.dlog(g_DEBUG,' v_summary ',v_summary);
681: rlm_core_sv.dlog(g_DEBUG,' v_details ',v_details);
682: END IF;
683: --
684: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
677: WSH_UTIL_CORE.Get_Messages('N',v_summary, v_details, v_msg_count);
678: --
679: IF (l_debug <> -1) THEN
680: rlm_core_sv.dlog(g_DEBUG,' v_summary ',v_summary);
681: rlm_core_sv.dlog(g_DEBUG,' v_details ',v_details);
682: END IF;
683: --
684: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
685: x_ReturnMessage := v_ReturnMessage;
684: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
685: x_ReturnMessage := v_ReturnMessage;
686: --
687: IF (l_debug <> -1) THEN
688: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
689: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
690: rlm_core_sv.dpop(g_SDEBUG,'e_ShpCalAPIFailed');
691: END IF;
692: --
685: x_ReturnMessage := v_ReturnMessage;
686: --
687: IF (l_debug <> -1) THEN
688: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
689: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
690: rlm_core_sv.dpop(g_SDEBUG,'e_ShpCalAPIFailed');
691: END IF;
692: --
693: WHEN e_RcvCalAPIFailed THEN
686: --
687: IF (l_debug <> -1) THEN
688: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
689: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
690: rlm_core_sv.dpop(g_SDEBUG,'e_ShpCalAPIFailed');
691: END IF;
692: --
693: WHEN e_RcvCalAPIFailed THEN
694: --
695: set_return_status(x_ReturnStatus,g_Error);
696: WSH_UTIL_CORE.Get_Messages('N',v_summary, v_details, v_msg_count);
697: --
698: IF (l_debug <> -1) THEN
699: rlm_core_sv.dlog(g_DEBUG,' v_summary ',v_summary);
700: rlm_core_sv.dlog(g_DEBUG,' v_details ',v_details);
701: END IF;
702: --
703: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
696: WSH_UTIL_CORE.Get_Messages('N',v_summary, v_details, v_msg_count);
697: --
698: IF (l_debug <> -1) THEN
699: rlm_core_sv.dlog(g_DEBUG,' v_summary ',v_summary);
700: rlm_core_sv.dlog(g_DEBUG,' v_details ',v_details);
701: END IF;
702: --
703: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
704: x_ReturnMessage := v_ReturnMessage;
703: get_err_message(v_summary,NULL,-1, v_ReturnMessage);
704: x_ReturnMessage := v_ReturnMessage;
705: --
706: IF (l_debug <> -1) THEN
707: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
708: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
709: rlm_core_sv.dpop(g_SDEBUG,'e_RcvCalAPIFailed');
710: END IF;
711: --
704: x_ReturnMessage := v_ReturnMessage;
705: --
706: IF (l_debug <> -1) THEN
707: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
708: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
709: rlm_core_sv.dpop(g_SDEBUG,'e_RcvCalAPIFailed');
710: END IF;
711: --
712: WHEN e_SDPIntransitSetupDeliver THEN
705: --
706: IF (l_debug <> -1) THEN
707: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
708: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
709: rlm_core_sv.dpop(g_SDEBUG,'e_RcvCalAPIFailed');
710: END IF;
711: --
712: WHEN e_SDPIntransitSetupDeliver THEN
713: --
720: get_err_message( x_message,'RLM_INVALID_SDP_INTRANSIT',-1, v_ReturnMessage);
721: x_ReturnMessage := v_ReturnMessage;
722: --
723: IF (l_debug <> -1) THEN
724: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
725: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
726: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetupDeliver');
727: END IF;
728: --
721: x_ReturnMessage := v_ReturnMessage;
722: --
723: IF (l_debug <> -1) THEN
724: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
725: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
726: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetupDeliver');
727: END IF;
728: --
729: WHEN e_SDPIntransitSetupShip THEN
722: --
723: IF (l_debug <> -1) THEN
724: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
725: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
726: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetupDeliver');
727: END IF;
728: --
729: WHEN e_SDPIntransitSetupShip THEN
730: --
732: --
733: set_return_status(x_ReturnStatus,g_Error);
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
737: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
738: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetup');
739: END IF;
740: --
733: set_return_status(x_ReturnStatus,g_Error);
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
737: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
738: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetup');
739: END IF;
740: --
741: WHEN NO_DATA_FOUND THEN
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dlog(g_DEBUG,' x_message ',x_message);
737: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
738: rlm_core_sv.dpop(g_SDEBUG,'e_SDPIntransitSetup');
739: END IF;
740: --
741: WHEN NO_DATA_FOUND THEN
742: --
741: WHEN NO_DATA_FOUND THEN
742: --
743: set_return_status(x_ReturnStatus, g_Error);
744: IF v_entity = 'RCV' THEN
745: v_entity := rlm_core_sv.get_ship_from(v_Input.ShipFromOrgId);
746: ELSE
747: v_entity := rlm_core_sv.get_ship_to(v_Input.ShipToAddressId);
748: END IF;
749: rlm_message_sv.get_msg_text(
743: set_return_status(x_ReturnStatus, g_Error);
744: IF v_entity = 'RCV' THEN
745: v_entity := rlm_core_sv.get_ship_from(v_Input.ShipFromOrgId);
746: ELSE
747: v_entity := rlm_core_sv.get_ship_to(v_Input.ShipToAddressId);
748: END IF;
749: rlm_message_sv.get_msg_text(
750: x_message_name => 'RLM_NO_LOCATION_CODE',
751: x_text => x_message,
754: get_err_message( x_message,'RLM_NO_LOCATION_CODE',-1, v_ReturnMessage);
755: x_ReturnMessage := v_ReturnMessage;
756: --
757: IF (l_debug <> -1) THEN
758: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
759: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
760: rlm_core_sv.dpop(g_SDEBUG,'NO_DATA_FOUND');
761: END IF;
762: --
755: x_ReturnMessage := v_ReturnMessage;
756: --
757: IF (l_debug <> -1) THEN
758: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
759: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
760: rlm_core_sv.dpop(g_SDEBUG,'NO_DATA_FOUND');
761: END IF;
762: --
763: WHEN e_ErrorCondition THEN
756: --
757: IF (l_debug <> -1) THEN
758: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
759: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
760: rlm_core_sv.dpop(g_SDEBUG,'NO_DATA_FOUND');
761: END IF;
762: --
763: WHEN e_ErrorCondition THEN
764: --
764: --
765: x_ReturnMessage := v_ReturnMessage;
766: --
767: IF (l_debug <> -1) THEN
768: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
769: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
770: rlm_core_sv.dpop(g_SDEBUG,'e_ErrorCondition');
771: END IF;
772: --
765: x_ReturnMessage := v_ReturnMessage;
766: --
767: IF (l_debug <> -1) THEN
768: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
769: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
770: rlm_core_sv.dpop(g_SDEBUG,'e_ErrorCondition');
771: END IF;
772: --
773: WHEN e_SDPFailed THEN
766: --
767: IF (l_debug <> -1) THEN
768: rlm_core_sv.dlog(g_DEBUG,' x_ReturnMessage.COUNT ',x_ReturnMessage.COUNT);
769: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
770: rlm_core_sv.dpop(g_SDEBUG,'e_ErrorCondition');
771: END IF;
772: --
773: WHEN e_SDPFailed THEN
774: x_ReturnStatus := g_RaiseErr;
774: x_ReturnStatus := g_RaiseErr;
775: x_ReturnMessage := v_ReturnMessage;
776: --
777: IF (l_debug <> -1) THEN
778: rlm_core_sv.dpop(g_SDEBUG,'calc_scheduled_ship_date g_RaiseErr');
779: END IF;
780: --
781: WHEN OTHERS THEN
782: --
782: --
783: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.calc_scheduled_ship_date', v_Progress);
784: --
785: IF (l_debug <> -1) THEN
786: rlm_core_sv.dpop(g_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
787: END IF;
788: --
789: raise;
790: --
815: --
816: BEGIN
817: --
818: IF (l_debug <> -1) THEN
819: rlm_core_sv.dpush(g_SDEBUG,'determine_sdp_code');
820: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName ',ShipDeliveryRuleName );
821: rlm_core_sv.dlog(g_DEBUG,'use_edi_sdp_code_flag ',use_edi_sdp_code_flag );
822: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ',DefaultSDP );
823: END IF;
816: BEGIN
817: --
818: IF (l_debug <> -1) THEN
819: rlm_core_sv.dpush(g_SDEBUG,'determine_sdp_code');
820: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName ',ShipDeliveryRuleName );
821: rlm_core_sv.dlog(g_DEBUG,'use_edi_sdp_code_flag ',use_edi_sdp_code_flag );
822: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ',DefaultSDP );
823: END IF;
824: --
817: --
818: IF (l_debug <> -1) THEN
819: rlm_core_sv.dpush(g_SDEBUG,'determine_sdp_code');
820: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName ',ShipDeliveryRuleName );
821: rlm_core_sv.dlog(g_DEBUG,'use_edi_sdp_code_flag ',use_edi_sdp_code_flag );
822: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ',DefaultSDP );
823: END IF;
824: --
825: IF (nvl(use_edi_sdp_code_flag,'N') = 'Y' ) THEN
818: IF (l_debug <> -1) THEN
819: rlm_core_sv.dpush(g_SDEBUG,'determine_sdp_code');
820: rlm_core_sv.dlog(g_DEBUG,'ShipDeliveryRuleName ',ShipDeliveryRuleName );
821: rlm_core_sv.dlog(g_DEBUG,'use_edi_sdp_code_flag ',use_edi_sdp_code_flag );
822: rlm_core_sv.dlog(g_DEBUG,'DefaultSDP ',DefaultSDP );
823: END IF;
824: --
825: IF (nvl(use_edi_sdp_code_flag,'N') = 'Y' ) THEN
826: --
837: --
838: x_ReturnStatus := g_SUCCESS;
839: --
840: IF (l_debug <> -1) THEN
841: rlm_core_sv.dlog(g_DEBUG,'successful and value returned');
842: END IF;
843: --
844: ELSE
845: --
857: --
858: -- bug 1428466
859: --
860: IF (l_debug <> -1) THEN
861: rlm_core_sv.dlog(g_DEBUG,'Error Default SDP is NULL');
862: END IF;
863: --
864: rlm_message_sv.get_msg_text(
865: x_message_name => 'RLM_NULL_SDP',
864: rlm_message_sv.get_msg_text(
865: x_message_name => 'RLM_NULL_SDP',
866: x_text => x_message,
867: x_token1 => 'SHIPFROM',
868: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
869: x_token2 => 'CUSTOMER',
870: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
871: x_token3 => 'SHIPTO',
872: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
866: x_text => x_message,
867: x_token1 => 'SHIPFROM',
868: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
869: x_token2 => 'CUSTOMER',
870: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
871: x_token3 => 'SHIPTO',
872: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
873: get_err_message( x_message,'RLM_NULL_SDP',-1,
874: x_ReturnMessage);
868: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
869: x_token2 => 'CUSTOMER',
870: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
871: x_token3 => 'SHIPTO',
872: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
873: get_err_message( x_message,'RLM_NULL_SDP',-1,
874: x_ReturnMessage);
875: raise e_SDPFailed;
876: ELSE
876: ELSE
877: x_SdpCode := DefaultSDP;
878: --
879: IF (l_debug <> -1) THEN
880: rlm_core_sv.dlog(g_DEBUG,'invalid input sdp, defaults applied');
881: END IF;
882: --
883: END IF;
884: --
891: --
892: -- bug 1428466
893: --
894: IF (l_debug <> -1) THEN
895: rlm_core_sv.dlog(g_DEBUG,'Error Default SDP is NULL');
896: END IF;
897: --
898: rlm_message_sv.get_msg_text(
899: x_message_name => 'RLM_NULL_SDP',
898: rlm_message_sv.get_msg_text(
899: x_message_name => 'RLM_NULL_SDP',
900: x_text => x_message,
901: x_token1 => 'SHIPFROM',
902: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
903: x_token2 => 'CUSTOMER',
904: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
905: x_token3 => 'SHIPTO',
906: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
900: x_text => x_message,
901: x_token1 => 'SHIPFROM',
902: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
903: x_token2 => 'CUSTOMER',
904: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
905: x_token3 => 'SHIPTO',
906: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
907: get_err_message( x_message,'RLM_NULL_SDP',-1,
908: x_ReturnMessage);
902: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
903: x_token2 => 'CUSTOMER',
904: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
905: x_token3 => 'SHIPTO',
906: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
907: get_err_message( x_message,'RLM_NULL_SDP',-1,
908: x_ReturnMessage);
909: raise e_SDPFailed;
910: ELSE
914: rlm_message_sv.get_msg_text(
915: x_message_name => 'RLM_NULL_SDP_ON_EDI',
916: x_text => x_message,
917: x_token1 => 'SHIPFROM',
918: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
919: x_token2 => 'CUSTOMER',
920: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
921: x_token3 => 'SHIPTO',
922: x_value3 => rlm_core_sv.get_ship_to(x_shipTo),
916: x_text => x_message,
917: x_token1 => 'SHIPFROM',
918: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
919: x_token2 => 'CUSTOMER',
920: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
921: x_token3 => 'SHIPTO',
922: x_value3 => rlm_core_sv.get_ship_to(x_shipTo),
923: x_token4 => 'SDP_CODE',
924: x_value4 => DefaultSDP);
918: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
919: x_token2 => 'CUSTOMER',
920: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
921: x_token3 => 'SHIPTO',
922: x_value3 => rlm_core_sv.get_ship_to(x_shipTo),
923: x_token4 => 'SDP_CODE',
924: x_value4 => DefaultSDP);
925: EXCEPTION
926: WHEN OTHERS THEN
925: EXCEPTION
926: WHEN OTHERS THEN
927: --
928: IF (l_debug <> -1) THEN
929: rlm_core_sv.dlog(g_DEBUG,'Problem in creating the message: '||
930: 'RLM_NULL_SDP_ON_EDI');
931: END IF;
932: --
933: x_message := 'Could not create RLM_NULL_SDP_ON_EDI';
936: get_err_message( x_message,'RLM_NULL_SDP_ON_EDI',0,
937: x_ReturnMessage);
938: --
939: IF (l_debug <> -1) THEN
940: rlm_core_sv.dlog(g_DEBUG,'null input sdp, defaults applied');
941: END IF;
942: --
943: END IF;
944: --
951: x_SdpCode := DefaultSDP;
952: x_ReturnStatus := g_SUCCESS;
953: --
954: IF (l_debug <> -1) THEN
955: rlm_core_sv.dlog(g_DEBUG,'null input sdp, defaults applied');
956: END IF;
957: --
958: ELSE
959: --
963: rlm_message_sv.get_msg_text(
964: x_message_name => 'RLM_NULL_SDP',
965: x_text => x_message,
966: x_token1 => 'SHIPFROM',
967: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
968: x_token2 => 'CUSTOMER',
969: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
970: x_token3 => 'SHIPTO',
971: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
965: x_text => x_message,
966: x_token1 => 'SHIPFROM',
967: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
968: x_token2 => 'CUSTOMER',
969: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
970: x_token3 => 'SHIPTO',
971: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
972: get_err_message( x_message,'RLM_NULL_SDP',-1, x_ReturnMessage);
973: --
967: x_value1 => rlm_core_sv.get_ship_from(x_shipFromOrg),
968: x_token2 => 'CUSTOMER',
969: x_value2 => rlm_core_sv.get_customer_name(x_customer_id),
970: x_token3 => 'SHIPTO',
971: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
972: get_err_message( x_message,'RLM_NULL_SDP',-1, x_ReturnMessage);
973: --
974: IF (l_debug <> -1) THEN
975: rlm_core_sv.dlog(g_DEBUG,'null default sdp');
971: x_value3 => rlm_core_sv.get_ship_to(x_shipTo));
972: get_err_message( x_message,'RLM_NULL_SDP',-1, x_ReturnMessage);
973: --
974: IF (l_debug <> -1) THEN
975: rlm_core_sv.dlog(g_DEBUG,'null default sdp');
976: END IF;
977: --
978: raise e_SDPFailed;
979: --
981: --
982: END IF;
983: --
984: IF (l_debug <> -1) THEN
985: rlm_core_sv.dlog(g_DEBUG,'x_ReturnStatus ',x_ReturnStatus);
986: rlm_core_sv.dlog(g_DEBUG,'x_SdpCode', x_SdpCode);
987: rlm_core_sv.dpop(g_SDEBUG);
988: END IF;
989: --
982: END IF;
983: --
984: IF (l_debug <> -1) THEN
985: rlm_core_sv.dlog(g_DEBUG,'x_ReturnStatus ',x_ReturnStatus);
986: rlm_core_sv.dlog(g_DEBUG,'x_SdpCode', x_SdpCode);
987: rlm_core_sv.dpop(g_SDEBUG);
988: END IF;
989: --
990: EXCEPTION
983: --
984: IF (l_debug <> -1) THEN
985: rlm_core_sv.dlog(g_DEBUG,'x_ReturnStatus ',x_ReturnStatus);
986: rlm_core_sv.dlog(g_DEBUG,'x_SdpCode', x_SdpCode);
987: rlm_core_sv.dpop(g_SDEBUG);
988: END IF;
989: --
990: EXCEPTION
991: --
993: --
994: x_ReturnStatus := g_RaiseErr;
995: --
996: IF (l_debug <> -1) THEN
997: rlm_core_sv.dpop(g_SDEBUG,'determine_sdp_code, g_RaiseErr');
998: END IF;
999: --
1000: WHEN OTHERS THEN
1001: --
1002: x_ReturnStatus := g_ERROR;
1003: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.determine_sdp_code'
1004: ,v_Progress);
1005: IF (l_debug <> -1) THEN
1006: rlm_core_sv.dpop(g_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1007: END IF;
1008: --
1009: raise;
1010: --
1071:
1072: ==============================================================================*/
1073:
1074: FUNCTION find_daily_percent(x_RuleName IN VARCHAR2)
1075: RETURN rlm_core_sv.t_NumberTable
1076: IS
1077: --
1078: v_Progress VARCHAR2(3) :='010';
1079: v_DailyPercent rlm_core_sv.t_NumberTable;
1075: RETURN rlm_core_sv.t_NumberTable
1076: IS
1077: --
1078: v_Progress VARCHAR2(3) :='010';
1079: v_DailyPercent rlm_core_sv.t_NumberTable;
1080: --
1081: BEGIN
1082: --
1083: IF (l_debug <> -1) THEN
1080: --
1081: BEGIN
1082: --
1083: IF (l_debug <> -1) THEN
1084: rlm_core_sv.dpush(g_SDEBUG,'find_daily_percent');
1085: rlm_core_sv.dlog(g_DEBUG,'x_RuleName ',x_RuleName );
1086: END IF;
1087: --
1088: SELECT sunday_percent/100,
1081: BEGIN
1082: --
1083: IF (l_debug <> -1) THEN
1084: rlm_core_sv.dpush(g_SDEBUG,'find_daily_percent');
1085: rlm_core_sv.dlog(g_DEBUG,'x_RuleName ',x_RuleName );
1086: END IF;
1087: --
1088: SELECT sunday_percent/100,
1089: monday_percent/100,
1102: FROM rlm_ship_delivery_codes
1103: WHERE ship_delivery_rule_name = x_RuleName;
1104: --
1105: IF (l_debug <> -1) THEN
1106: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(1) ', v_DailyPercent(1));
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1103: WHERE ship_delivery_rule_name = x_RuleName;
1104: --
1105: IF (l_debug <> -1) THEN
1106: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(1) ', v_DailyPercent(1));
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1104: --
1105: IF (l_debug <> -1) THEN
1106: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(1) ', v_DailyPercent(1));
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1105: IF (l_debug <> -1) THEN
1106: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(1) ', v_DailyPercent(1));
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1113: rlm_core_sv.dpop(g_SDEBUG,'successfullly returned value');
1106: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(1) ', v_DailyPercent(1));
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1113: rlm_core_sv.dpop(g_SDEBUG,'successfullly returned value');
1114: END IF;
1107: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(2) ', v_DailyPercent(2));
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1113: rlm_core_sv.dpop(g_SDEBUG,'successfullly returned value');
1114: END IF;
1115: --
1108: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(3) ', v_DailyPercent(3));
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1113: rlm_core_sv.dpop(g_SDEBUG,'successfullly returned value');
1114: END IF;
1115: --
1116: RETURN(v_DailyPercent);
1109: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(4) ', v_DailyPercent(4));
1110: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(5) ', v_DailyPercent(5));
1111: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(6) ', v_DailyPercent(6));
1112: rlm_core_sv.dlog(g_DEBUG,'v_DailyPercent(7) ', v_DailyPercent(7));
1113: rlm_core_sv.dpop(g_SDEBUG,'successfullly returned value');
1114: END IF;
1115: --
1116: RETURN(v_DailyPercent);
1117: --
1121: --
1122: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.find_daily_percent', v_Progress);
1123: --
1124: IF (l_debug <> -1) THEN
1125: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: When no data found sql error');
1126: rlm_core_sv.dpop(g_SDEBUG);
1127: END IF;
1128: --
1129: raise;
1122: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.find_daily_percent', v_Progress);
1123: --
1124: IF (l_debug <> -1) THEN
1125: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: When no data found sql error');
1126: rlm_core_sv.dpop(g_SDEBUG);
1127: END IF;
1128: --
1129: raise;
1130: --
1132: --
1133: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.find_daily_percent', v_Progress);
1134: --
1135: IF (l_debug <> -1) THEN
1136: rlm_core_sv.dpop(g_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1137: END IF;
1138: --
1139: raise;
1140: --
1157:
1158: BEGIN
1159: --
1160: IF (l_debug <> -1) THEN
1161: rlm_core_sv.dpush(g_SDEBUG,'get_ship_method');
1162: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1163: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1164: rlm_core_sv.dlog(g_DEBUG,'x_CustomerItemId ',x_CustomerItemId);
1165: END IF;
1158: BEGIN
1159: --
1160: IF (l_debug <> -1) THEN
1161: rlm_core_sv.dpush(g_SDEBUG,'get_ship_method');
1162: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1163: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1164: rlm_core_sv.dlog(g_DEBUG,'x_CustomerItemId ',x_CustomerItemId);
1165: END IF;
1166: --
1159: --
1160: IF (l_debug <> -1) THEN
1161: rlm_core_sv.dpush(g_SDEBUG,'get_ship_method');
1162: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1163: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1164: rlm_core_sv.dlog(g_DEBUG,'x_CustomerItemId ',x_CustomerItemId);
1165: END IF;
1166: --
1167: SELECT ship_method
1160: IF (l_debug <> -1) THEN
1161: rlm_core_sv.dpush(g_SDEBUG,'get_ship_method');
1162: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1163: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1164: rlm_core_sv.dlog(g_DEBUG,'x_CustomerItemId ',x_CustomerItemId);
1165: END IF;
1166: --
1167: SELECT ship_method
1168: INTO v_ShipMethod
1179: WHERE ship_from_org_id = x_ShipFromOrgId AND
1180: address_id = x_ShipToAddressId;
1181: --
1182: IF (l_debug <> -1) THEN
1183: rlm_core_sv.dlog(g_DEBUG,'v_ShipMethod ',v_ShipMethod);
1184: rlm_core_sv.dpop(g_SDEBUG,'Found at Address level');
1185: END IF;
1186: --
1187: RETURN(v_ShipMethod);
1180: address_id = x_ShipToAddressId;
1181: --
1182: IF (l_debug <> -1) THEN
1183: rlm_core_sv.dlog(g_DEBUG,'v_ShipMethod ',v_ShipMethod);
1184: rlm_core_sv.dpop(g_SDEBUG,'Found at Address level');
1185: END IF;
1186: --
1187: RETURN(v_ShipMethod);
1188: --
1188: --
1189: ELSE
1190: --
1191: IF (l_debug <> -1) THEN
1192: rlm_core_sv.dlog(g_DEBUG,'v_ShipMethod ',v_ShipMethod);
1193: rlm_core_sv.dpop(g_SDEBUG,'Found at Item level');
1194: END IF;
1195: --
1196: RETURN(v_ShipMethod);
1189: ELSE
1190: --
1191: IF (l_debug <> -1) THEN
1192: rlm_core_sv.dlog(g_DEBUG,'v_ShipMethod ',v_ShipMethod);
1193: rlm_core_sv.dpop(g_SDEBUG,'Found at Item level');
1194: END IF;
1195: --
1196: RETURN(v_ShipMethod);
1197: --
1216:
1217: BEGIN
1218: --
1219: IF (l_debug <> -1) THEN
1220: rlm_core_sv.dpush(g_SDEBUG,'determine_lead_time');
1221: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1222: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1223: rlm_core_sv.dlog(g_DEBUG,'x_ShipMethod ',x_ShipMethod);
1224: END IF;
1217: BEGIN
1218: --
1219: IF (l_debug <> -1) THEN
1220: rlm_core_sv.dpush(g_SDEBUG,'determine_lead_time');
1221: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1222: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1223: rlm_core_sv.dlog(g_DEBUG,'x_ShipMethod ',x_ShipMethod);
1224: END IF;
1225: --
1218: --
1219: IF (l_debug <> -1) THEN
1220: rlm_core_sv.dpush(g_SDEBUG,'determine_lead_time');
1221: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1222: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1223: rlm_core_sv.dlog(g_DEBUG,'x_ShipMethod ',x_ShipMethod);
1224: END IF;
1225: --
1226: SELECT intransit_time, time_uom_code
1219: IF (l_debug <> -1) THEN
1220: rlm_core_sv.dpush(g_SDEBUG,'determine_lead_time');
1221: rlm_core_sv.dlog(g_DEBUG,'x_ShipFromOrgId ',x_ShipFromOrgId);
1222: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_ShipToAddressId);
1223: rlm_core_sv.dlog(g_DEBUG,'x_ShipMethod ',x_ShipMethod);
1224: END IF;
1225: --
1226: SELECT intransit_time, time_uom_code
1227: INTO v_LeadTime.Time, v_LeadTime.Uom
1234: v_LeadTime.Uom := 'DAY';
1235: END IF;
1236: --
1237: IF (l_debug <> -1) THEN
1238: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Time ',v_LeadTime.Time);
1239: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Uom ',v_LeadTime.Uom);
1240: rlm_core_sv.dpop(g_SDEBUG,'Lead time found');
1241: END IF;
1242: --
1235: END IF;
1236: --
1237: IF (l_debug <> -1) THEN
1238: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Time ',v_LeadTime.Time);
1239: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Uom ',v_LeadTime.Uom);
1240: rlm_core_sv.dpop(g_SDEBUG,'Lead time found');
1241: END IF;
1242: --
1243: RETURN(v_LeadTime);
1236: --
1237: IF (l_debug <> -1) THEN
1238: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Time ',v_LeadTime.Time);
1239: rlm_core_sv.dlog(g_DEBUG,'v_LeadTime.Uom ',v_LeadTime.Uom);
1240: rlm_core_sv.dpop(g_SDEBUG,'Lead time found');
1241: END IF;
1242: --
1243: RETURN(v_LeadTime);
1244: --
1245: EXCEPTION
1246: WHEN NO_DATA_FOUND THEN
1247: --
1248: IF (l_debug <> -1) THEN
1249: rlm_core_sv.dpop(g_SDEBUG,'Lead time not found');
1250: END IF;
1251: --
1252: RETURN(null);
1253: --
1278:
1279: BEGIN
1280: --
1281: IF (l_debug <> -1) THEN
1282: rlm_core_sv.dpush(g_SDEBUG,'break_bucket');
1283: END IF;
1284: --
1285: /*Check if input Primary Quantity is a whole number*/
1286: --
1300: --
1301: v_LastDayQuarter := last_day(ADD_MONTHS(x_Input.StartDateTime,2));
1302: --
1303: IF (l_debug <> -1) THEN
1304: rlm_core_sv.dlog(g_DEBUG,'v_LastDayQuarter', v_LastDayQuarter);
1305: END IF;
1306: --
1307: v_WeeksInQuarter := TRUNC((v_LastDayQuarter -
1308: x_Input.StartDateTime)/7 );
1307: v_WeeksInQuarter := TRUNC((v_LastDayQuarter -
1308: x_Input.StartDateTime)/7 );
1309: --
1310: IF (l_debug <> -1) THEN
1311: rlm_core_sv.dlog(g_DEBUG,'v_WeeksInQuarter', v_WeeksInQuarter);
1312: END IF;
1313: --
1314: FOR week IN 0..v_WeeksInQuarter-1 LOOP
1315: --
1313: --
1314: FOR week IN 0..v_WeeksInQuarter-1 LOOP
1315: --
1316: IF (l_debug <> -1) THEN
1317: rlm_core_sv.dlog(g_DEBUG,'week', week);
1318: END IF;
1319: --
1320: x_WeeklyBucket(v_Count).StartDateTime :=
1321: x_Input.StartDateTime + 7*week;
1320: x_WeeklyBucket(v_Count).StartDateTime :=
1321: x_Input.StartDateTime + 7*week;
1322: --
1323: IF (l_debug <> -1) THEN
1324: rlm_core_sv.dlog(g_DEBUG,'StartDateTime ',
1325: x_WeeklyBucket(v_Count).StartDateTime);
1326: END IF;
1327: --
1328: x_WeeklyBucket(v_Count).PrimaryQuantity :=
1331: x_Input,
1332: v_WeeksInQuarter);
1333: --
1334: IF (l_debug <> -1) THEN
1335: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity',
1336: x_WeeklyBucket(v_Count).PrimaryQuantity);
1337: END IF;
1338: --
1339: v_Count := v_Count + 1;
1338: --
1339: v_Count := v_Count + 1;
1340: --
1341: IF (l_debug <> -1) THEN
1342: rlm_core_sv.dlog(g_DEBUG,'v_Count', v_Count);
1343: END IF;
1344: --
1345: END LOOP;
1346: --
1356: FOR day IN 0..3 LOOP
1357: x_WeeklyBucket(v_Count).StartDateTime := x_Input.StartDateTime + 7*day;
1358: --
1359: IF (l_debug <> -1) THEN
1360: rlm_core_sv.dlog(g_DEBUG,'StartDateTime ', x_WeeklyBucket(v_Count).StartDateTime);
1361: END IF;
1362: x_WeeklyBucket(v_Count).PrimaryQuantity := RLM_TPA_SV.get_weekly_quantity(v_WholeNumber, v_Count,
1363: x_Input, 4);
1364: --
1362: x_WeeklyBucket(v_Count).PrimaryQuantity := RLM_TPA_SV.get_weekly_quantity(v_WholeNumber, v_Count,
1363: x_Input, 4);
1364: --
1365: IF (l_debug <> -1) THEN
1366: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity', x_WeeklyBucket(v_Count).PrimaryQuantity);
1367: END IF;
1368: --
1369: v_Count := v_Count + 1;
1370: --
1384: --
1385: x_WeeklyBucket(v_Count).StartDateTime := x_Input.StartDateTime + 7*(v_Count-1);
1386: --
1387: IF (l_debug <> -1) THEN
1388: rlm_core_sv.dlog(g_DEBUG,'StartDateTime ', x_WeeklyBucket(v_Count).StartDateTime);
1389: END IF;
1390: --
1391: x_WeeklyBucket(v_Count).PrimaryQuantity := RLM_TPA_SV.get_weekly_quantity(v_WholeNumber, v_Count,
1392: x_Input, v_Buckets);
1391: x_WeeklyBucket(v_Count).PrimaryQuantity := RLM_TPA_SV.get_weekly_quantity(v_WholeNumber, v_Count,
1392: x_Input, v_Buckets);
1393: --
1394: IF (l_debug <> -1) THEN
1395: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity', x_WeeklyBucket(v_Count).PrimaryQuantity);
1396: END IF;
1397: --
1398: END LOOP;
1399: --
1408: x_WeeklyBucket(v_Count).StartDateTime := x_Input.StartDateTime;
1409: x_WeeklyBucket(v_Count).PrimaryQuantity := x_Input.PrimaryQuantity;
1410: --
1411: IF (l_debug <> -1) THEN
1412: rlm_core_sv.dlog(g_DEBUG,'StartDateTime ', x_WeeklyBucket(v_Count).StartDateTime);
1413: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity', x_WeeklyBucket(v_Count).PrimaryQuantity);
1414: END IF;
1415: --
1416: END IF;
1409: x_WeeklyBucket(v_Count).PrimaryQuantity := x_Input.PrimaryQuantity;
1410: --
1411: IF (l_debug <> -1) THEN
1412: rlm_core_sv.dlog(g_DEBUG,'StartDateTime ', x_WeeklyBucket(v_Count).StartDateTime);
1413: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity', x_WeeklyBucket(v_Count).PrimaryQuantity);
1414: END IF;
1415: --
1416: END IF;
1417: --
1432: --
1433: x_ReturnStatus := g_SUCCESS;
1434: --
1435: IF (l_debug <> -1) THEN
1436: rlm_core_sv.dlog(g_DEBUG,' Num of recs in x_WeeklyBucket',x_WeeklyBucket.COUNT);
1437: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
1438: rlm_core_sv.dpop(g_SDEBUG,'successful');
1439: END IF;
1440: --
1433: x_ReturnStatus := g_SUCCESS;
1434: --
1435: IF (l_debug <> -1) THEN
1436: rlm_core_sv.dlog(g_DEBUG,' Num of recs in x_WeeklyBucket',x_WeeklyBucket.COUNT);
1437: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
1438: rlm_core_sv.dpop(g_SDEBUG,'successful');
1439: END IF;
1440: --
1441: EXCEPTION
1434: --
1435: IF (l_debug <> -1) THEN
1436: rlm_core_sv.dlog(g_DEBUG,' Num of recs in x_WeeklyBucket',x_WeeklyBucket.COUNT);
1437: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
1438: rlm_core_sv.dpop(g_SDEBUG,'successful');
1439: END IF;
1440: --
1441: EXCEPTION
1442: WHEN v_WrongDateException THEN
1442: WHEN v_WrongDateException THEN
1443: x_ReturnStatus := g_ERROR;
1444: --
1445: IF (l_debug <> -1) THEN
1446: rlm_core_sv.dlog(g_DEBUG,' x_ReturnStatus ',x_ReturnStatus);
1447: END IF;
1448: --
1449: rlm_message_sv.get_msg_text(x_message_name => 'RLM_INVALID_DATE_FOR_BUCKET',
1450: x_text => x_message,
1450: x_text => x_message,
1451: x_token1 => 'START_DATE',
1452: x_value1 => x_Input.StartDateTime,
1453: x_token2 => 'BUCKET',
1454: x_value2 => rlm_core_sv.get_lookup_meaning('RLM_DEMAND_SUBTYPE',
1455: x_Input.ItemDetailSubType));
1456: get_err_message( x_message,'RLM_INVALID_DATE_FOR_BUCKET',-1, x_ReturnMessage);
1457: --
1458: IF (l_debug <> -1) THEN
1455: x_Input.ItemDetailSubType));
1456: get_err_message( x_message,'RLM_INVALID_DATE_FOR_BUCKET',-1, x_ReturnMessage);
1457: --
1458: IF (l_debug <> -1) THEN
1459: rlm_core_sv.dpop(g_SDEBUG,'unsuccessful');
1460: END IF;
1461: --
1462: END break_bucket;
1463:
1482: --
1483: BEGIN
1484: --
1485: IF (l_debug <> -1) THEN
1486: rlm_core_sv.dpush(g_SDEBUG,'get_weekly_quantity');
1487: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1488: rlm_core_sv.dlog(g_DEBUG,'x_Count ',x_Count );
1489: rlm_core_sv.dlog(g_DEBUG,'x_Quantity ',x_Input.PrimaryQuantity);
1490: rlm_core_sv.dlog(g_DEBUG,'x_DivideBy ',x_DivideBy );
1483: BEGIN
1484: --
1485: IF (l_debug <> -1) THEN
1486: rlm_core_sv.dpush(g_SDEBUG,'get_weekly_quantity');
1487: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1488: rlm_core_sv.dlog(g_DEBUG,'x_Count ',x_Count );
1489: rlm_core_sv.dlog(g_DEBUG,'x_Quantity ',x_Input.PrimaryQuantity);
1490: rlm_core_sv.dlog(g_DEBUG,'x_DivideBy ',x_DivideBy );
1491: END IF;
1484: --
1485: IF (l_debug <> -1) THEN
1486: rlm_core_sv.dpush(g_SDEBUG,'get_weekly_quantity');
1487: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1488: rlm_core_sv.dlog(g_DEBUG,'x_Count ',x_Count );
1489: rlm_core_sv.dlog(g_DEBUG,'x_Quantity ',x_Input.PrimaryQuantity);
1490: rlm_core_sv.dlog(g_DEBUG,'x_DivideBy ',x_DivideBy );
1491: END IF;
1492: --
1485: IF (l_debug <> -1) THEN
1486: rlm_core_sv.dpush(g_SDEBUG,'get_weekly_quantity');
1487: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1488: rlm_core_sv.dlog(g_DEBUG,'x_Count ',x_Count );
1489: rlm_core_sv.dlog(g_DEBUG,'x_Quantity ',x_Input.PrimaryQuantity);
1490: rlm_core_sv.dlog(g_DEBUG,'x_DivideBy ',x_DivideBy );
1491: END IF;
1492: --
1493: x_Quantity := x_Input.PrimaryQuantity;
1486: rlm_core_sv.dpush(g_SDEBUG,'get_weekly_quantity');
1487: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1488: rlm_core_sv.dlog(g_DEBUG,'x_Count ',x_Count );
1489: rlm_core_sv.dlog(g_DEBUG,'x_Quantity ',x_Input.PrimaryQuantity);
1490: rlm_core_sv.dlog(g_DEBUG,'x_DivideBy ',x_DivideBy );
1491: END IF;
1492: --
1493: x_Quantity := x_Input.PrimaryQuantity;
1494: v_TruncateTo := get_precision();
1508: END IF;
1509: END IF;
1510: --
1511: IF (l_debug <> -1) THEN
1512: rlm_core_sv.dlog(g_DEBUG,' v_WeeklyQuantity ',v_WeeklyQuantity);
1513: rlm_core_sv.dpop(g_SDEBUG,'successful');
1514: END IF;
1515: --
1516: RETURN(v_WeeklyQuantity);
1509: END IF;
1510: --
1511: IF (l_debug <> -1) THEN
1512: rlm_core_sv.dlog(g_DEBUG,' v_WeeklyQuantity ',v_WeeklyQuantity);
1513: rlm_core_sv.dpop(g_SDEBUG,'successful');
1514: END IF;
1515: --
1516: RETURN(v_WeeklyQuantity);
1517: --
1528: IS
1529: BEGIN
1530: --
1531: IF (l_debug <> -1) THEN
1532: rlm_core_sv.dpush(g_SDEBUG,'get_precision');
1533: rlm_core_sv.dlog(g_DEBUG,' g_PRECISION ',g_PRECISION );
1534: rlm_core_sv.dpop(g_SDEBUG,'successful');
1535: END IF;
1536: --
1529: BEGIN
1530: --
1531: IF (l_debug <> -1) THEN
1532: rlm_core_sv.dpush(g_SDEBUG,'get_precision');
1533: rlm_core_sv.dlog(g_DEBUG,' g_PRECISION ',g_PRECISION );
1534: rlm_core_sv.dpop(g_SDEBUG,'successful');
1535: END IF;
1536: --
1537: RETURN(g_PRECISION);
1530: --
1531: IF (l_debug <> -1) THEN
1532: rlm_core_sv.dpush(g_SDEBUG,'get_precision');
1533: rlm_core_sv.dlog(g_DEBUG,' g_PRECISION ',g_PRECISION );
1534: rlm_core_sv.dpop(g_SDEBUG,'successful');
1535: END IF;
1536: --
1537: RETURN(g_PRECISION);
1538: --
1547:
1548: PROCEDURE apply_sdp_to_weekly_bucket(
1549: x_Input IN RLM_SHIP_DELIVERY_PATTERN_SV.t_InputRec,
1550: x_ItemDetailSubtype IN VARCHAR2,
1551: x_DailyPercent IN rlm_core_sv.t_NumberTable,
1552: x_StartDateTime IN DATE,
1553: x_PrimaryQuantity IN NUMBER,
1554: x_WholeNumber IN BOOLEAN,
1555: x_QuantityDate IN OUT NOCOPY RLM_SHIP_DELIVERY_PATTERN_SV.t_OutputTable)
1564: x_message VARCHAR2(4000);
1565: BEGIN
1566: --
1567: IF (l_debug <> -1) THEN
1568: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_weekly_bucket');
1569: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype ',x_ItemDetailSubtype );
1570: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime ',x_StartDateTime );
1571: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity ',x_PrimaryQuantity );
1572: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1565: BEGIN
1566: --
1567: IF (l_debug <> -1) THEN
1568: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_weekly_bucket');
1569: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype ',x_ItemDetailSubtype );
1570: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime ',x_StartDateTime );
1571: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity ',x_PrimaryQuantity );
1572: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1573: END IF;
1566: --
1567: IF (l_debug <> -1) THEN
1568: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_weekly_bucket');
1569: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype ',x_ItemDetailSubtype );
1570: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime ',x_StartDateTime );
1571: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity ',x_PrimaryQuantity );
1572: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1573: END IF;
1574: --
1567: IF (l_debug <> -1) THEN
1568: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_weekly_bucket');
1569: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype ',x_ItemDetailSubtype );
1570: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime ',x_StartDateTime );
1571: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity ',x_PrimaryQuantity );
1572: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1573: END IF;
1574: --
1575: v_TruncateTo := get_precision();
1568: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_weekly_bucket');
1569: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype ',x_ItemDetailSubtype );
1570: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime ',x_StartDateTime );
1571: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity ',x_PrimaryQuantity );
1572: rlm_core_sv.dlog(g_DEBUG,'x_WholeNumber ',x_WholeNumber );
1573: END IF;
1574: --
1575: v_TruncateTo := get_precision();
1576: v_Count := x_QuantityDate.COUNT + 1;
1577: v_InitialCount := v_Count;
1578: v_MondayDate := RLM_TPA_SV.find_monday_date(x_Input, x_StartDateTime);
1579: --
1580: IF (l_debug <> -1) THEN
1581: rlm_core_sv.dlog(g_DEBUG,'v_TruncateTo ',v_TruncateTo );
1582: rlm_core_sv.dlog(g_DEBUG,'v_Count ',v_Count );
1583: rlm_core_sv.dlog(g_DEBUG,'v_MondayDate ',v_MondayDate );
1584: END IF;
1585: --
1578: v_MondayDate := RLM_TPA_SV.find_monday_date(x_Input, x_StartDateTime);
1579: --
1580: IF (l_debug <> -1) THEN
1581: rlm_core_sv.dlog(g_DEBUG,'v_TruncateTo ',v_TruncateTo );
1582: rlm_core_sv.dlog(g_DEBUG,'v_Count ',v_Count );
1583: rlm_core_sv.dlog(g_DEBUG,'v_MondayDate ',v_MondayDate );
1584: END IF;
1585: --
1586: FOR i IN 1..7 LOOP
1579: --
1580: IF (l_debug <> -1) THEN
1581: rlm_core_sv.dlog(g_DEBUG,'v_TruncateTo ',v_TruncateTo );
1582: rlm_core_sv.dlog(g_DEBUG,'v_Count ',v_Count );
1583: rlm_core_sv.dlog(g_DEBUG,'v_MondayDate ',v_MondayDate );
1584: END IF;
1585: --
1586: FOR i IN 1..7 LOOP
1587: --
1587: --
1588: IF (x_DailyPercent(i) > 0) THEN
1589: --
1590: IF (l_debug <> -1) THEN
1591: rlm_core_sv.dlog(g_DEBUG,'x_DailyPercent(i)',x_DailyPercent(i));
1592: END IF;
1593: --
1594: x_QuantityDate(v_Count).PlannedReceiveDate := v_MondayDate +
1595: (i - g_MondayDOW);
1611: --
1612: END IF;
1613: --
1614: IF (l_debug <> -1) THEN
1615: rlm_core_sv.dlog(g_DEBUG,'PlannedReceiveDate ',
1616: x_QuantityDate(v_Count).PlannedReceiveDate);
1617: rlm_core_sv.dlog(g_DEBUG,'PlannedShipmentDate ',
1618: x_QuantityDate(v_Count).PlannedShipmentDate);
1619: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',
1613: --
1614: IF (l_debug <> -1) THEN
1615: rlm_core_sv.dlog(g_DEBUG,'PlannedReceiveDate ',
1616: x_QuantityDate(v_Count).PlannedReceiveDate);
1617: rlm_core_sv.dlog(g_DEBUG,'PlannedShipmentDate ',
1618: x_QuantityDate(v_Count).PlannedShipmentDate);
1619: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',
1620: x_QuantityDate(v_Count).PrimaryQuantity);
1621: END IF;
1615: rlm_core_sv.dlog(g_DEBUG,'PlannedReceiveDate ',
1616: x_QuantityDate(v_Count).PlannedReceiveDate);
1617: rlm_core_sv.dlog(g_DEBUG,'PlannedShipmentDate ',
1618: x_QuantityDate(v_Count).PlannedShipmentDate);
1619: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',
1620: x_QuantityDate(v_Count).PrimaryQuantity);
1621: END IF;
1622: --
1623: v_Changed := TRUE;
1629: --
1630: IF (v_Changed = TRUE) THEN
1631: --
1632: IF (l_debug <> -1) THEN
1633: rlm_core_sv.dlog(g_DEBUG,'v_Changed is TRUE ');
1634: END IF;
1635: --
1636: x_QuantityDate(v_InitialCount).PrimaryQuantity :=
1637: x_QuantityDate(v_InitialCount).PrimaryQuantity +
1638: (x_PrimaryQuantity - v_Sum);
1639: x_QuantityDate(v_InitialCount).ItemDetailSubtype := g_Day;
1640: --
1641: IF (l_debug <> -1) THEN
1642: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',
1643: x_QuantityDate(v_InitialCount).PrimaryQuantity);
1644: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype ',
1645: x_QuantityDate(v_InitialCount).ItemDetailSubtype);
1646: END IF;
1640: --
1641: IF (l_debug <> -1) THEN
1642: rlm_core_sv.dlog(g_DEBUG,'PrimaryQuantity ',
1643: x_QuantityDate(v_InitialCount).PrimaryQuantity);
1644: rlm_core_sv.dlog(g_DEBUG,'ItemDetailSubtype ',
1645: x_QuantityDate(v_InitialCount).ItemDetailSubtype);
1646: END IF;
1647: --
1648: ELSIF (v_Changed = FALSE) THEN
1655: --
1656: x_QuantityDate(v_Count).ItemDetailSubtype := g_Day;
1657: --
1658: IF (l_debug <> -1) THEN
1659: rlm_core_sv.dlog(g_DEBUG ,'PlannedReceiveDate ',
1660: x_QuantityDate(v_Count).PlannedReceiveDate);
1661: rlm_core_sv.dlog(g_DEBUG, 'PlannedShipmentDate ',
1662: x_QuantityDate(v_Count).PlannedShipmentDate);
1663: rlm_core_sv.dlog(g_DEBUG, 'PrimaryQuantity ',
1657: --
1658: IF (l_debug <> -1) THEN
1659: rlm_core_sv.dlog(g_DEBUG ,'PlannedReceiveDate ',
1660: x_QuantityDate(v_Count).PlannedReceiveDate);
1661: rlm_core_sv.dlog(g_DEBUG, 'PlannedShipmentDate ',
1662: x_QuantityDate(v_Count).PlannedShipmentDate);
1663: rlm_core_sv.dlog(g_DEBUG, 'PrimaryQuantity ',
1664: x_QuantityDate(v_Count).PrimaryQuantity);
1665: END IF;
1659: rlm_core_sv.dlog(g_DEBUG ,'PlannedReceiveDate ',
1660: x_QuantityDate(v_Count).PlannedReceiveDate);
1661: rlm_core_sv.dlog(g_DEBUG, 'PlannedShipmentDate ',
1662: x_QuantityDate(v_Count).PlannedShipmentDate);
1663: rlm_core_sv.dlog(g_DEBUG, 'PrimaryQuantity ',
1664: x_QuantityDate(v_Count).PrimaryQuantity);
1665: END IF;
1666: --
1667: END IF;
1666: --
1667: END IF;
1668: --
1669: IF (l_debug <> -1) THEN
1670: rlm_core_sv.dpop(g_SDEBUG,'successful');
1671: END IF;
1672: --
1673: EXCEPTION
1674: --
1676: --
1677: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.apply_sdp_to_weekly_bucket', v_Progress);
1678: --
1679: IF (l_debug <> -1) THEN
1680: rlm_core_sv.dpop(g_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
1681: END IF;
1682: --
1683: raise;
1684: --
1693:
1694: PROCEDURE apply_sdp_to_daily_bucket(
1695: x_input IN rlm_ship_delivery_pattern_sv.t_InputRec,
1696: x_ItemDetailSubtype IN VARCHAR2,
1697: x_DailyPercent IN rlm_core_sv.t_NumberTable,
1698: x_StartDateTime IN DATE,
1699: x_PrimaryQuantity IN NUMBER,
1700: x_QuantityDate IN OUT NOCOPY rlm_ship_delivery_pattern_sv.t_OutputTable)
1701: IS
1704:
1705: BEGIN
1706: --
1707: IF (l_debug <> -1) THEN
1708: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_daily_bucket');
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1705: BEGIN
1706: --
1707: IF (l_debug <> -1) THEN
1708: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_daily_bucket');
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1713: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity',x_Input.PrimaryQuantity);
1706: --
1707: IF (l_debug <> -1) THEN
1708: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_daily_bucket');
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1713: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity',x_Input.PrimaryQuantity);
1714: END IF;
1707: IF (l_debug <> -1) THEN
1708: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_daily_bucket');
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1713: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity',x_Input.PrimaryQuantity);
1714: END IF;
1715: --
1708: rlm_core_sv.dpush(g_SDEBUG,'apply_sdp_to_daily_bucket');
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1713: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity',x_Input.PrimaryQuantity);
1714: END IF;
1715: --
1716: IF(RLM_TPA_SV.valid_sdp_date(x_Input,x_DailyPercent)) THEN
1709: rlm_core_sv.dlog(g_DEBUG,'CustomerId',x_Input.CustomerId);
1710: rlm_core_sv.dlog(g_DEBUG,'ShipFromOrgId',x_Input.ShipFromOrgId);
1711: rlm_core_sv.dlog(g_DEBUG,'x_ItemDetailSubtype', x_Input.ItemDetailSubtype );
1712: rlm_core_sv.dlog(g_DEBUG,'x_StartDateTime', x_Input.StartDateTime);
1713: rlm_core_sv.dlog(g_DEBUG,'x_PrimaryQuantity',x_Input.PrimaryQuantity);
1714: END IF;
1715: --
1716: IF(RLM_TPA_SV.valid_sdp_date(x_Input,x_DailyPercent)) THEN
1717: --
1731: x_QuantityDate(1).PrimaryQuantity := x_Input.PrimaryQuantity;
1732: x_QuantityDate(1).ItemDetailSubtype := g_Day;
1733: --
1734: IF (l_debug <> -1) THEN
1735: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedReceiveDate',
1736: x_QuantityDate(1).PlannedReceiveDate);
1737: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedShipmentDate',
1738: x_QuantityDate(1).PlannedShipmentDate);
1739: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PrimaryQuantity',
1733: --
1734: IF (l_debug <> -1) THEN
1735: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedReceiveDate',
1736: x_QuantityDate(1).PlannedReceiveDate);
1737: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedShipmentDate',
1738: x_QuantityDate(1).PlannedShipmentDate);
1739: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PrimaryQuantity',
1740: x_QuantityDate(1).PrimaryQuantity);
1741: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).ItemDetailSubtype',
1735: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedReceiveDate',
1736: x_QuantityDate(1).PlannedReceiveDate);
1737: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedShipmentDate',
1738: x_QuantityDate(1).PlannedShipmentDate);
1739: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PrimaryQuantity',
1740: x_QuantityDate(1).PrimaryQuantity);
1741: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).ItemDetailSubtype',
1742: x_QuantityDate(1).ItemDetailSubtype);
1743: rlm_core_sv.dpop(g_SDEBUG,'successful');
1737: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PlannedShipmentDate',
1738: x_QuantityDate(1).PlannedShipmentDate);
1739: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PrimaryQuantity',
1740: x_QuantityDate(1).PrimaryQuantity);
1741: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).ItemDetailSubtype',
1742: x_QuantityDate(1).ItemDetailSubtype);
1743: rlm_core_sv.dpop(g_SDEBUG,'successful');
1744: END IF;
1745: --
1739: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).PrimaryQuantity',
1740: x_QuantityDate(1).PrimaryQuantity);
1741: rlm_core_sv.dlog(g_DEBUG,'x_QuantityDate(1).ItemDetailSubtype',
1742: x_QuantityDate(1).ItemDetailSubtype);
1743: rlm_core_sv.dpop(g_SDEBUG,'successful');
1744: END IF;
1745: --
1746: END apply_sdp_to_daily_bucket;
1747:
1763:
1764: BEGIN
1765: --
1766: IF (l_debug <> -1) THEN
1767: rlm_core_sv.dpush(g_SDEBUG,'check_start_date');
1768: rlm_core_sv.dlog(g_DEBUG, 'x_StartDateTime', x_Input.StartDateTime );
1769: rlm_core_sv.dlog(g_DEBUG, 'x_BucketType', x_BucketType );
1770: rlm_core_sv.dlog(g_DEBUG, 'v_ReturnStatus', v_ReturnStatus );
1771: END IF;
1764: BEGIN
1765: --
1766: IF (l_debug <> -1) THEN
1767: rlm_core_sv.dpush(g_SDEBUG,'check_start_date');
1768: rlm_core_sv.dlog(g_DEBUG, 'x_StartDateTime', x_Input.StartDateTime );
1769: rlm_core_sv.dlog(g_DEBUG, 'x_BucketType', x_BucketType );
1770: rlm_core_sv.dlog(g_DEBUG, 'v_ReturnStatus', v_ReturnStatus );
1771: END IF;
1772:
1765: --
1766: IF (l_debug <> -1) THEN
1767: rlm_core_sv.dpush(g_SDEBUG,'check_start_date');
1768: rlm_core_sv.dlog(g_DEBUG, 'x_StartDateTime', x_Input.StartDateTime );
1769: rlm_core_sv.dlog(g_DEBUG, 'x_BucketType', x_BucketType );
1770: rlm_core_sv.dlog(g_DEBUG, 'v_ReturnStatus', v_ReturnStatus );
1771: END IF;
1772:
1773: --
1766: IF (l_debug <> -1) THEN
1767: rlm_core_sv.dpush(g_SDEBUG,'check_start_date');
1768: rlm_core_sv.dlog(g_DEBUG, 'x_StartDateTime', x_Input.StartDateTime );
1769: rlm_core_sv.dlog(g_DEBUG, 'x_BucketType', x_BucketType );
1770: rlm_core_sv.dlog(g_DEBUG, 'v_ReturnStatus', v_ReturnStatus );
1771: END IF;
1772:
1773: --
1774: -- Bug 1867988
1814: */
1815:
1816: --
1817: IF (l_debug <> -1) THEN
1818: rlm_core_sv.dlog(g_DEBUG,' v_ReturnStatus', v_ReturnStatus );
1819: rlm_core_sv.dpop(g_SDEBUG,'check_start_date exited');
1820: END IF;
1821: --
1822: RETURN(v_ReturnStatus);
1815:
1816: --
1817: IF (l_debug <> -1) THEN
1818: rlm_core_sv.dlog(g_DEBUG,' v_ReturnStatus', v_ReturnStatus );
1819: rlm_core_sv.dpop(g_SDEBUG,'check_start_date exited');
1820: END IF;
1821: --
1822: RETURN(v_ReturnStatus);
1823: --
1838: x_message VARCHAR2(4000);
1839: BEGIN
1840: --
1841: IF (l_debug <> -1) THEN
1842: rlm_core_sv.dpush(g_SDEBUG,'find_monday_date');
1843: rlm_core_sv.dlog(g_DEBUG,' x_Date', x_Date );
1844: rlm_core_sv.dlog(g_DEBUG,' g_SundayDOW ', g_SundayDOW);
1845: END IF;
1846: --
1839: BEGIN
1840: --
1841: IF (l_debug <> -1) THEN
1842: rlm_core_sv.dpush(g_SDEBUG,'find_monday_date');
1843: rlm_core_sv.dlog(g_DEBUG,' x_Date', x_Date );
1844: rlm_core_sv.dlog(g_DEBUG,' g_SundayDOW ', g_SundayDOW);
1845: END IF;
1846: --
1847: IF (to_char(x_Date,'D') = g_SundayDOW ) THEN
1840: --
1841: IF (l_debug <> -1) THEN
1842: rlm_core_sv.dpush(g_SDEBUG,'find_monday_date');
1843: rlm_core_sv.dlog(g_DEBUG,' x_Date', x_Date );
1844: rlm_core_sv.dlog(g_DEBUG,' g_SundayDOW ', g_SundayDOW);
1845: END IF;
1846: --
1847: IF (to_char(x_Date,'D') = g_SundayDOW ) THEN
1848: v_MondayDate := x_Date + 1;
1858: END IF;
1859: */
1860: --
1861: IF (l_debug <> -1) THEN
1862: rlm_core_sv.dlog(g_DEBUG,' v_MondayDate ', v_MondayDate);
1863: rlm_core_sv.dpop(g_SDEBUG,'value returned');
1864: END IF;
1865: --
1866: RETURN(v_MondayDate);
1859: */
1860: --
1861: IF (l_debug <> -1) THEN
1862: rlm_core_sv.dlog(g_DEBUG,' v_MondayDate ', v_MondayDate);
1863: rlm_core_sv.dpop(g_SDEBUG,'value returned');
1864: END IF;
1865: --
1866: RETURN(v_MondayDate);
1867: --
1875: ==============================================================================*/
1876:
1877: FUNCTION valid_sdp_date(
1878: x_Input IN rlm_ship_delivery_pattern_sv.t_InputRec,
1879: x_DailyPercent IN rlm_core_sv.t_NumberTable)
1880: RETURN BOOLEAN
1881: IS
1882: v_Valid BOOLEAN := FALSE;
1883: v_DayCount NUMBER := 1;
1884: x_message VARCHAR2(4000);
1885: BEGIN
1886: --
1887: IF (l_debug <> -1) THEN
1888: rlm_core_sv.dpush(g_SDEBUG,'valid_sdp_date');
1889: rlm_core_sv.dlog(g_DEBUG,'x_Date', x_Input.StartDateTime);
1890: --rlm_core_sv.dlog(g_DEBUG,'x_DailyPercent', x_DailyPercent);
1891: END IF;
1892: --
1885: BEGIN
1886: --
1887: IF (l_debug <> -1) THEN
1888: rlm_core_sv.dpush(g_SDEBUG,'valid_sdp_date');
1889: rlm_core_sv.dlog(g_DEBUG,'x_Date', x_Input.StartDateTime);
1890: --rlm_core_sv.dlog(g_DEBUG,'x_DailyPercent', x_DailyPercent);
1891: END IF;
1892: --
1893: WHILE ((v_Valid = FALSE) AND (v_DayCount<7)) LOOP
1886: --
1887: IF (l_debug <> -1) THEN
1888: rlm_core_sv.dpush(g_SDEBUG,'valid_sdp_date');
1889: rlm_core_sv.dlog(g_DEBUG,'x_Date', x_Input.StartDateTime);
1890: --rlm_core_sv.dlog(g_DEBUG,'x_DailyPercent', x_DailyPercent);
1891: END IF;
1892: --
1893: WHILE ((v_Valid = FALSE) AND (v_DayCount<7)) LOOP
1894: --
1892: --
1893: WHILE ((v_Valid = FALSE) AND (v_DayCount<7)) LOOP
1894: --
1895: IF (l_debug <> -1) THEN
1896: rlm_core_sv.dlog(g_DEBUG, 'v_DayCount', v_DayCount);
1897: END IF;
1898: --
1899: IF ((to_number(to_char(x_Input.StartDateTime,'D'))=
1900: (v_DayCount)) AND (x_DailyPercent(v_DayCount)>0)) THEN
1899: IF ((to_number(to_char(x_Input.StartDateTime,'D'))=
1900: (v_DayCount)) AND (x_DailyPercent(v_DayCount)>0)) THEN
1901: --
1902: IF (l_debug <> -1) THEN
1903: rlm_core_sv.dlog(g_DEBUG,'v_Valid is', TRUE);
1904: END IF;
1905: --
1906: v_Valid := TRUE ;
1907: --
1911: --
1912: END LOOP;
1913: --
1914: IF (l_debug <> -1) THEN
1915: rlm_core_sv.dlog(g_DEBUG,'v_Valid', v_Valid);
1916: rlm_core_sv.dpop(g_SDEBUG,'value returned');
1917: END IF;
1918: --
1919: RETURN(v_Valid);
1912: END LOOP;
1913: --
1914: IF (l_debug <> -1) THEN
1915: rlm_core_sv.dlog(g_DEBUG,'v_Valid', v_Valid);
1916: rlm_core_sv.dpop(g_SDEBUG,'value returned');
1917: END IF;
1918: --
1919: RETURN(v_Valid);
1920: --
1928:
1929: FUNCTION previous_valid_sdp_date(
1930: x_Input IN rlm_ship_delivery_pattern_sv.t_InputRec,
1931: x_Date IN DATE,
1932: x_DailyPercent IN rlm_core_sv.t_NumberTable)
1933: RETURN DATE
1934: IS
1935: v_FOUND BOOLEAN := FALSE;
1936: v_DayOfTheWeek NUMBER;
1941:
1942: BEGIN
1943: --
1944: IF (l_debug <> -1) THEN
1945: rlm_core_sv.dpush(g_SDEBUG,'previous_valid_sdp_date');
1946: rlm_core_sv.dlog(g_DEBUG,'x_Date ', x_Date );
1947: END IF;
1948: --
1949: v_DayOfTheWeek := to_number(to_char(x_Date,'D'));
1942: BEGIN
1943: --
1944: IF (l_debug <> -1) THEN
1945: rlm_core_sv.dpush(g_SDEBUG,'previous_valid_sdp_date');
1946: rlm_core_sv.dlog(g_DEBUG,'x_Date ', x_Date );
1947: END IF;
1948: --
1949: v_DayOfTheWeek := to_number(to_char(x_Date,'D'));
1950: --
1948: --
1949: v_DayOfTheWeek := to_number(to_char(x_Date,'D'));
1950: --
1951: IF (l_debug <> -1) THEN
1952: rlm_core_sv.dlog(g_DEBUG,'v_DayOfTheWeek', v_DayOfTheWeek);
1953: END IF;
1954: --
1955: IF (v_DayOfTheWeek = 1) THEN
1956: v_Count := 7;
1958: v_Count := v_DayOfTheWeek - 1;
1959: END IF;
1960: --
1961: IF (l_debug <> -1) THEN
1962: rlm_core_sv.dlog(g_DEBUG,'v_Count', v_Count);
1963: END IF;
1964: --
1965: WHILE ((v_Count>0) AND (v_FOUND=FALSE)) LOOP
1966: --
1966: --
1967: IF (x_DailyPercent(v_Count) > 0) THEN
1968: --
1969: IF (l_debug <> -1) THEN
1970: rlm_core_sv.dlog(g_DEBUG,'v_FOUND is ', TRUE);
1971: END IF;
1972: --
1973: v_FOUND := TRUE;
1974: v_ReturnDate := x_Date - v_SubtractDays;
1973: v_FOUND := TRUE;
1974: v_ReturnDate := x_Date - v_SubtractDays;
1975: --
1976: IF (l_debug <> -1) THEN
1977: rlm_core_sv.dlog(g_DEBUG,'v_ReturnDate ', v_ReturnDate);
1978: END IF;
1979: --
1980: END IF;
1981: --
1981: --
1982: v_Count := v_Count - 1;
1983: --
1984: IF (l_debug <> -1) THEN
1985: rlm_core_sv.dlog(g_DEBUG,'v_Count', v_Count);
1986: END IF;
1987: --
1988: v_SubtractDays := v_SubtractDays + 1;
1989: --
1987: --
1988: v_SubtractDays := v_SubtractDays + 1;
1989: --
1990: IF (l_debug <> -1) THEN
1991: rlm_core_sv.dlog(g_DEBUG,'v_SubtractDays', v_SubtractDays);
1992: END IF;
1993: --
1994: END LOOP;
1995: --
1996: IF ((v_DayOfTheWeek <> 1)AND(v_FOUND=FALSE)) THEN
1997: v_Count := 7;
1998: --
1999: IF (l_debug <> -1) THEN
2000: rlm_core_sv.dlog(g_DEBUG,'v_Count', v_Count);
2001: END IF;
2002: --
2003: WHILE ( (v_Count>(v_DayOfTheWeek-1)) AND (v_FOUND=FALSE) ) LOOP
2004: --
2004: --
2005: IF (x_DailyPercent(v_Count) > 0) THEN
2006: --
2007: IF (l_debug <> -1) THEN
2008: rlm_core_sv.dlog(g_DEBUG,'v_FOUND is', TRUE);
2009: END IF;
2010: --
2011: v_FOUND := TRUE;
2012: v_ReturnDate := x_Date - v_SubtractDays;
2011: v_FOUND := TRUE;
2012: v_ReturnDate := x_Date - v_SubtractDays;
2013: --
2014: IF (l_debug <> -1) THEN
2015: rlm_core_sv.dlog(g_DEBUG,'v_ReturnDate ', v_ReturnDate);
2016: END IF;
2017: --
2018: END IF;
2019: --
2019: --
2020: v_Count := v_Count - 1;
2021: --
2022: IF (l_debug <> -1) THEN
2023: rlm_core_sv.dlog(g_DEBUG,'v_Count', v_Count);
2024: END IF;
2025: --
2026: v_SubtractDays := v_SubtractDays + 1;
2027: --
2025: --
2026: v_SubtractDays := v_SubtractDays + 1;
2027: --
2028: IF (l_debug <> -1) THEN
2029: rlm_core_sv.dlog(g_DEBUG,'v_SubtractDays', v_SubtractDays);
2030: END IF;
2031: --
2032: END LOOP;
2033: --
2035: --
2036: IF (v_FOUND = FALSE) THEN
2037: --
2038: IF (l_debug <> -1) THEN
2039: rlm_core_sv.dlog(g_DEBUG,'v_FOUND is ', FALSE);
2040: rlm_core_sv.dpop(g_SDEBUG,'unsuccessful');
2041: END IF;
2042: --
2043: RETURN(x_Date - 1);
2036: IF (v_FOUND = FALSE) THEN
2037: --
2038: IF (l_debug <> -1) THEN
2039: rlm_core_sv.dlog(g_DEBUG,'v_FOUND is ', FALSE);
2040: rlm_core_sv.dpop(g_SDEBUG,'unsuccessful');
2041: END IF;
2042: --
2043: RETURN(x_Date - 1);
2044: --
2044: --
2045: ELSE
2046: --
2047: IF (l_debug <> -1) THEN
2048: rlm_core_sv.dlog(g_DEBUG,'v_ReturnDate ', v_ReturnDate);
2049: rlm_core_sv.dpop(g_SDEBUG,'value returned successfully');
2050: END IF;
2051: --
2052: RETURN(v_ReturnDate);
2045: ELSE
2046: --
2047: IF (l_debug <> -1) THEN
2048: rlm_core_sv.dlog(g_DEBUG,'v_ReturnDate ', v_ReturnDate);
2049: rlm_core_sv.dpop(g_SDEBUG,'value returned successfully');
2050: END IF;
2051: --
2052: RETURN(v_ReturnDate);
2053: --
2057: --
2058: WHEN OTHERS THEN
2059: --
2060: IF (l_debug <> -1) THEN
2061: rlm_core_sv.dpop(g_SDEBUG,'previous_valid_sdp_date '||'EXCEPTION:
2062: '||SUBSTR(SQLERRM,1,200));
2063: END IF;
2064: --
2065: raise;
2085: --
2086: BEGIN
2087: --
2088: IF (l_debug <> -1) THEN
2089: rlm_core_sv.dpush(g_SDEBUG,'check_receive_date');
2090: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_Input.ShipToAddressId);
2091: rlm_core_sv.dlog(g_DEBUG,'x_ReceiveDate ',x_ReceiveDate);
2092: rlm_core_sv.dlog(g_DEBUG,'x_CalCode',x_Input.customer_rcv_calendar_cd);
2093: END IF;
2086: BEGIN
2087: --
2088: IF (l_debug <> -1) THEN
2089: rlm_core_sv.dpush(g_SDEBUG,'check_receive_date');
2090: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_Input.ShipToAddressId);
2091: rlm_core_sv.dlog(g_DEBUG,'x_ReceiveDate ',x_ReceiveDate);
2092: rlm_core_sv.dlog(g_DEBUG,'x_CalCode',x_Input.customer_rcv_calendar_cd);
2093: END IF;
2094: --
2087: --
2088: IF (l_debug <> -1) THEN
2089: rlm_core_sv.dpush(g_SDEBUG,'check_receive_date');
2090: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_Input.ShipToAddressId);
2091: rlm_core_sv.dlog(g_DEBUG,'x_ReceiveDate ',x_ReceiveDate);
2092: rlm_core_sv.dlog(g_DEBUG,'x_CalCode',x_Input.customer_rcv_calendar_cd);
2093: END IF;
2094: --
2095: -- Bug 3733396 : Call BOM API only if we have a valid RECEIVING calendar
2088: IF (l_debug <> -1) THEN
2089: rlm_core_sv.dpush(g_SDEBUG,'check_receive_date');
2090: rlm_core_sv.dlog(g_DEBUG,'x_ShipToAddressId ',x_Input.ShipToAddressId);
2091: rlm_core_sv.dlog(g_DEBUG,'x_ReceiveDate ',x_ReceiveDate);
2092: rlm_core_sv.dlog(g_DEBUG,'x_CalCode',x_Input.customer_rcv_calendar_cd);
2093: END IF;
2094: --
2095: -- Bug 3733396 : Call BOM API only if we have a valid RECEIVING calendar
2096: --
2106: --
2107: if(v_WorkingDay = TRUE) then
2108: --
2109: IF (l_debug <> -1) THEN
2110: rlm_core_sv.dpop(g_SDEBUG,'returns TRUE');
2111: END IF;
2112: --
2113: return(TRUE);
2114: --
2114: --
2115: else
2116: --
2117: IF (l_debug <> -1) THEN
2118: rlm_core_sv.dpop(g_SDEBUG,'returns FALSE');
2119: END IF;
2120: --
2121: return(FALSE);
2122: --
2130:
2131: ==============================================================================*/
2132:
2133: PROCEDURE determine_receive_date(x_Input IN RLM_SHIP_DELIVERY_PATTERN_SV.t_InputRec,
2134: x_DailyPercent IN rlm_core_sv.t_NumberTable,
2135: x_ReceiveDate IN OUT NOCOPY DATE)
2136: IS
2137:
2138: BEGIN
2137:
2138: BEGIN
2139: --
2140: IF (l_debug <> -1) THEN
2141: rlm_core_sv.dpush(g_SDEBUG,'determine_receive_date');
2142: END IF;
2143: --
2144: -- rlm_core_sv.dlog(g_DEBUG,' x_DailyPercent ',x_DailyPercent);
2145: --
2140: IF (l_debug <> -1) THEN
2141: rlm_core_sv.dpush(g_SDEBUG,'determine_receive_date');
2142: END IF;
2143: --
2144: -- rlm_core_sv.dlog(g_DEBUG,' x_DailyPercent ',x_DailyPercent);
2145: --
2146: x_ReceiveDate := RLM_TPA_SV.previous_valid_sdp_date( x_Input,
2147: x_ReceiveDate,x_DailyPercent);
2148: --
2146: x_ReceiveDate := RLM_TPA_SV.previous_valid_sdp_date( x_Input,
2147: x_ReceiveDate,x_DailyPercent);
2148: --
2149: IF (l_debug <> -1) THEN
2150: rlm_core_sv.dlog(g_DEBUG,' x_ReceiveDate ',x_ReceiveDate);
2151: rlm_core_sv.dpop(g_SDEBUG,'value returned');
2152: END IF;
2153: --
2154: END determine_receive_date;
2147: x_ReceiveDate,x_DailyPercent);
2148: --
2149: IF (l_debug <> -1) THEN
2150: rlm_core_sv.dlog(g_DEBUG,' x_ReceiveDate ',x_ReceiveDate);
2151: rlm_core_sv.dpop(g_SDEBUG,'value returned');
2152: END IF;
2153: --
2154: END determine_receive_date;
2155:
2166:
2167: BEGIN
2168: --
2169: IF (l_debug <> -1) THEN
2170: rlm_core_sv.dpush(g_SDEBUG,'apply_lead_time');
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2167: BEGIN
2168: --
2169: IF (l_debug <> -1) THEN
2170: rlm_core_sv.dpush(g_SDEBUG,'apply_lead_time');
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2175: rlm_core_sv.dlog(g_DEBUG,' x_LeadType ',x_LeadType);
2168: --
2169: IF (l_debug <> -1) THEN
2170: rlm_core_sv.dpush(g_SDEBUG,'apply_lead_time');
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2175: rlm_core_sv.dlog(g_DEBUG,' x_LeadType ',x_LeadType);
2176: END IF;
2169: IF (l_debug <> -1) THEN
2170: rlm_core_sv.dpush(g_SDEBUG,'apply_lead_time');
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2175: rlm_core_sv.dlog(g_DEBUG,' x_LeadType ',x_LeadType);
2176: END IF;
2177: --
2170: rlm_core_sv.dpush(g_SDEBUG,'apply_lead_time');
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2175: rlm_core_sv.dlog(g_DEBUG,' x_LeadType ',x_LeadType);
2176: END IF;
2177: --
2178: IF (x_LeadType = 'SUBTRACT') THEN
2171: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Time ',x_LeadTime.Time);
2172: rlm_core_sv.dlog(g_DEBUG,' x_LeadTime.Uom ',x_LeadTime.Uom);
2173: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2174: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2175: rlm_core_sv.dlog(g_DEBUG,' x_LeadType ',x_LeadType);
2176: END IF;
2177: --
2178: IF (x_LeadType = 'SUBTRACT') THEN
2179: IF (x_LeadTime.Uom = 'DAY') THEN
2189: END IF;
2190: END IF;
2191: --
2192: IF (l_debug <> -1) THEN
2193: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2194: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2195: rlm_core_sv.dpop(g_SDEBUG,'successful');
2196: END IF;
2197: --
2190: END IF;
2191: --
2192: IF (l_debug <> -1) THEN
2193: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2194: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2195: rlm_core_sv.dpop(g_SDEBUG,'successful');
2196: END IF;
2197: --
2198: END apply_lead_time;
2191: --
2192: IF (l_debug <> -1) THEN
2193: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedShipmentDate ',x_QuantityDateRec.PlannedShipmentDate);
2194: rlm_core_sv.dlog(g_DEBUG,' x_QuantityDateRec.PlannedReceiveDate ',x_QuantityDateRec.PlannedReceiveDate);
2195: rlm_core_sv.dpop(g_SDEBUG,'successful');
2196: END IF;
2197: --
2198: END apply_lead_time;
2199:
2216:
2217: BEGIN
2218: --
2219: IF (l_debug <> -1) THEN
2220: rlm_core_sv.dpush(g_SDEBUG,'check_send_date');
2221: rlm_core_sv.dlog(g_DEBUG,' x_ShipFromOrgId ',x_Input.ShipFromOrgId);
2222: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2223: rlm_core_sv.dlog(g_DEBUG,' x_CalCode ',x_Input.supplier_shp_calendar_cd);
2224: END IF;
2217: BEGIN
2218: --
2219: IF (l_debug <> -1) THEN
2220: rlm_core_sv.dpush(g_SDEBUG,'check_send_date');
2221: rlm_core_sv.dlog(g_DEBUG,' x_ShipFromOrgId ',x_Input.ShipFromOrgId);
2222: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2223: rlm_core_sv.dlog(g_DEBUG,' x_CalCode ',x_Input.supplier_shp_calendar_cd);
2224: END IF;
2225: --
2218: --
2219: IF (l_debug <> -1) THEN
2220: rlm_core_sv.dpush(g_SDEBUG,'check_send_date');
2221: rlm_core_sv.dlog(g_DEBUG,' x_ShipFromOrgId ',x_Input.ShipFromOrgId);
2222: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2223: rlm_core_sv.dlog(g_DEBUG,' x_CalCode ',x_Input.supplier_shp_calendar_cd);
2224: END IF;
2225: --
2226: bom_calendar_api_bk.check_working_day(x_Input.supplier_shp_calendar_cd,
2219: IF (l_debug <> -1) THEN
2220: rlm_core_sv.dpush(g_SDEBUG,'check_send_date');
2221: rlm_core_sv.dlog(g_DEBUG,' x_ShipFromOrgId ',x_Input.ShipFromOrgId);
2222: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2223: rlm_core_sv.dlog(g_DEBUG,' x_CalCode ',x_Input.supplier_shp_calendar_cd);
2224: END IF;
2225: --
2226: bom_calendar_api_bk.check_working_day(x_Input.supplier_shp_calendar_cd,
2227: x_ShipmentDate,
2231: --
2232: if(v_WorkingDay = TRUE) then
2233: --
2234: IF (l_debug <> -1) THEN
2235: rlm_core_sv.dpop(g_SDEBUG,'returns TRUE');
2236: END IF;
2237: --
2238: return(TRUE);
2239: --
2239: --
2240: else
2241: --
2242: IF (l_debug <> -1) THEN
2243: rlm_core_sv.dpop(g_SDEBUG,'returns FALSE');
2244: END IF;
2245: --
2246: return(FALSE);
2247: --
2256: ==============================================================================*/
2257:
2258: PROCEDURE determine_send_date(
2259: x_Input IN rlm_ship_delivery_pattern_sv.t_InputRec,
2260: x_DailyPercent IN rlm_core_sv.t_NumberTable,
2261: x_ShipmentDate IN OUT NOCOPY DATE)
2262: IS
2263:
2264: BEGIN
2263:
2264: BEGIN
2265: --
2266: IF (l_debug <> -1) THEN
2267: rlm_core_sv.dpush(g_SDEBUG,'determine_send_date');
2268: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2269: END IF;
2270: --
2271: x_ShipmentDate := RLM_TPA_SV.previous_valid_sdp_date(x_Input,x_ShipmentDate,x_DailyPercent);
2264: BEGIN
2265: --
2266: IF (l_debug <> -1) THEN
2267: rlm_core_sv.dpush(g_SDEBUG,'determine_send_date');
2268: rlm_core_sv.dlog(g_DEBUG,' x_ShipmentDate ',x_ShipmentDate);
2269: END IF;
2270: --
2271: x_ShipmentDate := RLM_TPA_SV.previous_valid_sdp_date(x_Input,x_ShipmentDate,x_DailyPercent);
2272: /*IF Shipping calendar says it is not possible to ship then backup date to
2273: the previous valid date according to SDP*/
2274: null;
2275: --
2276: IF (l_debug <> -1) THEN
2277: rlm_core_sv.dpop(g_SDEBUG,'does nothing');
2278: END IF;
2279: --
2280: EXCEPTION
2281: WHEN OTHERS THEN
2280: EXCEPTION
2281: WHEN OTHERS THEN
2282: --
2283: IF (l_debug <> -1) THEN
2284: rlm_core_sv.dpop(g_SDEBUG,'determine_send_date '||'EXCEPTION:
2285: '||SUBSTR(SQLERRM,1,200));
2286: END IF;
2287: --
2288: raise;
2305: --
2306: BEGIN
2307: --
2308: IF (l_debug <> -1) THEN
2309: rlm_core_sv.dpush(g_SDEBUG,'get_err_message');
2310: END IF;
2311: --
2312: v_index := nvl(x_ErrMsgTab.LAST, 0) + 1;
2313: --
2311: --
2312: v_index := nvl(x_ErrMsgTab.LAST, 0) + 1;
2313: --
2314: IF (l_debug <> -1) THEN
2315: rlm_core_sv.dlog(g_DEBUG,' Index ',v_index);
2316: rlm_core_sv.dlog(g_DEBUG,' x_ErrorMessage ',x_ErrorMessage);
2317: END IF;
2318: --
2319: x_ErrMsgTab(v_index).ErrMessage := x_ErrorMessage;
2312: v_index := nvl(x_ErrMsgTab.LAST, 0) + 1;
2313: --
2314: IF (l_debug <> -1) THEN
2315: rlm_core_sv.dlog(g_DEBUG,' Index ',v_index);
2316: rlm_core_sv.dlog(g_DEBUG,' x_ErrorMessage ',x_ErrorMessage);
2317: END IF;
2318: --
2319: x_ErrMsgTab(v_index).ErrMessage := x_ErrorMessage;
2320: x_ErrMsgTab(v_index).ErrMessageName := x_ErrorMessageName;
2320: x_ErrMsgTab(v_index).ErrMessageName := x_ErrorMessageName;
2321: x_ErrMsgTab(v_index).ErrType := x_ErrorType;
2322: --
2323: IF (l_debug <> -1) THEN
2324: rlm_core_sv.dpop(g_SDEBUG);
2325: END IF;
2326: --
2327: END get_err_message;
2328:
2358: --
2359: BEGIN
2360: --
2361: IF (l_debug <> -1) THEN
2362: rlm_core_sv.dpush(g_SDEBUG,'GetTPContext');
2363: rlm_core_sv.dlog(g_DEBUG,'customer_id', x_Input.CustomerId);
2364: rlm_core_sv.dlog(g_DEBUG,'ship_to_address_id', x_Input.ShipToAddressId);
2365: rlm_core_sv.dlog(g_DEBUG,'bill_to_address_id', x_Input.BillToAddressId);
2366: rlm_core_sv.dlog(g_DEBUG,'INtShipToAddressId',
2359: BEGIN
2360: --
2361: IF (l_debug <> -1) THEN
2362: rlm_core_sv.dpush(g_SDEBUG,'GetTPContext');
2363: rlm_core_sv.dlog(g_DEBUG,'customer_id', x_Input.CustomerId);
2364: rlm_core_sv.dlog(g_DEBUG,'ship_to_address_id', x_Input.ShipToAddressId);
2365: rlm_core_sv.dlog(g_DEBUG,'bill_to_address_id', x_Input.BillToAddressId);
2366: rlm_core_sv.dlog(g_DEBUG,'INtShipToAddressId',
2367: x_Input.IntShipToAddressId);
2360: --
2361: IF (l_debug <> -1) THEN
2362: rlm_core_sv.dpush(g_SDEBUG,'GetTPContext');
2363: rlm_core_sv.dlog(g_DEBUG,'customer_id', x_Input.CustomerId);
2364: rlm_core_sv.dlog(g_DEBUG,'ship_to_address_id', x_Input.ShipToAddressId);
2365: rlm_core_sv.dlog(g_DEBUG,'bill_to_address_id', x_Input.BillToAddressId);
2366: rlm_core_sv.dlog(g_DEBUG,'INtShipToAddressId',
2367: x_Input.IntShipToAddressId);
2368: END IF;
2361: IF (l_debug <> -1) THEN
2362: rlm_core_sv.dpush(g_SDEBUG,'GetTPContext');
2363: rlm_core_sv.dlog(g_DEBUG,'customer_id', x_Input.CustomerId);
2364: rlm_core_sv.dlog(g_DEBUG,'ship_to_address_id', x_Input.ShipToAddressId);
2365: rlm_core_sv.dlog(g_DEBUG,'bill_to_address_id', x_Input.BillToAddressId);
2366: rlm_core_sv.dlog(g_DEBUG,'INtShipToAddressId',
2367: x_Input.IntShipToAddressId);
2368: END IF;
2369: --
2362: rlm_core_sv.dpush(g_SDEBUG,'GetTPContext');
2363: rlm_core_sv.dlog(g_DEBUG,'customer_id', x_Input.CustomerId);
2364: rlm_core_sv.dlog(g_DEBUG,'ship_to_address_id', x_Input.ShipToAddressId);
2365: rlm_core_sv.dlog(g_DEBUG,'bill_to_address_id', x_Input.BillToAddressId);
2366: rlm_core_sv.dlog(g_DEBUG,'INtShipToAddressId',
2367: x_Input.IntShipToAddressId);
2368: END IF;
2369: --
2370: BEGIN
2381: x_ship_to_ece_locn_code := NULL;
2382: WHEN OTHERS THEN
2383: --
2384: IF (l_debug <> -1) THEN
2385: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2386: END IF;
2387: --
2388: raise;
2389: END;
2402: x_bill_to_ece_locn_code := NULL;
2403: WHEN OTHERS THEN
2404: --
2405: IF (l_debug <> -1) THEN
2406: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2407: END IF;
2408: --
2409: raise;
2410: --
2424: x_inter_ship_to_ece_locn_code := NULL;
2425: WHEN OTHERS THEN
2426: --
2427: IF (l_debug <> -1) THEN
2428: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2429: END IF;
2430: --
2431: raise;
2432: --
2448: x_customer_number := NULL;
2449: WHEN OTHERS THEN
2450: --
2451: IF (l_debug <> -1) THEN
2452: rlm_core_sv.dlog(g_DEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2453: END IF;
2454: --
2455: raise;
2456: END;
2464: --
2465: END IF;
2466: --
2467: IF (l_debug <> -1) THEN
2468: rlm_core_sv.dlog(g_DEBUG, 'customer_number', x_customer_number);
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2465: END IF;
2466: --
2467: IF (l_debug <> -1) THEN
2468: rlm_core_sv.dlog(g_DEBUG, 'customer_number', x_customer_number);
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2473: rlm_core_sv.dpop(g_SDEBUG);
2466: --
2467: IF (l_debug <> -1) THEN
2468: rlm_core_sv.dlog(g_DEBUG, 'customer_number', x_customer_number);
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2473: rlm_core_sv.dpop(g_SDEBUG);
2474: END IF;
2467: IF (l_debug <> -1) THEN
2468: rlm_core_sv.dlog(g_DEBUG, 'customer_number', x_customer_number);
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2473: rlm_core_sv.dpop(g_SDEBUG);
2474: END IF;
2475: --
2468: rlm_core_sv.dlog(g_DEBUG, 'customer_number', x_customer_number);
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2473: rlm_core_sv.dpop(g_SDEBUG);
2474: END IF;
2475: --
2476: EXCEPTION
2469: rlm_core_sv.dlog(g_DEBUG,'x_ship_to_ece_locn_code', x_ship_to_ece_locn_code);
2470: rlm_core_sv.dlog(g_DEBUG,'x_bill_to_ece_locn_code', x_bill_to_ece_locn_code);
2471: rlm_core_sv.dlog(g_DEBUG,'x_inter_ship_to_ece_locn_code', x_inter_ship_to_ece_locn_code);
2472: rlm_core_sv.dlog(g_DEBUG,'x_tp_Group_code', x_tp_Group_code);
2473: rlm_core_sv.dpop(g_SDEBUG);
2474: END IF;
2475: --
2476: EXCEPTION
2477: --
2479: --
2480: x_tp_Group_code := NULL;
2481: --
2482: IF (l_debug <> -1) THEN
2483: rlm_core_sv.dlog(g_DEBUG, 'No data found for x_tp_Group_code');
2484: rlm_core_sv.dpop(g_SDEBUG);
2485: END IF;
2486: --
2487: WHEN OTHERS THEN
2480: x_tp_Group_code := NULL;
2481: --
2482: IF (l_debug <> -1) THEN
2483: rlm_core_sv.dlog(g_DEBUG, 'No data found for x_tp_Group_code');
2484: rlm_core_sv.dpop(g_SDEBUG);
2485: END IF;
2486: --
2487: WHEN OTHERS THEN
2488: --
2488: --
2489: rlm_message_sv.sql_error('rlm_ship_delivery_pattern_sv.GetTPContext',v_Progress);
2490: --
2491: IF (l_debug <> -1) THEN
2492: rlm_core_sv.dpop(g_SDEBUG,'EXCEPTION: '||SUBSTR(SQLERRM,1,200));
2493: END IF;
2494: --
2495: raise;
2496: