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