DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_RS_GROUPS_PKG

Source


1 package body JTF_RS_GROUPS_PKG as
2 /* $Header: jtfrstgb.pls 120.0 2005/05/11 08:22:13 appldev ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_GROUP_ID in NUMBER,
6   X_ATTRIBUTE1 in VARCHAR2,
7   X_ATTRIBUTE2 in VARCHAR2,
8   X_ATTRIBUTE3 in VARCHAR2,
9   X_ATTRIBUTE4 in VARCHAR2,
10   X_ATTRIBUTE5 in VARCHAR2,
11   X_ATTRIBUTE6 in VARCHAR2,
12   X_ATTRIBUTE7 in VARCHAR2,
13   X_ATTRIBUTE8 in VARCHAR2,
14   X_ATTRIBUTE9 in VARCHAR2,
15   X_ATTRIBUTE10 in VARCHAR2,
16   X_ATTRIBUTE11 in VARCHAR2,
17   X_ATTRIBUTE12 in VARCHAR2,
18   X_ATTRIBUTE13 in VARCHAR2,
19   X_ATTRIBUTE14 in VARCHAR2,
20   X_ATTRIBUTE15 in VARCHAR2,
21   X_ATTRIBUTE_CATEGORY in VARCHAR2,
22   X_GROUP_NUMBER in VARCHAR2,
23   X_EMAIL_ADDRESS in VARCHAR2,
24   X_EXCLUSIVE_FLAG in VARCHAR2,
25   X_START_DATE_ACTIVE in DATE,
26   X_END_DATE_ACTIVE in DATE,
27   X_ACCOUNTING_CODE in VARCHAR2,
28   X_GROUP_NAME in VARCHAR2,
29   X_GROUP_DESC in VARCHAR2,
30   X_CREATION_DATE in DATE,
31   X_CREATED_BY in NUMBER,
32   X_LAST_UPDATE_DATE in DATE,
33   X_LAST_UPDATED_BY in NUMBER,
34   X_LAST_UPDATE_LOGIN in NUMBER
35 ) is
36   cursor C is select ROWID from JTF_RS_GROUPS_B
37     where GROUP_ID = X_GROUP_ID
38     ;
39 begin
40   insert into JTF_RS_GROUPS_B (
41     ATTRIBUTE1,
42     ATTRIBUTE2,
43     ATTRIBUTE3,
44     ATTRIBUTE4,
45     ATTRIBUTE5,
46     ATTRIBUTE6,
47     ATTRIBUTE7,
48     ATTRIBUTE8,
49     ATTRIBUTE9,
50     ATTRIBUTE10,
51     ATTRIBUTE11,
52     ATTRIBUTE12,
53     ATTRIBUTE13,
54     ATTRIBUTE14,
55     ATTRIBUTE15,
56     ATTRIBUTE_CATEGORY,
57     GROUP_ID,
58     GROUP_NUMBER,
59     EMAIL_ADDRESS,
60     EXCLUSIVE_FLAG,
61     START_DATE_ACTIVE,
62     END_DATE_ACTIVE,
63     ACCOUNTING_CODE,
64     OBJECT_VERSION_NUMBER,
65     CREATION_DATE,
66     CREATED_BY,
67     LAST_UPDATE_DATE,
68     LAST_UPDATED_BY,
69     LAST_UPDATE_LOGIN
70   ) values (
71     X_ATTRIBUTE1,
72     X_ATTRIBUTE2,
73     X_ATTRIBUTE3,
74     X_ATTRIBUTE4,
75     X_ATTRIBUTE5,
76     X_ATTRIBUTE6,
77     X_ATTRIBUTE7,
78     X_ATTRIBUTE8,
79     X_ATTRIBUTE9,
80     X_ATTRIBUTE10,
81     X_ATTRIBUTE11,
82     X_ATTRIBUTE12,
83     X_ATTRIBUTE13,
84     X_ATTRIBUTE14,
85     X_ATTRIBUTE15,
86     X_ATTRIBUTE_CATEGORY,
87     X_GROUP_ID,
88     X_GROUP_NUMBER,
89     X_EMAIL_ADDRESS,
90     X_EXCLUSIVE_FLAG,
91     X_START_DATE_ACTIVE,
92     X_END_DATE_ACTIVE,
93     X_ACCOUNTING_CODE,
94     1,
95     X_CREATION_DATE,
96     X_CREATED_BY,
97     X_LAST_UPDATE_DATE,
98     X_LAST_UPDATED_BY,
99     X_LAST_UPDATE_LOGIN
100   );
101 
102   insert into JTF_RS_GROUPS_TL (
103     GROUP_ID,
104     CREATED_BY,
105     CREATION_DATE,
106     LAST_UPDATED_BY,
107     LAST_UPDATE_DATE,
108     LAST_UPDATE_LOGIN,
109     GROUP_NAME,
110     GROUP_DESC,
111     LANGUAGE,
112     SOURCE_LANG
113   ) select
114     X_GROUP_ID,
115     X_CREATED_BY,
116     X_CREATION_DATE,
117     X_LAST_UPDATED_BY,
118     X_LAST_UPDATE_DATE,
119     X_LAST_UPDATE_LOGIN,
120     X_GROUP_NAME,
121     X_GROUP_DESC,
122     L.LANGUAGE_CODE,
123     userenv('LANG')
124   from FND_LANGUAGES L
125   where L.INSTALLED_FLAG in ('I', 'B')
126   and not exists
127     (select NULL
128     from JTF_RS_GROUPS_TL T
129     where T.GROUP_ID = X_GROUP_ID
130     and T.LANGUAGE = L.LANGUAGE_CODE);
131 
132   open c;
133   fetch c into X_ROWID;
134   if (c%notfound) then
135     close c;
136     raise no_data_found;
137   end if;
138   close c;
139 
140 end INSERT_ROW;
141 
142 procedure LOCK_ROW (
143   X_GROUP_ID in NUMBER,
144   X_OBJECT_VERSION_NUMBER in NUMBER
145 ) is
146   cursor c is select
147       OBJECT_VERSION_NUMBER
148     from JTF_RS_GROUPS_VL
149     where GROUP_ID = X_GROUP_ID
150     and OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
151     for update of GROUP_ID nowait;
152   recinfo c%rowtype;
153 
154 begin
155  open c;
156   fetch c into recinfo;
157   if (c%notfound) then
158     close c;
159     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
160     app_exception.raise_exception;
161   end if;
162 
163   close c;
164 
165   if recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER then
166     null;
167   else
168     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
169     app_exception.raise_exception;
170   end if;
171 
172 end LOCK_ROW;
173 
174 procedure UPDATE_ROW (
175   X_GROUP_ID in NUMBER,
176   X_ATTRIBUTE1 in VARCHAR2,
177   X_ATTRIBUTE2 in VARCHAR2,
178   X_ATTRIBUTE3 in VARCHAR2,
179   X_ATTRIBUTE4 in VARCHAR2,
180   X_ATTRIBUTE5 in VARCHAR2,
181   X_ATTRIBUTE6 in VARCHAR2,
182   X_ATTRIBUTE7 in VARCHAR2,
183   X_ATTRIBUTE8 in VARCHAR2,
184   X_ATTRIBUTE9 in VARCHAR2,
185   X_ATTRIBUTE10 in VARCHAR2,
186   X_ATTRIBUTE11 in VARCHAR2,
187   X_ATTRIBUTE12 in VARCHAR2,
188   X_ATTRIBUTE13 in VARCHAR2,
189   X_ATTRIBUTE14 in VARCHAR2,
190   X_ATTRIBUTE15 in VARCHAR2,
191   X_ATTRIBUTE_CATEGORY in VARCHAR2,
192   X_GROUP_NUMBER in VARCHAR2,
193   X_EMAIL_ADDRESS in VARCHAR2,
194   X_EXCLUSIVE_FLAG in VARCHAR2,
195   X_START_DATE_ACTIVE in DATE,
196   X_END_DATE_ACTIVE in DATE,
197   X_ACCOUNTING_CODE in VARCHAR2,
198   X_OBJECT_VERSION_NUMBER in NUMBER,
199   X_GROUP_NAME in VARCHAR2,
200   X_GROUP_DESC in VARCHAR2,
201   X_LAST_UPDATE_DATE in DATE,
202   X_LAST_UPDATED_BY in NUMBER,
203   X_LAST_UPDATE_LOGIN in NUMBER
204 ) is
205 begin
206   update JTF_RS_GROUPS_B set
207     ATTRIBUTE1 = X_ATTRIBUTE1,
208     ATTRIBUTE2 = X_ATTRIBUTE2,
209     ATTRIBUTE3 = X_ATTRIBUTE3,
210     ATTRIBUTE4 = X_ATTRIBUTE4,
211     ATTRIBUTE5 = X_ATTRIBUTE5,
212     ATTRIBUTE6 = X_ATTRIBUTE6,
213     ATTRIBUTE7 = X_ATTRIBUTE7,
214     ATTRIBUTE8 = X_ATTRIBUTE8,
215     ATTRIBUTE9 = X_ATTRIBUTE9,
216     ATTRIBUTE10 = X_ATTRIBUTE10,
217     ATTRIBUTE11 = X_ATTRIBUTE11,
218     ATTRIBUTE12 = X_ATTRIBUTE12,
219     ATTRIBUTE13 = X_ATTRIBUTE13,
220     ATTRIBUTE14 = X_ATTRIBUTE14,
221     ATTRIBUTE15 = X_ATTRIBUTE15,
222     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
223     GROUP_NUMBER = X_GROUP_NUMBER,
224     EMAIL_ADDRESS = X_EMAIL_ADDRESS,
225     EXCLUSIVE_FLAG = X_EXCLUSIVE_FLAG,
226     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
227     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
228     ACCOUNTING_CODE = X_ACCOUNTING_CODE,
229     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
230     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
231     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
232     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
233   where GROUP_ID = X_GROUP_ID;
234 
235   if (sql%notfound) then
236     raise no_data_found;
237   end if;
238 
239   update JTF_RS_GROUPS_TL set
240     GROUP_NAME = X_GROUP_NAME,
241     GROUP_DESC = X_GROUP_DESC,
242     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
243     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
244     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
245     SOURCE_LANG = userenv('LANG')
246   where GROUP_ID = X_GROUP_ID
247   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
248 
249   if (sql%notfound) then
250     raise no_data_found;
251   end if;
252 end UPDATE_ROW;
253 
254 procedure DELETE_ROW (
255   X_GROUP_ID in NUMBER
256 ) is
257 begin
258   delete from JTF_RS_GROUPS_TL
259   where GROUP_ID = X_GROUP_ID;
260 
261   if (sql%notfound) then
262     raise no_data_found;
263   end if;
264 
265   delete from JTF_RS_GROUPS_B
266   where GROUP_ID = X_GROUP_ID;
267 
268   if (sql%notfound) then
269     raise no_data_found;
270   end if;
271 end DELETE_ROW;
272 
273 procedure ADD_LANGUAGE
274 is
275 begin
276   delete from JTF_RS_GROUPS_TL T
277   where not exists
278     (select NULL
279     from JTF_RS_GROUPS_B B
280     where B.GROUP_ID = T.GROUP_ID
281     );
282 
283   update JTF_RS_GROUPS_TL T set (
284       GROUP_NAME,
285       GROUP_DESC
286     ) = (select
287       B.GROUP_NAME,
288       B.GROUP_DESC
289     from JTF_RS_GROUPS_TL B
290     where B.GROUP_ID = T.GROUP_ID
291     and B.LANGUAGE = T.SOURCE_LANG)
292   where (
293       T.GROUP_ID,
294       T.LANGUAGE
295   ) in (select
296       SUBT.GROUP_ID,
297       SUBT.LANGUAGE
298     from JTF_RS_GROUPS_TL SUBB, JTF_RS_GROUPS_TL SUBT
299     where SUBB.GROUP_ID = SUBT.GROUP_ID
300     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
301     and (SUBB.GROUP_NAME <> SUBT.GROUP_NAME
302       or SUBB.GROUP_DESC <> SUBT.GROUP_DESC
303       or (SUBB.GROUP_DESC is null and SUBT.GROUP_DESC is not null)
304       or (SUBB.GROUP_DESC is not null and SUBT.GROUP_DESC is null)
305   ));
306 
307   insert into JTF_RS_GROUPS_TL (
308     GROUP_ID,
309     CREATED_BY,
310     CREATION_DATE,
311     LAST_UPDATED_BY,
312     LAST_UPDATE_DATE,
313     LAST_UPDATE_LOGIN,
314     GROUP_NAME,
315     GROUP_DESC,
316     LANGUAGE,
317     SOURCE_LANG
318   ) select
319     B.GROUP_ID,
320     B.CREATED_BY,
321     B.CREATION_DATE,
322     B.LAST_UPDATED_BY,
323     B.LAST_UPDATE_DATE,
324     B.LAST_UPDATE_LOGIN,
325     B.GROUP_NAME,
326     B.GROUP_DESC,
327     L.LANGUAGE_CODE,
328     B.SOURCE_LANG
329   from JTF_RS_GROUPS_TL B, FND_LANGUAGES L
330   where L.INSTALLED_FLAG in ('I', 'B')
331   and B.LANGUAGE = userenv('LANG')
332   and not exists
333     (select NULL
334     from JTF_RS_GROUPS_TL T
335     where T.GROUP_ID = B.GROUP_ID
336     and T.LANGUAGE = L.LANGUAGE_CODE);
337 end ADD_LANGUAGE;
338 
339 
340 Procedure TRANSLATE_ROW
341 (x_group_id  in number,
342  x_group_name in varchar2,
343  x_group_desc in varchar2,
344  x_Last_update_date in date,
345  x_last_updated_by in number,
346  x_last_update_login in number)
347 is
348 begin
349 
350 Update jtf_rs_groups_tl set
351 group_name		= nvl(x_group_name,group_name),
352 group_desc		= nvl(x_group_desc,group_desc),
353 last_update_date	= nvl(x_last_update_date,sysdate),
354 last_updated_by		= x_last_updated_by,
355 last_update_login	= 0,
356 source_lang		= userenv('LANG')
357 where group_id		= x_group_id
358 and userenv('LANG') in (LANGUAGE,SOURCE_LANG);
359 
360   if (sql%notfound) then
361     raise no_data_found;
362   end if;
363 end TRANSLATE_ROW;
364 
365 end JTF_RS_GROUPS_PKG;