[Home] [Help]
Skip to content
PACKAGE BODY: APPS.PO_UNIT_OF_MEASURES_SV1
Source
1 PACKAGE BODY PO_UNIT_OF_MEASURES_SV1 AS
2 /* $Header: POXPIUMB.pls 120.0.12000000.1 2007/07/27 08:29:50 grohit noship $ */
3
4 /*================================================================
5
6 FUNCTION NAME: val_unit_of_measure()
7
8 ==================================================================*/
9 FUNCTION val_unit_of_measure( x_unit_of_measure IN VARCHAR2,
10 x_uom_code IN VARCHAR2) RETURN BOOLEAN
11 IS
12
13 x_progress varchar2(3) := null;
14 x_temp binary_integer := 0;
15
16 BEGIN
17 x_progress := '010';
18 IF (X_unit_of_measure IS NULL AND
19 X_uom_code IS NULL) THEN
20
21 RETURN FALSE; /* validation fails*/
22 /* must either specify uom_code or unit_of_measure */
23 END IF;
24
25 /* check to see if x_uom_code is valid in po_units_of_measure_val_v */
26 x_progress := '020';
27
28 SELECT count(*)
29 INTO x_temp
30 FROM po_units_of_measure_val_v
31 WHERE (uom_code = x_uom_code
32 OR
33 X_uom_code IS NULL)
34 AND (unit_of_measure = X_unit_of_measure
35 OR
36 X_unit_of_measure IS NULL);
37
38 IF x_temp = 1 THEN
39 RETURN TRUE; /* validation succeeds */
40 ELSE
41 RETURN FALSE; /* validation fails*/
42 END IF;
43
44 EXCEPTION
45 WHEN others THEN
46 po_message_s.sql_error
47 ('val_unit_of_measure', x_progress, sqlcode);
48 raise;
49 END val_unit_of_measure;
50
51 /*================================================================
52
53 FUNCTION NAME: val_item_unit_of_measure ()
54
55 ==================================================================*/
56 FUNCTION val_item_unit_of_measure(x_item_unit_of_measure IN VARCHAR2,
57 x_item_id IN NUMBER,
58 x_organization_id IN NUMBER) RETURN BOOLEAN
59 IS
60
61 x_progress varchar2(3) := null;
62 x_temp binary_integer := 0;
63
64 BEGIN
65 /* check to see if x_item_unit_of_measure is valid in mtl_item_uoms_view */
66 x_progress := '010';
67
68 SELECT count(*)
69 INTO x_temp
70 FROM mtl_item_uoms_view
71 WHERE unit_of_measure = x_item_unit_of_measure
72 AND inventory_item_id = x_item_id
73 AND organization_id = x_organization_id;
74
75 IF x_temp = 0 THEN
76 RETURN FALSE; /* validation fails */
77 ELSE
78 RETURN TRUE; /* validation succeeds */
79 END IF;
80
81 EXCEPTION
82 WHEN others THEN
83 po_message_s.sql_error('val_item_uom_code', x_progress,sqlcode);
84 raise;
85 END val_item_unit_of_measure ;
86
87 /*================================================================
88
89 FUNCTION NAME: derive_unit_of_measure()
90
91 ==================================================================*/
92 FUNCTION derive_unit_of_measure (X_uom_code IN VARCHAR2)
93 return VARCHAR2 IS
94
95 X_progress varchar2(3) := NULL;
96 X_unit_of_measure_v varchar2(25);
97
98 BEGIN
99
100 X_progress := '010';
101
102 /* get the unit_of_measure from po_unit_of_measuresval_v table
103 based on the x_uom_code which is provided from input para. */
104
105 SELECT unit_of_measure
106 INTO X_unit_of_measure_v
107 FROM po_units_of_measure_val_v
108 WHERE uom_code = X_uom_code;
109
110 RETURN X_unit_of_measure_v;
111
112 EXCEPTION
113
114 WHEN no_data_found THEN
115 RETURN NULL;
116 WHEN others THEN
117 po_message_s.sql_error('derive_unit_of_measure',X_progress, sqlcode);
118 raise;
119
120 END derive_unit_of_measure;
121
122 END PO_UNIT_OF_MEASURES_SV1;