[Home] [Help]
PACKAGE BODY: APPS.POS_QUANTITIES_S
Source
1 PACKAGE BODY POS_QUANTITIES_S AS
2 /* $Header: POSTXQUB.pls 115.0 99/08/20 11:10:16 porting sh $ */
3
4 /* getAvailableQuantity
5 * --------------------
6 * PL/SQL wrapper around rcv_quantities_s.get_available_quantity to return
7 * some values.
8 */
9 FUNCTION getAvailableQuantity(p_lineLocationID IN NUMBER) RETURN NUMBER
10 IS
11
12 v_availableQuantity NUMBER;
13 v_tolerableQuantity NUMBER;
14 v_unitOfMeasure VARCHAR2(25);
15 x_progress VARCHAR2(3);
16
17 BEGIN
18
19 x_progress := '001';
20
21 rcv_quantities_s.get_available_quantity('RECEIVE',
22 p_lineLocationID,
23 'VENDOR',
24 null,
25 null,
26 null,
27 v_availableQuantity,
28 v_tolerableQuantity,
29 v_unitOfMeasure);
30
31 RETURN v_availableQuantity;
32
33
34 EXCEPTION
35 WHEN OTHERS THEN
36 po_message_s.sql_error('getAvailableQuantity', x_progress, sqlcode);
37 RAISE;
38
39 END getAvailableQuantity;
40
41
42
43
44
45
46
47
48
49 /* getTolerableQuantity
50 * --------------------
51 * PL/SQL wrapper around rcv_quantities_s.get_available_quantity to return
52 * some values.
53 */
54 FUNCTION getTolerableQuantity(p_lineLocationID IN NUMBER) RETURN NUMBER
55 IS
56
57 v_availableQuantity NUMBER;
58 v_tolerableQuantity NUMBER;
59 v_unitOfMeasure VARCHAR2(25);
60 x_progress VARCHAR2(3);
61
62 BEGIN
63
64 x_progress := '001';
65
66 rcv_quantities_s.get_available_quantity('RECEIVE',
67 p_lineLocationID,
68 'VENDOR',
69 null,
70 null,
71 null,
72 v_availableQuantity,
73 v_tolerableQuantity,
74 v_unitOfMeasure);
75
76 RETURN v_tolerableQuantity;
77
78
79 EXCEPTION
80 WHEN OTHERS THEN
81 po_message_s.sql_error('getTolerableQuantity', x_progress, sqlcode);
82 RAISE;
83
84 END getTolerableQuantity;
85
86 FUNCTION get_invoice_qty(x_line_location_id in number,
87 x_asn_unit_of_measure in varchar2,
88 x_item_id in number,
89 x_quantity in number) return number IS
90 x_conversion_rate number := 0;
91 x_asn_uom_code varchar2(30);
92 x_po_uom_code varchar2(30);
93 BEGIN
94
95 IF (x_asn_unit_of_measure is not null) THEN
96
97 SELECT uom_code
98 INTO x_asn_uom_code
99 FROM mtl_units_of_measure
100 WHERE unit_of_measure = x_asn_unit_of_measure;
101
102 SELECT uom_code
103 INTO x_po_uom_code
104 FROM mtl_units_of_measure
105 WHERE unit_of_measure = (select nvl(poll.UNIT_MEAS_LOOKUP_CODE, pol.UNIT_MEAS_LOOKUP_CODE)
106 from po_line_locations_all poll,
107 po_lines_all pol
108 where poll.line_location_id = x_line_location_id and
109 poll.po_line_id = pol.po_line_id );
110
111 inv_convert.inv_um_conversion(x_asn_uom_code,
112 x_po_uom_code,
113 x_item_id,
114 x_conversion_rate);
115
116 END IF;
117
118 return (x_conversion_rate * x_quantity);
119
120 END get_invoice_qty;
121
122
123 END POS_QUANTITIES_S;
124