DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_IH_ACTIONS_SEED_PVT

Source


1 package body JTF_IH_ACTIONS_SEED_PVT as
2 /* $Header: JTFIHACB.pls 115.1 2000/02/15 12:25:07 pkm ship     $ */
3 procedure INSERT_ROW (
4   X_ROWID in out 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 ) is
15   cursor C is select ROWID from JTF_IH_ACTIONS_B
16     where ACTION_ID = X_ACTION_ID
17     ;
18 begin
19   insert into JTF_IH_ACTIONS_B (
20     ACTION_ID,
21     OBJECT_VERSION_NUMBER,
22     CREATION_DATE,
23     CREATED_BY,
24     LAST_UPDATE_DATE,
25     LAST_UPDATED_BY,
26     LAST_UPDATE_LOGIN
27   ) values (
28     X_ACTION_ID,
29     X_OBJECT_VERSION_NUMBER,
30     X_CREATION_DATE,
31     X_CREATED_BY,
32     X_LAST_UPDATE_DATE,
33     X_LAST_UPDATED_BY,
34     X_LAST_UPDATE_LOGIN
35   );
36 
37   insert into JTF_IH_ACTIONS_TL (
38     ACTION_ID,
39     OBJECT_VERSION_NUMBER,
40     CREATED_BY,
41     CREATION_DATE,
42     LAST_UPDATED_BY,
43     LAST_UPDATE_DATE,
44     LAST_UPDATE_LOGIN,
45     ACTION,
46     SHORT_DESCRIPTION,
47     LANGUAGE,
48     SOURCE_LANG
49   ) select
50     X_ACTION_ID,
51     X_OBJECT_VERSION_NUMBER,
52     X_CREATED_BY,
53     X_CREATION_DATE,
54     X_LAST_UPDATED_BY,
55     X_LAST_UPDATE_DATE,
56     X_LAST_UPDATE_LOGIN,
57     X_ACTION,
58     X_SHORT_DESCRIPTION,
59     L.LANGUAGE_CODE,
60     userenv('LANG')
61   from FND_LANGUAGES L
62   where L.INSTALLED_FLAG in ('I', 'B')
63   and not exists
64     (select NULL
65     from JTF_IH_ACTIONS_TL T
66     where T.ACTION_ID = X_ACTION_ID
67     and T.LANGUAGE = L.LANGUAGE_CODE);
68 
69   open c;
70   fetch c into X_ROWID;
71   if (c%notfound) then
72     close c;
73     raise no_data_found;
74   end if;
75   close c;
76 
77 end INSERT_ROW;
78 
79 procedure LOCK_ROW (
80   X_ACTION_ID in NUMBER,
81   X_OBJECT_VERSION_NUMBER in NUMBER,
82   X_ACTION in VARCHAR2,
83   X_SHORT_DESCRIPTION in VARCHAR2
84 ) is
85   cursor c is select
86       OBJECT_VERSION_NUMBER
87     from JTF_IH_ACTIONS_B
88     where ACTION_ID = X_ACTION_ID
89     for update of ACTION_ID nowait;
90   recinfo c%rowtype;
91 
92   cursor c1 is select
93       ACTION,
94       SHORT_DESCRIPTION,
95       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
96     from JTF_IH_ACTIONS_TL
97     where ACTION_ID = X_ACTION_ID
98     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
99     for update of ACTION_ID nowait;
100 begin
101   open c;
102   fetch c into recinfo;
103   if (c%notfound) then
104     close c;
105     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
106     app_exception.raise_exception;
107   end if;
108   close c;
109   if (    ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
110            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
111   ) then
112     null;
113   else
114     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
115     app_exception.raise_exception;
116   end if;
117 
118   for tlinfo in c1 loop
119     if (tlinfo.BASELANG = 'Y') then
120       if (    ((tlinfo.ACTION = X_ACTION)
121                OR ((tlinfo.ACTION is null) AND (X_ACTION is null)))
122           AND ((tlinfo.SHORT_DESCRIPTION = X_SHORT_DESCRIPTION)
123                OR ((tlinfo.SHORT_DESCRIPTION is null) AND (X_SHORT_DESCRIPTION is null)))
124       ) then
125         null;
126       else
127         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
128         app_exception.raise_exception;
129       end if;
130     end if;
131   end loop;
132   return;
133 end LOCK_ROW;
134 
135 procedure UPDATE_ROW (
136   X_ACTION_ID in NUMBER,
137   X_OBJECT_VERSION_NUMBER in NUMBER,
138   X_ACTION in VARCHAR2,
139   X_SHORT_DESCRIPTION in VARCHAR2,
140   X_LAST_UPDATE_DATE in DATE,
141   X_LAST_UPDATED_BY in NUMBER,
142   X_LAST_UPDATE_LOGIN in NUMBER
143 ) is
144 begin
145   update JTF_IH_ACTIONS_B set
146     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
147     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
148     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
149     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
150   where ACTION_ID = X_ACTION_ID;
151 
152   if (sql%notfound) then
153     raise no_data_found;
154   end if;
155 
156   update JTF_IH_ACTIONS_TL set
157     ACTION = X_ACTION,
158     SHORT_DESCRIPTION = X_SHORT_DESCRIPTION,
159     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
160     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
161     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
162     SOURCE_LANG = userenv('LANG')
163   where ACTION_ID = X_ACTION_ID
164   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
165 
166   if (sql%notfound) then
167     raise no_data_found;
168   end if;
169 end UPDATE_ROW;
170 
171 procedure DELETE_ROW (
172   X_ACTION_ID in NUMBER
173 ) is
174 begin
175   delete from JTF_IH_ACTIONS_TL
176   where ACTION_ID = X_ACTION_ID;
177 
178   if (sql%notfound) then
179     raise no_data_found;
180   end if;
181 
182   delete from JTF_IH_ACTIONS_B
183   where ACTION_ID = X_ACTION_ID;
184 
185   if (sql%notfound) then
186     raise no_data_found;
187   end if;
188 end DELETE_ROW;
189 
190 procedure ADD_LANGUAGE
191 is
192 begin
193   delete from JTF_IH_ACTIONS_TL T
194   where not exists
195     (select NULL
196     from JTF_IH_ACTIONS_B B
197     where B.ACTION_ID = T.ACTION_ID
198     );
199 
200   update JTF_IH_ACTIONS_TL T set (
201       ACTION,
202       SHORT_DESCRIPTION
203     ) = (select
204       B.ACTION,
205       B.SHORT_DESCRIPTION
206     from JTF_IH_ACTIONS_TL B
207     where B.ACTION_ID = T.ACTION_ID
208     and B.LANGUAGE = T.SOURCE_LANG)
209   where (
210       T.ACTION_ID,
211       T.LANGUAGE
212   ) in (select
213       SUBT.ACTION_ID,
214       SUBT.LANGUAGE
215     from JTF_IH_ACTIONS_TL SUBB, JTF_IH_ACTIONS_TL SUBT
216     where SUBB.ACTION_ID = SUBT.ACTION_ID
217     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
218     and (SUBB.ACTION <> SUBT.ACTION
219       or (SUBB.ACTION is null and SUBT.ACTION is not null)
220       or (SUBB.ACTION is not null and SUBT.ACTION is null)
221       or SUBB.SHORT_DESCRIPTION <> SUBT.SHORT_DESCRIPTION
222       or (SUBB.SHORT_DESCRIPTION is null and SUBT.SHORT_DESCRIPTION is not null)
223       or (SUBB.SHORT_DESCRIPTION is not null and SUBT.SHORT_DESCRIPTION is null)
224   ));
225 
226   insert into JTF_IH_ACTIONS_TL (
227     ACTION_ID,
228     OBJECT_VERSION_NUMBER,
229     CREATED_BY,
230     CREATION_DATE,
231     LAST_UPDATED_BY,
232     LAST_UPDATE_DATE,
233     LAST_UPDATE_LOGIN,
234     ACTION,
235     SHORT_DESCRIPTION,
236     LANGUAGE,
237     SOURCE_LANG
238   ) select
239     B.ACTION_ID,
240     B.OBJECT_VERSION_NUMBER,
241     B.CREATED_BY,
242     B.CREATION_DATE,
243     B.LAST_UPDATED_BY,
244     B.LAST_UPDATE_DATE,
245     B.LAST_UPDATE_LOGIN,
246     B.ACTION,
247     B.SHORT_DESCRIPTION,
248     L.LANGUAGE_CODE,
249     B.SOURCE_LANG
250   from JTF_IH_ACTIONS_TL B, FND_LANGUAGES L
251   where L.INSTALLED_FLAG in ('I', 'B')
252   and B.LANGUAGE = userenv('LANG')
253   and not exists
254     (select NULL
255     from JTF_IH_ACTIONS_TL T
256     where T.ACTION_ID = B.ACTION_ID
257     and T.LANGUAGE = L.LANGUAGE_CODE);
258 end ADD_LANGUAGE;
259 
260 procedure LOAD_ROW (
261   X_ACTION_ID in NUMBER,
262   X_ACTION in VARCHAR2,
263   X_OBJECT_VERSION_NUMBER in NUMBER,
264   X_SHORT_DESCRIPTION in VARCHAR2,
265   X_OWNER IN VARCHAR2
266 ) IS
267 begin
268 declare
269 	user_id			NUMBER := 0;
270 	row_id			VARCHAR2(64);
271 	l_api_version		NUMBER := 1.0;
272 	l_return_status		VARCHAR2(1);
273 	l_msg_count		NUMBER;
274 	l_msg_data		VARCHAR2(100);
275 	l_init_msg_list		VARCHAR2(1) := 'F';
276 	l_commit		VARCHAR2(1) := 'F';
277 	l_validation_level 	NUMBER := 100;
278   	l_action_id 		NUMBER;
279   	l_object_version_number NUMBER;
280   	l_action		VARCHAR2(80);
281   	l_short_description 	VARCHAR2(240);
282 	l_last_update_date	DATE;
283 	l_last_updated_by	NUMBER;
284 	l_last_update_login	NUMBER;
285 	l_creation_date		DATE;
286 	l_created_by		NUMBER;
287 
288 begin
289 	if (x_owner = 'SEED') then
290 		user_id := -1;
291 	end if;
292   	l_action_id := X_ACTION_ID;
293   	l_object_version_number := 1;
294   	l_action := X_ACTION;
295   	l_short_description := X_SHORT_DESCRIPTION;
296 	l_last_update_date := sysdate;
297 	l_last_updated_by := user_id;
298 	l_last_update_login := 0;
299 
300 	UPDATE_ROW(
301   			X_ACTION_ID => l_action_id,
302 			X_OBJECT_VERSION_NUMBER => l_object_version_number,
303   			X_ACTION => l_action,
304   			X_SHORT_DESCRIPTION => l_short_description,
305   			X_LAST_UPDATE_DATE => l_last_update_date,
306   			X_LAST_UPDATED_BY => l_last_updated_by,
307   			X_LAST_UPDATE_LOGIN => l_last_update_login);
308 	EXCEPTION
309 		when no_data_found then
310 			l_creation_date := sysdate;
311 			l_created_by := user_id;
312 			INSERT_ROW(
313 			row_id,
314   			X_ACTION_ID => l_action_id,
315   			X_OBJECT_VERSION_NUMBER => l_object_version_number,
316   			X_ACTION => l_action,
317   			X_SHORT_DESCRIPTION => l_short_description,
318 			X_CREATION_DATE => l_creation_date,
319 			X_CREATED_BY => l_created_by,
320   			X_LAST_UPDATE_DATE => l_last_update_date,
321   			X_LAST_UPDATED_BY => l_last_updated_by,
322   			X_LAST_UPDATE_LOGIN => l_last_update_login);
323 	end;
324 end LOAD_ROW;
325 procedure TRANSLATE_ROW (
326   X_ACTION_ID in NUMBER,
327   X_ACTION in VARCHAR2,
328   X_SHORT_DESCRIPTION in VARCHAR2,
329   X_OWNER IN VARCHAR2) is
330 begin
331 	UPDATE jtf_ih_actions_tl SET
332 		action_id = X_ACTION_ID,
333 		action = X_ACTION,
334 		short_description = X_SHORT_DESCRIPTION,
335 		last_update_date = sysdate,
336 		last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
337 		last_update_login = 0,
338 		source_lang = userenv('LANG')
339 	WHERE userenv('LANG') in (LANGUAGE, SOURCE_LANG) AND
340 		action_id = X_ACTION_ID;
341 end TRANSLATE_ROW;
342 
343 end JTF_IH_ACTIONS_SEED_PVT;