22: --
23: -- PACKAGE TYPES
24: --
25: TYPE keyRecTyp IS RECORD (
26: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
23: -- PACKAGE TYPES
24: --
25: TYPE keyRecTyp IS RECORD (
26: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
24: --
25: TYPE keyRecTyp IS RECORD (
26: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
25: TYPE keyRecTyp IS RECORD (
26: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
26: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
27: header_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
28: customer_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
29: ship_method_code VARCHAR2(30) := FND_API.G_MISS_CHAR,
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
30: ship_to_loc_id NUMBER := FND_API.G_MISS_NUM,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
31: shipment_priority VARCHAR2(30) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
32: subinventory VARCHAR2(10) := FND_API.G_MISS_CHAR,
33: trip_stop_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
34: delivery_id NUMBER := FND_API.G_MISS_NUM,
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
41: pick_slip_number NUMBER := FND_API.G_MISS_NUM,
42: counter NUMBER := FND_API.G_MISS_NUM
35: inventory_item_id NUMBER := FND_API.G_MISS_NUM,
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
41: pick_slip_number NUMBER := FND_API.G_MISS_NUM,
42: counter NUMBER := FND_API.G_MISS_NUM
43: );
36: locator_id NUMBER := FND_API.G_MISS_NUM,
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
41: pick_slip_number NUMBER := FND_API.G_MISS_NUM,
42: counter NUMBER := FND_API.G_MISS_NUM
43: );
44:
37: -- HW OPMCONV - Increate the size of lot_number
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
41: pick_slip_number NUMBER := FND_API.G_MISS_NUM,
42: counter NUMBER := FND_API.G_MISS_NUM
43: );
44:
45:
38: lot_number VARCHAR2(80) := FND_API.G_MISS_CHAR,
39: revision VARCHAR2(3) := FND_API.G_MISS_CHAR,
40: organization_id NUMBER := FND_API.G_MISS_NUM,
41: pick_slip_number NUMBER := FND_API.G_MISS_NUM,
42: counter NUMBER := FND_API.G_MISS_NUM
43: );
44:
45:
46: TYPE keyTabTyp IS TABLE OF keyRecTyp INDEX BY BINARY_INTEGER;
45:
46: TYPE keyTabTyp IS TABLE OF keyRecTyp INDEX BY BINARY_INTEGER;
47:
48: TYPE grpRecTyp IS RECORD (
49: grouping_rule_id NUMBER := FND_API.G_MISS_NUM,
50: use_order_ps VARCHAR2(1) := 'N',
51: use_sub_ps VARCHAR2(1) := 'N',
52: use_customer_ps VARCHAR2(1) := 'N',
53: use_ship_to_ps VARCHAR2(1) := 'N',
98: -- this is passed on for an entire Batch,
99: -- ie. when a particular P.slip No. is not specified
100: --
101: -- Output Parameters
102: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
103: -- FND_API.G_RET_STS_ERROR or
104: -- FND_API.G_RET_STS_UNEXP_ERROR
105: --
106: PROCEDURE Print_Pvt (
99: -- ie. when a particular P.slip No. is not specified
100: --
101: -- Output Parameters
102: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
103: -- FND_API.G_RET_STS_ERROR or
104: -- FND_API.G_RET_STS_UNEXP_ERROR
105: --
106: PROCEDURE Print_Pvt (
107: p_report_set_id IN NUMBER,
100: --
101: -- Output Parameters
102: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
103: -- FND_API.G_RET_STS_ERROR or
104: -- FND_API.G_RET_STS_UNEXP_ERROR
105: --
106: PROCEDURE Print_Pvt (
107: p_report_set_id IN NUMBER,
108: p_organization_id IN NUMBER,
269: -- p_order_header_id => Order Header id
270: -- p_batch_id => Batch Id of the Picking Batch id
271: --
272: -- Output Parameters
273: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
274: -- FND_API.G_RET_STS_ERROR or
275: -- FND_API.G_RET_STS_UNEXP_ERROR
276: -- x_error_message => Error message
277: --
270: -- p_batch_id => Batch Id of the Picking Batch id
271: --
272: -- Output Parameters
273: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
274: -- FND_API.G_RET_STS_ERROR or
275: -- FND_API.G_RET_STS_UNEXP_ERROR
276: -- x_error_message => Error message
277: --
278: PROCEDURE Print_Pick_Slip (
271: --
272: -- Output Parameters
273: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
274: -- FND_API.G_RET_STS_ERROR or
275: -- FND_API.G_RET_STS_UNEXP_ERROR
276: -- x_error_message => Error message
277: --
278: PROCEDURE Print_Pick_Slip (
279: p_pick_slip_number IN NUMBER DEFAULT FND_API.G_MISS_NUM,
275: -- FND_API.G_RET_STS_UNEXP_ERROR
276: -- x_error_message => Error message
277: --
278: PROCEDURE Print_Pick_Slip (
279: p_pick_slip_number IN NUMBER DEFAULT FND_API.G_MISS_NUM,
280: p_report_set_id IN NUMBER,
281: p_organization_id IN NUMBER,
282: p_order_header_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
283: p_batch_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
278: PROCEDURE Print_Pick_Slip (
279: p_pick_slip_number IN NUMBER DEFAULT FND_API.G_MISS_NUM,
280: p_report_set_id IN NUMBER,
281: p_organization_id IN NUMBER,
282: p_order_header_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
283: p_batch_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
284: p_ps_mode IN VARCHAR2 DEFAULT NULL,
285: x_api_status OUT NOCOPY VARCHAR2,
286: x_error_message OUT NOCOPY VARCHAR2 )
279: p_pick_slip_number IN NUMBER DEFAULT FND_API.G_MISS_NUM,
280: p_report_set_id IN NUMBER,
281: p_organization_id IN NUMBER,
282: p_order_header_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
283: p_batch_id IN NUMBER DEFAULT FND_API.G_MISS_NUM,
284: p_ps_mode IN VARCHAR2 DEFAULT NULL,
285: x_api_status OUT NOCOPY VARCHAR2,
286: x_error_message OUT NOCOPY VARCHAR2 )
287: IS
348: ELSE
349: l_index := g_pskey_table.first;
350: END IF;
351: --
352: x_api_status := FND_API.G_RET_STS_SUCCESS;
353: IF l_debug_on THEN
354: WSH_DEBUG_SV.log(l_module_name,'l_index',l_index);
355: END IF;
356:
355: END IF;
356:
357: -- If report set id is NULL, there is no report to print
358: IF (WSH_PICK_LIST.G_SEED_DOC_SET IS NULL) THEN
359: x_api_status := FND_API.G_RET_STS_SUCCESS;
360: --
361: IF l_debug_on THEN
362: WSH_DEBUG_SV.log(l_module_name,'there is no report to print');
363: WSH_DEBUG_SV.pop(l_module_name);
368:
369: -- Added if condition IF WSH_PICK_LIST.G_PICK_REL_PARALLEL for
370: -- parallel pick-release
371:
372: IF (p_pick_slip_number = FND_API.G_MISS_NUM) THEN
373: IF (p_ps_mode = 'I') THEN
374: -- Loop through the pl-sql table to print the remaining pick slips
375: IF WSH_PICK_LIST.G_PICK_REL_PARALLEL THEN
376: OPEN ps_list;
441: p_ps_mode => p_ps_mode ,
442: x_api_status => x_api_status);
443: END IF;
444:
445: IF x_api_status <> FND_API.G_RET_STS_SUCCESS THEN
446: x_error_message := 'Error occurred in call to ' ||
447: 'Print_Pvt in ' ||
448: 'WSH_PR_PICK_SLIP_NUMBER.Print_Pick_Slip';
449: IF l_debug_on THEN
459: --
460: EXCEPTION
461: WHEN OTHERS THEN
462: x_error_message := 'Exception occurred in WSH_PR_PICK_SLIP_NUMBER.Print_Pick_Slip';
463: x_api_status := FND_API.G_RET_STS_UNEXP_ERROR;
464: --
465: IF l_debug_on THEN
466: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
467: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
744: -- p_revision => revision
745: --
746: -- Output Parameters
747: -- x_pick_slip_number => pick_slip_number
748: -- x_ready_to_print => FND_API.G_TRUE or FND_API.G_FALSE
749: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
750: -- FND_API.G_RET_STS_ERROR or
751: -- FND_API.G_RET_STS_UNEXP_ERROR
752: -- x_error_message => Error message
745: --
746: -- Output Parameters
747: -- x_pick_slip_number => pick_slip_number
748: -- x_ready_to_print => FND_API.G_TRUE or FND_API.G_FALSE
749: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
750: -- FND_API.G_RET_STS_ERROR or
751: -- FND_API.G_RET_STS_UNEXP_ERROR
752: -- x_error_message => Error message
753: --
746: -- Output Parameters
747: -- x_pick_slip_number => pick_slip_number
748: -- x_ready_to_print => FND_API.G_TRUE or FND_API.G_FALSE
749: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
750: -- FND_API.G_RET_STS_ERROR or
751: -- FND_API.G_RET_STS_UNEXP_ERROR
752: -- x_error_message => Error message
753: --
754: PROCEDURE Get_Pick_Slip_Number (
747: -- x_pick_slip_number => pick_slip_number
748: -- x_ready_to_print => FND_API.G_TRUE or FND_API.G_FALSE
749: -- x_api_status => FND_API.G_RET_STS_SUCESSS or
750: -- FND_API.G_RET_STS_ERROR or
751: -- FND_API.G_RET_STS_UNEXP_ERROR
752: -- x_error_message => Error message
753: --
754: PROCEDURE Get_Pick_Slip_Number (
755: p_ps_mode IN VARCHAR2,
840: IF get_limit%NOTFOUND THEN
841: x_error_message := 'Organization ' ||
842: to_char(p_org_id) ||
843: ' does not exist. ';
844: x_api_status := FND_API.G_RET_STS_ERROR;
845: RETURN;
846: END IF;
847: g_prev_org_id := p_org_id;
848: g_pickslip_limit := l_limit;
850: END IF;
851:
852:
853: -- Set ready to print flag to FALSE initially
854: x_ready_to_print := FND_API.G_FALSE;
855:
856: -- find grouping rule in table
857: l_found := FALSE;
858:
871: SELECT WSH_PICK_SLIP_NUMBERS_S.NEXTVAL
872: INTO x_pick_slip_number
873: FROM DUAL;
874:
875: x_api_status := FND_API.G_RET_STS_SUCCESS;
876: RETURN;
877: END IF;
878: -- Create hash for g_pskey table here instead of in Insert_Key
879:
898: IF ps_rule%NOTFOUND THEN
899: x_error_message := 'Pick grouping rule '
900: || to_char(p_pick_grouping_rule_id) ||
901: ' does not exist';
902: x_api_status := FND_API.G_RET_STS_ERROR;
903: RETURN;
904: END IF;
905:
906: g_rule_table(l_rule_index).grouping_rule_id := p_pick_grouping_rule_id;
938: l_Insert_key_Rec => l_Insert_key_Rec,
939: x_pick_slip_number => x_pick_slip_number,
940: x_error_message => x_error_message);
941: END IF;
942: x_api_status := FND_API.G_RET_STS_SUCCESS;
943: RETURN;
944:
945: END IF;
946:
975:
976: -- Print is immediate so check if limit has been reached
977: IF (p_ps_mode = 'I' AND l_limit <> -1) THEN
978: IF (g_pskey_table(l_hash_value).counter >= l_limit) THEN
979: x_ready_to_print := FND_API.G_TRUE;
980: g_print_ps_table(g_print_ps_table.count + 1) := x_pick_slip_number;
981: g_pskey_table.delete(l_hash_value);
982: END IF;
983: END IF;
989: x_pick_slip_number => x_pick_slip_number,
990: x_error_message => x_error_message);
991: END IF;
992:
993: x_api_status := FND_API.G_RET_STS_SUCCESS;
994: EXCEPTION
995: WHEN OTHERS THEN
996: x_error_message := 'Error occurred in WSH_PR_PICK_NUMBER.Get_Pick_Slip_Number';
997: x_api_status := FND_API.G_RET_STS_UNEXP_ERROR;
993: x_api_status := FND_API.G_RET_STS_SUCCESS;
994: EXCEPTION
995: WHEN OTHERS THEN
996: x_error_message := 'Error occurred in WSH_PR_PICK_NUMBER.Get_Pick_Slip_Number';
997: x_api_status := FND_API.G_RET_STS_UNEXP_ERROR;
998: END Get_Pick_Slip_Number;
999:
1000: --
1001: -- Name
1014: ( x_api_status OUT NOCOPY VARCHAR2,
1015: x_error_message OUT NOCOPY VARCHAR2 ) IS
1016: BEGIN
1017:
1018: x_api_status := FND_API.G_RET_STS_SUCCESS;
1019: IF WSH_CODE_CONTROL.Get_Code_Release_Level >= '110509'
1020: THEN
1021: INV_PR_PICK_SLIP_NUMBER.g_pskey_table.delete ;
1022: ELSE
1025:
1026: EXCEPTION
1027: WHEN OTHERS THEN
1028: x_error_message := 'Error occurred in WSH_PR_PICK_NUMBER.DELETE_PS_TBL: ' || SQLERRM;
1029: x_api_status := FND_API.G_RET_STS_UNEXP_ERROR;
1030: END DELETE_PS_TBL ;
1031:
1032: END WSH_PR_PICK_SLIP_NUMBER;