[Home] [Help]
PACKAGE BODY: APPS.CCT_COLLECTION_UTIL_PUB
Source
1 PACKAGE BODY CCT_COLLECTION_UTIL_PUB as
2 /* $Header: cctcollb.pls 115.4 2003/02/19 02:31:54 svinamda noship $ */
3
4 FUNCTION Get(
5 p_key_value_varr IN cct_keyvalue_varr
6 ,p_key IN VARCHAR2
7 ,x_key_exists Out NOCOPY VARCHAR2
8 ) return varchar2 IS
9
10 l_key varchar2(4000);
11 l_value varchar2(4000) := '';
12 l_key_value_varr cct_keyvalue_varr;
13 i BINARY_INTEGER;
14 begin
15 x_key_exists := G_FALSE;
16 If (p_key IS NULL) Then
17 return '';
18 End If ;
19 i := p_key_value_varr.FIRST;
20 while (i <= p_key_value_varr.LAST) LOOP
21 --dbms_output.put_line (' Value of varray is ' || p_key_value_varr(i));
22 l_key := p_key_value_varr(i);
23 i := p_key_value_varr.NEXT(i);
24 If UPPER(l_key) = UPPER(p_key) then
25 x_key_exists := G_TRUE;
26 l_value := p_key_value_varr(i);
27 return l_value;
28 End If ;
29 i := p_key_value_varr.NEXT(i);
30 END LOOP;
31 return l_value;
32 EXCEPTION
33 WHEN OTHERS THEN
34 return l_value;
35 END Get;
36
37 FUNCTION Put(
38 p_key_value_varr IN OUT NOCOPY cct_keyvalue_varr
39 ,p_key IN VARCHAR2
40 ,p_value IN VARCHAR2
41 ) return varchar2 IS
42
43 l_key varchar2(4000);
44 l_value varchar2(4000) := '';
45 l_key_value_varr cct_keyvalue_varr;
46 i BINARY_INTEGER;
47 begin
48 If ((p_key IS NULL) OR (p_value IS NULL)) Then
49 RAISE NULL_POINTER_EXCEPTION;
50 End If ;
51 i := p_key_value_varr.FIRST;
52 while (i <= p_key_value_varr.LAST) LOOP
53 -- dbms_output.put_line (' Value of varray is ' || p_key_value_varr(i));
54 l_key := p_key_value_varr(i);
55 i := p_key_value_varr.NEXT(i);
56 If UPPER(l_key) = UPPER(p_key) then
57 -- x_oper_succeeded := 'Y';
58 l_value := p_key_value_varr(i);
59 p_key_value_varr(i) := p_value;
60 return l_value;
61 End If ;
62 i := p_key_value_varr.NEXT(i);
63 END LOOP;
64 p_key_value_varr.EXTEND();
65 i := p_key_value_varr.LAST;
66 p_key_value_varr(i) := p_key;
67 p_key_value_varr.EXTEND();
68 i := p_key_value_varr.LAST;
69 p_key_value_varr(i) := p_value;
70 -- x_oper_succeeded := 'Y';
71 return l_value;
72 EXCEPTION
73 WHEN NULL_POINTER_EXCEPTION THEN
74 RAISE NULL_POINTER_EXCEPTION;
75 WHEN OTHERS THEN
76 return l_value;
77 -- end ;
78 END Put;
79
80 FUNCTION GetKeys(
81 p_key_value_varr IN cct_keyvalue_varr
82 ) return cct_key_varr IS
83
84 l_key varchar2(4000);
85 l_value varchar2(4000) := '';
86 l_key_varr cct_key_varr := cct_key_varr();
87 i BINARY_INTEGER;
88 j BINARY_INTEGER;
89 begin
90 i := p_key_value_varr.FIRST;
91 while (i <= p_key_value_varr.LAST) LOOP
92 --dbms_output.put_line (' Value of varray is ' || p_key_value_varr(i));
93 l_key := p_key_value_varr(i);
94 l_key_varr.EXTEND();
95 j := l_key_varr.LAST();
96 l_key_varr(j) := l_key;
97 i := p_key_value_varr.NEXT(i);
98 i := p_key_value_varr.NEXT(i);
99 END LOOP;
100 return l_key_varr;
101 EXCEPTION
102 WHEN OTHERS THEN
103 return l_key_varr;
104 -- end ;
105 END GetKeys;
106
107 FUNCTION NumOfKeys(
108 p_key_value_varr IN cct_keyvalue_varr
109 ) return NUMBER IS
110
111 l_size NUMBER;
112 i BINARY_INTEGER;
113 begin
114 i := p_key_value_varr.COUNT;
115 l_size := i/2;
116 return l_size;
117 EXCEPTION
118 WHEN OTHERS THEN
119 return l_size;
120 -- end ;
121 END NUMOfKeys;
122
123
124
125 -- Returns key value pairs in the following format:
126 -- key1:value1;key2:value2;key3:value3;.......;keyn:valuen;
127 FUNCTION CCT_KeyValue_Varr_ToString
128 (
129 p_key_value_varr IN cct_keyvalue_varr
130 )
131
132
133 return VARCHAR2 IS
134
135 x_keyvalue_str VARCHAR2(32767) := '';
136 l_key VARCHAR2(256);
137 l_value VARCHAR2(256);
138 i BINARY_INTEGER;
139 BEGIN
140 i := p_key_value_varr.FIRST;
141 WHILE i IS NOT NULL LOOP
142 l_key := p_key_value_varr(i);
143 i := p_key_value_varr.NEXT(i);
144 l_value := p_key_value_varr(i);
145 x_keyvalue_str := x_keyvalue_str || l_key || ':' || l_value || ';' ;
146 i := p_key_value_varr.NEXT(i);
147 --dbms_output.put_line(x_keyvalue_str);
148 END LOOP;
149 --dbms_output.put_line('Returning ' || x_keyvalue_str);
150 return x_keyvalue_str;
151 EXCEPTION
152 WHEN OTHERS THEN
153 --dbms_output.put_line('CCT_COLLECTIONS_PUB.ToString');
154 --dbms_output.put_line(SQLCODE ||SUBSTR(SQLERRM, 1, 100));
155 return x_keyvalue_str;
156 END CCT_KeyValue_Varr_ToString;
157
158
159 END CCT_COLLECTION_UTIL_PUB;
160