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