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