1 package body XDO_CONFIG_VALUES_PKG as
2 /* $Header: XDOCFGVB.pls 120.0 2005/09/01 20:26:16 bokim noship $ */
3
4 procedure INSERT_ROW (
5 P_VALUE_ID in NUMBER,
6 P_CONFIG_LEVEL in NUMBER,
7 P_APPLICATION_SHORT_NAME in VARCHAR2,
8 P_DATA_SOURCE_CODE in VARCHAR2,
9 P_TEMPLATE_CODE in VARCHAR2,
10 P_PROPERTY_CODE in VARCHAR2,
11 P_VALUE in VARCHAR2,
12 P_BVALUE in RAW,
13 P_CREATION_DATE in DATE,
14 P_CREATED_BY in NUMBER,
15 P_LAST_UPDATE_DATE in DATE,
16 P_LAST_UPDATED_BY in NUMBER,
17 P_LAST_UPDATE_LOGIN in NUMBER
18 ) is
19 begin
20 insert into XDO_CONFIG_VALUES (
21 VALUE_ID,
22 CONFIG_LEVEL,
23 APPLICATION_SHORT_NAME,
24 DATA_SOURCE_CODE,
25 TEMPLATE_CODE,
26 PROPERTY_CODE,
27 VALUE,
28 BVALUE,
29 CREATION_DATE,
30 CREATED_BY,
31 LAST_UPDATE_DATE,
32 LAST_UPDATED_BY,
33 LAST_UPDATE_LOGIN
34 ) values (
35 P_VALUE_ID,
36 P_CONFIG_LEVEL,
37 P_APPLICATION_SHORT_NAME,
38 P_DATA_SOURCE_CODE,
39 P_TEMPLATE_CODE,
40 P_PROPERTY_CODE,
41 P_VALUE,
42 P_BVALUE,
43 P_CREATION_DATE,
44 P_CREATED_BY,
45 P_LAST_UPDATE_DATE,
46 P_LAST_UPDATED_BY,
47 P_LAST_UPDATE_LOGIN
48 );
49 end INSERT_ROW;
50
51
52
53 procedure UPDATE_ROW (
54 P_CONFIG_LEVEL in NUMBER,
55 P_APPLICATION_SHORT_NAME in VARCHAR2,
56 P_DATA_SOURCE_CODE in VARCHAR2,
57 P_TEMPLATE_CODE in VARCHAR2,
58 P_PROPERTY_CODE in VARCHAR2,
59 P_VALUE in VARCHAR2,
60 P_BVALUE in RAW,
61 P_LAST_UPDATE_DATE in DATE,
62 P_LAST_UPDATED_BY in NUMBER,
63 P_LAST_UPDATE_LOGIN in NUMBER
64 ) is
65 begin
66 update XDO_CONFIG_VALUES
67 set VALUE = P_VALUE,
68 BVALUE = P_BVALUE,
69 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
70 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
71 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
72 where CONFIG_LEVEL = P_CONFIG_LEVEL
73 and ( (APPLICATION_SHORT_NAME is null and P_APPLICATION_SHORT_NAME is null)
74 or (APPLICATION_SHORT_NAME = P_APPLICATION_SHORT_NAME))
75 and ( (DATA_SOURCE_CODE is null and P_DATA_SOURCE_CODE is null)
76 or (DATA_SOURCE_CODE = P_DATA_SOURCE_CODE))
77 and ( (TEMPLATE_CODE is null and P_TEMPLATE_CODE is null)
78 or (TEMPLATE_CODE = P_TEMPLATE_CODE))
79 and PROPERTY_CODE = P_PROPERTY_CODE;
80
81 if (sql%notfound) then
82 raise no_data_found;
83 end if;
84
85 end UPDATE_ROW;
86
87 function GET_VALUE_ID (
88 P_CONFIG_LEVEL in NUMBER,
89 P_APPLICATION_SHORT_NAME in VARCHAR2,
90 P_DATA_SOURCE_CODE in VARCHAR2,
91 P_TEMPLATE_CODE in VARCHAR2,
92 P_PROPERTY_CODE in VARCHAR2
93 ) return number is
94
95 m_value_id number;
96
97 begin
98 select value_id
99 into m_value_id
100 from xdo_config_values
101 where CONFIG_LEVEL = P_CONFIG_LEVEL
102 and ( (APPLICATION_SHORT_NAME is null and P_APPLICATION_SHORT_NAME is null)
103 or (APPLICATION_SHORT_NAME = P_APPLICATION_SHORT_NAME))
104 and ( (DATA_SOURCE_CODE is null and P_DATA_SOURCE_CODE is null)
105 or (DATA_SOURCE_CODE = P_DATA_SOURCE_CODE))
106 and ( (TEMPLATE_CODE is null and P_TEMPLATE_CODE is null)
107 or (TEMPLATE_CODE = P_TEMPLATE_CODE))
108 and PROPERTY_CODE = P_PROPERTY_CODE;
109
110 if (sql%notfound) then
111 raise no_data_found;
112 end if;
113
114 return m_value_id;
115
116 end GET_VALUE_ID;
117
118
119 procedure DELETE_ROW (
120 P_CONFIG_LEVEL in NUMBER,
121 P_APPLICATION_SHORT_NAME in VARCHAR2,
122 P_DATA_SOURCE_CODE in VARCHAR2,
123 P_TEMPLATE_CODE in VARCHAR2,
124 P_PROPERTY_CODE in VARCHAR2
125 ) is
126
127 m_value_id number;
128
129 begin
130
131 select value_id
132 into m_value_id
133 from xdo_config_values
134 where CONFIG_LEVEL = P_CONFIG_LEVEL
135 and ( (APPLICATION_SHORT_NAME is null and P_APPLICATION_SHORT_NAME is null)
136 or (APPLICATION_SHORT_NAME = P_APPLICATION_SHORT_NAME))
137 and ( (DATA_SOURCE_CODE is null and P_DATA_SOURCE_CODE is null)
138 or (DATA_SOURCE_CODE = P_DATA_SOURCE_CODE))
139 and ( (TEMPLATE_CODE is null and P_TEMPLATE_CODE is null)
140 or (TEMPLATE_CODE = P_TEMPLATE_CODE))
141 and PROPERTY_CODE = P_PROPERTY_CODE;
142
143 if (sql%notfound) then
144 raise no_data_found;
145 end if;
146
147 begin
148 xdo_config_keys_pkg.delete_row(m_value_id);
149 exception when no_data_found then
150 null;
151 end;
152
153 delete from XDO_CONFIG_VALUES
154 where value_id = m_value_id;
155
156 end DELETE_ROW;
157
158
159
160 procedure LOAD_ROW (
161 P_CONFIG_LEVEL in NUMBER,
162 P_APPLICATION_SHORT_NAME in VARCHAR2,
163 P_DATA_SOURCE_CODE in VARCHAR2,
164 P_TEMPLATE_CODE in VARCHAR2,
165 P_PROPERTY_CODE in VARCHAR2,
166 P_VALUE in VARCHAR2,
167 P_LAST_UPDATE_DATE in DATE,
168 P_LAST_UPDATED_BY in NUMBER,
169 P_LAST_UPDATE_LOGIN in NUMBER
170 ) is
171
172 value_id number;
173
174 begin
175
176 begin
177
178 UPDATE_ROW (
179 P_CONFIG_LEVEL,
180 P_APPLICATION_SHORT_NAME,
181 P_DATA_SOURCE_CODE,
182 P_TEMPLATE_CODE,
183 P_PROPERTY_CODE,
184 P_VALUE,
185 null,
186 P_LAST_UPDATE_DATE,
187 P_LAST_UPDATED_BY,
188 P_LAST_UPDATE_LOGIN
189 );
190
191 exception when no_data_found then
192
193 select xdo_config_values_seq.nextval into value_id from dual;
194
195 INSERT_ROW (
196 value_id,
197 P_CONFIG_LEVEL,
198 P_APPLICATION_SHORT_NAME,
199 P_DATA_SOURCE_CODE,
200 P_TEMPLATE_CODE,
201 P_PROPERTY_CODE,
202 P_VALUE,
203 null,
204 P_LAST_UPDATE_DATE,
205 P_LAST_UPDATED_BY,
206 P_LAST_UPDATE_DATE,
207 P_LAST_UPDATED_BY,
208 P_LAST_UPDATE_LOGIN
209 );
210
211 end;
212
213 end LOAD_ROW;
214
215 end XDO_CONFIG_VALUES_PKG;