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