[Home] [Help]
PACKAGE BODY: APPS.JTF_RS_GROUPS_PUB
Source
1 PACKAGE BODY jtf_rs_groups_pub AS
2 /* $Header: jtfrspgb.pls 120.0 2005/05/11 08:21:09 appldev ship $ */
3
4 /*****************************************************************************************
5 This package body defines the procedures for managing resource groups.
6 Its main procedures are as following:
7 Create Resource Group
8 Update Resource Group
9 This package validates the input parameters to these procedures and then
10 Calls corresponding procedures from jtf_rs_groups_pvt to do business
11 validations and to do actual inserts, updates and deletes into tables.
12 ******************************************************************************************/
13
14 /* Package variables. */
15
16 G_PKG_NAME VARCHAR2(30) := 'JTF_RS_GROUPS_PUB';
17
18
19 /* Procedure to create the resource group and the members
20 based on input values passed by calling routines. */
21
22 PROCEDURE create_resource_group
23 (P_API_VERSION IN NUMBER,
24 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
25 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
26 P_GROUP_NAME IN JTF_RS_GROUPS_VL.GROUP_NAME%TYPE,
27 P_GROUP_DESC IN JTF_RS_GROUPS_VL.GROUP_DESC%TYPE DEFAULT NULL,
28 P_EXCLUSIVE_FLAG IN JTF_RS_GROUPS_VL.EXCLUSIVE_FLAG%TYPE DEFAULT 'N',
29 P_EMAIL_ADDRESS IN JTF_RS_GROUPS_VL.EMAIL_ADDRESS%TYPE DEFAULT NULL,
30 P_START_DATE_ACTIVE IN JTF_RS_GROUPS_VL.START_DATE_ACTIVE%TYPE,
31 P_END_DATE_ACTIVE IN JTF_RS_GROUPS_VL.END_DATE_ACTIVE%TYPE DEFAULT NULL,
32 P_ACCOUNTING_CODE IN JTF_RS_GROUPS_VL.ACCOUNTING_CODE%TYPE DEFAULT NULL,
33 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
34 X_MSG_COUNT OUT NOCOPY NUMBER,
35 X_MSG_DATA OUT NOCOPY VARCHAR2,
36 X_GROUP_ID OUT NOCOPY JTF_RS_GROUPS_VL.GROUP_ID%TYPE,
37 X_GROUP_NUMBER OUT NOCOPY JTF_RS_GROUPS_VL.GROUP_NUMBER%TYPE
38 ) IS
39
40 l_api_version CONSTANT NUMBER := 1.0;
41 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_RESOURCE_GROUP';
42 l_group_name jtf_rs_groups_vl.group_name%TYPE := p_group_name;
43 l_group_desc jtf_rs_groups_vl.group_desc%TYPE := p_group_desc;
44 l_exclusive_flag jtf_rs_groups_vl.exclusive_flag%TYPE := nvl(p_exclusive_flag, 'N');
45 l_email_address jtf_rs_groups_vl.email_address%TYPE := p_email_address;
46 l_start_date_active jtf_rs_groups_vl.start_date_active%TYPE := p_start_date_active;
47 l_end_date_active jtf_rs_groups_vl.end_date_active%TYPE := p_end_date_active;
48 l_accounting_code jtf_rs_groups_vl.accounting_code%TYPE := p_accounting_code;
49 l_group_member_id jtf_rs_group_members.group_member_id%TYPE;
50 current_record INTEGER;
51
52
53 BEGIN
54
55
56 SAVEPOINT create_resource_group_pub;
57
58 x_return_status := fnd_api.g_ret_sts_success;
59
60 -- DBMS_OUTPUT.put_line(' Started Create Resource Group Pub ');
61
62
63 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
64
65 RAISE fnd_api.g_exc_unexpected_error;
66
67 END IF;
68
69
70 IF fnd_api.to_boolean(p_init_msg_list) THEN
71
72 fnd_msg_pub.initialize;
73
74 END IF;
75
76
77 /* Validate that the Group Name is specified */
78
79 IF l_group_name IS NULL THEN
80
81 -- dbms_output.put_line('Group Name cannot be null');
82
83 fnd_message.set_name('JTF', 'JTF_RS_GROUP_NAME_NULL');
84 fnd_msg_pub.add;
85 RAISE fnd_api.g_exc_error;
86
87 END IF;
88
89
90 /* Validate that the Start Date Active is specified */
91
92 IF l_start_date_active IS NULL THEN
93
94 -- dbms_output.put_line('Start Date Active cannot be null');
95
96 fnd_message.set_name('JTF', 'JTF_RS_START_DATE_NULL');
97 fnd_msg_pub.add;
98
99 RAISE fnd_api.g_exc_error;
100
101 END IF;
102
103
104 /* Check the Global Variable for GROUP ID, and call the appropriate Private API */
105
106 -- dbms_output.put_line ('Before setting the global flag in create_resource');
107
108 IF G_RS_GRP_ID_PUB_FLAG = 'Y' THEN
109
110 /* Call the private procedure with the validated parameters. */
111
112 jtf_rs_groups_pvt.create_resource_group
113 (P_API_VERSION => 1,
114 P_INIT_MSG_LIST => fnd_api.g_false,
115 P_COMMIT => fnd_api.g_false,
116 P_GROUP_NAME => l_group_name,
117 P_GROUP_DESC => l_group_desc,
118 P_EXCLUSIVE_FLAG => l_exclusive_flag,
119 P_EMAIL_ADDRESS => l_email_address,
120 P_START_DATE_ACTIVE => l_start_date_active,
121 P_END_DATE_ACTIVE => l_end_date_active,
122 P_ACCOUNTING_CODE => l_accounting_code,
123 X_RETURN_STATUS => x_return_status,
124 X_MSG_COUNT => x_msg_count,
125 X_MSG_DATA => x_msg_data,
126 X_GROUP_ID => x_group_id,
127 X_GROUP_NUMBER => x_group_number
128 );
129 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN IF X_RETURN_STATUS = FND_API.G_RET_STS_ERROR THEN
130 RAISE FND_API.G_EXC_ERROR;
131 ELSIF X_RETURN_STATUS = FND_API.G_RET_STS_UNEXP_ERROR THEN
132 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
133 END IF;
134 END IF;
135 ELSE
136 /* Call the private procedure for Migration. */
137 jtf_rs_groups_pvt.create_resource_group_migrate
138 (P_API_VERSION => 1,
139 P_INIT_MSG_LIST => fnd_api.g_false,
140 P_COMMIT => fnd_api.g_false,
141 P_GROUP_NAME => l_group_name,
142 P_GROUP_DESC => l_group_desc,
143 P_EXCLUSIVE_FLAG => l_exclusive_flag,
144 P_EMAIL_ADDRESS => l_email_address,
145 P_START_DATE_ACTIVE => l_start_date_active,
146 P_END_DATE_ACTIVE => l_end_date_active,
147 P_ACCOUNTING_CODE => l_accounting_code,
148 P_GROUP_ID => G_GROUP_ID,
149 P_ATTRIBUTE1 => G_ATTRIBUTE1,
150 P_ATTRIBUTE2 => G_ATTRIBUTE2,
151 P_ATTRIBUTE3 => G_ATTRIBUTE3,
152 P_ATTRIBUTE4 => G_ATTRIBUTE4,
153 P_ATTRIBUTE5 => G_ATTRIBUTE5,
154 P_ATTRIBUTE6 => G_ATTRIBUTE6,
155 P_ATTRIBUTE7 => G_ATTRIBUTE7,
156 P_ATTRIBUTE8 => G_ATTRIBUTE8,
157 P_ATTRIBUTE9 => G_ATTRIBUTE9,
158 P_ATTRIBUTE10 => G_ATTRIBUTE10,
159 P_ATTRIBUTE11 => G_ATTRIBUTE11,
160 P_ATTRIBUTE12 => G_ATTRIBUTE12,
161 P_ATTRIBUTE13 => G_ATTRIBUTE13,
162 P_ATTRIBUTE14 => G_ATTRIBUTE14,
163 P_ATTRIBUTE15 => G_ATTRIBUTE15,
164 P_ATTRIBUTE_CATEGORY => G_ATTRIBUTE_CATEGORY,
165 X_RETURN_STATUS => x_return_status,
166 X_MSG_COUNT => x_msg_count,
167 X_MSG_DATA => x_msg_data,
168 X_GROUP_ID => x_group_id,
169 X_GROUP_NUMBER => x_group_number
170 );
171 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
172 IF X_RETURN_STATUS = FND_API.G_RET_STS_ERROR THEN
173 RAISE FND_API.G_EXC_ERROR;
174 ELSIF X_RETURN_STATUS = FND_API.G_RET_STS_UNEXP_ERROR THEN
175 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
176 END IF;
177 END IF;
178 END IF;
179
180 IF fnd_api.to_boolean(p_commit) THEN
181
182 COMMIT WORK;
183
184 END IF;
185
186 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
187
188
189 EXCEPTION
190
191 WHEN fnd_api.g_exc_error THEN
192 ROLLBACK TO create_resource_group_pub;
193 x_return_status := fnd_api.g_ret_sts_error;
194 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
195 p_data => x_msg_data);
196 WHEN fnd_api.g_exc_unexpected_error THEN
197 ROLLBACK TO create_resource_group_pub;
198 x_return_status := fnd_api.g_ret_sts_unexp_error;
199 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
200 p_data => x_msg_data);
201 WHEN OTHERS THEN
202 ROLLBACK TO create_resource_group_pub;
203 fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
204 fnd_message.set_token('P_SQLCODE',SQLCODE);
205 fnd_message.set_token('P_SQLERRM',SQLERRM);
206 fnd_message.set_token('P_API_NAME', l_api_name);
207 FND_MSG_PUB.add;
208 x_return_status := fnd_api.g_ret_sts_unexp_error;
209 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
210 p_data => x_msg_data);
211 END create_resource_group;
212
213 PROCEDURE create_resource_group_migrate
214 (P_API_VERSION IN NUMBER,
215 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
216 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
217 P_GROUP_NAME IN JTF_RS_GROUPS_VL.GROUP_NAME%TYPE,
218 P_GROUP_DESC IN JTF_RS_GROUPS_VL.GROUP_DESC%TYPE DEFAULT NULL,
219 P_EXCLUSIVE_FLAG IN JTF_RS_GROUPS_VL.EXCLUSIVE_FLAG%TYPE DEFAULT 'N',
220 P_EMAIL_ADDRESS IN JTF_RS_GROUPS_VL.EMAIL_ADDRESS%TYPE DEFAULT NULL,
221 P_START_DATE_ACTIVE IN JTF_RS_GROUPS_VL.START_DATE_ACTIVE%TYPE,
222 P_END_DATE_ACTIVE IN JTF_RS_GROUPS_VL.END_DATE_ACTIVE%TYPE DEFAULT NULL,
223 P_ACCOUNTING_CODE IN JTF_RS_GROUPS_VL.ACCOUNTING_CODE%TYPE DEFAULT NULL,
224 P_GROUP_ID IN JTF_RS_GROUPS_VL.GROUP_ID%TYPE,
225 P_ATTRIBUTE1 IN JTF_RS_GROUPS_VL.ATTRIBUTE1%TYPE DEFAULT NULL,
226 P_ATTRIBUTE2 IN JTF_RS_GROUPS_VL.ATTRIBUTE2%TYPE DEFAULT NULL,
227 P_ATTRIBUTE3 IN JTF_RS_GROUPS_VL.ATTRIBUTE3%TYPE DEFAULT NULL,
228 P_ATTRIBUTE4 IN JTF_RS_GROUPS_VL.ATTRIBUTE4%TYPE DEFAULT NULL,
229 P_ATTRIBUTE5 IN JTF_RS_GROUPS_VL.ATTRIBUTE5%TYPE DEFAULT NULL,
230 P_ATTRIBUTE6 IN JTF_RS_GROUPS_VL.ATTRIBUTE6%TYPE DEFAULT NULL,
231 P_ATTRIBUTE7 IN JTF_RS_GROUPS_VL.ATTRIBUTE7%TYPE DEFAULT NULL,
232 P_ATTRIBUTE8 IN JTF_RS_GROUPS_VL.ATTRIBUTE8%TYPE DEFAULT NULL,
233 P_ATTRIBUTE9 IN JTF_RS_GROUPS_VL.ATTRIBUTE9%TYPE DEFAULT NULL,
234 P_ATTRIBUTE10 IN JTF_RS_GROUPS_VL.ATTRIBUTE10%TYPE DEFAULT NULL,
235 P_ATTRIBUTE11 IN JTF_RS_GROUPS_VL.ATTRIBUTE11%TYPE DEFAULT NULL,
236 P_ATTRIBUTE12 IN JTF_RS_GROUPS_VL.ATTRIBUTE12%TYPE DEFAULT NULL,
237 P_ATTRIBUTE13 IN JTF_RS_GROUPS_VL.ATTRIBUTE13%TYPE DEFAULT NULL,
238 P_ATTRIBUTE14 IN JTF_RS_GROUPS_VL.ATTRIBUTE14%TYPE DEFAULT NULL,
239 P_ATTRIBUTE15 IN JTF_RS_GROUPS_VL.ATTRIBUTE15%TYPE DEFAULT NULL,
240 P_ATTRIBUTE_CATEGORY IN JTF_RS_GROUPS_VL.ATTRIBUTE_CATEGORY%TYPE DEFAULT NULL,
241 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
242 X_MSG_COUNT OUT NOCOPY NUMBER,
243 X_MSG_DATA OUT NOCOPY VARCHAR2,
244 X_GROUP_ID OUT NOCOPY JTF_RS_GROUPS_VL.GROUP_ID%TYPE,
245 X_GROUP_NUMBER OUT NOCOPY JTF_RS_GROUPS_VL.GROUP_NUMBER%TYPE
246 ) IS
247
248 BEGIN
249
250 JTF_RS_GROUPS_PUB.G_RS_GRP_ID_PUB_FLAG := 'N';
251 JTF_RS_GROUPS_PUB.G_GROUP_ID := P_GROUP_ID;
252 JTF_RS_GROUPS_PUB.G_ATTRIBUTE1 := P_ATTRIBUTE1;
253 JTF_RS_GROUPS_PUB.G_ATTRIBUTE2 := P_ATTRIBUTE2;
254 JTF_RS_GROUPS_PUB.G_ATTRIBUTE3 := P_ATTRIBUTE3;
255 JTF_RS_GROUPS_PUB.G_ATTRIBUTE4 := P_ATTRIBUTE4;
256 JTF_RS_GROUPS_PUB.G_ATTRIBUTE5 := P_ATTRIBUTE5;
257 JTF_RS_GROUPS_PUB.G_ATTRIBUTE6 := P_ATTRIBUTE6;
258 JTF_RS_GROUPS_PUB.G_ATTRIBUTE7 := P_ATTRIBUTE7;
259 JTF_RS_GROUPS_PUB.G_ATTRIBUTE8 := P_ATTRIBUTE8;
260 JTF_RS_GROUPS_PUB.G_ATTRIBUTE9 := P_ATTRIBUTE9;
261 JTF_RS_GROUPS_PUB.G_ATTRIBUTE10 := P_ATTRIBUTE10;
262 JTF_RS_GROUPS_PUB.G_ATTRIBUTE11 := P_ATTRIBUTE11;
263 JTF_RS_GROUPS_PUB.G_ATTRIBUTE12 := P_ATTRIBUTE12;
264 JTF_RS_GROUPS_PUB.G_ATTRIBUTE13 := P_ATTRIBUTE13;
265 JTF_RS_GROUPS_PUB.G_ATTRIBUTE14 := P_ATTRIBUTE14;
266 JTF_RS_GROUPS_PUB.G_ATTRIBUTE15 := P_ATTRIBUTE15;
267 JTF_RS_GROUPS_PUB.G_ATTRIBUTE_CATEGORY := P_ATTRIBUTE_CATEGORY;
268
269 jtf_rs_groups_pub.create_resource_group (
270 P_API_VERSION => P_API_VERSION,
271 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
272 P_COMMIT => P_COMMIT,
273 P_GROUP_NAME => P_GROUP_NAME,
274 P_GROUP_DESC => P_GROUP_DESC,
275 P_EXCLUSIVE_FLAG => P_EXCLUSIVE_FLAG,
276 P_EMAIL_ADDRESS => P_EMAIL_ADDRESS,
277 P_START_DATE_ACTIVE => P_START_DATE_ACTIVE,
278 P_END_DATE_ACTIVE => P_END_DATE_ACTIVE,
279 P_ACCOUNTING_CODE => P_ACCOUNTING_CODE,
280 X_RETURN_STATUS => X_RETURN_STATUS,
281 X_MSG_COUNT => X_MSG_COUNT,
282 X_MSG_DATA => X_MSG_DATA,
283 X_GROUP_ID => X_GROUP_ID,
284 X_GROUP_NUMBER => X_GROUP_NUMBER
285 );
286
287 END create_resource_group_migrate;
288
289
290 /* Procedure to update the resource group based on input values
291 passed by calling routines. */
292
293 PROCEDURE update_resource_group
294 (P_API_VERSION IN NUMBER,
295 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
296 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
297 P_GROUP_ID IN JTF_RS_GROUPS_VL.GROUP_ID%TYPE,
298 P_GROUP_NUMBER IN JTF_RS_GROUPS_VL.GROUP_NUMBER%TYPE,
299 P_GROUP_NAME IN JTF_RS_GROUPS_VL.GROUP_NAME%TYPE DEFAULT FND_API.G_MISS_CHAR,
300 P_GROUP_DESC IN JTF_RS_GROUPS_VL.GROUP_DESC%TYPE DEFAULT FND_API.G_MISS_CHAR,
301 P_EXCLUSIVE_FLAG IN JTF_RS_GROUPS_VL.EXCLUSIVE_FLAG%TYPE DEFAULT FND_API.G_MISS_CHAR,
302 P_EMAIL_ADDRESS IN JTF_RS_GROUPS_VL.EMAIL_ADDRESS%TYPE DEFAULT FND_API.G_MISS_CHAR,
303 P_START_DATE_ACTIVE IN JTF_RS_GROUPS_VL.START_DATE_ACTIVE%TYPE DEFAULT FND_API.G_MISS_DATE,
304 P_END_DATE_ACTIVE IN JTF_RS_GROUPS_VL.END_DATE_ACTIVE%TYPE DEFAULT FND_API.G_MISS_DATE,
305 P_ACCOUNTING_CODE IN JTF_RS_GROUPS_VL.ACCOUNTING_CODE%TYPE DEFAULT FND_API.G_MISS_CHAR,
306 P_OBJECT_VERSION_NUM IN OUT NOCOPY JTF_RS_GROUPS_VL.OBJECT_VERSION_NUMBER%TYPE,
307 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
308 X_MSG_COUNT OUT NOCOPY NUMBER,
309 X_MSG_DATA OUT NOCOPY VARCHAR2
310 ) IS
311
312 l_api_version CONSTANT NUMBER := 1.0;
313 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_RESOURCE_GROUP';
314 l_group_id jtf_rs_groups_vl.group_id%TYPE := p_group_id;
315 l_group_number jtf_rs_groups_vl.group_number%TYPE := p_group_number;
316 l_group_name jtf_rs_groups_vl.group_name%TYPE := p_group_name;
317 l_group_desc jtf_rs_groups_vl.group_desc%TYPE := p_group_desc;
318 l_exclusive_flag jtf_rs_groups_vl.exclusive_flag%TYPE := p_exclusive_flag;
319 l_email_address jtf_rs_groups_vl.email_address%TYPE := p_email_address;
320 l_start_date_active jtf_rs_groups_vl.start_date_active%TYPE := p_start_date_active;
321 l_end_date_active jtf_rs_groups_vl.end_date_active%TYPE := p_end_date_active;
322 l_accounting_code jtf_rs_groups_vl.accounting_code%TYPE := p_accounting_code;
323 l_object_version_num jtf_rs_groups_vl.object_version_number%TYPE := p_object_version_num;
324
325 l_group_id_out jtf_rs_groups_vl.group_id%TYPE;
326
327 BEGIN
328
329
330 SAVEPOINT update_resource_group_pub;
331
332 x_return_status := fnd_api.g_ret_sts_success;
333
334 -- DBMS_OUTPUT.put_line(' Started Update Resource Group Pub ');
335
336
337 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
338
339 RAISE fnd_api.g_exc_unexpected_error;
340
341 END IF;
342
343
344 IF fnd_api.to_boolean(p_init_msg_list) THEN
345
346 fnd_msg_pub.initialize;
347
348 END IF;
349
350
351 /* Validate the Resource Group. */
352
353 jtf_resource_utl.validate_resource_group(
354 p_group_id => l_group_id,
355 p_group_number => l_group_number,
356 x_return_status => x_return_status,
357 x_group_id => l_group_id_out
358 );
359 -- added for NOCOPY
360 l_group_id := l_group_id_out;
361
362
363 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
364 IF X_RETURN_STATUS = FND_API.G_RET_STS_ERROR THEN
365 RAISE FND_API.G_EXC_ERROR;
366 ELSIF X_RETURN_STATUS = FND_API.G_RET_STS_UNEXP_ERROR THEN
367 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
368 END IF;
369 END IF;
370
371 /* Call the private procedure with the validated parameters. */
372
373 jtf_rs_groups_pvt.update_resource_group
374 (P_API_VERSION => 1,
375 P_INIT_MSG_LIST => fnd_api.g_false,
376 P_COMMIT => fnd_api.g_false,
377 P_GROUP_ID => l_group_id,
378 P_GROUP_NAME => l_group_name,
379 P_GROUP_DESC => l_group_desc,
380 P_EXCLUSIVE_FLAG => l_exclusive_flag,
381 P_EMAIL_ADDRESS => l_email_address,
382 P_START_DATE_ACTIVE => l_start_date_active,
383 P_END_DATE_ACTIVE => l_end_date_active,
384 P_ACCOUNTING_CODE => l_accounting_code,
385 P_OBJECT_VERSION_NUM => l_object_version_num,
386 X_RETURN_STATUS => x_return_status,
387 X_MSG_COUNT => x_msg_count,
388 X_MSG_DATA => x_msg_data
389 );
390
391
392 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
393 IF X_RETURN_STATUS = FND_API.G_RET_STS_ERROR THEN
394 RAISE FND_API.G_EXC_ERROR;
395 ELSIF X_RETURN_STATUS = FND_API.G_RET_STS_UNEXP_ERROR THEN
396 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
397 END IF;
398 END IF;
399
400 /* Return the new value of the object version number */
401
402 p_object_version_num := l_object_version_num;
403
404 IF fnd_api.to_boolean(p_commit) THEN
405
406 COMMIT WORK;
407
408 END IF;
409
410 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
411
412
413 EXCEPTION
414
415 WHEN fnd_api.g_exc_error THEN
416 ROLLBACK TO update_resource_group_pub;
417 x_return_status := fnd_api.g_ret_sts_error;
418 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
419 p_data => x_msg_data);
420 WHEN fnd_api.g_exc_unexpected_error THEN
421 ROLLBACK TO update_resource_group_pub;
422 x_return_status := fnd_api.g_ret_sts_unexp_error;
423 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
424 p_data => x_msg_data);
425 WHEN OTHERS THEN
426 ROLLBACK TO update_resource_group_pub;
427 fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
428 fnd_message.set_token('P_SQLCODE',SQLCODE);
429 fnd_message.set_token('P_SQLERRM',SQLERRM);
430 fnd_message.set_token('P_API_NAME', l_api_name);
431 FND_MSG_PUB.add;
432 x_return_status := fnd_api.g_ret_sts_unexp_error;
433 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
434 p_data => x_msg_data);
435
436 END update_resource_group;
437
438
439 END jtf_rs_groups_pub;