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