[Home] [Help]
PACKAGE BODY: APPS.IEU_WP_PROPERTIES_PKG
Source
1 package body IEU_WP_PROPERTIES_PKG as
2 /* $Header: IEUVPROB.pls 120.1 2005/06/20 01:19:35 appldev ship $ */
3
4 procedure insert_row(
5 x_rowid in out nocopy Varchar2,
6 p_property_id in number,
7 p_object_version_number in number,
8 p_created_by in number,
9 p_creation_date in date,
10 p_last_updated_by in number,
11 p_last_update_date in date,
12 p_last_update_login in number,
13 p_property_set_type_code in varchar2,
14 p_property_set_type_id in number,
15 p_property_name in varchar2,
16 p_property_default_value in varchar2,
17 p_value_override_flag in varchar2,
18 p_value_translatable_flag in varchar2,
19 p_form_item_property_flag in varchar2,
20 p_not_valid_flag in varchar2,
21 p_property_label in varchar2,
22 p_property_description in varchar2
23 ) is
24 cursor C is select ROWID from IEU_WP_PROPERTIES_B
25 where PROPERTY_ID = P_property_id;
26
27 begin
28 insert into IEU_WP_PROPERTIES_B (
29 PROPERTY_ID,
30 OBJECT_VERSION_NUMBER,
31 CREATED_BY,
32 CREATION_DATE,
33 LAST_UPDATED_BY,
34 LAST_UPDATE_DATE,
35 LAST_UPDATE_LOGIN,
36 PROPERTY_SET_TYPE_CODE,
37 PROPERTY_SET_TYPE_ID,
38 PROPERTY_NAME,
39 PROPERTY_DEFAULT_VALUE,
40 VALUE_OVERRIDE_FLAG,
41 VALUE_TRANSLATABLE_FLAG,
42 FORM_ITEM_PROPERTY_FLAG,
43 NOT_VALID_FLAG
44 ) VALUES(
45 P_PROPERTY_ID,
46 P_OBJECT_VERSION_NUMBER,
47 P_CREATED_BY,
48 P_CREATION_DATE,
49 P_LAST_UPDATED_BY,
50 P_LAST_UPDATE_DATE,
51 P_LAST_UPDATE_LOGIN,
52 P_PROPERTY_SET_TYPE_CODE,
53 P_PROPERTY_SET_TYPE_ID,
54 P_PROPERTY_NAME,
55 P_PROPERTY_DEFAULT_VALUE,
56 P_VALUE_OVERRIDE_FLAG,
57 P_VALUE_TRANSLATABLE_FLAG,
58 P_FORM_ITEM_PROPERTY_FLAG,
59 P_NOT_VALID_FLAG
60 );
61
62 insert into IEU_WP_PROPERTIES_TL (
63 PROPERTY_ID,
64 OBJECT_VERSION_NUMBER,
65 CREATED_BY,
66 CREATION_DATE,
67 LAST_UPDATED_BY,
68 LAST_UPDATE_DATE,
69 LAST_UPDATE_LOGIN,
70 PROPERTY_LABEL,
71 PROPERTY_DESCRIPTION,
72 LANGUAGE,
73 SOURCE_LANG
74 ) select
75 P_PROPERTY_ID,
76 P_OBJECT_VERSION_NUMBER,
77 P_CREATED_BY,
78 P_CREATION_DATE,
79 P_LAST_UPDATED_BY,
80 P_LAST_UPDATE_DATE,
81 P_LAST_UPDATE_LOGIN,
82 P_PROPERTY_LABEL,
83 P_PROPERTY_DESCRIPTION,
84 l.language_code,
85 userenv('LANG')
86 from fnd_languages l
87 where l.installed_flag in ('I', 'B')
88 and not exists
89 (select null from ieu_wp_properties_tl t
90 where t.property_id = p_property_id
91 and t.language = l.language_code);
92
93 open c;
94 fetch c into x_rowid;
95 if (c%notfound) then
96 close c;
97 raise no_data_found;
98 end if;
99 close c;
100
101 END INSERT_ROW;
102
103
104 procedure lock_row(
105 p_property_id in number,
106 p_object_version_number in number,
107 p_property_set_type_code in varchar2,
108 p_property_set_type_id in number,
109 p_property_name in varchar2,
110 p_property_default_value in varchar2,
111 p_value_override_flag in varchar2,
112 p_value_translatable_flag in varchar2,
113 p_form_item_property_flag in varchar2,
114 p_not_valid_flag in varchar2,
115 p_property_label in varchar2,
116 p_property_description in varchar2
117 ) is
118 cursor c is select
119 object_version_number,
120 property_set_type_code,
121 PROPERTY_SET_TYPE_ID,
122 PROPERTY_NAME,
123 PROPERTY_DEFAULT_VALUE,
124 VALUE_OVERRIDE_FLAG,
125 VALUE_TRANSLATABLE_FLAG,
126 FORM_ITEM_PROPERTY_FLAG,
127 NOT_VALID_FLAG
128 from ieu_wp_properties_b
129 where property_id = p_property_id
130 for update of property_id nowait;
131 recinfo c%rowtype;
132
133 cursor c1 is select
134 PROPERTY_LABEL,
135 PROPERTY_DESCRIPTION,
136 decode(language, userenv('LANG'), 'Y', 'N') BASELANG
137 from ieu_wp_properties_tl
138 where property_id = p_property_id
139 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
140 for update of property_id nowait;
141
142 begin
143 open c;
144 fetch c into recinfo;
145 if (c%notfound) then
146 close c;
147 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
148 app_exception.raise_exception;
149 end if;
150 close c;
151 if ((recinfo.object_version_number = p_object_version_number)
152 AND(recinfo.property_set_type_code =p_property_set_type_code)
153 AND(recinfo.property_set_type_id =p_property_set_type_id)
154 AND(recinfo.property_name =p_property_name)
155 AND(recinfo.property_default_value =p_property_default_value)
156 AND(recinfo.value_override_flag = p_value_override_flag)
157 AND(recinfo.value_translatable_flag = p_value_translatable_flag)
158 AND(recinfo.form_item_property_flag = p_form_item_property_flag)
159 AND(recinfo.not_valid_flag = p_not_valid_flag))
160 then
161 null;
162 else
163 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
164 app_exception.raise_exception;
165 end if;
166
167 for tlinfo in c1 loop
168 if (tlinfo.BASELANG = 'Y') then
169 if ((tlinfo.PROPERTY_LABEL = p_property_label)
170 AND(tlinfo.PROPERTY_DESCRIPTION =p_property_description))
171 then
172 null;
173 else
174 fnd_message.set_name('FND','FORM_RECORD_CHANGED');
175 app_exception.raise_exception;
176 end if;
177 end if;
178 end loop;
179 return;
180
181 END LOCK_ROW;
182
183 procedure update_row(
184 p_property_id in number,
185 p_last_updated_by in number,
186 p_last_update_date in date,
187 p_last_update_login in number,
188 p_property_set_type_code in varchar2,
189 p_property_set_type_id in number,
190 p_property_name in varchar2,
191 p_property_default_value in varchar2,
192 p_value_override_flag in varchar2,
193 p_value_translatable_flag in varchar2,
194 p_form_item_property_flag in varchar2,
195 p_not_valid_flag in varchar2,
196 p_property_label in varchar2,
197 p_property_description in varchar2
198 ) is
199 begin
200 update IEU_WP_PROPERTIES_B set
201 object_version_number = object_version_number+1,
202 last_update_date = p_last_update_date,
203 last_updated_by = p_last_updated_by,
204 last_update_login = p_last_update_login,
205 PROPERTY_SET_TYPE_CODE =p_property_set_type_code,
206 PROPERTY_SET_TYPE_ID=p_property_set_type_id,
207 PROPERTY_NAME = p_property_name,
208 PROPERTY_DEFAULT_VALUE = p_property_default_value,
209 VALUE_OVERRIDE_FLAG = p_value_override_flag,
210 VALUE_TRANSLATABLE_FLAG = p_value_translatable_flag,
211 FORM_ITEM_PROPERTY_FLAG = p_form_item_property_flag,
212 NOT_VALID_FLAG = p_not_valid_flag
213 where property_id = p_property_id;
214
215 if (sql%notfound) then
216 raise no_data_found;
217 end if;
218
219 update IEU_WP_PROPERTIES_TL set
220 property_label = p_property_label,
221 property_description = p_property_description,
222 last_update_date = p_last_update_date,
223 last_updated_by = p_last_updated_by,
224 last_update_login = p_last_update_login,
225 object_version_number = object_version_number+1,
226 source_lang = userenv('LANG')
227 where property_id = p_property_id
228 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
229
230 if (sql%notfound) then
231 raise no_data_found;
232 end if;
233
234 END UPDATE_ROW;
235
236
237 procedure delete_row(
238 p_property_id in number
239 ) is
240 begin
241 delete from IEU_WP_PROPERTIES_TL
242 where property_id = p_property_id;
243
244 if (sql%notfound) then
245 raise no_data_found;
246 end if;
247
248 delete from ieu_wp_properties_b
249 where property_id = p_property_id;
250
251 if (sql%notfound) then
252 raise no_data_found;
253 end if;
254
255 END DELETE_ROW;
256
257
258 procedure add_language is
259
260 begin
261 delete from IEU_WP_PROPERTIES_TL t
262 where not exists
263 (select null
264 from ieu_wp_properties_b b
265 where b.property_id = t.property_id);
266
267 update ieu_wp_properties_tl t
268 set (property_label, property_description)
269 = (select b.property_label,
270 b.property_description
271 from ieu_wp_properties_tl b
272 where b.property_id = t.property_id
273 and b.language= t.source_lang)
274 where ( t.property_id, t.language )
275 in (select subt.property_id, subt.language
276 from ieu_wp_properties_tl subb, ieu_wp_properties_tl subt
277 where subb.property_id = subt.property_id
278 and subb.language = subt.source_lang
279 and (subb.property_label <> subt.property_label
280 or subb.property_description <> subt.property_description));
281
282 insert into ieu_wp_properties_tl(
283 property_ID,
284 OBJECT_VERSION_NUMBER,
285 CREATED_BY,
286 CREATION_DATE,
287 LAST_UPDATED_BY,
288 LAST_UPDATE_DATE,
289 LAST_UPDATE_LOGIN,
290 property_LABEL,
291 property_DESCription,
292 LANGUAGE,
293 SOURCE_LANG
294 ) select /*+ ORDERED */
295 b.property_id,
296 b.object_version_number,
297 b.created_by,
298 b.creation_date,
299 b.last_updated_by,
300 b.last_update_date,
301 b.last_update_login,
302 b.property_label,
303 b.property_description,
304 l.language_code,
305 b.source_lang
306 from ieu_wp_properties_tl b, fnd_languages l
307 where l.installed_flag in ('I', 'B')
308 and b.language= userenv('LANG')
309 and not exists
310 (select null from ieu_wp_properties_tl t
311 where t.property_id = b.property_id
312 and t.language = l.language_code);
313
314 END ADD_LANGUAGE;
315
316
317 procedure load_row(
318 p_property_id in number,
319 p_property_set_type_code in varchar2,
320 p_property_set_type_id in number,
321 p_property_name in varchar2,
322 p_property_default_value in varchar2,
323 p_value_override_flag in varchar2,
324 p_value_translatable_flag in varchar2,
325 p_form_item_property_flag in varchar2,
326 p_not_valid_flag in varchar2,
327 p_property_label in varchar2,
328 p_property_description in varchar2,
329 p_owner in varchar2
330 ) is
331
332 l_user_id number := 0;
333 l_rowid varchar2(50);
334
335 begin
336 if (p_owner = 'SEED') then
337 l_user_id := 1;
338 end if;
339
340 begin
341 update_row(
342 p_property_id => p_property_id,
343 --p_last_updated_by => l_user_id,
344 p_last_updated_by => fnd_load_util.owner_id(p_owner),
345 p_last_update_date => sysdate,
346 p_last_update_login => 0,
347 p_property_set_type_code => p_property_set_type_code,
348 p_property_set_type_id => p_property_set_type_id,
349 p_property_name => p_property_name,
350 p_property_default_value => p_property_default_value,
351 p_value_override_flag => p_value_override_flag,
352 p_value_translatable_flag => p_value_translatable_flag,
353 p_form_item_property_flag => p_form_item_property_flag,
354 p_not_valid_flag => p_not_valid_flag,
355 p_property_label => p_property_label,
356 p_property_description => p_property_description);
357
358 if (sql%notfound) then
359 raise no_data_found;
360 end if;
361
362 exception when no_data_found then
363 insert_row(
364 x_rowid => l_rowid,
365 p_property_id => p_property_id,
366 p_object_version_number => 1,
367 --p_created_by => l_user_id,
368 p_created_by => fnd_load_util.owner_id(p_owner),
369 p_creation_date => sysdate,
370 --p_last_updated_by => l_user_id,
371 p_last_updated_by => fnd_load_util.owner_id(p_owner),
372 p_last_update_date => sysdate,
373 p_last_update_login => 0,
374 p_property_set_type_code => p_property_set_type_code,
375 p_property_set_type_id => p_property_set_type_id,
376 p_property_name => p_property_name,
377 p_property_default_value => p_property_default_value,
378 p_value_override_flag => p_value_override_flag,
379 p_value_translatable_flag => p_value_translatable_flag,
380 p_form_item_property_flag => p_form_item_property_flag,
381 p_not_valid_flag => p_not_valid_flag,
382 p_property_label => p_property_label,
383 p_property_description => p_property_description);
384 end;
385
386 END LOAD_ROW;
387
388 procedure translate_row(
389 p_property_id in number,
390 p_property_label in varchar2,
391 p_property_description in varchar2,
392 p_owner in varchar2
393 ) is
394 begin
395 update IEU_WP_PROPERTIES_TL
396 set source_lang = userenv('LANG'),
397 property_label = p_property_label,
398 property_description = p_property_description,
399 last_update_date = sysdate,
400 --last_updated_by = decode(p_owner, 'SEED', 1, 0),
401 last_updated_by = fnd_load_util.owner_id(p_owner),
402 last_update_login = 0
403 where (property_id = p_property_id)
404 and (userenv('LANG') IN (LANGUAGE, SOURCE_LANG));
405
406 if (sql%notfound) then
407 raise no_data_found;
408 end if;
409
410 END TRANSLATE_ROW;
411
412 procedure load_seed_row(
413 p_upload_mode in varchar2,
414 p_property_id in number,
415 p_property_set_type_code in varchar2,
416 p_property_set_type_id in number,
417 p_property_name in varchar2,
418 p_property_default_value in varchar2,
419 p_value_override_flag in varchar2,
420 p_value_translatable_flag in varchar2,
421 p_form_item_property_flag in varchar2,
422 p_not_valid_flag in varchar2,
423 p_property_label in varchar2,
424 p_property_description in varchar2,
425 p_owner in varchar2
426 ) is
427 begin
428
429 if (p_upload_mode = 'NLS') then
430 translate_row(
431 p_property_id,
432 p_property_label,
433 p_property_description,
434 p_owner);
435 else
436 load_row(
437 p_property_id,
438 p_property_set_type_code,
439 p_property_set_type_id,
440 p_property_name,
441 p_property_default_value,
442 p_value_override_flag,
443 p_value_translatable_flag,
444 p_form_item_property_flag,
445 p_not_valid_flag,
446 p_property_label,
447 p_property_description,
448 p_owner);
449 end if;
450
451 end load_seed_row;
452
453 END IEU_WP_PROPERTIES_PKG;