DBA Data[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;