DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_IH_ACTIONS_SEED_PKG

Source


1 package body JTF_IH_ACTIONS_SEED_PKG as
2 /* $Header: JTFIHACB.pls 120.4 2006/04/18 12:59:57 rdday ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_ACTION_ID in NUMBER,
6   X_OBJECT_VERSION_NUMBER in NUMBER,
7   X_ACTION in VARCHAR2,
8   X_SHORT_DESCRIPTION in VARCHAR2,
9   X_CREATION_DATE in DATE,
10   X_CREATED_BY in NUMBER,
11   X_LAST_UPDATE_DATE in DATE,
12   X_LAST_UPDATED_BY in NUMBER,
13   X_LAST_UPDATE_LOGIN in NUMBER,
14   X_ACTIVE in VARCHAR2
15 ) is
16   cursor C is select ROWID from JTF_IH_ACTIONS_B
17     where ACTION_ID = X_ACTION_ID
18     ;
19     --Added for performance issue due to literals -  27-Jul-2004
20     L_ACTIVE_FLAG VARCHAR2(1);
21     L_INSTALLED_FLAG1 VARCHAR2(1);
22     L_INSTALLED_FLAG2 VARCHAR2(1);
23     L_LANG VARCHAR2(25);
24 begin
25     --Added for performance issue due to literals -  27-Jul-2004
26     L_ACTIVE_FLAG := 'Y';
27     L_INSTALLED_FLAG1 := 'I';
28     L_INSTALLED_FLAG2 := 'B';
29     L_LANG := userenv('LANG');
30 
31     insert into JTF_IH_ACTIONS_B (
32     ACTION_ID,
33     OBJECT_VERSION_NUMBER,
34     CREATION_DATE,
35     CREATED_BY,
36     LAST_UPDATE_DATE,
37     LAST_UPDATED_BY,
38     LAST_UPDATE_LOGIN,
39     ACTIVE
40   ) values (
41     X_ACTION_ID,
42     X_OBJECT_VERSION_NUMBER,
43     X_CREATION_DATE,
44     X_CREATED_BY,
45     X_LAST_UPDATE_DATE,
46     X_LAST_UPDATED_BY,
47     X_LAST_UPDATE_LOGIN,
48     --NVL(X_ACTIVE,'Y')
49     --Added for performance issue due to literals -  27-Jul-2004
50     NVL(X_ACTIVE,L_ACTIVE_FLAG)
51   );
52 
53   insert into JTF_IH_ACTIONS_TL (
54     ACTION_ID,
55     OBJECT_VERSION_NUMBER,
56     CREATED_BY,
57     CREATION_DATE,
58     LAST_UPDATED_BY,
59     LAST_UPDATE_DATE,
60     LAST_UPDATE_LOGIN,
61     ACTION,
62     SHORT_DESCRIPTION,
63     LANGUAGE,
64     SOURCE_LANG
65   ) select
66     X_ACTION_ID,
67     X_OBJECT_VERSION_NUMBER,
68     X_CREATED_BY,
69     X_CREATION_DATE,
70     X_LAST_UPDATED_BY,
71     X_LAST_UPDATE_DATE,
72     X_LAST_UPDATE_LOGIN,
73     X_ACTION,
74     X_SHORT_DESCRIPTION,
75     L.LANGUAGE_CODE,
76     --Added for performance issue due to literals -  27-Jul-2004
77     --userenv('LANG')
78     L_LANG
79   from FND_LANGUAGES L
80   --Added for performance issue due to literals -  27-Jul-2004
81   --where L.INSTALLED_FLAG in ('I', 'B')
82   where L.INSTALLED_FLAG in ( L_INSTALLED_FLAG1,  L_INSTALLED_FLAG2)
83   and not exists
84     (select NULL
85     from JTF_IH_ACTIONS_TL T
86     where T.ACTION_ID = X_ACTION_ID
87     and T.LANGUAGE = L.LANGUAGE_CODE);
88 
89   open c;
90   fetch c into X_ROWID;
91   if (c%notfound) then
92     close c;
93     raise no_data_found;
94   end if;
95   close c;
96 
97 end INSERT_ROW;
98 
99 procedure LOCK_ROW (
100   X_ACTION_ID in NUMBER,
101   X_OBJECT_VERSION_NUMBER in NUMBER,
102   X_ACTION in VARCHAR2,
103   X_SHORT_DESCRIPTION in VARCHAR2
104 ) is
105   cursor c is select
106       OBJECT_VERSION_NUMBER
107     from JTF_IH_ACTIONS_B
108     where ACTION_ID = X_ACTION_ID
109     for update of ACTION_ID nowait;
110   recinfo c%rowtype;
111   --Added for performance issue due to literals -  28-Jul-2004
112   L_LANG VARCHAR2(25);
113   L_YES VARCHAR2(1);
114   L_NO VARCHAR2(1);
115 
116   cursor c1 is select
117       ACTION,
118       SHORT_DESCRIPTION,
119       --Added for performance issue due to literals -  28-Jul-2004
120       --decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
121       decode(LANGUAGE, L_LANG, L_YES, L_NO) BASELANG
122     from JTF_IH_ACTIONS_TL
123     where ACTION_ID = X_ACTION_ID
124     --and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
125     --Added for performance issue due to literals -  28-Jul-2004
126     and L_LANG in (LANGUAGE, SOURCE_LANG)
127     for update of ACTION_ID nowait;
128 begin
129   --Added for performance issue due to literals -  28-Jul-2004
130   L_LANG := userenv('LANG');
131   L_YES := 'Y';
132   L_NO := 'N';
133 
134   open c;
135   fetch c into recinfo;
136   if (c%notfound) then
137     close c;
138     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
139     app_exception.raise_exception;
140   end if;
141   close c;
142   if (    ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
143            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
144   ) then
145     null;
146   else
147     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
148     app_exception.raise_exception;
149   end if;
150 
151   for tlinfo in c1 loop
152     if (tlinfo.BASELANG = 'Y') then
153       if (    ((tlinfo.ACTION = X_ACTION)
154                OR ((tlinfo.ACTION is null) AND (X_ACTION is null)))
155           AND ((tlinfo.SHORT_DESCRIPTION = X_SHORT_DESCRIPTION)
156                OR ((tlinfo.SHORT_DESCRIPTION is null) AND (X_SHORT_DESCRIPTION is null)))
157       ) then
158         null;
159       else
160         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
161         app_exception.raise_exception;
162       end if;
163     end if;
164   end loop;
165   return;
166 end LOCK_ROW;
167 
168 procedure UPDATE_ROW (
169   X_ACTION_ID in NUMBER,
170   X_OBJECT_VERSION_NUMBER in NUMBER,
171   X_ACTION in VARCHAR2,
172   X_SHORT_DESCRIPTION in VARCHAR2,
173   X_LAST_UPDATE_DATE in DATE,
174   X_LAST_UPDATED_BY in NUMBER,
175   X_LAST_UPDATE_LOGIN in NUMBER,
176   X_ACTIVE in VARCHAR2
177 ) is
178 --Added for performance issue due to literals -  27-Jul-2004
179 L_ACTIVE_FLAG VARCHAR2(1);
180 L_LANG VARCHAR2(25);
181 begin
182 --Added for performance issue due to literals -  27-Jul-2004
183 L_ACTIVE_FLAG := 'Y';
184 L_LANG := userenv('LANG');
185 
186   update JTF_IH_ACTIONS_B set
187     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
188     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
189     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
190     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
191     --Added for performance issue due to literals -  27-Jul-2004
192     --ACTIVE = NVL(X_ACTIVE,'Y')
193     ACTIVE = NVL(X_ACTIVE,L_ACTIVE_FLAG)
194   where ACTION_ID = X_ACTION_ID;
195 
196   if (sql%notfound) then
197     raise no_data_found;
198   end if;
199 
200   update JTF_IH_ACTIONS_TL set
201     ACTION = X_ACTION,
202     SHORT_DESCRIPTION = X_SHORT_DESCRIPTION,
203     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
204     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
205     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
206     --Added for performance issue due to literals -  27-Jul-2004
207     --SOURCE_LANG = userenv('LANG')
208     SOURCE_LANG = L_LANG
209   where ACTION_ID = X_ACTION_ID
210   --Added for performance issue due to literals -  27-Jul-2004
211   --and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
212   and L_LANG in (LANGUAGE, SOURCE_LANG);
213 
214   if (sql%notfound) then
215     raise no_data_found;
216   end if;
217 end UPDATE_ROW;
218 
219 procedure DELETE_ROW (
220   X_ACTION_ID in NUMBER
221 ) is
222 begin
223   delete from JTF_IH_ACTIONS_TL
224   where ACTION_ID = X_ACTION_ID;
225 
226   if (sql%notfound) then
227     raise no_data_found;
228   end if;
229 
230   delete from JTF_IH_ACTIONS_B
231   where ACTION_ID = X_ACTION_ID;
232 
233   if (sql%notfound) then
234     raise no_data_found;
235   end if;
236 end DELETE_ROW;
237 
238 procedure ADD_LANGUAGE
239 is
240     --Added for performance issue due to literals -  28-Jul-2004
241     L_INSTALLED_FLAG1 VARCHAR2(1);
242     L_INSTALLED_FLAG2 VARCHAR2(1);
243     L_LANG VARCHAR2(25);
244 
245 
246 begin
247     --Added for performance issue due to literals -  28-Jul-2004
248     L_INSTALLED_FLAG1 := 'I';
249     L_INSTALLED_FLAG2 := 'B';
250     L_LANG := userenv('LANG');
251 
252   delete from JTF_IH_ACTIONS_TL T
253   where not exists
254     (select NULL
255     from JTF_IH_ACTIONS_B B
256     where B.ACTION_ID = T.ACTION_ID
257     );
258 
259   update JTF_IH_ACTIONS_TL T set (
260       ACTION,
261       SHORT_DESCRIPTION
262     ) = (select
263       B.ACTION,
264       B.SHORT_DESCRIPTION
265     from JTF_IH_ACTIONS_TL B
266     where B.ACTION_ID = T.ACTION_ID
267     and B.LANGUAGE = T.SOURCE_LANG)
268   where (
269       T.ACTION_ID,
270       T.LANGUAGE
271   ) in (select
272       SUBT.ACTION_ID,
273       SUBT.LANGUAGE
274     from JTF_IH_ACTIONS_TL SUBB, JTF_IH_ACTIONS_TL SUBT
275     where SUBB.ACTION_ID = SUBT.ACTION_ID
276     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
277     and (SUBB.ACTION <> SUBT.ACTION
278       or (SUBB.ACTION is null and SUBT.ACTION is not null)
279       or (SUBB.ACTION is not null and SUBT.ACTION is null)
280       or SUBB.SHORT_DESCRIPTION <> SUBT.SHORT_DESCRIPTION
281       or (SUBB.SHORT_DESCRIPTION is null and SUBT.SHORT_DESCRIPTION is not null)
282       or (SUBB.SHORT_DESCRIPTION is not null and SUBT.SHORT_DESCRIPTION is null)
283   ));
284 
285   insert into JTF_IH_ACTIONS_TL (
286     ACTION_ID,
287     OBJECT_VERSION_NUMBER,
288     CREATED_BY,
289     CREATION_DATE,
290     LAST_UPDATED_BY,
291     LAST_UPDATE_DATE,
292     LAST_UPDATE_LOGIN,
293     ACTION,
294     SHORT_DESCRIPTION,
295     LANGUAGE,
296     SOURCE_LANG
297   ) select
298     B.ACTION_ID,
299     B.OBJECT_VERSION_NUMBER,
300     B.CREATED_BY,
301     B.CREATION_DATE,
302     B.LAST_UPDATED_BY,
303     B.LAST_UPDATE_DATE,
304     B.LAST_UPDATE_LOGIN,
305     B.ACTION,
306     B.SHORT_DESCRIPTION,
307     L.LANGUAGE_CODE,
308     B.SOURCE_LANG
309   from JTF_IH_ACTIONS_TL B, FND_LANGUAGES L
310   where L.INSTALLED_FLAG in (L_INSTALLED_FLAG1, L_INSTALLED_FLAG2)
311   and B.LANGUAGE = L_LANG
312   and not exists
313     (select NULL
314     from JTF_IH_ACTIONS_TL T
315     where T.ACTION_ID = B.ACTION_ID
316     and T.LANGUAGE = L.LANGUAGE_CODE);
317 end ADD_LANGUAGE;
318 
319 procedure LOAD_ROW (
320   X_ACTION_ID in NUMBER,
321   X_ACTION in VARCHAR2,
322   X_OBJECT_VERSION_NUMBER in NUMBER,
323   X_SHORT_DESCRIPTION in VARCHAR2,
324   X_OWNER IN VARCHAR2,
325   X_ACTIVE in VARCHAR2
326 ) IS
327 begin
328 declare
329 	user_id			NUMBER := 0;
330 	row_id			VARCHAR2(64);
331 	l_api_version		NUMBER := 1.0;
332 	l_return_status		VARCHAR2(1);
333 	l_msg_count		NUMBER;
334 	l_msg_data		VARCHAR2(100);
335 	l_init_msg_list		VARCHAR2(1) := 'F';
336 	l_commit		VARCHAR2(1) := 'F';
337 	l_validation_level 	NUMBER := 100;
338   	l_action_id 		NUMBER;
339   	l_object_version_number NUMBER;
340   	l_action		VARCHAR2(80);
341   	l_short_description 	VARCHAR2(240);
342 	l_last_update_date	DATE;
343 	l_last_updated_by	NUMBER;
344 	l_last_update_login	NUMBER;
345 	l_creation_date		DATE;
346 	l_created_by		NUMBER;
347     	l_active            VARCHAR2(1) := 'Y';
348 
349 begin
350 	--if (x_owner = 'SEED') then
351 	--	user_id := 1;
352 	--end if;
353         user_id := fnd_load_util.owner_id(x_owner);
354   	l_action_id := X_ACTION_ID;
355   	l_object_version_number := 1;
356   	l_action := X_ACTION;
357   	l_short_description := X_SHORT_DESCRIPTION;
358 	l_last_update_date := sysdate;
359 	l_last_updated_by := user_id;
360 	l_last_update_login := 0;
361 
362 	UPDATE_ROW(
363   			X_ACTION_ID => l_action_id,
364 			X_OBJECT_VERSION_NUMBER => l_object_version_number,
365   			X_ACTION => l_action,
366   			X_SHORT_DESCRIPTION => l_short_description,
367   			X_LAST_UPDATE_DATE => l_last_update_date,
368   			X_LAST_UPDATED_BY => l_last_updated_by,
369   			X_LAST_UPDATE_LOGIN => l_last_update_login,
370             X_ACTIVE => NVL(X_ACTIVE,'Y'));
371 	EXCEPTION
372 		when no_data_found then
373 			l_creation_date := sysdate;
374 			l_created_by := user_id;
375 			INSERT_ROW(
376 			row_id,
377   			X_ACTION_ID => l_action_id,
378   			X_OBJECT_VERSION_NUMBER => l_object_version_number,
379   			X_ACTION => l_action,
380   			X_SHORT_DESCRIPTION => l_short_description,
381 			X_CREATION_DATE => l_creation_date,
382 			X_CREATED_BY => l_created_by,
383   			X_LAST_UPDATE_DATE => l_last_update_date,
384   			X_LAST_UPDATED_BY => l_last_updated_by,
385   			X_LAST_UPDATE_LOGIN => l_last_update_login,
386             X_ACTIVE => NVL(X_ACTIVE,'Y'));
387 	end;
388 end LOAD_ROW;
389 
390 procedure TRANSLATE_ROW (
391   X_ACTION_ID in NUMBER,
392   X_ACTION in VARCHAR2,
393   X_SHORT_DESCRIPTION in VARCHAR2,
394   X_OWNER IN VARCHAR2) is
395    --Added for performance issue due to literals -  28-Jul-2004
396   L_LANG VARCHAR2(25);
397   L_SEED VARCHAR2(25);
398   L_UPDATEDBY1 NUMBER;
399   L_UPDATEDBY0 NUMBER;
400 begin
401         --Added for performance issue due to literals -  28-Jul-2004
402 	L_LANG := userenv('LANG');
403 	L_SEED := 'SEED';
404 	L_UPDATEDBY1 := 1;
405 	L_UPDATEDBY0 := 0;
406 
407 	UPDATE jtf_ih_actions_tl SET
408           action_id = X_ACTION_ID,
409 	  action = X_ACTION,
410 	  short_description = X_SHORT_DESCRIPTION,
411 	  last_update_date = sysdate,
412 	  --Added for performance issue due to literals -  28-Jul-2004
413 	  --last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
414 	  --last_updated_by = decode(X_OWNER, L_SEED, L_UPDATEDBY1, L_UPDATEDBY0),
415           last_updated_by = fnd_load_util.owner_id(x_owner),
416   	  last_update_login = 0,
417 	  --Added for performance issue due to literals -  28-Jul-2004
418 	  --source_lang = userenv('LANG')
419 	  source_lang = L_LANG
420 	  --WHERE userenv('LANG') in (LANGUAGE, SOURCE_LANG) AND
421 	  WHERE L_LANG in (LANGUAGE, SOURCE_LANG) AND
422 	  action_id = X_ACTION_ID;
423 end TRANSLATE_ROW;
424 
425 procedure LOAD_SEED_ROW (
426   X_ACTION_ID in NUMBER,
427   X_ACTION in VARCHAR2,
428   X_OBJECT_VERSION_NUMBER in NUMBER,
429   X_SHORT_DESCRIPTION in VARCHAR2,
430   X_OWNER IN VARCHAR2,
431   X_ACTIVE in VARCHAR2,
432   X_UPLOAD_MODE in VARCHAR2
433 ) IS
434 begin
435 if (X_UPLOAD_MODE = 'NLS') then
436 		JTF_IH_ACTIONS_SEED_PKG.TRANSLATE_ROW (
437 			X_ACTION_ID,
438 			X_ACTION,
439 			X_SHORT_DESCRIPTION,
440 			X_OWNER);
441 
442 	else
443 		JTF_IH_ACTIONS_SEED_PKG.LOAD_ROW (
444 			X_ACTION_ID,
445 			X_ACTION,
446 			X_OBJECT_VERSION_NUMBER,
447 			X_SHORT_DESCRIPTION,
448 			X_OWNER,
449 			X_ACTIVE);
450 	end if;
451 end LOAD_SEED_ROW;
452 
453 end JTF_IH_ACTIONS_SEED_PKG;