[Home] [Help]
PACKAGE BODY: APPS.JTF_RS_GROUP_USAGES_PUB
Source
1 PACKAGE BODY jtf_rs_group_usages_pub AS
2 /* $Header: jtfrspab.pls 120.0 2005/05/11 08:21:03 appldev ship $ */
3
4 /*****************************************************************************************
5 This is a public API that caller will invoke.
6 It provides procedures for managing resource group usages.
7 Its main procedures are as following:
8 Create Resource Group Usage
9 Delete Resource Group Usage
10 Calls to these procedures will invoke procedures from jtf_rs_group_usages_pvt
11 to do business validations and to do actual inserts and updates into tables.
12 ******************************************************************************************/
13
14
15 /* Package variables. */
16
17 G_PKG_NAME VARCHAR2(30) := 'JTF_RS_GROUP_USAGES_PUB';
18
19
20 /* Procedure to create the resource group usage
21 based on input values passed by calling routines. */
22
23 PROCEDURE create_group_usage
24 (P_API_VERSION IN NUMBER,
25 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
26 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
27 P_GROUP_ID IN JTF_RS_GROUP_USAGES.GROUP_ID%TYPE,
28 P_GROUP_NUMBER IN JTF_RS_GROUPS_VL.GROUP_NUMBER%TYPE,
29 P_USAGE IN JTF_RS_GROUP_USAGES.USAGE%TYPE,
30 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
31 X_MSG_COUNT OUT NOCOPY NUMBER,
32 X_MSG_DATA OUT NOCOPY VARCHAR2,
33 X_GROUP_USAGE_ID OUT NOCOPY JTF_RS_GROUP_USAGES.GROUP_USAGE_ID%TYPE
34 ) IS
35
36 l_api_version CONSTANT NUMBER := 1.0;
37 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_GROUP_USAGE';
38 l_group_id jtf_rs_group_usages.group_id%TYPE := p_group_id;
39 l_group_number jtf_rs_groups_vl.group_number%TYPE := p_group_number;
40 l_usage jtf_rs_group_usages.usage%TYPE := p_usage;
41 -- added to handle NOCOPY
42 l_group_id_out jtf_rs_group_usages.group_id%TYPE ;
43
44
45 BEGIN
46
47
48 SAVEPOINT create_rs_group_usage_pub;
49
50 x_return_status := fnd_api.g_ret_sts_success;
51
52 -- DBMS_OUTPUT.put_line('Started Create Resource Group Usage Pub ');
53
54
55 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
56
57 RAISE fnd_api.g_exc_unexpected_error;
58
59 END IF;
60
61
62 IF fnd_api.to_boolean(p_init_msg_list) THEN
63
64 fnd_msg_pub.initialize;
65
66 END IF;
67
68
69 /* Validate the Resource Group. */
70
71 jtf_resource_utl.validate_resource_group(
72 p_group_id => l_group_id,
73 p_group_number => l_group_number,
74 x_return_status => x_return_status,
75 x_group_id => l_group_id_out
76 );
77
78 l_group_id := l_group_id_out;
79
80
81 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
82
83 x_return_status := fnd_api.g_ret_sts_unexp_error;
84
85 RAISE fnd_api.g_exc_unexpected_error;
86
87 END IF;
88
89
90
91 /* Validate the Resource Usage. */
92
93 jtf_resource_utl.validate_usage
94 (p_usage => l_usage,
95 x_return_status => x_return_status
96 );
97
98
99 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
100
101 x_return_status := fnd_api.g_ret_sts_unexp_error;
102
103 RAISE fnd_api.g_exc_unexpected_error;
104
105 END IF;
106
107
108
109 /* Call the private procedure with the validated parameters. */
110
111 jtf_rs_group_usages_pvt.create_group_usage
112 (P_API_VERSION => 1,
113 P_INIT_MSG_LIST => fnd_api.g_false,
114 P_COMMIT => fnd_api.g_false,
115 P_GROUP_ID => l_group_id,
116 P_USAGE => l_usage,
117 X_RETURN_STATUS => x_return_status,
118 X_MSG_COUNT => x_msg_count,
119 X_MSG_DATA => x_msg_data,
120 X_GROUP_USAGE_ID => x_group_usage_id
121 );
122
123
124 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
125
126 -- dbms_output.put_line('Failed status from call to private procedure');
127
128 RAISE fnd_api.g_exc_unexpected_error;
129
130 END IF;
131
132
133 IF fnd_api.to_boolean(p_commit) THEN
134
135 COMMIT WORK;
136
137 END IF;
138
139 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
140
141
142 EXCEPTION
143
144
145 WHEN fnd_api.g_exc_unexpected_error THEN
146
147 -- DBMS_OUTPUT.put_line (' ========================================== ');
148
149 -- DBMS_OUTPUT.put_line ('=========== Raised Unexpected Error ======= ======== ');
150
151 ROLLBACK TO create_rs_group_usage_pub;
152
153 x_return_status := fnd_api.g_ret_sts_unexp_error;
154
155 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
156
157
158 WHEN OTHERS THEN
159
160 -- DBMS_OUTPUT.put_line (' ========================================== ');
161
162 -- DBMS_OUTPUT.put_line (' =========== Raised Others in Create Group Usage Pub ========= ');
163
164 -- DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
165
166 ROLLBACK TO create_rs_group_usage_pub;
167
168 fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
169 fnd_message.set_token('P_SQLCODE',SQLCODE);
170 fnd_message.set_token('P_SQLERRM',SQLERRM);
171 fnd_message.set_token('P_API_NAME',l_api_name);
172 FND_MSG_PUB.add;
173
174 x_return_status := fnd_api.g_ret_sts_unexp_error;
175
176 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
177
178
179 END create_group_usage;
180
181
182
183 /* Procedure to delete the resource group usage
184 based on input values passed by calling routines. */
185
186 PROCEDURE delete_group_usage
187 (P_API_VERSION IN NUMBER,
188 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
189 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
190 P_GROUP_ID IN JTF_RS_GROUP_USAGES.GROUP_ID%TYPE,
191 P_GROUP_NUMBER IN JTF_RS_GROUPS_VL.GROUP_NUMBER%TYPE,
192 P_USAGE IN JTF_RS_GROUP_USAGES.USAGE%TYPE,
193 P_OBJECT_VERSION_NUM IN JTF_RS_GROUP_USAGES.OBJECT_VERSION_NUMBER%TYPE,
194 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
195 X_MSG_COUNT OUT NOCOPY NUMBER,
196 X_MSG_DATA OUT NOCOPY VARCHAR2
197 ) IS
198
199 l_api_version CONSTANT NUMBER := 1.0;
200 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_GROUP_USAGE';
201 l_group_id jtf_rs_group_usages.group_id%TYPE := p_group_id;
202 l_group_number jtf_rs_groups_vl.group_number%TYPE := p_group_number;
203 l_usage jtf_rs_group_usages.usage%TYPE := p_usage;
204
205 -- added to handle NOCOPY
206 l_group_id_out jtf_rs_group_usages.group_id%TYPE;
207
208
209 BEGIN
210
211
212 SAVEPOINT delete_group_usage_pub;
213
214 x_return_status := fnd_api.g_ret_sts_success;
215
216 -- DBMS_OUTPUT.put_line(' Started Delete Group Usage Pub ');
217
218
219 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
220
221 RAISE fnd_api.g_exc_unexpected_error;
222
223 END IF;
224
225
226 IF fnd_api.to_boolean(p_init_msg_list) THEN
227
228 fnd_msg_pub.initialize;
229
230 END IF;
231
232
233 /* Validate the Resource Group. */
234
235 BEGIN
236
237 jtf_resource_utl.validate_resource_group(
238 p_group_id => l_group_id,
239 p_group_number => l_group_number,
240 x_return_status => x_return_status,
241 x_group_id => l_group_id_out
242 );
243
244 -- added to handle NOCOPY
245
246 l_group_id := l_group_id_out;
247
248 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
249
250 x_return_status := fnd_api.g_ret_sts_unexp_error;
251
252 RAISE fnd_api.g_exc_unexpected_error;
253
254 END IF;
255
256 END; /* End of Resource Group Validation */
257
258
259
260 /* Validate the Resource Usage. */
261
262 jtf_resource_utl.validate_usage
263 (p_usage => l_usage,
264 x_return_status => x_return_status
265 );
266
267
268 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
269
270 x_return_status := fnd_api.g_ret_sts_unexp_error;
271
272 RAISE fnd_api.g_exc_unexpected_error;
273
274 END IF;
275
276
277
278 /* Call the private procedure for delete */
279
280 jtf_rs_group_usages_pvt.delete_group_usage
281 (P_API_VERSION => 1,
282 P_INIT_MSG_LIST => fnd_api.g_false,
283 P_COMMIT => fnd_api.g_false,
284 P_GROUP_ID => l_group_id,
285 P_USAGE => l_usage,
286 P_OBJECT_VERSION_NUM => p_object_version_num,
287 X_RETURN_STATUS => x_return_status,
288 X_MSG_COUNT => x_msg_count,
289 X_MSG_DATA => x_msg_data
290 );
291
292
293 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
294
295 -- dbms_output.put_line('Failed status from call to private procedure');
296
297 RAISE fnd_api.g_exc_unexpected_error;
298
299 END IF;
300
301
302 IF fnd_api.to_boolean(p_commit) THEN
303
304 COMMIT WORK;
305
306 END IF;
307
308 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
309
310
311 EXCEPTION
312
313
314 WHEN fnd_api.g_exc_unexpected_error THEN
315
316 -- DBMS_OUTPUT.put_line (' ========================================== ');
317
318 -- DBMS_OUTPUT.put_line ('=========== Raised Unexpected Error ======= ======== ');
319
320 ROLLBACK TO delete_group_usage_pub;
321
322 x_return_status := fnd_api.g_ret_sts_unexp_error;
323
324 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
325
326
327 WHEN OTHERS THEN
328
329 -- DBMS_OUTPUT.put_line (' ========================================== ');
330
331 -- DBMS_OUTPUT.put_line (' =========== Raised Others in Delete Group Usage Pub ============= ');
332
333 -- DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
334
335 ROLLBACK TO delete_group_usage_pub;
336
337 fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
338 fnd_message.set_token('P_SQLCODE',SQLCODE);
339 fnd_message.set_token('P_SQLERRM',SQLERRM);
340 fnd_message.set_token('P_API_NAME',l_api_name);
341 FND_MSG_PUB.add;
342
343 x_return_status := fnd_api.g_ret_sts_unexp_error;
344
345 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
346
347
348 END delete_group_usage;
349
350
351 END jtf_rs_group_usages_pub;