DBA Data[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');
351    /***************************************************************************
348     FND_MSG_pub.ADD;
349     RAISE FND_API.g_exc_unexpected_error;
350    END IF;
352   ** Validate timezone_id against hz_timezones
353   ***************************************************************************/
354    IF (p_itm_rec.TIMEZONE_ID IS NOT NULL
355     AND  p_itm_rec.TIMEZONE_ID <> FND_API.G_MISS_NUM) THEN
356     IF NOT JTF_CAL_UTILITY_PVT.isValidTimezone (p_itm_rec.TIMEZONE_ID) 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
469 --                JTF_CAL_ITEMS_TL table
470 --  Pre-reqs    : None
471 --  Parameters  :
472 --      name                    direction  type     required?
473 --      ----                    ---------  ----     ---------
474 --      p_api_version           IN         NUMBER   required
478 --      x_return_status            OUT     VARCHAR2 required
475 --      p_init_msg_list         IN         VARCHAR2 optional
476 --      p_commit                IN         VARCHAR2 optional
477 --      p_validation_level      IN         NUMBER   optional
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
538   ***************************************************************************/
539 
540   JTF_CAL_ITEMS_PVT.Delete_Row
541   ( p_api_version           => 1.0
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?
607 --      p_commit                IN         VARCHAR2   optional
604 --      ----                    ---------  ----       ---------
605 --      p_api_version           IN         NUMBER     required
606 --      p_init_msg_list         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;