48: l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
49: --
50: IF l_debug_on IS NULL
51: THEN
52: l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
53: END IF;
54: --
55: --
56: -- Debug Statements
55: --
56: -- Debug Statements
57: --
58: IF l_debug_on THEN
59: WSH_DEBUG_SV.push(l_module_name);
60: --
61: WSH_DEBUG_SV.log(l_module_name,'P_ORG_ID',P_ORG_ID);
62: END IF;
63: --
57: --
58: IF l_debug_on THEN
59: WSH_DEBUG_SV.push(l_module_name);
60: --
61: WSH_DEBUG_SV.log(l_module_name,'P_ORG_ID',P_ORG_ID);
62: END IF;
63: --
64: l_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
65:
76: --
77: -- Debug Statements
78: --
79: IF l_debug_on THEN
80: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_WV_UTILS.GET_DEFAULT_UOMS',WSH_DEBUG_SV.C_PROC_LEVEL);
81: END IF;
82: --
83: WSH_WV_UTILS.get_default_uoms(p_org_id,
84: l_weight_uom_code,
101: --
102: -- Debug Statements
103: --
104: IF l_debug_on THEN
105: WSH_DEBUG_SV.logmsg(l_module_name, 'Returning org default uoms:');
106: WSH_DEBUG_SV.log(l_module_name, 'weight_uom_code', x_weight_uom_code);
107: WSH_DEBUG_SV.log(l_module_name, 'volume_uom_code', x_volume_uom_code);
108: WSH_DEBUG_SV.pop(l_module_name);
109: END IF;
102: -- Debug Statements
103: --
104: IF l_debug_on THEN
105: WSH_DEBUG_SV.logmsg(l_module_name, 'Returning org default uoms:');
106: WSH_DEBUG_SV.log(l_module_name, 'weight_uom_code', x_weight_uom_code);
107: WSH_DEBUG_SV.log(l_module_name, 'volume_uom_code', x_volume_uom_code);
108: WSH_DEBUG_SV.pop(l_module_name);
109: END IF;
110: --
103: --
104: IF l_debug_on THEN
105: WSH_DEBUG_SV.logmsg(l_module_name, 'Returning org default uoms:');
106: WSH_DEBUG_SV.log(l_module_name, 'weight_uom_code', x_weight_uom_code);
107: WSH_DEBUG_SV.log(l_module_name, 'volume_uom_code', x_volume_uom_code);
108: WSH_DEBUG_SV.pop(l_module_name);
109: END IF;
110: --
111: END get_org_default_uoms;
104: IF l_debug_on THEN
105: WSH_DEBUG_SV.logmsg(l_module_name, 'Returning org default uoms:');
106: WSH_DEBUG_SV.log(l_module_name, 'weight_uom_code', x_weight_uom_code);
107: WSH_DEBUG_SV.log(l_module_name, 'volume_uom_code', x_volume_uom_code);
108: WSH_DEBUG_SV.pop(l_module_name);
109: END IF;
110: --
111: END get_org_default_uoms;
112:
165: l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
166: --
167: IF l_debug_on IS NULL
168: THEN
169: l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
170: END IF;
171: --
172: --
173: -- Debug Statements
172: --
173: -- Debug Statements
174: --
175: IF l_debug_on THEN
176: WSH_DEBUG_SV.push(l_module_name);
177: --
178: WSH_DEBUG_SV.log(l_module_name,'P_ACTION',P_ACTION);
179: END IF;
180: --
174: --
175: IF l_debug_on THEN
176: WSH_DEBUG_SV.push(l_module_name);
177: --
178: WSH_DEBUG_SV.log(l_module_name,'P_ACTION',P_ACTION);
179: END IF;
180: --
181: --
182: -- Debug Statements
181: --
182: -- Debug Statements
183: --
184: IF l_debug_on THEN
185: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_DELIVERY_AUTOCREATE.GET_GROUP_BY_ATTR',WSH_DEBUG_SV.C_PROC_LEVEL);
186: END IF;
187: --
188: WSH_DELIVERY_AUTOCREATE.Get_Group_By_Attr(p_organization_id => p_source_line_rec.ship_from_org_id,
189: x_group_by_flags => l_group_by_flags,
210:
211: IF (l_group_by_flags.customer = 'Y') THEN
212: l_hash_string := l_hash_string ||'-'||to_char(p_source_line_rec.customer_id);
213: IF l_debug_on THEN
214: WSH_DEBUG_SV.logmsg(l_module_name, 'Using customer in grouping rule');
215: END IF;
216: END IF;
217:
218: IF (l_group_by_flags.intmed = 'Y') THEN
217:
218: IF (l_group_by_flags.intmed = 'Y') THEN
219: l_hash_string := l_hash_string ||'-'||to_char(p_source_line_rec.intmed_ship_to_loc_id);
220: IF l_debug_on THEN
221: WSH_DEBUG_SV.logmsg(l_module_name, 'Using intermediate ship to in grouping rule');
222: END IF;
223: END IF;
224:
225: IF (l_group_by_flags.fob = 'Y') THEN
224:
225: IF (l_group_by_flags.fob = 'Y') THEN
226: l_hash_string := l_hash_string ||'-'||p_source_line_rec.fob_code;
227: IF l_debug_on THEN
228: WSH_DEBUG_SV.logmsg(l_module_name, 'Using fob in grouping rule');
229: END IF;
230: END IF;
231:
232: IF (l_group_by_flags.freight_terms = 'Y') THEN
231:
232: IF (l_group_by_flags.freight_terms = 'Y') THEN
233: l_hash_string := l_hash_string ||'-'||p_source_line_rec.freight_terms;
234: IF l_debug_on THEN
235: WSH_DEBUG_SV.logmsg(l_module_name, 'Using freight terms in grouping rule');
236: END IF;
237: END IF;
238:
239: IF (p_action = 'R' AND l_group_by_flags.ship_method = 'Y') THEN
238:
239: IF (p_action = 'R' AND l_group_by_flags.ship_method = 'Y') THEN
240: l_hash_string := l_hash_string ||'-'||p_source_line_rec.ship_method_code;
241: IF l_debug_on THEN
242: WSH_DEBUG_SV.logmsg(l_module_name, 'Using ship method in grouping rule');
243: END IF;
244: END IF;
245:
246: -- Pack J OM-DisplayChoices
246: -- Pack J OM-DisplayChoices
247: IF (p_action = 'GET_GROUP') THEN
248:
249: IF l_debug_on THEN
250: WSH_DEBUG_SV.logmsg(l_module_name, 'for GET_GROUP action...');
251: WSH_DEBUG_SV.logmsg(l_module_name, 'ship_method_code='||p_source_line_rec.ship_method_code);
252: END IF;
253:
254: OPEN c_get_generic_carrier_flag(p_source_line_rec.ship_method_code);
247: IF (p_action = 'GET_GROUP') THEN
248:
249: IF l_debug_on THEN
250: WSH_DEBUG_SV.logmsg(l_module_name, 'for GET_GROUP action...');
251: WSH_DEBUG_SV.logmsg(l_module_name, 'ship_method_code='||p_source_line_rec.ship_method_code);
252: END IF;
253:
254: OPEN c_get_generic_carrier_flag(p_source_line_rec.ship_method_code);
255: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
255: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
256: CLOSE c_get_generic_carrier_flag;
257:
258: IF l_debug_on THEN
259: WSH_DEBUG_SV.logmsg(l_module_name, 'l_generic_carrier='||l_generic_carrier);
260: END IF;
261:
262: IF l_generic_carrier = 'Y' THEN
263: l_hash_string := l_hash_string ||'-'||p_source_line_rec.ship_method_code;
261:
262: IF l_generic_carrier = 'Y' THEN
263: l_hash_string := l_hash_string ||'-'||p_source_line_rec.ship_method_code;
264: IF l_debug_on THEN
265: WSH_DEBUG_SV.logmsg(l_module_name, 'generic carrier, Using ship method in grouping rule');
266: END IF;
267: ELSIF p_source_line_rec.override_ship_method = 'Y' THEN
268: IF l_debug_on THEN
269: WSH_DEBUG_SV.logmsg(l_module_name, 'not Using ship method in grouping rule');
265: WSH_DEBUG_SV.logmsg(l_module_name, 'generic carrier, Using ship method in grouping rule');
266: END IF;
267: ELSIF p_source_line_rec.override_ship_method = 'Y' THEN
268: IF l_debug_on THEN
269: WSH_DEBUG_SV.logmsg(l_module_name, 'not Using ship method in grouping rule');
270: END IF;
271: ELSE
272: l_hash_string := l_hash_string ||'-'||p_source_line_rec.ship_method_code;
273: IF l_debug_on THEN
270: END IF;
271: ELSE
272: l_hash_string := l_hash_string ||'-'||p_source_line_rec.ship_method_code;
273: IF l_debug_on THEN
274: WSH_DEBUG_SV.logmsg(l_module_name, 'override_ship_method=N, Using ship method in grouping rule');
275: END IF;
276: END IF;
277: END IF;
278:
304: --
305: -- Debug Statements
306: --
307: IF l_debug_on THEN
308: WSH_DEBUG_SV.log(l_module_name, 'hash_string', l_hash_string);
309: WSH_DEBUG_SV.log(l_module_name, 'hash_value', l_hash_value);
310: WSH_DEBUG_SV.pop(l_module_name);
311: END IF;
312: --
305: -- Debug Statements
306: --
307: IF l_debug_on THEN
308: WSH_DEBUG_SV.log(l_module_name, 'hash_string', l_hash_string);
309: WSH_DEBUG_SV.log(l_module_name, 'hash_value', l_hash_value);
310: WSH_DEBUG_SV.pop(l_module_name);
311: END IF;
312: --
313: END Create_Hash;
306: --
307: IF l_debug_on THEN
308: WSH_DEBUG_SV.log(l_module_name, 'hash_string', l_hash_string);
309: WSH_DEBUG_SV.log(l_module_name, 'hash_value', l_hash_value);
310: WSH_DEBUG_SV.pop(l_module_name);
311: END IF;
312: --
313: END Create_Hash;
314:
374: l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
375: --
376: IF l_debug_on IS NULL
377: THEN
378: l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
379: END IF;
380: --
381: --
382: -- Debug Statements
381: --
382: -- Debug Statements
383: --
384: IF l_debug_on THEN
385: WSH_DEBUG_SV.push(l_module_name);
386: --
387: WSH_DEBUG_SV.log(l_module_name,'P_ACTION',P_ACTION);
388: END IF;
389: --
383: --
384: IF l_debug_on THEN
385: WSH_DEBUG_SV.push(l_module_name);
386: --
387: WSH_DEBUG_SV.log(l_module_name,'P_ACTION',P_ACTION);
388: END IF;
389: --
390:
391: IF l_debug_on THEN
388: END IF;
389: --
390:
391: IF l_debug_on THEN
392: WSH_DEBUG_SV.logmsg(l_module_name,'loop through p_source_line_tab',WSH_DEBUG_SV.C_PROC_LEVEL);
393: END IF;
394:
395: g_source_header_hash_tab.DELETE;
396:
396:
397: FOR l_counter IN p_source_line_tab.FIRST..p_source_line_tab.LAST LOOP
398:
399: IF l_debug_on THEN
400: WSH_DEBUG_SV.logmsg(l_module_name,'l_counter = '||l_counter,WSH_DEBUG_SV.C_PROC_LEVEL);
401: END IF;
402:
403: -- reset variables
404: l_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
437: --
438: -- Debug Statements
439: --
440: IF l_debug_on THEN
441: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_LOCATION_ID',WSH_DEBUG_SV.C_PROC_LEVEL);
442: END IF;
443: --
444: WSH_UTIL_CORE.Get_Location_Id('ORG',
445: p_source_line_tab(l_counter).ship_from_org_id,
458: --
459: -- Debug Statements
460: --
461: IF l_debug_on THEN
462: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_LOCATION_ID',WSH_DEBUG_SV.C_PROC_LEVEL);
463: END IF;
464: --
465: WSH_UTIL_CORE.Get_Location_Id('CUSTOMER SITE',
466: p_source_line_tab(l_counter).ship_to_site_id,
480: --
481: -- Debug Statements
482: --
483: IF l_debug_on THEN
484: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_LOCATION_ID',WSH_DEBUG_SV.C_PROC_LEVEL);
485: END IF;
486: --
487: WSH_UTIL_CORE.Get_Location_Id('CUSTOMER SITE',
488: p_source_line_tab(l_counter).intmed_ship_to_site_id,
518:
519: IF (p_action = 'GET_GROUP') THEN
520:
521: IF l_debug_on THEN
522: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
523: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
524: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
525: END IF;
526:
519: IF (p_action = 'GET_GROUP') THEN
520:
521: IF l_debug_on THEN
522: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
523: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
524: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
525: END IF;
526:
527: OPEN c_get_generic_carrier_flag(p_source_line_tab(l_counter).ship_method_code);
520:
521: IF l_debug_on THEN
522: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
523: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
524: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
525: END IF;
526:
527: OPEN c_get_generic_carrier_flag(p_source_line_tab(l_counter).ship_method_code);
528: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
528: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
529: CLOSE c_get_generic_carrier_flag;
530:
531: IF l_debug_on THEN
532: WSH_DEBUG_SV.logmsg(l_module_name,'l_generic_carrier='||l_generic_carrier,WSH_DEBUG_SV.C_PROC_LEVEL);
533: END IF;
534:
535: IF (l_generic_carrier is null OR l_generic_carrier <> 'Y')
536: AND p_source_line_tab(l_counter).override_ship_method = 'Y' THEN
551: l_source_header_rec.delivery_lead_time := p_source_line_tab(l_counter).delivery_lead_time;
552: l_source_header_rec.scheduled_flag := p_source_line_tab(l_counter).scheduled_flag;
553:
554: IF l_debug_on THEN
555: WSH_DEBUG_SV.logmsg(l_module_name, 'override delivery lead time to '||p_source_line_tab(l_counter).delivery_lead_time);
556: END IF;
557: ELSE
558: IF p_source_line_tab(l_counter).delivery_lead_time
559: < l_source_header_rec.delivery_lead_time THEN
559: < l_source_header_rec.delivery_lead_time THEN
560: l_source_header_rec.delivery_lead_time :=
561: p_source_line_tab(l_counter).delivery_lead_time;
562: IF l_debug_on THEN
563: WSH_DEBUG_SV.logmsg(l_module_name, 'override delivery lead time to '||p_source_line_tab(l_counter).delivery_lead_time);
564: END IF;
565: END IF;
566: END IF;
567: END IF;
574:
575: l_con_id := l_con_id_seq; -- obtain consolidation id
576:
577: IF l_debug_on THEN
578: WSH_DEBUG_SV.logmsg(l_module_name,'create new group l_con_id = '||l_con_id,WSH_DEBUG_SV.C_PROC_LEVEL);
579: END IF;
580:
581: -- copy input attributes to the consolidation line
582: l_source_header_rec.consolidation_id := l_con_id;
600: l_source_header_rec.currency := p_source_line_tab(l_counter).currency;
601: l_source_header_rec.currency_conversion_type := p_source_line_tab(l_counter).currency_conversion_type;
602:
603: IF l_debug_on THEN
604: WSH_DEBUG_SV.logmsg(l_module_name, 'group initial delivery lead time '||p_source_line_tab(l_counter).delivery_lead_time);
605: END IF;
606: l_source_header_rec.scheduled_flag := p_source_line_tab(l_counter).scheduled_flag;
607: l_source_header_rec.total_weight := l_converted_weight;
608: l_source_header_rec.weight_uom_code := l_weight_uom_code;
638:
639: IF (p_action = 'GET_GROUP') THEN
640:
641: IF l_debug_on THEN
642: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
643: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
644: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
645: END IF;
646:
639: IF (p_action = 'GET_GROUP') THEN
640:
641: IF l_debug_on THEN
642: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
643: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
644: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
645: END IF;
646:
647: OPEN c_get_generic_carrier_flag(p_source_line_tab(l_counter).ship_method_code);
640:
641: IF l_debug_on THEN
642: WSH_DEBUG_SV.logmsg(l_module_name,'for GET_GROUP action...',WSH_DEBUG_SV.C_PROC_LEVEL);
643: WSH_DEBUG_SV.logmsg(l_module_name,'source line ship_method_code='||p_source_line_tab(l_counter).ship_method_code,WSH_DEBUG_SV.C_PROC_LEVEL);
644: WSH_DEBUG_SV.logmsg(l_module_name,'source line override_ship_method='||p_source_line_tab(l_counter).override_ship_method,WSH_DEBUG_SV.C_PROC_LEVEL);
645: END IF;
646:
647: OPEN c_get_generic_carrier_flag(p_source_line_tab(l_counter).ship_method_code);
648: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
648: FETCH c_get_generic_carrier_flag INTO l_generic_carrier;
649: CLOSE c_get_generic_carrier_flag;
650:
651: IF l_debug_on THEN
652: WSH_DEBUG_SV.logmsg(l_module_name,'l_generic_carrier='||l_generic_carrier,WSH_DEBUG_SV.C_PROC_LEVEL);
653: END IF;
654:
655: IF (l_generic_carrier is null OR l_generic_carrier <> 'Y')
656: AND p_source_line_tab(l_counter).override_ship_method = 'Y' THEN
661:
662: IF l_override_ship_method THEN
663:
664: IF l_debug_on THEN
665: WSH_DEBUG_SV.logmsg(l_module_name, 'set group ship method null');
666: END IF;
667: l_source_header_rec.ship_method_code := null;
668: l_source_header_rec.carrier_id := null;
669: l_source_header_rec.service_level := null;
671:
672: ELSE
673:
674: IF l_debug_on THEN
675: WSH_DEBUG_SV.logmsg(l_module_name, 'set group ship method as source line ship method');
676: END IF;
677: l_source_header_rec.ship_method_code := p_source_line_tab(l_counter).ship_method_code;
678: l_source_header_rec.carrier_id := p_source_line_tab(l_counter).carrier_id;
679: l_source_header_rec.service_level := p_source_line_tab(l_counter).service_level;
712: --
713: -- Debug Statements
714: --
715: IF l_debug_on THEN
716: WSH_DEBUG_SV.pop(l_module_name);
717: END IF;
718: --
719: EXCEPTION
720: WHEN OTHERS THEN
723: --
724: -- Debug Statements
725: --
726: IF l_debug_on THEN
727: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
728: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
729: END IF;
730: --
731: RAISE;
724: -- Debug Statements
725: --
726: IF l_debug_on THEN
727: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
728: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
729: END IF;
730: --
731: RAISE;
732:
734: --
735: -- Debug Statements
736: --
737: IF l_debug_on THEN
738: WSH_DEBUG_SV.pop(l_module_name);
739: END IF;
740: --
741: END Consolidate_Lines;
742: