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