[Home] [Help]
PACKAGE BODY: APPS.FTE_DELIVERY_PUB
Source
1 PACKAGE BODY FTE_DELIVERY_PUB AS
2 /* $Header: FTEPDELB.pls 120.0 2005/05/26 18:27:20 appldev noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'FTE_DELIVERY_PUB';
5
6 --===================
7 -- PROCEDURES
8 --===================
9
10 PROCEDURE Rate_Delivery (
11 p_api_version IN NUMBER,
12 p_init_msg_list IN VARCHAR2,
13 p_commit IN VARCHAR2,
14 x_return_status OUT NOCOPY VARCHAR2,
15 x_msg_count OUT NOCOPY NUMBER,
16 x_msg_data OUT NOCOPY VARCHAR2,
17 p_action_code IN VARCHAR2,
18 p_delivery_in_rec IN delivery_in_rec_type
19 )
20 IS
21 l_api_name CONSTANT VARCHAR2(30) := 'Rate_Delivery';
22 l_api_version CONSTANT NUMBER := 1.0;
23 l_del_in_rec FTE_FREIGHT_RATING_DLVY_GRP.delivery_in_rec_type;
24 BEGIN
25 IF NOT FND_API.Compatible_API_Call (
26 l_api_version,
27 p_api_version,
28 l_api_name,
29 G_PKG_NAME )
30 THEN
31 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
32 END IF;
33
34 IF FND_API.to_Boolean(p_init_msg_list) THEN
35 FND_MSG_PUB.initialize;
36 END IF;
37
38 IF p_action_code = 'RATE' THEN
39
40 l_del_in_rec.name := p_delivery_in_rec.name;
41 l_del_in_rec.carrier_name := p_delivery_in_rec.carrier_name;
42 l_del_in_rec.mode_of_transport := p_delivery_in_rec.mode_of_transport;
43 l_del_in_rec.service_level := p_delivery_in_rec.service_level;
44
45 FTE_FREIGHT_RATING_DLVY_GRP.Rate_Delivery2 (
46 p_commit => p_commit,
47 x_return_status => x_return_status,
48 x_msg_count => x_msg_count,
49 x_msg_data => x_msg_data,
50 p_delivery_in_rec => l_del_in_rec
51 );
52
53 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
54 RAISE FND_API.G_EXC_ERROR;
55 END IF;
56
57 ELSE
58 FND_MESSAGE.SET_NAME('FTE','FTE_PRC_DLV_INV_ACT');
59 FND_MSG_PUB.ADD;
60 RAISE FND_API.G_EXC_ERROR;
61 END IF;
62
63 FND_MSG_PUB.Count_And_Get (
64 p_count => x_msg_count,
65 p_data => x_msg_data,
66 p_encoded => FND_API.G_FALSE
67 );
68
69 EXCEPTION
70 WHEN FND_API.G_EXC_ERROR THEN
71 x_return_status := FND_API.G_RET_STS_ERROR;
72 FND_MSG_PUB.Count_And_Get (
73 p_count => x_msg_count,
74 p_data => x_msg_data,
75 p_encoded => FND_API.G_FALSE
76 );
77 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
78 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
79 FND_MSG_PUB.Count_And_Get (
80 p_count => x_msg_count,
81 p_data => x_msg_data,
82 p_encoded => FND_API.G_FALSE
83 );
84 WHEN OTHERS THEN
85 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
86 IF FND_MSG_PUB.Check_Msg_Level
87 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
88 THEN
89 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
90 END IF;
91 FND_MSG_PUB.Count_And_Get (
92 p_count => x_msg_count,
93 p_data => x_msg_data,
94 p_encoded => FND_API.G_FALSE
95 );
96 END Rate_Delivery;
97
98 END FTE_DELIVERY_PUB;