[Home] [Help]
PACKAGE BODY: APPS.JTF_RS_TEAMS_PUB
Source
1 PACKAGE BODY jtf_rs_teams_pub AS
2 /* $Header: jtfrsptb.pls 120.0 2005/05/11 08:21:23 appldev ship $ */
3
4 /*****************************************************************************************
5 This package body defines the procedures for managing resource teams.
6 Its main procedures are as following:
7 Create Resource Team
8 Update Resource Team
9 This package validates the input parameters to these procedures and then
10 Calls corresponding procedures from jtf_rs_teams_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_TEAMS_PUB';
17
18
19 /* Procedure to create the resource team and the members
20 based on input values passed by calling routines. */
21
22
23 PROCEDURE create_resource_team
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_TEAM_NAME IN JTF_RS_TEAMS_VL.TEAM_NAME%TYPE,
28 P_TEAM_DESC IN JTF_RS_TEAMS_VL.TEAM_DESC%TYPE DEFAULT NULL,
29 P_EXCLUSIVE_FLAG IN JTF_RS_TEAMS_VL.EXCLUSIVE_FLAG%TYPE DEFAULT 'N',
30 P_EMAIL_ADDRESS IN JTF_RS_TEAMS_VL.EMAIL_ADDRESS%TYPE DEFAULT NULL,
31 P_START_DATE_ACTIVE IN JTF_RS_TEAMS_VL.START_DATE_ACTIVE%TYPE,
32 P_END_DATE_ACTIVE IN JTF_RS_TEAMS_VL.END_DATE_ACTIVE%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_TEAM_ID OUT NOCOPY JTF_RS_TEAMS_VL.TEAM_ID%TYPE,
37 X_TEAM_NUMBER OUT NOCOPY JTF_RS_TEAMS_VL.TEAM_NUMBER%TYPE
38 ) IS
39
40 l_api_version CONSTANT NUMBER := 1.0;
41 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_RESOURCE_TEAM';
42 l_team_name jtf_rs_teams_vl.team_name%TYPE := p_team_name;
43 l_team_desc jtf_rs_teams_vl.team_desc%TYPE := p_team_desc;
44 l_exclusive_flag jtf_rs_teams_vl.exclusive_flag%TYPE := nvl(p_exclusive_flag, 'N');
45 l_email_address jtf_rs_teams_vl.email_address%TYPE := p_email_address;
46 l_start_date_active jtf_rs_teams_vl.start_date_active%TYPE := p_start_date_active;
47 l_end_date_active jtf_rs_teams_vl.end_date_active%TYPE := p_end_date_active;
48 l_team_member_id jtf_rs_team_members.team_member_id%TYPE;
49 current_record INTEGER;
50
51
52 BEGIN
53
54
55 SAVEPOINT create_resource_team_pub;
56
57 x_return_status := fnd_api.g_ret_sts_success;
58
59 -- DBMS_OUTPUT.put_line(' Started Create Resource Team Pub ');
60
61
62 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
63
64 RAISE fnd_api.g_exc_unexpected_error;
65
66 END IF;
67
68
69 IF fnd_api.to_boolean(p_init_msg_list) THEN
70
71 fnd_msg_pub.initialize;
72
73 END IF;
74
75
76 /* Validate that the Team Name is specified */
77
78 IF l_team_name IS NULL THEN
79
80 -- dbms_output.put_line('Team Name cannot be null');
81
82 fnd_message.set_name('JTF', 'JTF_RS_TEAM_NAME_NULL');
83 fnd_msg_pub.add;
84
85 x_return_status := fnd_api.g_ret_sts_unexp_error;
86
87 RAISE fnd_api.g_exc_unexpected_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 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 /* Call the private procedure with the validated parameters. */
109
110 jtf_rs_teams_pvt.create_resource_team
111 (P_API_VERSION => 1,
112 P_INIT_MSG_LIST => fnd_api.g_false,
113 P_COMMIT => fnd_api.g_false,
114 P_TEAM_NAME => l_team_name,
115 P_TEAM_DESC => l_team_desc,
116 P_EXCLUSIVE_FLAG => l_exclusive_flag,
117 P_EMAIL_ADDRESS => l_email_address,
118 P_START_DATE_ACTIVE => l_start_date_active,
119 P_END_DATE_ACTIVE => l_end_date_active,
120 X_RETURN_STATUS => x_return_status,
121 X_MSG_COUNT => x_msg_count,
122 X_MSG_DATA => x_msg_data,
123 X_TEAM_ID => x_team_id,
124 X_TEAM_NUMBER => x_team_number
125 );
126
127
128 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
129
130 -- dbms_output.put_line('Failed status from call to private procedure');
131
132 RAISE fnd_api.g_exc_unexpected_error;
133
134 END IF;
135
136
137 IF fnd_api.to_boolean(p_commit) THEN
138
139 COMMIT WORK;
140
141 END IF;
142
143 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
144
145
146 EXCEPTION
147
148
149 WHEN fnd_api.g_exc_unexpected_error THEN
150
151 -- DBMS_OUTPUT.put_line (' ========================================== ');
152
153 -- DBMS_OUTPUT.put_line ('=========== Raised Unexpected Error ======= ======== ');
154
155 ROLLBACK TO create_resource_team_pub;
156
157 x_return_status := fnd_api.g_ret_sts_unexp_error;
158
159 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
160
161
162 WHEN OTHERS THEN
163
164 -- DBMS_OUTPUT.put_line (' ========================================== ');
165
166 -- DBMS_OUTPUT.put_line (' =========== Raised Others in Create Resource Team Pub ========= ');
167
168 -- DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
169
170 ROLLBACK TO create_resource_team_pub;
171
172 x_return_status := fnd_api.g_ret_sts_unexp_error;
173
174 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
175
176
177 END create_resource_team;
178
179
180
181 /* Procedure to update the resource team based on input values
182 passed by calling routines. */
183
184 PROCEDURE update_resource_team
185 (P_API_VERSION IN NUMBER,
186 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
187 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
188 P_TEAM_ID IN JTF_RS_TEAMS_VL.TEAM_ID%TYPE,
189 P_TEAM_NUMBER IN JTF_RS_TEAMS_VL.TEAM_NUMBER%TYPE,
190 P_TEAM_NAME IN JTF_RS_TEAMS_VL.TEAM_NAME%TYPE DEFAULT FND_API.G_MISS_CHAR,
191 P_TEAM_DESC IN JTF_RS_TEAMS_VL.TEAM_DESC%TYPE DEFAULT FND_API.G_MISS_CHAR,
192 P_EXCLUSIVE_FLAG IN JTF_RS_TEAMS_VL.EXCLUSIVE_FLAG%TYPE DEFAULT FND_API.G_MISS_CHAR,
193 P_EMAIL_ADDRESS IN JTF_RS_TEAMS_VL.EMAIL_ADDRESS%TYPE DEFAULT FND_API.G_MISS_CHAR,
194 P_START_DATE_ACTIVE IN JTF_RS_TEAMS_VL.START_DATE_ACTIVE%TYPE DEFAULT FND_API.G_MISS_DATE,
195 P_END_DATE_ACTIVE IN JTF_RS_TEAMS_VL.END_DATE_ACTIVE%TYPE DEFAULT FND_API.G_MISS_DATE,
196 P_OBJECT_VERSION_NUM IN OUT NOCOPY JTF_RS_TEAMS_VL.OBJECT_VERSION_NUMBER%TYPE,
197 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
198 X_MSG_COUNT OUT NOCOPY NUMBER,
199 X_MSG_DATA OUT NOCOPY VARCHAR2
200 ) IS
201
202 l_api_version CONSTANT NUMBER := 1.0;
203 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_RESOURCE_TEAM';
204 l_team_id jtf_rs_teams_vl.team_id%TYPE := p_team_id;
205 l_team_number jtf_rs_teams_vl.team_number%TYPE := p_team_number;
206 l_team_name jtf_rs_teams_vl.team_name%TYPE := p_team_name;
207 l_team_desc jtf_rs_teams_vl.team_desc%TYPE := p_team_desc;
208 l_exclusive_flag jtf_rs_teams_vl.exclusive_flag%TYPE := p_exclusive_flag;
209 l_email_address jtf_rs_teams_vl.email_address%TYPE := p_email_address;
210 l_start_date_active jtf_rs_teams_vl.start_date_active%TYPE := p_start_date_active;
211 l_end_date_active jtf_rs_teams_vl.end_date_active%TYPE := p_end_date_active;
212 l_object_version_num jtf_rs_teams_vl.object_version_number%TYPE := p_object_version_num;
213 -- added for NOCOPY
214 l_team_id_out jtf_rs_teams_vl.team_id%TYPE;
215
216 BEGIN
217
218
219 SAVEPOINT update_resource_team_pub;
220
221 x_return_status := fnd_api.g_ret_sts_success;
222
223 -- DBMS_OUTPUT.put_line(' Started Update Resource Team Pub ');
224
225
226 IF NOT fnd_api.compatible_api_call(l_api_version, p_api_version, l_api_name, g_pkg_name) THEN
227
228 RAISE fnd_api.g_exc_unexpected_error;
229
230 END IF;
231
232
233 IF fnd_api.to_boolean(p_init_msg_list) THEN
234
235 fnd_msg_pub.initialize;
236
237 END IF;
238
239
240 /* Validate the Resource Team. */
241
242 jtf_resource_utl.validate_resource_team(
243 p_team_id => l_team_id,
244 p_team_number => l_team_number,
245 x_return_status => x_return_status,
246 x_team_id => l_team_id_out
247 );
248 -- added for NOCOPY
249 l_team_id := l_team_id_out;
250
251 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
252
253 x_return_status := fnd_api.g_ret_sts_unexp_error;
254
255 RAISE fnd_api.g_exc_unexpected_error;
256
257 END IF;
258
259
260
261 /* Call the private procedure with the validated parameters. */
262
263 jtf_rs_teams_pvt.update_resource_team
264 (P_API_VERSION => 1,
265 P_INIT_MSG_LIST => fnd_api.g_false,
266 P_COMMIT => fnd_api.g_false,
267 P_TEAM_ID => l_team_id,
268 P_TEAM_NAME => l_team_name,
269 P_TEAM_DESC => l_team_desc,
270 P_EXCLUSIVE_FLAG => l_exclusive_flag,
271 P_EMAIL_ADDRESS => l_email_address,
272 P_START_DATE_ACTIVE => l_start_date_active,
273 P_END_DATE_ACTIVE => l_end_date_active,
274 P_OBJECT_VERSION_NUM => l_object_version_num,
275 X_RETURN_STATUS => x_return_status,
276 X_MSG_COUNT => x_msg_count,
277 X_MSG_DATA => x_msg_data
278 );
279
280
281 IF NOT (x_return_status = fnd_api.g_ret_sts_success) THEN
282
283 -- dbms_output.put_line('Failed status from call to private procedure');
284
285 RAISE fnd_api.g_exc_unexpected_error;
286
287 END IF;
288
289 /* Return the new value of the object version number */
290
291 p_object_version_num := l_object_version_num;
292
293
294 IF fnd_api.to_boolean(p_commit) THEN
295
296 COMMIT WORK;
297
298 END IF;
299
300 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
301
302
303 EXCEPTION
304
305
306 WHEN fnd_api.g_exc_unexpected_error THEN
307
308 -- DBMS_OUTPUT.put_line (' ========================================== ');
309
310 -- DBMS_OUTPUT.put_line ('=========== Raised Unexpected Error ======= ======== ');
311
312 ROLLBACK TO update_resource_team_pub;
313
314 x_return_status := fnd_api.g_ret_sts_unexp_error;
315
316 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
317
318
319 WHEN OTHERS THEN
320
321 -- DBMS_OUTPUT.put_line (' ========================================== ');
322
323 -- DBMS_OUTPUT.put_line (' =========== Raised Others in Update Resource Team Pub ========= ');
324
325 -- DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);
326
327 ROLLBACK TO update_resource_team_pub;
328
329 x_return_status := fnd_api.g_ret_sts_unexp_error;
330
331 fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
332
333
334
335 END update_resource_team;
336
337
338 END jtf_rs_teams_pub;