DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_IH_ACTION_ITEMS_SEED_PKG

Source


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