DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_CC_RESERVATIONS_PVT

Source


1 PACKAGE BODY INV_CC_RESERVATIONS_PVT AS
2 /* $Header: INVDRSVB.pls 120.1 2005/06/19 21:51:22 appldev  $ */
3 /* This function can be used at client level to define Reservation REC Type */
4 FUNCTION Define_Reserv_Rec_Type RETURN INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE
5 IS
6       l_reserve_rec INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE;
7 BEGIN
8     RETURN l_reserve_rec;
9 EXCEPTION
10 when others
11  then null;
12 END;
13 
14 --Added NOCOPY hint to x_error_code,x_return_status,x_msg_count,x_msg_data OUT
15 --parameters to comply with GSCC File.Sql.39 standard. Bug:4410902
16 PROCEDURE Delete_All_Reservation
17 (
18    p_api_version_number      IN         NUMBER
19 ,  p_init_msg_lst            IN         VARCHAR2 DEFAULT fnd_api.g_false
20 ,  p_mtl_reservation_rec     IN         INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE
21 ,  x_error_code              OUT NOCOPY NUMBER
22 ,  x_return_status           OUT NOCOPY VARCHAR2
23 ,  x_msg_count               OUT NOCOPY NUMBER
24 ,  x_msg_data                OUT NOCOPY VARCHAR2
25 )
26 
27 IS
28    l_api_version_number   CONSTANT NUMBER      := 1.0;
29    l_init_msg_list        VARCHAR2(255) := FND_API.G_TRUE;
30    l_api_name             CONSTANT VARCHAR2(30) := 'INV_Delete_All_Reservations';
31    l_mtl_reservation_tbl        INV_RESERVATION_GLOBAL.MTL_RESERVATION_TBL_TYPE;
32    l_mtl_reservation_rec        INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE;
33    l_mtl_reservation_tbl_count NUMBER;
34    l_return_status VARCHAR2(1);
35    l_serial_number INV_RESERVATION_GLOBAL.SERIAL_NUMBER_TBL_TYPE;
36    l_error_code NUMBER;
37    l_count NUMBER;
38    l_msg_count  NUMBER;
39    l_msg_data   VARCHAR2(100);
40 BEGIN
41    l_mtl_reservation_rec := p_mtl_reservation_rec ;
42    l_mtl_reservation_rec := p_mtl_reservation_rec ;
43    inv_reservation_pub.query_reservation(
44        p_api_version_number => 1.0,
45        x_return_status      => l_return_status,
46        x_msg_count          => l_msg_count,
47        x_msg_data           => l_msg_data,
48        p_query_input        => l_mtl_reservation_rec,
49        x_mtl_reservation_tbl => l_mtl_reservation_tbl,
50        x_mtl_reservation_tbl_count => l_mtl_reservation_tbl_count,
51        x_error_code        => l_error_code);
52 
53    if( l_return_status = FND_API.G_RET_STS_ERROR ) then
54         raise FND_API.G_EXC_ERROR;
55    elsif (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) then
56         raise FND_API.G_EXC_UNEXPECTED_ERROR;
57    end if;
58    FOR l_counter in  1..l_mtl_reservation_tbl_count
59    LOOP
60      l_mtl_reservation_rec := l_mtl_reservation_tbl(l_counter);
61      inv_reservation_pub.delete_reservation
62      (
63         p_api_version_number       => 1.0
64       , p_init_msg_lst             => fnd_api.g_false
65       , x_return_status            => l_return_status
66       , x_msg_count                => l_msg_count
67       , x_msg_data                 => l_msg_data
68       , p_rsv_rec                  => l_mtl_reservation_rec
69       , p_serial_number            => l_serial_number
70       );
71 
72       IF l_return_status = fnd_api.g_ret_sts_error THEN
73          RAISE fnd_api.g_exc_error;
74       END IF ;
75 
76       IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
77          RAISE fnd_api.g_exc_unexpected_error;
78       END IF;
79 
80    END LOOP;
81       x_return_status := l_return_status;
82 
83 EXCEPTION
84     WHEN FND_API.G_EXC_ERROR THEN
85       x_return_status := FND_API.G_RET_STS_ERROR;
86       FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
87 
88     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
89       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
90       FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
91 
92     WHEN OTHERS THEN
93       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
94       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
95       THEN
96             FND_MSG_PUB.Add_Exc_Msg
97             (   l_api_name
98             ,   'INV_Delete_All_Reservations'
99             );
100       END IF;
101 END;
102 END;