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