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