1 PACKAGE BODY PO_COMMODITIES_UTIL_PKG AS
2 /*$Header: POXCMUTB.pls 115.1 2003/07/03 01:02:42 jazhang noship $ */
3
4 FUNCTION is_commodity_code_unique (
5 p_comm_id IN NUMBER
6 , p_comm_code IN VARCHAR2
7 ) RETURN VARCHAR2
8 IS
9
10 l_dup po_commodities_b.commodity_id%TYPE;
11
12 CURSOR po_comm_cur IS
13 SELECT commodity_id
14 FROM po_commodities_b
15 WHERE commodity_id <> p_comm_id
16 AND upper(commodity_code) = upper(p_comm_code);
17
18 BEGIN
19
20 IF p_comm_code IS NULL THEN
21 RETURN 'N';
22 END IF;
23
24 OPEN po_comm_cur;
25 FETCH po_comm_cur INTO l_dup;
26 IF po_comm_cur%FOUND THEN
27 CLOSE po_comm_cur;
28 RETURN 'N';
29 END IF;
30 CLOSE po_comm_cur;
31
32 RETURN 'Y';
33
34 END is_commodity_code_unique;
35
36 FUNCTION is_commodity_name_unique (
37 p_comm_id IN NUMBER
38 , p_comm_name IN VARCHAR2
39 ) RETURN VARCHAR2
40 IS
41
42 l_dup po_commodities_vl.commodity_id%TYPE;
43
44 CURSOR po_comm_cur IS
45 SELECT commodity_id
46 FROM po_commodities_vl
47 WHERE commodity_id <> p_comm_id
48 AND upper(name) = upper(p_comm_name);
49
50 BEGIN
51
52 IF p_comm_name IS NULL THEN
53 RETURN 'N';
54 END IF;
55
56 OPEN po_comm_cur;
57 FETCH po_comm_cur INTO l_dup;
58 IF po_comm_cur%FOUND THEN
59 CLOSE po_comm_cur;
60 RETURN 'N';
61 END IF;
62 CLOSE po_comm_cur;
63
64 RETURN 'Y';
65
66 END is_commodity_name_unique;
67
68 END PO_COMMODITIES_UTIL_PKG;