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