DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_REV_LOSS_PROV_PUB

Source


1 PACKAGE BODY OKL_REV_LOSS_PROV_PUB AS
2 /* $Header: OKLPRPVB.pls 120.2 2005/10/30 03:34:26 appldev noship $ */
3 
4    -- this procedure reverses loss provision transactions
5   PROCEDURE REVERSE_LOSS_PROVISIONS(
6               p_api_version          IN  NUMBER
7              ,p_init_msg_list        IN  VARCHAR2 DEFAULT OKL_API.G_FALSE
8              ,x_msg_count            OUT NOCOPY NUMBER
9              ,x_msg_data             OUT NOCOPY VARCHAR2
10              ,x_return_status        OUT NOCOPY VARCHAR2
11              ,p_lprv_rec             IN  lprv_rec_type)
12   IS
13 
14     l_return_status     VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
15     l_api_name          CONSTANT VARCHAR2(30)  := 'REVERSE_LOSS_PROVISIONS';
16     l_lpvv_rec          lprv_rec_type := p_lprv_rec;
17   BEGIN
18     SAVEPOINT rev_loss_prov;
19 
20        -- customer pre-processing
21 
22 
23 
24          -- CALL THE MAIN PROCEDURE
25          okl_rev_loss_prov_pvt.REVERSE_LOSS_PROVISIONS(
26               p_api_version          => p_api_version
27              ,p_init_msg_list        => p_init_msg_list
28              ,x_msg_count            => x_msg_count
29              ,x_msg_data             => x_msg_data
30              ,x_return_status        => x_return_status
31              ,p_lprv_rec              => l_lpvv_rec);
32 
33      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
34         RAISE FND_API.G_EXC_ERROR;
35      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
36         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
37      END IF;
38 
39 	        -- customer post-processing
40 
41 
42   EXCEPTION
43      WHEN OKL_API.G_EXCEPTION_ERROR THEN
44       ROLLBACK TO rev_loss_prov;
45       x_return_status := FND_API.G_RET_STS_ERROR;
46 
47       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
48                                ,p_count   => x_msg_count
49                                ,p_data    => x_msg_data);
50 
51      WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
52       ROLLBACK TO rev_loss_prov;
53       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
54       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
55                                ,p_count   => x_msg_count
56                                ,p_data    => x_msg_data);
57 
58      WHEN OTHERS THEN
59       ROLLBACK TO rev_loss_prov;
60       FND_MSG_PUB.ADD_EXC_MSG('OKL_REV_LOSS_PROV_PUB','REVERSE_LOSS_PROVISIONS');
61       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
62                                ,p_count   => x_msg_count
63                                ,p_data    => x_msg_data);
64       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65   END REVERSE_LOSS_PROVISIONS;
66 
67   PROCEDURE REVERSE_LOSS_PROVISIONS(
68               p_api_version          IN  NUMBER
69              ,p_init_msg_list        IN  VARCHAR2 DEFAULT OKL_API.G_FALSE
70              ,x_msg_count            OUT NOCOPY NUMBER
71              ,x_msg_data             OUT NOCOPY VARCHAR2
72              ,x_return_status        OUT NOCOPY VARCHAR2
73              ,p_lprv_tbl             IN  lprv_tbl_type)
74   IS
75 
76     l_return_status     VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
77     l_api_name          CONSTANT VARCHAR2(30)  := 'REVERSE_LOSS_PROVISIONS';
78     l_lprv_tbl          lprv_tbl_type := p_lprv_tbl;
79   BEGIN
80     SAVEPOINT rev_loss_prov;
81 
82        -- customer pre-processing
83 
84 
85 
86          -- CALL THE MAIN PROCEDURE
87          okl_rev_loss_prov_pvt.REVERSE_LOSS_PROVISIONS(
88               p_api_version          => p_api_version
89              ,p_init_msg_list        => p_init_msg_list
90              ,x_msg_count            => x_msg_count
91              ,x_msg_data             => x_msg_data
92              ,x_return_status        => x_return_status
93              ,p_lprv_tbl             => l_lprv_tbl);
94 
95      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
96         RAISE FND_API.G_EXC_ERROR;
97      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
98         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
99      END IF;
100 
101 	        -- customer post-processing
102 
103 
104   EXCEPTION
105      WHEN OKL_API.G_EXCEPTION_ERROR THEN
106       ROLLBACK TO rev_loss_prov;
107       x_return_status := FND_API.G_RET_STS_ERROR;
108 
109       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
110                                ,p_count   => x_msg_count
111                                ,p_data    => x_msg_data);
112 
113      WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
114       ROLLBACK TO rev_loss_prov;
115       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
116       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
117                                ,p_count   => x_msg_count
118                                ,p_data    => x_msg_data);
119 
120      WHEN OTHERS THEN
121       ROLLBACK TO rev_loss_prov;
122       FND_MSG_PUB.ADD_EXC_MSG('OKL_REV_LOSS_PROV_PUB','REVERSE_LOSS_PROVISIONS');
123       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
124                                ,p_count   => x_msg_count
125                                ,p_data    => x_msg_data);
126       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
127   END REVERSE_LOSS_PROVISIONS;
128 
129 End OKL_REV_LOSS_PROV_PUB;