[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;