DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_AE_PROFPROPS

Source


1 package body JTF_AE_PROFPROPS as
2 /* $Header: JTFAEPPB.pls 120.1 2005/07/02 02:00:01 appldev ship $ */
3 procedure INSERT_ROW (
4   X_PROFILEPROPERTIES_ID in NUMBER,
5   X_PROFILE_MAPPINGS_ID in NUMBER,
6   X_ATTRNAME in VARCHAR2,
7   X_OWNER_APPLICATION_ID in NUMBER,
8   X_ISPRIMARYKEY_FLAG_CODE in VARCHAR2,
9   X_OBJECT_VERSION_NUMBER in NUMBER,
10   X_SECURITY_GROUP_ID in NUMBER,
11   X_PROPERTYNAME in VARCHAR2,
12   X_PROP_DESCRIPTION in VARCHAR2,
13   X_CREATION_DATE in DATE,
14   X_CREATED_BY in NUMBER,
15   X_LAST_UPDATE_DATE in DATE,
16   X_LAST_UPDATED_BY in NUMBER,
17   X_LAST_UPDATE_LOGIN in NUMBER
18 ) is
19   cursor C is select ROWID from JTF_PROFILEPROPERTIES_B
20     where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID
21     ;
22 begin
23   insert into JTF_PROFILEPROPERTIES_B (
24     PROFILE_MAPPINGS_ID,
25     ATTRNAME,
26     OWNER_APPLICATION_ID,
27     ISPRIMARYKEY_FLAG_CODE,
28     OBJECT_VERSION_NUMBER,
29     SECURITY_GROUP_ID,
30     PROFILEPROPERTIES_ID,
31     CREATION_DATE,
32     CREATED_BY,
33     LAST_UPDATE_DATE,
34     LAST_UPDATED_BY,
35     LAST_UPDATE_LOGIN
36   ) values (
37     X_PROFILE_MAPPINGS_ID,
38     X_ATTRNAME,
39     X_OWNER_APPLICATION_ID,
40     X_ISPRIMARYKEY_FLAG_CODE,
41     X_OBJECT_VERSION_NUMBER,
42     X_SECURITY_GROUP_ID,
43     X_PROFILEPROPERTIES_ID,
44     X_CREATION_DATE,
45     X_CREATED_BY,
46     X_LAST_UPDATE_DATE,
47     X_LAST_UPDATED_BY,
48     X_LAST_UPDATE_LOGIN
49   );
50 
51   insert into JTF_PROFILEPROPERTIES_TL (
52     SECURITY_GROUP_ID,
53     PROFILEPROPERTIES_ID,
54     PROPERTYNAME,
55     PROP_DESCRIPTION,
56     CREATION_DATE,
57     CREATED_BY,
58     LAST_UPDATE_DATE,
59     LAST_UPDATED_BY,
60     LAST_UPDATE_LOGIN,
61     LANGUAGE,
62     SOURCE_LANG
63   ) select
64     X_SECURITY_GROUP_ID,
65     X_PROFILEPROPERTIES_ID,
66     X_PROPERTYNAME,
67     X_PROP_DESCRIPTION,
68     X_CREATION_DATE,
69     X_CREATED_BY,
70     X_LAST_UPDATE_DATE,
71     X_LAST_UPDATED_BY,
72     X_LAST_UPDATE_LOGIN,
73     L.LANGUAGE_CODE,
74     userenv('LANG')
75   from FND_LANGUAGES L
76   where L.INSTALLED_FLAG in ('I', 'B')
77   and not exists
78     (select NULL
79     from JTF_PROFILEPROPERTIES_TL T
80     where T.PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID
81     and T.LANGUAGE = L.LANGUAGE_CODE);
82 
83   open c;
84   if (c%notfound) then
85     close c;
86     raise no_data_found;
87   end if;
88   close c;
89 
90 end INSERT_ROW;
91 
92 procedure LOCK_ROW (
93   X_PROFILEPROPERTIES_ID in NUMBER,
94   X_PROFILE_MAPPINGS_ID in NUMBER,
95   X_ATTRNAME in VARCHAR2,
96   X_OWNER_APPLICATION_ID in NUMBER,
97   X_ISPRIMARYKEY_FLAG_CODE in VARCHAR2,
98   X_OBJECT_VERSION_NUMBER in NUMBER,
99   X_SECURITY_GROUP_ID in NUMBER,
100   X_PROPERTYNAME in VARCHAR2,
101   X_PROP_DESCRIPTION in VARCHAR2
102 ) is
103   cursor c is select
104       PROFILE_MAPPINGS_ID,
105       ATTRNAME,
106       OWNER_APPLICATION_ID,
107       ISPRIMARYKEY_FLAG_CODE,
108       OBJECT_VERSION_NUMBER,
109       SECURITY_GROUP_ID
110     from JTF_PROFILEPROPERTIES_B
111     where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID
112     for update of PROFILEPROPERTIES_ID nowait;
113   recinfo c%rowtype;
114 
115   cursor c1 is select
116       PROPERTYNAME,
117       PROP_DESCRIPTION,
118       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
119     from JTF_PROFILEPROPERTIES_TL
120     where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID
121     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
122     for update of PROFILEPROPERTIES_ID nowait;
123 begin
124   open c;
125   fetch c into recinfo;
126   if (c%notfound) then
127     close c;
128     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
129     app_exception.raise_exception;
130   end if;
131   close c;
132   if (    (recinfo.PROFILE_MAPPINGS_ID = X_PROFILE_MAPPINGS_ID)
133       AND (recinfo.ATTRNAME = X_ATTRNAME)
134       AND (recinfo.OWNER_APPLICATION_ID = X_OWNER_APPLICATION_ID)
135       AND (recinfo.ISPRIMARYKEY_FLAG_CODE = X_ISPRIMARYKEY_FLAG_CODE)
136       AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
137            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
138       AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
139            OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
140   ) then
141     null;
142   else
143     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
144     app_exception.raise_exception;
145   end if;
146 
147   for tlinfo in c1 loop
148     if (tlinfo.BASELANG = 'Y') then
149       if (    ((tlinfo.PROPERTYNAME = X_PROPERTYNAME)
150                OR ((tlinfo.PROPERTYNAME is null) AND (X_PROPERTYNAME is null)))
151           AND ((tlinfo.PROP_DESCRIPTION = X_PROP_DESCRIPTION)
152                OR ((tlinfo.PROP_DESCRIPTION is null) AND (X_PROP_DESCRIPTION is null)))
153       ) then
154         null;
155       else
156         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
157         app_exception.raise_exception;
158       end if;
159     end if;
160   end loop;
161   return;
162 end LOCK_ROW;
163 
164 procedure UPDATE_ROW (
165   X_PROFILEPROPERTIES_ID in NUMBER,
166   X_PROFILE_MAPPINGS_ID in NUMBER,
167   X_ATTRNAME in VARCHAR2,
168   X_OWNER_APPLICATION_ID in NUMBER,
169   X_ISPRIMARYKEY_FLAG_CODE in VARCHAR2,
170   X_OBJECT_VERSION_NUMBER in NUMBER,
171   X_SECURITY_GROUP_ID in NUMBER,
172   X_PROPERTYNAME in VARCHAR2,
173   X_PROP_DESCRIPTION in VARCHAR2,
174   X_LAST_UPDATE_DATE in DATE,
175   X_LAST_UPDATED_BY in NUMBER,
176   X_LAST_UPDATE_LOGIN in NUMBER
177 ) is
178 begin
179   update JTF_PROFILEPROPERTIES_B set
180     PROFILE_MAPPINGS_ID = X_PROFILE_MAPPINGS_ID,
181     ATTRNAME = X_ATTRNAME,
182     OWNER_APPLICATION_ID = X_OWNER_APPLICATION_ID,
183     ISPRIMARYKEY_FLAG_CODE = X_ISPRIMARYKEY_FLAG_CODE,
184     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
185     SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
186     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
187     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
188     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
189   where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID;
190 
191   if (sql%notfound) then
192     raise no_data_found;
193   end if;
194 
195   update JTF_PROFILEPROPERTIES_TL set
196     PROPERTYNAME = X_PROPERTYNAME,
197     PROP_DESCRIPTION = X_PROP_DESCRIPTION,
198     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
199     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
200     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
201     SOURCE_LANG = userenv('LANG')
202   where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID
203   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
204 
205   if (sql%notfound) then
206     raise no_data_found;
207   end if;
208 end UPDATE_ROW;
209 
210 procedure DELETE_ROW (
211   X_PROFILEPROPERTIES_ID in NUMBER
212 ) is
213 begin
214   delete from JTF_PROFILEPROPERTIES_TL
215   where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID;
216 
217   if (sql%notfound) then
218     raise no_data_found;
219   end if;
220 
221   delete from JTF_PROFILEPROPERTIES_B
222   where PROFILEPROPERTIES_ID = X_PROFILEPROPERTIES_ID;
223 
224   if (sql%notfound) then
225     raise no_data_found;
226   end if;
227 end DELETE_ROW;
228 
229 procedure ADD_LANGUAGE
230 is
231 begin
232   delete from JTF_PROFILEPROPERTIES_TL T
233   where not exists
234     (select NULL
235     from JTF_PROFILEPROPERTIES_B B
236     where B.PROFILEPROPERTIES_ID = T.PROFILEPROPERTIES_ID
237     );
238 
239   update JTF_PROFILEPROPERTIES_TL T set (
240       PROPERTYNAME,
241       PROP_DESCRIPTION
242     ) = (select
243       B.PROPERTYNAME,
244       B.PROP_DESCRIPTION
245     from JTF_PROFILEPROPERTIES_TL B
246     where B.PROFILEPROPERTIES_ID = T.PROFILEPROPERTIES_ID
247     and B.LANGUAGE = T.SOURCE_LANG)
248   where (
249       T.PROFILEPROPERTIES_ID,
250       T.LANGUAGE
251   ) in (select
252       SUBT.PROFILEPROPERTIES_ID,
253       SUBT.LANGUAGE
254     from JTF_PROFILEPROPERTIES_TL SUBB, JTF_PROFILEPROPERTIES_TL SUBT
255     where SUBB.PROFILEPROPERTIES_ID = SUBT.PROFILEPROPERTIES_ID
256     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
257     and (SUBB.PROPERTYNAME <> SUBT.PROPERTYNAME
258       or (SUBB.PROPERTYNAME is null and SUBT.PROPERTYNAME is not null)
259       or (SUBB.PROPERTYNAME is not null and SUBT.PROPERTYNAME is null)
260       or SUBB.PROP_DESCRIPTION <> SUBT.PROP_DESCRIPTION
261       or (SUBB.PROP_DESCRIPTION is null and SUBT.PROP_DESCRIPTION is not null)
262       or (SUBB.PROP_DESCRIPTION is not null and SUBT.PROP_DESCRIPTION is null)
263   ));
264 
265   insert into JTF_PROFILEPROPERTIES_TL (
266     SECURITY_GROUP_ID,
267     PROFILEPROPERTIES_ID,
268     PROPERTYNAME,
269     DESCRIPTION,
270     PROP_DESCRIPTION,
271     CREATION_DATE,
272     CREATED_BY,
273     LAST_UPDATE_DATE,
274     LAST_UPDATED_BY,
275     LAST_UPDATE_LOGIN,
276     LANGUAGE,
277     SOURCE_LANG
278   ) select
279     B.SECURITY_GROUP_ID,
280     B.PROFILEPROPERTIES_ID,
281     B.PROPERTYNAME,
282     B.DESCRIPTION,
283     B.PROP_DESCRIPTION,
284     B.CREATION_DATE,
285     B.CREATED_BY,
286     B.LAST_UPDATE_DATE,
287     B.LAST_UPDATED_BY,
288     B.LAST_UPDATE_LOGIN,
289     L.LANGUAGE_CODE,
290     B.SOURCE_LANG
291   from JTF_PROFILEPROPERTIES_TL B, FND_LANGUAGES L
292   where L.INSTALLED_FLAG in ('I', 'B')
293   and B.LANGUAGE = userenv('LANG')
294   and not exists
295     (select NULL
296     from JTF_PROFILEPROPERTIES_TL T
297     where T.PROFILEPROPERTIES_ID = B.PROFILEPROPERTIES_ID
298     and T.LANGUAGE = L.LANGUAGE_CODE);
299 end ADD_LANGUAGE;
300 
301 procedure TRANSLATE_ROW(
302   X_PROFILEPROPERTIES_ID in NUMBER,
303   X_PROPERTYNAME in VARCHAR2,
304   X_PROP_DESCRIPTION in VARCHAR2,
305   X_OWNER in VARCHAR2
306 ) is
307 
308 begin
309   update JTF_PROFILEPROPERTIES_TL set
310   PROPERTYNAME             = X_PROPERTYNAME,
311   PROP_DESCRIPTION         = X_PROP_DESCRIPTION,
312   SOURCE_LANG              = userenv('LANG'),
313   last_update_date         = sysdate,
314   last_updated_by          = decode(X_OWNER,'SEED',1,0),
315   last_update_login        = 0
316   where PROFILEPROPERTIES_ID = to_number(X_PROFILEPROPERTIES_ID)
317         and userenv('LANG') in (language, source_lang);
318 
319 end TRANSLATE_ROW;
320 
321 procedure LOAD_ROW(
322   X_PROFILEPROPERTIES_ID in NUMBER,
323   X_SECURITY_GROUP_ID in NUMBER,
324   X_PROFILE_MAPPINGS_ID in NUMBER,
325   X_ATTRNAME in VARCHAR2,
326   X_OWNER_APPLICATION_ID in NUMBER,
327   X_ISPRIMARYKEY_FLAG_CODE in VARCHAR2,
328   X_PROPERTYNAME in VARCHAR2,
329   X_PROP_DESCRIPTION in VARCHAR2,
330   X_OBJECT_VERSION_NUMBER in NUMBER,
331   X_OWNER in VARCHAR2
332 ) is
333 
334 l_rowid  VARCHAR2(64);
335 l_user_id NUMBER := 0;
336 
337 begin
338         if(x_owner = 'SEED') then
339                 l_user_id := 1;
340         end if;
341 
342       -- Update row if present
343       JTF_AE_PROFPROPS.UPDATE_ROW (
344         X_PROFILEPROPERTIES_ID   => X_PROFILE_MAPPINGS_ID,
345         X_PROFILE_MAPPINGS_ID    => X_PROFILE_MAPPINGS_ID,
346         X_ATTRNAME               => X_ATTRNAME,
347         X_OWNER_APPLICATION_ID   => X_OWNER_APPLICATION_ID,
348         X_ISPRIMARYKEY_FLAG_CODE => X_ISPRIMARYKEY_FLAG_CODE,
349         X_OBJECT_VERSION_NUMBER  => X_OBJECT_VERSION_NUMBER,
350         X_SECURITY_GROUP_ID      => X_SECURITY_GROUP_ID,
351         X_PROPERTYNAME           => X_PROPERTYNAME,
352         X_PROP_DESCRIPTION       => X_PROP_DESCRIPTION,
353         X_LAST_UPDATE_DATE       => sysdate,
354         X_LAST_UPDATED_BY        => l_user_id,
355         X_LAST_UPDATE_LOGIN      => 0);
356    exception
357    when NO_DATA_FOUND then
358       -- Insert a row
359       JTF_AE_PROFPROPS.INSERT_ROW (
360         X_PROFILEPROPERTIES_ID   => X_PROFILE_MAPPINGS_ID,
361         X_PROFILE_MAPPINGS_ID    => X_PROFILE_MAPPINGS_ID,
362         X_ATTRNAME               => X_ATTRNAME,
363         X_OWNER_APPLICATION_ID   => X_OWNER_APPLICATION_ID,
364         X_ISPRIMARYKEY_FLAG_CODE => X_ISPRIMARYKEY_FLAG_CODE,
365         X_OBJECT_VERSION_NUMBER  => X_OBJECT_VERSION_NUMBER,
366         X_SECURITY_GROUP_ID      => X_SECURITY_GROUP_ID,
367         X_PROPERTYNAME           => X_PROPERTYNAME,
368         X_PROP_DESCRIPTION       => X_PROP_DESCRIPTION,
369         X_CREATION_DATE          => sysdate,
370         X_CREATED_BY             => l_user_id,
371         X_LAST_UPDATE_DATE       => sysdate,
372         X_LAST_UPDATED_BY        => l_user_id,
373         X_LAST_UPDATE_LOGIN      => 0
374       );
375 
376 
377 end LOAD_ROW;
378 
379 end JTF_AE_PROFPROPS;