DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_RS_GROUP_ORGS_PUB

Source


1 PACKAGE BODY  JTF_RS_GROUP_ORGS_PUB AS
2   /* $Header: jtfrsuob.pls 120.0 2005/05/11 08:22:49 appldev noship $ */
3 
4   /*****************************************************************************************
5    This is a public API that caller will invoke.
6    It provides procedures for managing Resource Group to HR Org mapping, like
7    create, update and delete from other modules.
8    Its main procedures are as following:
9    Create Resource Group to HR Org mapping
10    Update Resource Group to HR Org mapping
11    Delete Resource Group to HR Org mapping
12    Calls to these procedures will invoke procedures from jtf_rs_group_orgs_pvt
13    to do business validations and to do actual inserts, updates and deletes into
14    tables.
15    ******************************************************************************************/
16 
17   /* Package variables. */
18 
19   G_PKG_NAME        CONSTANT VARCHAR2(30) := 'JTF_RS_GROUP_ORGS_PUB';
20 
21   /* Procedure to create the Resource Group to HR Org mapping
22 	based on input values passed by calling routines. */
23 
24   PROCEDURE  create_group_org
25   (P_API_VERSION           IN  NUMBER,
26    P_INIT_MSG_LIST         IN  VARCHAR2,
27    P_COMMIT                IN  VARCHAR2,
28    P_GROUP_ID              IN  JTF_RS_GROUP_ORGANIZATIONS.GROUP_ID%TYPE,
29    P_ORGANIZATION_ID       IN  JTF_RS_GROUP_ORGANIZATIONS.ORGANIZATION_ID%TYPE,
30    P_ATTRIBUTE1            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE1%TYPE,
31    P_ATTRIBUTE2            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE2%TYPE,
32    P_ATTRIBUTE3            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE3%TYPE,
33    P_ATTRIBUTE4            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE4%TYPE,
34    P_ATTRIBUTE5            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE5%TYPE,
35    P_ATTRIBUTE6            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE6%TYPE,
36    P_ATTRIBUTE7            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE7%TYPE,
37    P_ATTRIBUTE8            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE8%TYPE,
38    P_ATTRIBUTE9            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE9%TYPE,
39    P_ATTRIBUTE10           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE10%TYPE,
40    P_ATTRIBUTE11           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE11%TYPE,
41    P_ATTRIBUTE12           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE12%TYPE,
42    P_ATTRIBUTE13           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE13%TYPE,
43    P_ATTRIBUTE14           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE14%TYPE,
44    P_ATTRIBUTE15           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE15%TYPE,
45    P_ATTRIBUTE_CATEGORY    IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE_CATEGORY%TYPE,
46    X_RETURN_STATUS         OUT NOCOPY  	VARCHAR2,
47    X_MSG_COUNT             OUT NOCOPY  	NUMBER,
48    X_MSG_DATA              OUT NOCOPY  	VARCHAR2
49   )  IS
50 
51     l_api_version         CONSTANT NUMBER       := 1.0;
52     l_api_name            CONSTANT VARCHAR2(30) := 'CREATE_GROUP_ORG';
53 
54   BEGIN
55 
56     SAVEPOINT sp_create_group_org;
57 
58     x_return_status := fnd_api.g_ret_sts_success;
59 
60     IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
61       RAISE fnd_api.g_exc_unexpected_error;
62     END IF;
63 
64     IF fnd_api.to_boolean(p_init_msg_list) THEN
65       fnd_msg_pub.initialize;
66     END IF;
67 
68     /* Call the private API to do validations and data processing */
69     JTF_RS_GROUP_ORGS_PVT.create_group_org
70          (P_API_VERSION           => P_API_VERSION,
71           P_INIT_MSG_LIST         => P_INIT_MSG_LIST,
72 	      P_COMMIT                => P_COMMIT,
73           P_GROUP_ID              => P_GROUP_ID,
74           P_ORGANIZATION_ID       => P_ORGANIZATION_ID,
75           P_ATTRIBUTE1 			  => P_ATTRIBUTE1,
76           P_ATTRIBUTE2 			  => P_ATTRIBUTE2,
77           P_ATTRIBUTE3 			  => P_ATTRIBUTE3,
78           P_ATTRIBUTE4 			  => P_ATTRIBUTE4,
79           P_ATTRIBUTE5 			  => P_ATTRIBUTE5,
80           P_ATTRIBUTE6 			  => P_ATTRIBUTE6,
81           P_ATTRIBUTE7 			  => P_ATTRIBUTE7,
82           P_ATTRIBUTE8 			  => P_ATTRIBUTE8,
83           P_ATTRIBUTE9 			  => P_ATTRIBUTE9,
84           P_ATTRIBUTE10 		  => P_ATTRIBUTE10,
85           P_ATTRIBUTE11 		  => P_ATTRIBUTE11,
86           P_ATTRIBUTE12 		  => P_ATTRIBUTE12,
87           P_ATTRIBUTE13 		  => P_ATTRIBUTE13,
88           P_ATTRIBUTE14 		  => P_ATTRIBUTE14,
89           P_ATTRIBUTE15 		  => P_ATTRIBUTE15,
90           P_ATTRIBUTE_CATEGORY 	  => P_ATTRIBUTE_CATEGORY,
91           X_RETURN_STATUS         => X_RETURN_STATUS,
92           X_MSG_COUNT             => X_MSG_COUNT,
93           X_MSG_DATA              => X_MSG_DATA
94 		  );
95 
96     IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
97       RAISE fnd_api.g_exc_unexpected_error;
98     END IF;
99 
100     IF fnd_api.to_boolean(p_commit) THEN
101 	 COMMIT WORK;
102     END IF;
103 
104     fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
105 
106   EXCEPTION
107 
108     WHEN fnd_api.g_exc_unexpected_error THEN
109       ROLLBACK TO sp_create_group_org;
110       x_return_status := fnd_api.g_ret_sts_unexp_error;
111       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
112 
113     WHEN OTHERS THEN
114       ROLLBACK TO sp_create_group_org;
115       fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
116       fnd_message.set_token('P_SQLCODE',SQLCODE);
117       fnd_message.set_token('P_SQLERRM',SQLERRM);
118       fnd_message.set_token('P_API_NAME',g_pkg_name||'.'||l_api_name);
119       FND_MSG_PUB.add;
120       x_return_status := fnd_api.g_ret_sts_unexp_error;
121       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
122 
123   END create_group_org;
124 
125   /* Procedure to update the Resource Group to HR Org mapping Attributes
126 	based on input values passed by calling routines. */
127 
128   PROCEDURE  update_group_org
129   (P_API_VERSION           IN  NUMBER,
130    P_INIT_MSG_LIST         IN  VARCHAR2,
131    P_COMMIT                IN  VARCHAR2,
132    P_GROUP_ID              IN  JTF_RS_GROUP_ORGANIZATIONS.GROUP_ID%TYPE,
133    P_ORGANIZATION_ID       IN  JTF_RS_GROUP_ORGANIZATIONS.ORGANIZATION_ID%TYPE,
134    P_ATTRIBUTE1            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE1%TYPE,
135    P_ATTRIBUTE2            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE2%TYPE,
136    P_ATTRIBUTE3            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE3%TYPE,
137    P_ATTRIBUTE4            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE4%TYPE,
138    P_ATTRIBUTE5            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE5%TYPE,
139    P_ATTRIBUTE6            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE6%TYPE,
140    P_ATTRIBUTE7            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE7%TYPE,
141    P_ATTRIBUTE8            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE8%TYPE,
142    P_ATTRIBUTE9            IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE9%TYPE,
143    P_ATTRIBUTE10           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE10%TYPE,
144    P_ATTRIBUTE11           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE11%TYPE,
145    P_ATTRIBUTE12           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE12%TYPE,
146    P_ATTRIBUTE13           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE13%TYPE,
147    P_ATTRIBUTE14           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE14%TYPE,
148    P_ATTRIBUTE15           IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE15%TYPE,
149    P_ATTRIBUTE_CATEGORY    IN  JTF_RS_GROUP_ORGANIZATIONS.ATTRIBUTE_CATEGORY%TYPE,
150    P_OBJECT_VERSION_NUMBER IN OUT NOCOPY JTF_RS_GROUP_ORGANIZATIONS.OBJECT_VERSION_NUMBER%TYPE,
151    X_RETURN_STATUS         OUT NOCOPY  		VARCHAR2,
152    X_MSG_COUNT             OUT NOCOPY  		NUMBER,
153    X_MSG_DATA              OUT NOCOPY  		VARCHAR2
154   ) IS
155 
156     l_api_version         CONSTANT NUMBER := 1.0;
157     l_api_name            CONSTANT VARCHAR2(30) := 'UPDATE_GROUP_ORG';
158 
159   BEGIN
160 
161     SAVEPOINT sp_update_group_org;
162 
163     x_return_status := fnd_api.g_ret_sts_success;
164 
165     IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
166       RAISE fnd_api.g_exc_unexpected_error;
167     END IF;
168 
169     IF fnd_api.to_boolean(p_init_msg_list) THEN
170       fnd_msg_pub.initialize;
171     END IF;
172 
173     /* Call the private API to do validations and data processing */
174     JTF_RS_GROUP_ORGS_PVT.update_group_org
175          (P_API_VERSION           => P_API_VERSION,
176           P_INIT_MSG_LIST         => P_INIT_MSG_LIST,
177 	      P_COMMIT                => P_COMMIT,
178           P_GROUP_ID              => P_GROUP_ID,
179           P_ORGANIZATION_ID       => P_ORGANIZATION_ID,
180           P_ATTRIBUTE1 			  => P_ATTRIBUTE1,
181           P_ATTRIBUTE2 			  => P_ATTRIBUTE2,
182           P_ATTRIBUTE3 			  => P_ATTRIBUTE3,
183           P_ATTRIBUTE4 			  => P_ATTRIBUTE4,
184           P_ATTRIBUTE5 			  => P_ATTRIBUTE5,
185           P_ATTRIBUTE6 			  => P_ATTRIBUTE6,
186           P_ATTRIBUTE7 			  => P_ATTRIBUTE7,
187           P_ATTRIBUTE8 			  => P_ATTRIBUTE8,
188           P_ATTRIBUTE9 			  => P_ATTRIBUTE9,
189           P_ATTRIBUTE10 		  => P_ATTRIBUTE10,
190           P_ATTRIBUTE11 		  => P_ATTRIBUTE11,
191           P_ATTRIBUTE12 		  => P_ATTRIBUTE12,
192           P_ATTRIBUTE13 		  => P_ATTRIBUTE13,
193           P_ATTRIBUTE14 		  => P_ATTRIBUTE14,
194           P_ATTRIBUTE15 		  => P_ATTRIBUTE15,
195           P_ATTRIBUTE_CATEGORY 	  => P_ATTRIBUTE_CATEGORY,
196           P_OBJECT_VERSION_NUMBER => P_OBJECT_VERSION_NUMBER,
197           X_RETURN_STATUS         => X_RETURN_STATUS,
198           X_MSG_COUNT             => X_MSG_COUNT,
199           X_MSG_DATA              => X_MSG_DATA
200 		  );
201 
202     IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
203       RAISE fnd_api.g_exc_unexpected_error;
204     END IF;
205 
206     IF fnd_api.to_boolean(p_commit) THEN
207 	 COMMIT WORK;
208     END IF;
209 
210     fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
211 
212   EXCEPTION
213 
214     WHEN fnd_api.g_exc_unexpected_error THEN
215       ROLLBACK TO sp_update_group_org;
216       x_return_status := fnd_api.g_ret_sts_unexp_error;
217       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
218 
219     WHEN OTHERS THEN
220       ROLLBACK TO sp_update_group_org;
221       fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
222       fnd_message.set_token('P_SQLCODE',SQLCODE);
223       fnd_message.set_token('P_SQLERRM',SQLERRM);
224       fnd_message.set_token('P_API_NAME',g_pkg_name||'.'||l_api_name);
225       FND_MSG_PUB.add;
226       x_return_status := fnd_api.g_ret_sts_unexp_error;
227       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
228 
229   END update_group_org;
230 
231   /* Procedure to delete resource group - HR Org mapping  */
232 
233   PROCEDURE  delete_group_org
234   (P_API_VERSION            IN  NUMBER,
235    P_INIT_MSG_LIST          IN  VARCHAR2,
236    P_COMMIT                 IN  VARCHAR2,
237    P_GROUP_ID               IN  JTF_RS_GROUP_ORGANIZATIONS.GROUP_ID%TYPE,
238    P_ORGANIZATION_ID        IN  JTF_RS_GROUP_ORGANIZATIONS.ORGANIZATION_ID%TYPE,
239    P_OBJECT_VERSION_NUMBER  IN  JTF_RS_GROUP_ORGANIZATIONS.OBJECT_VERSION_NUMBER%TYPE,
240    X_RETURN_STATUS          OUT NOCOPY  VARCHAR2,
241    X_MSG_COUNT              OUT NOCOPY  NUMBER,
242    X_MSG_DATA               OUT NOCOPY  VARCHAR2
243   ) IS
244 
245     l_api_version         CONSTANT NUMBER := 1.0;
246     l_api_name            CONSTANT VARCHAR2(30) := 'DELETE_GROUP_ORG';
247 
248   BEGIN
249 
250     SAVEPOINT sp_delete_group_org;
251 
252     x_return_status := fnd_api.g_ret_sts_success;
253 
254     IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
255       RAISE fnd_api.g_exc_unexpected_error;
256     END IF;
257 
258     IF fnd_api.to_boolean(p_init_msg_list) THEN
259       fnd_msg_pub.initialize;
260     END IF;
261 
262     /* Call the private API to do validations and data processing */
263     JTF_RS_GROUP_ORGS_PVT.delete_group_org
264          (P_API_VERSION           => P_API_VERSION,
265           P_INIT_MSG_LIST         => P_INIT_MSG_LIST,
266 	      P_COMMIT                => P_COMMIT,
267           P_GROUP_ID              => P_GROUP_ID,
268           P_ORGANIZATION_ID       => P_ORGANIZATION_ID,
269           P_OBJECT_VERSION_NUMBER => P_OBJECT_VERSION_NUMBER,
270           X_RETURN_STATUS         => X_RETURN_STATUS,
271           X_MSG_COUNT             => X_MSG_COUNT,
272           X_MSG_DATA              => X_MSG_DATA
273 		  );
274 
275     IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
276       RAISE fnd_api.g_exc_unexpected_error;
277     END IF;
278 
279     IF fnd_api.to_boolean(p_commit) THEN
280 	 COMMIT WORK;
281     END IF;
282 
283     fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
284 
285   EXCEPTION
286 
287     WHEN fnd_api.g_exc_unexpected_error THEN
288       ROLLBACK TO sp_delete_group_org;
289       x_return_status := fnd_api.g_ret_sts_unexp_error;
290       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
291 
292     WHEN OTHERS THEN
293       ROLLBACK TO sp_delete_group_org;
294       fnd_message.set_name ('JTF', 'JTF_RS_UNEXP_ERROR');
295       fnd_message.set_token('P_SQLCODE',SQLCODE);
296       fnd_message.set_token('P_SQLERRM',SQLERRM);
297       fnd_message.set_token('P_API_NAME',g_pkg_name||'.'||l_api_name);
298       FND_MSG_PUB.add;
299       x_return_status := fnd_api.g_ret_sts_unexp_error;
300       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
301 
302   END delete_group_org;
303 
304 END JTF_RS_GROUP_ORGS_PUB;