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