DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_DELIVKITITEM_PUB

Source


1 PACKAGE BODY AMS_DelivKitItem_PUB as
2 /* $Header: amspkitb.pls 115.2 2002/11/14 00:21:17 musman noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --         AMS_DelivKitItem_PUB
7 -- Purpose
8 --
9 -- History
10 --  27-sep-2002  ABHOLA Created
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15 
16 
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_DelivKitItem_PUB';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amspkitb.pls';
19 
20 
21 PROCEDURE Create_DelivKitItem(
22 
23    p_api_version_number      IN  NUMBER,
24    p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
25    p_commit            IN  VARCHAR2  := FND_API.g_false,
26    p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full,
27 
28    x_return_status     OUT NOCOPY VARCHAR2,
29    x_msg_count         OUT NOCOPY NUMBER,
30    x_msg_data          OUT NOCOPY VARCHAR2,
31 
32    p_Deliv_Kit_Item_rec          IN  AMS_DelivKitItem_PVT.deliv_kit_item_rec_type,
33    x_deliv_kit_item_id           OUT NOCOPY NUMBER
34 
35      )
36 
37 
38 
39  IS
40 
41 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Create_DelivKitItem';
42 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
43 l_return_status  VARCHAR2(1);
44 l_pvt_DelivKitItem_rec    AMS_DelivKitItem_PVT.deliv_kit_item_rec_type  := p_Deliv_Kit_Item_rec;
45 
46 BEGIN
47 
48       SAVEPOINT CREATE_DelivKitItem_PUB;
49 
50        -- Standard call to check for call compatibility.
51        IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
52                                             p_api_version_number,
53                                             l_api_name,
54                                             G_PKG_NAME)
55        THEN
56            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57        END IF;
58 
59        -- Initialize message list if p_init_msg_list is set to TRUE.
60        IF FND_API.to_Boolean( p_init_msg_list )
61        THEN
62           FND_MSG_PUB.initialize;
63        END IF;
64 
65        -- Debug Message
66        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
67 
68 
69        -- Initialize API return status to SUCCESS
70        x_return_status := FND_API.G_RET_STS_SUCCESS;
71 
72        --
73        -- API body
74        --
75      -- Calling Private package: Create_DelivKitItem
76      -- Hint: Primary key needs to be returned
77 
78   -- customer pre-processing
79    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
80    THEN
81       AMS_DelivKitItem_CUHK.create_DelivKitItem_pre(
82          l_pvt_DelivKitItem_rec,
83          l_return_status
84       );
85 
86       IF l_return_status = FND_API.g_ret_sts_error THEN
87          RAISE FND_API.g_exc_error;
88       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
89          RAISE FND_API.g_exc_unexpected_error;
90       END IF;
91    END IF;
92 
93    -- vertical industry pre-processing
94    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
95    THEN
96       AMS_DelivKitItem_VUHK.create_DelivKitItem_pre(
97          l_pvt_DelivKitItem_rec,
98          l_return_status
99       );
100 
101       IF l_return_status = FND_API.g_ret_sts_error THEN
102          RAISE FND_API.g_exc_error;
103       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
104          RAISE FND_API.g_exc_unexpected_error;
105       END IF;
106    END IF;
107    -------------------------------------------------------
108        AMS_DelivKitItem_PVT.Create_Deliv_Kit_Item(
109 	      p_api_version                => 1.0,
110 	      p_init_msg_list              => FND_API.G_FALSE,
111 	      p_commit                     => FND_API.G_FALSE,
112 	      p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
113 	      x_return_status              => x_return_status,
114 	      x_msg_count                  => x_msg_count,
115 	      x_msg_data                   => x_msg_data,
116 	      p_Deliv_Kit_Item_rec         => l_pvt_DelivKitItem_rec,
117 	      x_Deliv_kit_item_id                   => x_Deliv_kit_item_id);
118 
119 
120        -- Check return status from the above procedure call
121        IF x_return_status = FND_API.G_RET_STS_ERROR then
122            RAISE FND_API.G_EXC_ERROR;
123        elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
124            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125        END IF;
126        --
127        -- End of API body.
128        --
129 
130 	   -- customer pre-processing
131    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
132    THEN
133       AMS_DelivKitItem_CUHK.create_DelivKitItem_post(
134          l_pvt_DelivKitItem_rec,
135 	     x_Deliv_kit_item_id,
136          l_return_status
137       );
138 
139       IF l_return_status = FND_API.g_ret_sts_error THEN
140          RAISE FND_API.g_exc_error;
141       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
142          RAISE FND_API.g_exc_unexpected_error;
143       END IF;
144    END IF;
145 
146 
147 
148    -- vertical industry pre-processing
149    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
150    THEN
151       AMS_DelivKitItem_VUHK.create_DelivKitItem_post(
152          l_pvt_DelivKitItem_rec,
153 	 x_Deliv_kit_item_id,
154          l_return_status
155       );
156 
157       IF l_return_status = FND_API.g_ret_sts_error THEN
158          RAISE FND_API.g_exc_error;
159       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
160          RAISE FND_API.g_exc_unexpected_error;
161       END IF;
162    END IF;
163    ------------------------------------------
164 
165        -- Standard check for p_commit
166        IF FND_API.to_Boolean( p_commit )
167        THEN
168           COMMIT WORK;
169        END IF;
170 
171 
172        -- Debug Message
173        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
174 
175        -- Standard call to get message count and if count is 1, get message info.
176        FND_MSG_PUB.Count_And_Get
177          (p_count          =>   x_msg_count,
178           p_data           =>   x_msg_data
179        );
180 
181 EXCEPTION
182 
183    WHEN AMS_Utility_PVT.resource_locked THEN
184      x_return_status := FND_API.g_ret_sts_error;
185      IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
186         FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
187         FND_MSG_PUB.add;
188      END IF;
189 
190    WHEN FND_API.G_EXC_ERROR THEN
191      ROLLBACK TO CREATE_DelivKitItem_PUB;
192      x_return_status := FND_API.G_RET_STS_ERROR;
193      -- Standard call to get message count and if count=1, get the message
194      FND_MSG_PUB.Count_And_Get (
195             p_encoded => FND_API.G_FALSE,
196             p_count   => x_msg_count,
197             p_data    => x_msg_data
198      );
199 
200    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
201      ROLLBACK TO CREATE_DelivKitItem_PUB;
202      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203      -- Standard call to get message count and if count=1, get the message
204      FND_MSG_PUB.Count_And_Get (
205             p_encoded => FND_API.G_FALSE,
206             p_count => x_msg_count,
207             p_data  => x_msg_data
208      );
209 
210    WHEN OTHERS THEN
211      ROLLBACK TO CREATE_DelivKitItem_PUB;
212      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
214      THEN
215         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
216      END IF;
217      -- Standard call to get message count and if count=1, get the message
218      FND_MSG_PUB.Count_And_Get (
219             p_encoded => FND_API.G_FALSE,
220             p_count => x_msg_count,
221             p_data  => x_msg_data
222      );
223 End Create_DelivKitItem;
224 
225 
226 PROCEDURE Update_DelivKitItem(
227     p_api_version_number         IN   NUMBER,
228     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
229     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
230     p_validation_level           IN  NUMBER    := FND_API.g_valid_level_full,
231     x_return_status              OUT NOCOPY  VARCHAR2,
232     x_msg_count                  OUT NOCOPY  NUMBER,
233     x_msg_data                   OUT NOCOPY  VARCHAR2,
234     p_Deliv_Kit_Item_rec                  IN  AMS_DelivKitItem_PVT.deliv_kit_item_rec_type
235     )
236 
237  IS
238 
239 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Update_DelivKitItem';
240 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
241 l_object_version_number  NUMBER;
242 l_return_status  VARCHAR2(1);
243 l_pvt_DelivKitItem_rec  AMS_DelivKitItem_PVT.deliv_kit_item_rec_type := p_Deliv_Kit_Item_rec;
244 
245 BEGIN
246 
247        -- Standard Start of API savepoint
248        SAVEPOINT UPDATE_DelivKitItem_PUB;
249 
250        -- Standard call to check for call compatibility.
251        IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
252                                             p_api_version_number,
253                                             l_api_name,
254                                             G_PKG_NAME)
255        THEN
256            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
257        END IF;
258 
259        -- Initialize message list if p_init_msg_list is set to TRUE.
260        IF FND_API.to_Boolean( p_init_msg_list )
261        THEN
262           FND_MSG_PUB.initialize;
263        END IF;
264 
265        -- Debug Message
266        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
267 
268 
269        -- Initialize API return status to SUCCESS
270        x_return_status := FND_API.G_RET_STS_SUCCESS;
271 
272   -- customer pre-processing
273    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
274    THEN
275       AMS_DelivKitItem_CUHK.update_DelivKitItem_pre(
276          l_pvt_DelivKitItem_rec,
277          l_return_status
278       );
279 
280       IF l_return_status = FND_API.g_ret_sts_error THEN
281          RAISE FND_API.g_exc_error;
282       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
283          RAISE FND_API.g_exc_unexpected_error;
284       END IF;
285    END IF;
286 
287    -- vertical industry pre-processing
288    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
289    THEN
290       AMS_DelivKitItem_VUHK.update_DelivKitItem_pre(
291          l_pvt_DelivKitItem_rec,
292          l_return_status
293       );
294 
295       IF l_return_status = FND_API.g_ret_sts_error THEN
296          RAISE FND_API.g_exc_error;
297       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
298          RAISE FND_API.g_exc_unexpected_error;
299       END IF;
300    END IF;
301    -------------------------------------------------------
302        --
303        -- API body
304        --
305    AMS_DelivKitItem_PVT.Update_Deliv_Kit_Item(
306      p_api_version         => 1.0,
307      p_init_msg_list              => FND_API.G_FALSE,
308      p_commit                     => p_commit,
309      p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
310      x_return_status              => x_return_status,
311      x_msg_count                  => x_msg_count,
312      x_msg_data                   => x_msg_data,
313      p_Deliv_Kit_Item_rec                  =>  l_pvt_DelivKitItem_rec);
314 
315 
316        -- Check return status from the above procedure call
317        IF x_return_status = FND_API.G_RET_STS_ERROR then
318            RAISE FND_API.G_EXC_ERROR;
319        elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
320            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
321        END IF;
322        --
323        -- End of API body
324        --
325        -- Standard check for p_commit
326        IF FND_API.to_Boolean( p_commit )
327        THEN
328           COMMIT WORK;
329        END IF;
330 
331    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
332    THEN
333       AMS_DelivKitItem_CUHK.update_DelivKitItem_post(
334          l_pvt_DelivKitItem_rec,
335          l_return_status
336       );
337 
338       IF l_return_status = FND_API.g_ret_sts_error THEN
339          RAISE FND_API.g_exc_error;
340       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
341          RAISE FND_API.g_exc_unexpected_error;
342       END IF;
343    END IF;
344 
345    -- vertical industry pre-processing
346    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
347    THEN
348       AMS_DelivKitItem_VUHK.update_DelivKitItem_post(
349          l_pvt_DelivKitItem_rec,
350          l_return_status
351       );
352 
353       IF l_return_status = FND_API.g_ret_sts_error THEN
354          RAISE FND_API.g_exc_error;
355       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
356          RAISE FND_API.g_exc_unexpected_error;
357       END IF;
358    END IF;
359    -------------------------------------------------------
360        -- Debug Message
361        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
362 
363        -- Standard call to get message count and if count is 1, get message info.
364        FND_MSG_PUB.Count_And_Get
365          (p_count          =>   x_msg_count,
366           p_data           =>   x_msg_data
367        );
368  EXCEPTION
369 
370     WHEN AMS_Utility_PVT.resource_locked THEN
371       x_return_status := FND_API.g_ret_sts_error;
372   AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
373 
374     WHEN FND_API.G_EXC_ERROR THEN
378       FND_MSG_PUB.Count_And_Get (
375       ROLLBACK TO UPDATE_DelivKitItem_PUB;
376       x_return_status := FND_API.G_RET_STS_ERROR;
377       -- Standard call to get message count and if count=1, get the message
379              p_encoded => FND_API.G_FALSE,
380              p_count   => x_msg_count,
381              p_data    => x_msg_data
382       );
383 
384     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385       ROLLBACK TO UPDATE_DelivKitItem_PUB;
386       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387       -- Standard call to get message count and if count=1, get the message
388       FND_MSG_PUB.Count_And_Get (
389              p_encoded => FND_API.G_FALSE,
390              p_count => x_msg_count,
391              p_data  => x_msg_data
392       );
393 
394     WHEN OTHERS THEN
395       ROLLBACK TO UPDATE_DelivKitItem_PUB;
396       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
397       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
398       THEN
399          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
400       END IF;
401       -- Standard call to get message count and if count=1, get the message
402       FND_MSG_PUB.Count_And_Get (
403              p_encoded => FND_API.G_FALSE,
404              p_count => x_msg_count,
405              p_data  => x_msg_data
406       );
407 
408 End Update_DelivKitItem;
409 
410 
411 PROCEDURE Delete_DelivKitItem(
412     p_api_version_number         IN   NUMBER,
413     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
414     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
415 	p_validation_level           IN  NUMBER    := FND_API.g_valid_level_full,
416     x_return_status              OUT NOCOPY  VARCHAR2,
417     x_msg_count                  OUT NOCOPY  NUMBER,
418     x_msg_data                   OUT NOCOPY  VARCHAR2,
419     p_deliv_kit_item_id                   IN   NUMBER,
420     p_object_version_number      IN   NUMBER
421     )
422 
423 
424 
425  IS
426 
427  L_API_NAME                  CONSTANT VARCHAR2(30) := 'Delete_DelivKitItem';
428  L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
429  l_deliv_kit_item_id  NUMBER := p_deliv_kit_item_id;
430  l_object_version_number  NUMBER := p_object_version_number;
431  l_return_status          VARCHAR2(1);
432 
433 
434   BEGIN
435        -- Standard Start of API savepoint
436        SAVEPOINT DELETE_DelivKitItem_PUB;
437 
438        -- Standard call to check for call compatibility.
439        IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
440                                             p_api_version_number,
441                                             l_api_name,
442                                             G_PKG_NAME)
443        THEN
444            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
445        END IF;
446 
447        -- Initialize message list if p_init_msg_list is set to TRUE.
448        IF FND_API.to_Boolean( p_init_msg_list )
449        THEN
450           FND_MSG_PUB.initialize;
451        END IF;
452 
453        -- Debug Message
454        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
455 
456 
457        -- Initialize API return status to SUCCESS
458        x_return_status := FND_API.G_RET_STS_SUCCESS;
459 
460     -- customer pre-processing
461    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
462    THEN
463       AMS_DelivKitItem_CUHK.delete_DelivKitItem_pre(
464          l_deliv_kit_item_id,
465 		 l_object_version_number,
466          l_return_status
467       );
468 
469       IF l_return_status = FND_API.g_ret_sts_error THEN
470          RAISE FND_API.g_exc_error;
471       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
472          RAISE FND_API.g_exc_unexpected_error;
473       END IF;
474    END IF;
475 
476    -- vertical industry pre-processing
477    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
478    THEN
479       AMS_DelivKitItem_VUHK.delete_DelivKitItem_pre(
480          l_deliv_kit_item_id,
481 		 l_object_version_number,
482          l_return_status
483       );
484 
485       IF l_return_status = FND_API.g_ret_sts_error THEN
486          RAISE FND_API.g_exc_error;
487       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
488          RAISE FND_API.g_exc_unexpected_error;
489       END IF;
490    END IF;
491    -------------------------------------------------------
492 
493        --
494        -- API body
495        --
496      AMS_DelivKitItem_PVT.Delete_Deliv_Kit_Item(
497      p_api_version                => 1.0,
498      p_init_msg_list              => FND_API.G_FALSE,
499      p_commit                     => p_commit,
500      x_return_status              => x_return_status,
501      x_msg_count                  => x_msg_count,
502      x_msg_data                   => x_msg_data,
503      p_deliv_kit_item_id          => l_deliv_kit_item_id,
504      p_object_version             => l_object_version_number );
505 
506 
507 
508        -- Check return status from the above procedure call
509        IF x_return_status = FND_API.G_RET_STS_ERROR then
510            RAISE FND_API.G_EXC_ERROR;
511        elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
512            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
513        END IF;
514        --
515        -- End of API body
516        --
517 
518    -- customer pre-processing
519    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
520    THEN
521       AMS_DelivKitItem_CUHK.delete_DelivKitItem_post(
522          l_deliv_kit_item_id,
523 		 l_object_version_number,
527       IF l_return_status = FND_API.g_ret_sts_error THEN
524          l_return_status
525       );
526 
528          RAISE FND_API.g_exc_error;
529       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
530          RAISE FND_API.g_exc_unexpected_error;
531       END IF;
532    END IF;
533 
534    -- vertical industry pre-processing
535    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
536    THEN
537       AMS_DelivKitItem_VUHK.delete_DelivKitItem_post(
538          l_deliv_kit_item_id,
539 	 l_object_version_number,
540          l_return_status
541       );
542 
543       IF l_return_status = FND_API.g_ret_sts_error THEN
544          RAISE FND_API.g_exc_error;
545       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
546          RAISE FND_API.g_exc_unexpected_error;
547       END IF;
548    END IF;
549    -------------------------------------------------------
550 
551 
552        -- Standard check for p_commit
553        IF FND_API.to_Boolean( p_commit )
554        THEN
555           COMMIT WORK;
556        END IF;
557 
558 
559        -- Debug Message
560        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
561 
562        -- Standard call to get message count and if count is 1, get message info.
563        FND_MSG_PUB.Count_And_Get
564          (p_count          =>   x_msg_count,
565           p_data           =>   x_msg_data
566        );
567  EXCEPTION
568 
569     WHEN AMS_Utility_PVT.resource_locked THEN
570       x_return_status := FND_API.g_ret_sts_error;
571       AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
572 
573     WHEN FND_API.G_EXC_ERROR THEN
574       ROLLBACK TO DELETE_DelivKitItem_PUB;
575       x_return_status := FND_API.G_RET_STS_ERROR;
576       -- Standard call to get message count and if count=1, get the message
577       FND_MSG_PUB.Count_And_Get (
578              p_encoded => FND_API.G_FALSE,
579              p_count   => x_msg_count,
580              p_data    => x_msg_data
581       );
582 
583     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
584       ROLLBACK TO DELETE_DelivKitItem_PUB;
585       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
586       -- Standard call to get message count and if count=1, get the message
587       FND_MSG_PUB.Count_And_Get (
588              p_encoded => FND_API.G_FALSE,
589              p_count => x_msg_count,
590              p_data  => x_msg_data
591       );
592 
593     WHEN OTHERS THEN
594       ROLLBACK TO DELETE_DelivKitItem_PUB;
595       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
596       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
597       THEN
598          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
599       END IF;
600       -- Standard call to get message count and if count=1, get the message
601       FND_MSG_PUB.Count_And_Get (
602              p_encoded => FND_API.G_FALSE,
603              p_count => x_msg_count,
604              p_data  => x_msg_data
605       );
606  End Delete_DelivKitItem;
607 
608 
609 
610 
611 PROCEDURE Validate_DelivKitItem(
612    p_api_version_number       IN  NUMBER,
613    p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
614    p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full,
615    x_return_status     OUT NOCOPY VARCHAR2,
616    x_msg_count         OUT NOCOPY NUMBER,
617    x_msg_data          OUT NOCOPY VARCHAR2,
618    p_Deliv_Kit_Item_rec         IN  AMS_DelivKitItem_PVT.deliv_kit_item_rec_type
619 )
620 
621 
622 IS
623 
624    l_api_name       CONSTANT VARCHAR2(30) := 'Validate_DelivKitItem';
625    l_return_status  VARCHAR2(1);
626    l_pvt_DelivKitItem_rec  AMS_DelivKitItem_PVT.deliv_kit_item_rec_type := p_Deliv_Kit_Item_rec;
627 
628 
629 BEGIN
630 
631    SAVEPOINT validate_DelivKitItem_pub;
632 
633    -- initialize the message list;
634    -- won't do it again when calling private API
635    IF FND_API.to_boolean(p_init_msg_list) THEN
636       FND_MSG_PUB.initialize;
637    END IF;
638 
639      -- customer pre-processing
640    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
641    THEN
642       AMS_DelivKitItem_CUHK.validate_DelivKitItem_pre(
643          l_pvt_DelivKitItem_rec,
644          l_return_status
645       );
646 
647       IF l_return_status = FND_API.g_ret_sts_error THEN
648          RAISE FND_API.g_exc_error;
649       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
650          RAISE FND_API.g_exc_unexpected_error;
651       END IF;
652    END IF;
653 
654    -- vertical industry pre-processing
655    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
656    THEN
657       AMS_DelivKitItem_VUHK.validate_DelivKitItem_pre(
658          l_pvt_DelivKitItem_rec,
659          l_return_status
660       );
661 
662       IF l_return_status = FND_API.g_ret_sts_error THEN
663          RAISE FND_API.g_exc_error;
664       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
665          RAISE FND_API.g_exc_unexpected_error;
666       END IF;
667    END IF;
668 
669    -- call business API
670 
671    AMS_DelivKitItem_PVT.Validate_Deliv_Kit_Item(
672       p_api_version    => p_api_version_number,
673       p_init_msg_list         => p_init_msg_list, --has done before
674       p_validation_level      => p_validation_level,
675       p_Deliv_Kit_Item_rec             => l_pvt_DelivKitItem_rec,
676       x_return_status         => l_return_status,
680 
677       x_msg_count             => x_msg_count,
678       x_msg_data              => x_msg_data
679         );
681 
682    IF l_return_status = FND_API.g_ret_sts_error THEN
683       RAISE FND_API.g_exc_error;
684    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
685       RAISE FND_API.g_exc_unexpected_error;
686    END IF;
687 
688 
689 
690 
691 
692    -- vertical industry post-processing
693    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
694    THEN
695       AMS_DelivKitItem_VUHK.validate_DelivKitItem_post(
696          l_pvt_DelivKitItem_rec,
697          l_return_status
698       );
699 
700       IF l_return_status = FND_API.g_ret_sts_error THEN
701          RAISE FND_API.g_exc_error;
702       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
703          RAISE FND_API.g_exc_unexpected_error;
704       END IF;
705    END IF;
706 
707    -- customer post-processing
708    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
709    THEN
710       AMS_DelivKitItem_CUHK.validate_DelivKitItem_post(
711          l_pvt_DelivKitItem_rec,
712          l_return_status
713       );
714 
715       IF l_return_status = FND_API.g_ret_sts_error THEN
716          RAISE FND_API.g_exc_error;
717       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
718          RAISE FND_API.g_exc_unexpected_error;
719       END IF;
720    END IF;
721 
722       -- Debug Message
723       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
724 
725       -- Standard call to get message count and if count is 1, get message info.
726       FND_MSG_PUB.Count_And_Get
727         (p_count          =>   x_msg_count,
728          p_data           =>   x_msg_data
729       );
730 
731 EXCEPTION
732 
733    WHEN FND_API.g_exc_error THEN
734       ROLLBACK TO validate_DelivKitItem_pub;
735       x_return_status := FND_API.g_ret_sts_error;
736       FND_MSG_PUB.count_and_get(
737             p_encoded => FND_API.g_false,
738             p_count   => x_msg_count,
739             p_data    => x_msg_data
740       );
741 
742    WHEN FND_API.g_exc_unexpected_error THEN
743       ROLLBACK TO validate_DelivKitItem_pub;
744       x_return_status := FND_API.g_ret_sts_unexp_error ;
745       FND_MSG_PUB.count_and_get(
746             p_encoded => FND_API.g_false,
747             p_count   => x_msg_count,
748             p_data    => x_msg_data
749       );
750 
751 
752    WHEN OTHERS THEN
753       ROLLBACK TO validate_DelivKitItem_pub;
754       x_return_status := FND_API.g_ret_sts_unexp_error ;
755 
756       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
757 		THEN
758          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
759       END IF;
760 
761       FND_MSG_PUB.count_and_get(
762             p_encoded => FND_API.g_false,
763             p_count   => x_msg_count,
764             p_data    => x_msg_data
765       );
766 
767 END Validate_DelivKitItem;
768 
769 
770 PROCEDURE Lock_DelivKitItem(
771      p_api_version_number         IN   NUMBER,
772      p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
773 
774      x_return_status              OUT NOCOPY  VARCHAR2,
775      x_msg_count                  OUT NOCOPY  NUMBER,
776      x_msg_data                   OUT NOCOPY  VARCHAR2,
777 
778      p_deliv_kit_item_id                   IN  NUMBER,
779      p_object_version_number             IN  NUMBER
780      )
781 
782   IS
783 
784  L_API_NAME                  CONSTANT VARCHAR2(30) := 'Lock_DelivKitItem';
785  L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
786 
787  l_deliv_kit_item_id      NUMBER := p_deliv_kit_item_id ;
788  l_object_version_number          NUMBER := p_object_version_number;
789  l_return_status    VARCHAR2(1);
790 
791   BEGIN
792 
793        -- Standard call to check for call compatibility.
794        IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
795                                             p_api_version_number,
796                                             l_api_name,
797                                             G_PKG_NAME)
798        THEN
799            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
800        END IF;
801 
802        -- Initialize message list if p_init_msg_list is set to TRUE.
803        IF FND_API.to_Boolean( p_init_msg_list )
804        THEN
805           FND_MSG_PUB.initialize;
806        END IF;
807 
808        -- Debug Message
809        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
810 
811 
812        -- Initialize API return status to SUCCESS
813        x_return_status := FND_API.G_RET_STS_SUCCESS;
814   --
815    -- customer pre-processing
816    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
817    THEN
818       AMS_DelivKitItem_CUHK.lock_DelivKitItem_pre(
819          l_deliv_kit_item_id,
820 		 l_object_version_number,
821          l_return_status
822       );
823 
824       IF l_return_status = FND_API.g_ret_sts_error THEN
825          RAISE FND_API.g_exc_error;
826       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
827          RAISE FND_API.g_exc_unexpected_error;
828       END IF;
829    END IF;
830 
831    -- vertical industry pre-processing
832    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
833    THEN
834       AMS_DelivKitItem_VUHK.lock_DelivKitItem_pre(
835          l_deliv_kit_item_id,
836 		 l_object_version_number,
837          l_return_status
838       );
842       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
839 
840       IF l_return_status = FND_API.g_ret_sts_error THEN
841          RAISE FND_API.g_exc_error;
843          RAISE FND_API.g_exc_unexpected_error;
844       END IF;
845    END IF;
846        --
847        -- API body
848        --
849      -- Calling Private package: Create_DelivKitItem
850      -- Hint: Primary key needs to be returned
851 
852       AMS_DelivKitItem_PVT.Lock_Deliv_Kit_Item(
853       p_api_version        => 1.0,
854       p_init_msg_list              => FND_API.G_FALSE,
855       x_return_status              => x_return_status,
856       x_msg_count                  => x_msg_count,
857       x_msg_data                   => x_msg_data,
858       p_deliv_kit_item_id     => l_deliv_kit_item_id,
859       p_object_version             => l_object_version_number);
860 
861 
862        -- Check return status from the above procedure call
863        IF x_return_status = FND_API.G_RET_STS_ERROR then
864            RAISE FND_API.G_EXC_ERROR;
865        elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
866            RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
867        END IF;
868        --
869        -- End of API body.
870        --
871 	    -- customer pre-processing
872    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
873    THEN
874       AMS_DelivKitItem_CUHK.lock_DelivKitItem_post(
875          l_deliv_kit_item_id,
876 		 l_object_version_number,
877          l_return_status
878       );
879 
880       IF l_return_status = FND_API.g_ret_sts_error THEN
881          RAISE FND_API.g_exc_error;
882       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
883          RAISE FND_API.g_exc_unexpected_error;
884       END IF;
885    END IF;
886 
887    -- vertical industry pre-processing
888    IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
889    THEN
890       AMS_DelivKitItem_VUHK.lock_DelivKitItem_post(
891          l_deliv_kit_item_id,
892 		 l_object_version_number,
893          l_return_status
894       );
895 
896       IF l_return_status = FND_API.g_ret_sts_error THEN
897          RAISE FND_API.g_exc_error;
898       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
899          RAISE FND_API.g_exc_unexpected_error;
900       END IF;
901    END IF;
902        --
903 
904        -- Debug Message
905        AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
906 
907  EXCEPTION
908 
909     WHEN AMS_Utility_PVT.resource_locked THEN
910       x_return_status := FND_API.g_ret_sts_error;
911   AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
912 
913     WHEN FND_API.G_EXC_ERROR THEN
914       ROLLBACK TO LOCK_DelivKitItem_PUB;
915       x_return_status := FND_API.G_RET_STS_ERROR;
916       -- Standard call to get message count and if count=1, get the message
917       FND_MSG_PUB.Count_And_Get (
918              p_encoded => FND_API.G_FALSE,
919              p_count   => x_msg_count,
920              p_data    => x_msg_data
921       );
922 
923     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
924       ROLLBACK TO LOCK_DelivKitItem_PUB;
925       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
926       -- Standard call to get message count and if count=1, get the message
927       FND_MSG_PUB.Count_And_Get (
928              p_encoded => FND_API.G_FALSE,
929              p_count => x_msg_count,
930              p_data  => x_msg_data
931       );
932 
933     WHEN OTHERS THEN
934       ROLLBACK TO LOCK_DelivKitItem_PUB;
935       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
936       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
937       THEN
938          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
939       END IF;
940       -- Standard call to get message count and if count=1, get the message
941       FND_MSG_PUB.Count_And_Get (
942              p_encoded => FND_API.G_FALSE,
943              p_count => x_msg_count,
944              p_data  => x_msg_data
945       );
946  End Lock_DelivKitItem;
947 
948 
949 END AMS_DelivKitItem_PUB;