[Home] [Help]
PACKAGE BODY: APPS.JTF_CAL_ITEMS_PUB
Source
1 PACKAGE BODY JTF_CAL_ITEMS_PUB AS
2 /* $Header: jtfpcib.pls 115.9 2002/11/14 22:08:20 jawang ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'JTF_CAL_ITEMS_PUB';
5
6 --------------------------------------------------------------------------
7 -- Start of comments
8 -- API name : CreateItem
9 -- Type : Public
10 -- Function : Create Calendar Item in JTF_CAL_ITEMS table.
11 -- Pre-reqs : None.
12 -- Parameters :
13 -- name direction type required?
14 -- ---- --------- ---- ---------
15 -- p_api_version IN NUMBER required
16 -- p_init_msg_list IN VARCHAR2 optional
17 -- p_commit IN VARCHAR2 optional
18 -- p_validation_level IN NUMBER optional
19 -- x_return_status OUT VARCHAR2 required
20 -- x_msg_count OUT NUMBER required
21 -- x_msg_data OUT VARCHAR2 required
22 -- p_itm_rec IN CALItemRec required
23 -- x_item_id OUT NUMBER required
24 --
25 -- Version : Current version 1.0
26 -- Previous version 1.0
27 -- Initial version 1.0
28 --
29 -- Notes: The object_version_number of a new entry is always 1.
30 --
31 -- End of comments
32 --------------------------------------------------------------------------
33 PROCEDURE CreateItem
34 ( p_api_version IN NUMBER
35 , p_init_msg_list IN VARCHAR2
36 , p_commit IN VARCHAR2
37 , x_return_status OUT NOCOPY VARCHAR2
38 , x_msg_count OUT NOCOPY NUMBER
39 , x_msg_data OUT NOCOPY VARCHAR2
40 , p_itm_rec IN CalItemRec
41 , x_cal_item_id OUT NOCOPY NUMBER
42 )
43 IS
44 l_api_name CONSTANT VARCHAR2(30) := 'CreateItem';
45 l_api_version CONSTANT NUMBER := 1.0;
46 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
47 l_pvt JTF_CAL_ITEMS_PVT.CAL_Item_rec_type;
48 l_updated_by NUMBER;
49 l_creation_date DATE;
50 l_update_date DATE;
51 l_application_id NUMBER;
52
53 BEGIN
54 /***************************************************************************
55 ** Standard start of API savepoint
56 ***************************************************************************/
57 SAVEPOINT create_item_pub;
58 /***************************************************************************
59 ** Standard call to check for call compatibility
60 ***************************************************************************/
61 IF NOT FND_API.Compatible_API_Call( l_api_version
62 , p_api_version
63 , l_api_name
64 , G_PKG_NAME
65 )
66 THEN
67 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68 END IF;
69 /***************************************************************************
70 ** Initialize message list if p_init_msg_list is set to TRUE
71 ***************************************************************************/
72 IF FND_API.To_Boolean(p_init_msg_list)
73 THEN
74 FND_MSG_PUB.Initialize;
75 END IF;
76 /***************************************************************************
77 ** Initialize API return status to success
78 ***************************************************************************/
79 x_return_status := FND_API.G_RET_STS_SUCCESS;
80
81 /***************************************************************************
82 ** Validate Data
83 ***************************************************************************/
84 IF (p_itm_rec.CAL_RESOURCE_ID IS NULL OR p_itm_rec.CAL_RESOURCE_ID =
85 FND_API.G_MISS_NUM) OR (p_itm_rec.CAL_RESOURCE_TYPE IS NULL OR
86 p_itm_rec.CAL_RESOURCE_TYPE = FND_API.G_MISS_CHAR) THEN
87 --reuse existing calendar message
88 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_RESOURCE_STAT');
89 FND_MSG_pub.ADD;
90 RAISE FND_API.g_exc_unexpected_error;
91 END IF;
92
93 /***************************************************************************
94 ** Validate source_code against jtf_objects metadata
95 ***************************************************************************/
96
97 IF NOT JTF_CAL_UTILITY_PVT.isValidObjectCode (p_itm_rec.SOURCE_CODE) THEN
98 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_SOURCE_CODE');
99 FND_MESSAGE.set_token('CODE', p_itm_rec.SOURCE_CODE);
100 FND_MSG_pub.ADD;
101 RAISE FND_API.g_exc_unexpected_error;
102 END IF;
103
104 IF (p_itm_rec.SOURCE_ID IS NULL
105 OR p_itm_rec.SOURCE_ID = FND_API.G_MISS_NUM) THEN
106 FND_MESSAGE.set_name('JTF', 'JTF_CAL_SOURCE_ID_REQUIRED');
107 FND_MSG_pub.ADD;
108 RAISE FND_API.g_exc_unexpected_error;
109 END IF;
110
111 IF (p_itm_rec.START_DATE IS NULL
112 OR p_itm_rec.START_DATE = FND_API.G_MISS_DATE) THEN
113 FND_MESSAGE.set_name('JTF', 'JTF_CAL_START_DATE');
114 FND_MSG_pub.ADD;
115 RAISE FND_API.g_exc_unexpected_error;
116 END IF;
117
118 IF (p_itm_rec.END_DATE IS NULL
119 OR p_itm_rec.END_DATE = FND_API.G_MISS_DATE) THEN
120 FND_MESSAGE.set_name('JTF', 'JTF_CAL_END_TIME');
121 FND_MSG_pub.ADD;
122 RAISE FND_API.g_exc_unexpected_error;
123 END IF;
124 /***************************************************************************
125 ** End date cannot be before start date
126 ***************************************************************************/
127
128 IF p_itm_rec.START_DATE > p_itm_rec.END_DATE THEN
129 FND_MESSAGE.set_name('JTF', 'JTF_CAL_END_DATE');
130 FND_MESSAGE.set_token('P_START_DATE', to_char(p_itm_rec.START_DATE, 'YYYYMMDDHH24MISS'));
131 FND_MESSAGE.set_token('P_END_DATE', to_char(p_itm_rec.END_DATE, 'YYYYMMDDHH24MISS'));
132 FND_MSG_pub.ADD;
133 RAISE FND_API.g_exc_unexpected_error;
134 END IF;
135 /***************************************************************************
136 ** Validate timezone_id against hz_timezones
137 ***************************************************************************/
138
139 IF NOT JTF_CAL_UTILITY_PVT.isValidTimezone (p_itm_rec.TIMEZONE_ID) THEN
140 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_TIMEZONE');
141 FND_MESSAGE.set_token('TIMEZONE', p_itm_rec.TIMEZONE_ID);
142 FND_MSG_pub.ADD;
143 RAISE FND_API.g_exc_unexpected_error;
144 END IF;
145
146 IF (p_itm_rec.CREATED_BY IS NULL OR p_itm_rec.CREATED_BY = FND_API.G_MISS_NUM) THEN
147 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_CREATED');
148 FND_MSG_pub.ADD;
149 RAISE FND_API.g_exc_unexpected_error;
150 END IF;
151
152 IF (p_itm_rec.CREATION_DATE IS NULL OR p_itm_rec.CREATION_DATE = FND_API.G_MISS_DATE) THEN
153 l_creation_date := sysdate;
154 ELSE
155 l_creation_date := p_itm_rec.CREATION_DATE;
156 END IF;
157
158 IF (p_itm_rec.LAST_UPDATED_BY IS NULL
159 OR p_itm_rec.LAST_UPDATED_BY = FND_API.G_MISS_NUM) THEN
160 l_updated_by := p_itm_rec.CREATED_BY;
161 ELSE l_updated_by := p_itm_rec.LAST_UPDATED_BY;
162 END IF;
163
164 IF (p_itm_rec.LAST_UPDATE_DATE IS NULL OR p_itm_rec.LAST_UPDATE_DATE = FND_API.G_MISS_DATE) THEN
165 l_update_date := l_creation_date;
166 ELSE
167 l_update_date := p_itm_rec.LAST_UPDATE_DATE;
168 END IF;
169
170 IF p_itm_rec.APPLICATION_ID = FND_API.G_MISS_NUM THEN
171 l_application_id := NULL;
172 END IF;
173
174 /***************************************************************************
175 ** Copy data to PVT record
176 ***************************************************************************/
177 l_pvt.CAL_ITEM_ID := NULL;
178 l_pvt.OBJECT_VERSION_NUMBER := 1;
179 l_pvt.RESOURCE_ID := p_itm_rec.CAL_RESOURCE_ID;
180 l_pvt.RESOURCE_TYPE := p_itm_rec.CAL_RESOURCE_TYPE;
181 --dummy values to avoid database no null constraint
182 l_pvt.ITEM_TYPE := 'JTF_CAL_DISPLAY_TYPES';
183 l_pvt.ITEM_TYPE_CODE := 'JTF_CAL_DISPLAY_TYPES';
184 l_pvt.ITEM_NAME := p_itm_rec.ITEM_NAME;
185 l_pvt.ITEM_DESCRIPTION := p_itm_rec.ITEM_DESCRIPTION;
186 l_pvt.SOURCE_CODE := p_itm_rec.SOURCE_CODE;
187 l_pvt.SOURCE_ID := p_itm_rec.SOURCE_ID;
188 l_pvt.START_DATE := p_itm_rec.START_DATE;
189 l_pvt.END_DATE := p_itm_rec.END_DATE;
190 l_pvt.TIMEZONE_ID := p_itm_rec.TIMEZONE_ID;
191 l_pvt.URL := p_itm_rec.URL;
192 l_pvt.CREATED_BY := p_itm_rec.CREATED_BY;
193 l_pvt.CREATION_DATE := l_creation_date;
194 l_pvt.LAST_UPDATED_BY := l_updated_by;
195 l_pvt.LAST_UPDATE_DATE := l_update_date;
196 l_pvt.LAST_UPDATE_LOGIN := p_itm_rec.LAST_UPDATE_LOGIN;
197 l_pvt.APPLICATION_ID := l_application_id;
198 /***************************************************************************
199 ** Call private API to do the insert
200 ***************************************************************************/
201
202 JTF_CAL_ITEMS_PVT.insert_row
203 ( p_api_version => 1.0
204 , p_init_msg_list => p_init_msg_list
205 , p_commit => FND_API.g_false
206 , p_validation_level => FND_API.g_valid_level_full
207 , x_return_status => x_return_status
208 , x_msg_count => x_msg_count
209 , x_msg_data => x_msg_data
210 , p_itm_rec => l_pvt
211 , x_cal_item_id => x_cal_item_id
212 );
213 /***************************************************************************
214 ** Standard check of p_commit
215 ***************************************************************************/
216 IF FND_API.To_Boolean(p_commit)
217 THEN
218 COMMIT WORK;
219 END IF;
220 /***************************************************************************
221 ** Standard call to get message count and if count is 1, get message info
222 ***************************************************************************/
223 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
224 , p_data => x_msg_data
225 );
226 EXCEPTION
227 WHEN FND_API.G_EXC_ERROR
228 THEN
229 ROLLBACK TO create_item_pub;
230 x_return_status := FND_API.G_RET_STS_ERROR;
231 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
232 , p_data => x_msg_data
233 );
234 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
235 THEN
236 ROLLBACK TO create_item_pub;
237 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
238 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
239 , p_data => x_msg_data
240 );
241 WHEN OTHERS
242 THEN
243 ROLLBACK TO create_item_pub;
244 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
245 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
246 THEN
247 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME
248 , l_api_name
249 );
250 END IF;
251 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
252 , p_data => x_msg_data
253 );
254 END CreateItem;
255
256 --------------------------------------------------------------------------
257 -- Start of comments
258 -- API name : UpdateItem
259 -- Type : Public
260 -- Function : Update a Calendar Item in the JTF_CAL_ITEMS tables.
261 -- Pre-reqs : None.
262 -- Parameters :
263 -- name direction type required?
264 -- ---- --------- -------- ---------
265 -- p_api_version IN NUMBER required
266 -- p_init_msg_list IN VARCHAR2 optional
267 -- p_commit IN VARCHAR2 optional
268 -- p_validation_level IN NUMBER optional
269 -- x_return_status OUT VARCHAR2 required
270 -- x_msg_count OUT NUMBER required
271 -- x_msg_data OUT VARCHAR2 required
272 -- p_itm_rec IN CalItemRec required
273 -- x_object_version_number OUT NUMBER required
274 --
275 -- Version : Current version 1.0
276 -- Previous version 1.0
277 -- Initial version 1.0
278 --
279 -- Notes: - An item can only be updated if the object_version_number
280 -- is an exact match.
281 -- - When an update was successful the the new object_version_number
282 -- will be returned.
283 --
284 -- End of comments
285 --------------------------------------------------------------------------
286 PROCEDURE UpdateItem
287 ( p_api_version IN NUMBER
288 , p_init_msg_list IN VARCHAR2
289 , p_commit IN VARCHAR2
290 , p_validation_level IN NUMBER
291 , x_return_status OUT NOCOPY VARCHAR2
292 , x_msg_count OUT NOCOPY NUMBER
293 , x_msg_data OUT NOCOPY VARCHAR2
294 , p_itm_rec IN CalItemRec
295 , x_object_version_number OUT NOCOPY NUMBER
296 ) IS
297 l_api_name CONSTANT VARCHAR2(30) := 'UpdateItem';
298 l_api_version CONSTANT NUMBER := 1.0;
299 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
300 l_pvt JTF_CAL_ITEMS_PVT.CAL_Item_rec_type;
301 l_last_update_date DATE;
302
303 BEGIN
304 /***************************************************************************
305 ** Standard start of API savepoint
306 ***************************************************************************/
307 SAVEPOINT update_item_pub;
308 /***************************************************************************
309 ** Standard call to check for call compatibility
310 ***************************************************************************/
311 IF NOT FND_API.Compatible_API_Call( l_api_version
312 , p_api_version
313 , l_api_name
314 , G_PKG_NAME
315 )
316 THEN
317 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
318 END IF;
319 /***************************************************************************
320 ** Initialize message list if p_init_msg_list is set to TRUE
321 ***************************************************************************/
322 IF FND_API.To_Boolean(p_init_msg_list)
323 THEN
324 FND_MSG_PUB.Initialize;
325 END IF;
326 /***************************************************************************
327 ** Initialize API return status to success
328 ***************************************************************************/
329 x_return_status := FND_API.G_RET_STS_SUCCESS;
330
331 IF (p_itm_rec.CAL_ITEM_ID IS NULL
332 OR p_itm_rec.CAL_ITEM_ID = FND_API.G_MISS_NUM) THEN
333 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INV_CAL_ITEM');
334 FND_MSG_pub.ADD;
335 RAISE FND_API.g_exc_unexpected_error;
336 END IF;
337
338 IF (p_itm_rec.OBJECT_VERSION_NUMBER IS NULL
339 OR p_itm_rec.OBJECT_VERSION_NUMBER = FND_API.G_MISS_NUM) THEN
340 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INV_OVN');
341 FND_MSG_pub.ADD;
342 RAISE FND_API.g_exc_unexpected_error;
343 END IF;
344
345 IF (p_itm_rec.LAST_UPDATED_BY IS NULL
346 OR p_itm_rec.LAST_UPDATED_BY = FND_API.G_MISS_NUM) THEN
347 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_LAST_UPDATE');
348 FND_MSG_pub.ADD;
349 RAISE FND_API.g_exc_unexpected_error;
350 END IF;
351 /***************************************************************************
352 ** Validate timezone_id against hz_timezones
356 IF NOT JTF_CAL_UTILITY_PVT.isValidTimezone (p_itm_rec.TIMEZONE_ID) THEN
353 ***************************************************************************/
354 IF (p_itm_rec.TIMEZONE_ID IS NOT NULL
355 AND p_itm_rec.TIMEZONE_ID <> FND_API.G_MISS_NUM) THEN
357 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_TIMEZONE');
358 FND_MESSAGE.set_token('TIMEZONE', p_itm_rec.TIMEZONE_ID);
359 FND_MSG_pub.ADD;
360 RAISE FND_API.g_exc_unexpected_error;
361 END IF;
362 END IF;
363 /***************************************************************************
364 ** Validate source_code against jtf_objects metadata
365 ***************************************************************************/
366 IF (p_itm_rec.SOURCE_CODE IS NOT NULL
367 AND p_itm_rec.SOURCE_CODE <> FND_API.G_MISS_CHAR) THEN
368 IF NOT JTF_CAL_UTILITY_PVT.isValidObjectCode (p_itm_rec.SOURCE_CODE) THEN
369 FND_MESSAGE.set_name('JTF', 'JTF_CAL_INVALID_SOURCE_CODE');
370 FND_MESSAGE.set_token('CODE', p_itm_rec.SOURCE_CODE);
371 FND_MSG_pub.ADD;
372 RAISE FND_API.g_exc_unexpected_error;
373 END IF;
374 END IF;
375
376 IF (p_itm_rec.LAST_UPDATE_DATE IS NULL
377 OR p_itm_rec.LAST_UPDATE_DATE = FND_API.G_MISS_DATE) THEN
378 l_last_update_date := sysdate;
379 ELSE
380 l_last_update_date := p_itm_rec.LAST_UPDATE_DATE;
381 END IF;
382
383
384 l_pvt.CAL_ITEM_ID := p_itm_rec.CAL_ITEM_ID;
385 l_pvt.RESOURCE_ID := p_itm_rec.CAL_RESOURCE_ID;
386 l_pvt.RESOURCE_TYPE := p_itm_rec.CAL_RESOURCE_TYPE;
387 --dummy values to avoid database no null constraint
388 l_pvt.ITEM_TYPE := 'JTF_CAL_DISPLAY_TYPES';
389 l_pvt.ITEM_TYPE_CODE := 'JTF_CAL_DISPLAY_TYPES';
390 l_pvt.ITEM_NAME := p_itm_rec.ITEM_NAME;
391 l_pvt.ITEM_DESCRIPTION := p_itm_rec.ITEM_DESCRIPTION;
392 l_pvt.SOURCE_CODE := p_itm_rec.SOURCE_CODE;
393 l_pvt.SOURCE_ID := p_itm_rec.SOURCE_ID;
394 l_pvt.START_DATE := p_itm_rec.START_DATE;
395 l_pvt.END_DATE := p_itm_rec.END_DATE;
396 l_pvt.TIMEZONE_ID := p_itm_rec.TIMEZONE_ID;
397 l_pvt.URL := p_itm_rec.URL;
398 l_pvt.CREATED_BY := p_itm_rec.CREATED_BY;
399 l_pvt.LAST_UPDATED_BY := p_itm_rec.LAST_UPDATED_BY;
400 l_pvt.LAST_UPDATE_DATE := l_last_update_date;
401 l_pvt.LAST_UPDATE_LOGIN := p_itm_rec.LAST_UPDATE_LOGIN;
402 l_pvt.OBJECT_VERSION_NUMBER := p_itm_rec.OBJECT_VERSION_NUMBER;
403 l_pvt.APPLICATION_ID := p_itm_rec.APPLICATION_ID;
404
405 /***************************************************************************
406 ** Call private API to do update
407 ***************************************************************************/
408
409 JTF_CAL_ITEMS_PVT.Update_Row
410 ( p_api_version => 1.0
411 , p_init_msg_list => p_init_msg_list
412 , p_commit => FND_API.g_false
413 , p_validation_level => FND_API.g_valid_level_full
414 , x_return_status => x_return_status
415 , x_msg_count => x_msg_count
416 , x_msg_data => x_msg_data
417 , p_itm_rec => l_pvt
418 , x_object_version_number => x_object_version_number
419 );
420 /***************************************************************************
421 ** Standard check of p_commit
422 ***************************************************************************/
423 IF FND_API.To_Boolean(p_commit)
424 THEN
425 COMMIT WORK;
426 END IF;
427 /***************************************************************************
428 ** Standard call to get message count and if count is 1, get message info
429 ***************************************************************************/
430 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
431 , p_data => x_msg_data
432 );
433 EXCEPTION
434 WHEN FND_API.G_EXC_ERROR
435 THEN
436 ROLLBACK TO update_item_pub;
437 x_return_status := FND_API.G_RET_STS_ERROR;
438 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
439 , p_data => x_msg_data
440 );
441 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
442 THEN
443 ROLLBACK TO update_item_pub;
444 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
445 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
446 , p_data => x_msg_data
447 );
448 WHEN OTHERS
449 THEN
450 ROLLBACK TO update_item_pub;
451 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
452 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
453 THEN
454 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME
455 , l_api_name
456 );
457 END IF;
458 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
459 , p_data => x_msg_data
460 );
461
462 END UpdateItem;
463
464 --------------------------------------------------------------------------
465 -- Start of comments
466 -- API Name : DeleteItem
467 -- Type : Public
468 -- Description : Delete a Calendar Item from the JTF_CAL_ITEMS_B and
472 -- name direction type required?
469 -- JTF_CAL_ITEMS_TL table
470 -- Pre-reqs : None
471 -- Parameters :
473 -- ---- --------- ---- ---------
474 -- p_api_version IN NUMBER required
475 -- p_init_msg_list IN VARCHAR2 optional
476 -- p_commit IN VARCHAR2 optional
477 -- p_validation_level IN NUMBER optional
478 -- x_return_status OUT VARCHAR2 required
479 -- x_msg_count OUT NUMBER required
480 -- x_msg_data OUT VARCHAR2 required
481 -- p_cal_item_id IN NUMBER required
482 -- p_object_version_number IN NUMBER required
483 --
484 -- Version : Current version 1.0
485 -- Previous version 1.0
486 -- Initial version 1.0
487 --
488 -- Notes: An item can only be deleted if the object_version_number
489 -- is an exact match.
490 --
491 -- End of comments
492 --------------------------------------------------------------------------
493 PROCEDURE DeleteItem
494 ( p_api_version IN NUMBER
495 , p_init_msg_list IN VARCHAR2
496 , p_commit IN VARCHAR2
497 , p_validation_level IN NUMBER
498 , x_return_status OUT NOCOPY VARCHAR2
499 , x_msg_count OUT NOCOPY NUMBER
500 , x_msg_data OUT NOCOPY VARCHAR2
501 , p_cal_item_id IN NUMBER
502 , p_object_version_number IN NUMBER
503 )
504 IS
505 l_api_name CONSTANT VARCHAR2(30) := 'DeleteItem';
506 l_api_version CONSTANT NUMBER := 1.0;
507 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
508
509 BEGIN
510 /***************************************************************************
511 ** Standard start of API savepoint
512 ***************************************************************************/
513 SAVEPOINT delete_item_pub;
514 /***************************************************************************
515 ** Standard call to check for call compatibility
516 ***************************************************************************/
517 IF NOT FND_API.Compatible_API_Call( l_api_version
518 , p_api_version
519 , l_api_name
520 , G_PKG_NAME
521 )
522 THEN
523 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524 END IF;
525 /***************************************************************************
526 ** Initialize message list if p_init_msg_list is set to TRUE
527 ***************************************************************************/
528 IF FND_API.To_Boolean(p_init_msg_list)
529 THEN
530 FND_MSG_PUB.Initialize;
531 END IF;
532 /***************************************************************************
533 ** Initialize API return status to success
534 ***************************************************************************/
535 x_return_status := FND_API.G_RET_STS_SUCCESS;
536 /***************************************************************************
537 ** Call private API to do update
541 ( p_api_version => 1.0
538 ***************************************************************************/
539
540 JTF_CAL_ITEMS_PVT.Delete_Row
542 , p_init_msg_list => p_init_msg_list
543 , p_commit => FND_API.g_false
544 , p_validation_level => FND_API.g_valid_level_full
545 , x_return_status => x_return_status
546 , x_msg_count => x_msg_count
547 , x_msg_data => x_msg_data
548 , p_cal_item_id => p_cal_item_id
549 , p_object_version_number => p_object_version_number
550 );
551 /***************************************************************************
552 ** Standard check of p_commit
553 ***************************************************************************/
554 IF FND_API.To_Boolean(p_commit)
555 THEN
556 COMMIT WORK;
557 END IF;
558 /***************************************************************************
559 ** Standard call to get message count and if count is 1, get message info
560 ***************************************************************************/
561 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
562 , p_data => x_msg_data
563 );
564 EXCEPTION
565 WHEN FND_API.G_EXC_ERROR
566 THEN
567 ROLLBACK TO delete_item_pub;
568 x_return_status := FND_API.G_RET_STS_ERROR;
569 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
570 , p_data => x_msg_data
571 );
572 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
573 THEN
574 ROLLBACK TO delete_item_pub;
575 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
576 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
577 , p_data => x_msg_data
578 );
579 WHEN OTHERS
580 THEN
581 ROLLBACK TO delete_item_pub;
582 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
583 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
584 THEN
585 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME
586 , l_api_name
587 );
588 END IF;
589 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
590 , p_data => x_msg_data
591 );
592
593 END DeleteItem;
594
595 --------------------------------------------------------------------------
596 -- Start of comments
597 -- API name : GetObjectVersion
598 -- Type : Public
599 -- Function : Returns the current object version number for the given
600 -- Calendar Item.
601 -- Pre-reqs : None.
602 -- Parameters :
603 -- name direction type required?
604 -- ---- --------- ---- ---------
605 -- p_api_version IN NUMBER required
606 -- p_init_msg_list IN VARCHAR2 optional
607 -- p_commit IN VARCHAR2 optional
608 -- p_validation_level IN NUMBER optional
609 -- x_return_status OUT VARCHAR2 required
610 -- x_msg_count OUT NUMBER required
611 -- x_msg_data OUT VARCHAR2 required
612 -- p_Calendar_Item IN NUMBER required
613 -- x_object_version_number OUT NUMBER required
614 --
615 -- Version : Current version 1.0
616 -- Previous version 1.0
617 -- Initial version 1.0
618 --
619 -- Notes:
620 --
621 -- End of comments
622 --------------------------------------------------------------------------
623 PROCEDURE GetObjectVersion
624 ( p_api_version IN NUMBER
625 , p_init_msg_list IN VARCHAR2
626 , p_validation_level IN NUMBER
627 , x_return_status OUT NOCOPY VARCHAR2
628 , x_msg_count OUT NOCOPY NUMBER
629 , x_msg_data OUT NOCOPY VARCHAR2
630 , p_cal_item_id IN NUMBER
631 , x_object_version_number OUT NOCOPY NUMBER
632 )
633 IS
634 l_api_name CONSTANT VARCHAR2(30) := 'GetObjectVersion';
635 l_api_version CONSTANT NUMBER := 1.0;
636 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
637 l_object_version_number NUMBER;
638
639 BEGIN
640 /***************************************************************************
641 ** Standard call to check for call compatibility
642 ***************************************************************************/
643 IF NOT FND_API.Compatible_API_Call( l_api_version
644 , p_api_version
645 , l_api_name
646 , G_PKG_NAME
647 )
648 THEN
649 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
650 END IF;
651 /***************************************************************************
652 ** Initialize message list if p_init_msg_list is set to TRUE
653 ***************************************************************************/
654 IF FND_API.To_Boolean(p_init_msg_list)
655 THEN
656 FND_MSG_PUB.Initialize;
657 END IF;
658 /***************************************************************************
659 ** Initialize API return status to success
660 ***************************************************************************/
661 x_return_status := FND_API.G_RET_STS_SUCCESS;
662 /***************************************************************************
663 ** Call private API
664 ***************************************************************************/
665 JTF_CAL_ITEMS_PVT.get_object_version
666 ( p_api_version => 1.0
667 , p_init_msg_list => p_init_msg_list
668 , p_validation_level => FND_API.g_valid_level_full
669 , x_return_status => x_return_status
670 , x_msg_count => x_msg_count
671 , x_msg_data => x_msg_data
672 , p_cal_item_id => p_cal_item_id
673 , x_object_version_number => l_object_version_number
674 );
675 x_object_version_number := l_object_version_number;
676 /***************************************************************************
677 ** Standard call to get message count and if count is 1, get message info
678 ***************************************************************************/
679 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
680 , p_data => x_msg_data
681 );
682 EXCEPTION
683 WHEN FND_API.G_EXC_ERROR
684 THEN
685 x_return_status := FND_API.G_RET_STS_ERROR;
686 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
687 , p_data => x_msg_data
688 );
689 WHEN FND_API.G_EXC_UNEXPECTED_ERROR
690 THEN
691 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
692 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
693 , p_data => x_msg_data
694 );
695 WHEN OTHERS
696 THEN
697 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
699 THEN
700 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME
701 , l_api_name
702 );
703 END IF;
704 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
705 , p_data => x_msg_data
706 );
707
708 END GetObjectVersion;
709
710 END JTF_CAL_ITEMS_PUB;