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