DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRANSACTION_PUB

Source


1 PACKAGE BODY OKL_TRANSACTION_PUB AS
2 /* $Header: OKLPTXNB.pls 115.1 2002/08/19 22:05:30 dedey noship $*/
3 
4 -- Global Variables
5    G_DEBUG       NUMBER := 1;
6    G_INIT_NUMBER NUMBER := -9999;
7    G_PKG_NAME    CONSTANT VARCHAR2(200) := 'OKL_CREATE_TRANSACTION_PUB';
8    G_APP_NAME    CONSTANT VARCHAR2(3)   :=  OKL_API.G_APP_NAME;
9    G_API_TYPE    CONSTANT VARCHAR2(4)   := '_PUB';
10 
11 --   subtype tcnv_rec_type IS OKL_TRX_CONTRACTS_PVT.tcnv_rec_type;
12    subtype stmv_rec_type IS OKL_STREAMS_PUB.stmv_rec_type;
13    subtype selv_rec_type IS OKL_STREAMS_PUB.selv_rec_type;
14    subtype selv_tbl_type IS OKL_STREAMS_PUB.selv_tbl_type;
15    subtype khrv_rec_type IS OKL_CONTRACT_PUB.khrv_rec_type;
16    subtype chrv_rec_type IS OKL_OKC_MIGRATION_PVT.chrv_rec_type;
17    subtype clev_tbl_type IS OKL_OKC_MIGRATION_PVT.clev_tbl_type;
18    subtype klev_tbl_type IS OKL_CONTRACT_PUB.klev_tbl_type;
19    subtype rulv_rec_type IS OKL_RULE_PUB.rulv_rec_type;
20    subtype rulv_tbl_type IS OKL_RULE_PUB.rulv_tbl_type;
21    subtype rgpv_rec_type IS OKL_RULE_PUB.rgpv_rec_type;
22    subtype cvmv_rec_type IS OKL_VERSION_PUB.cvmv_rec_type;
23 
24 
25 ------------------------------------------------------------------------------
26 -- PROCEDURE create_transaction
27 --
28 --  This procedure creates Transaction as a first step to REBOOKing
29 --
30 -- Calls:
31 -- Called By:
32 ------------------------------------------------------------------------------
33   PROCEDURE create_transaction(
34                           p_api_version        IN  NUMBER,
35                           p_init_msg_list      IN  VARCHAR2,
36                           x_return_status      OUT NOCOPY VARCHAR2,
37                           x_msg_count          OUT NOCOPY NUMBER,
38                           x_msg_data           OUT NOCOPY VARCHAR2,
39                           p_chr_id             IN  OKC_K_HEADERS_V.ID%TYPE,
40                           p_new_chr_id         IN  OKC_K_HEADERS_V.ID%TYPE,
41                           p_reason_code        IN  VARCHAR2,
42                           p_description        IN  VARCHAR2,
43                           p_trx_date           IN  DATE,
44                           p_trx_type           IN  VARCHAR2, -- 'REBOOK' or 'SPLIT'
45                           x_tcnv_rec           OUT NOCOPY tcnv_rec_type
46                          ) IS
47 
48   l_api_name    VARCHAR2(35)    := 'create_transaction';
49   l_proc_name   VARCHAR2(35)    := 'CREATE_TRANSACTION';
50   l_api_version CONSTANT NUMBER := 1;
51 
52   l_tcnv_rec        tcnv_rec_type;
53   l_out_tcnv_rec    tcnv_rec_type;
54 
55   BEGIN -- main process begins here
56 
57       x_return_status := OKC_API.G_RET_STS_SUCCESS;
58       -- call START_ACTIVITY to create savepoint, check compatibility
59       -- and initialize message list
60       x_return_status := OKC_API.START_ACTIVITY(
61 			p_api_name      => l_api_name,
62 			p_pkg_name      => G_PKG_NAME,
63 			p_init_msg_list => p_init_msg_list,
64 			l_api_version   => l_api_version,
65 			p_api_version   => p_api_version,
66 			p_api_type      => G_API_TYPE,
67 			x_return_status => x_return_status);
68 
69       -- check if activity started successfully
70       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
71          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
72       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
73          raise OKC_API.G_EXCEPTION_ERROR;
74       END IF;
75 
76       okl_transaction_pvt.create_transaction(
77                                              p_api_version    => p_api_version,
78                                              p_init_msg_list  => p_init_msg_list,
79                                              x_return_status  => x_return_status,
80                                              x_msg_count      => x_msg_count,
81                                              x_msg_data       => x_msg_data,
82                                              p_chr_id         => p_chr_id,
83                                              p_new_chr_id     => p_new_chr_id,
84                                              p_reason_code    => p_reason_code,
85                                              p_description    => p_description,
86                                              p_trx_date       => p_trx_date,
87                                              p_trx_type       => p_trx_type,
88                                              x_tcnv_rec       => x_tcnv_rec
89                                             );
90 
91       IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
92          RAISE OKC_API.G_EXCEPTION_ERROR;
93       END IF;
94 
95       --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
96       OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
97                            x_msg_data    => x_msg_data);
98 
99   EXCEPTION
100       when OKC_API.G_EXCEPTION_ERROR then
101          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
102 			p_api_name  => l_api_name,
103 			p_pkg_name  => G_PKG_NAME,
104 			p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
105 			x_msg_count => x_msg_count,
106 			x_msg_data  => x_msg_data,
107 			p_api_type  => G_API_TYPE);
108 
109       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
110          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
111 			p_api_name  => l_api_name,
112 			p_pkg_name  => G_PKG_NAME,
113 			p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
114 			x_msg_count => x_msg_count,
115 			x_msg_data  => x_msg_data,
116 			p_api_type  => G_API_TYPE);
117 
118       when OTHERS then
119          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
120 			p_api_name  => l_api_name,
121 			p_pkg_name  => G_PKG_NAME,
122 			p_exc_name  => 'OTHERS',
123 			x_msg_count => x_msg_count,
124 			x_msg_data  => x_msg_data,
125 			p_api_type  => G_API_TYPE);
126 
127   END create_transaction;
128 
129 ------------------------------------------------------------------------------
130 -- PROCEDURE update_trx_status
131 --
132 --  This procedure updates Transaction Status for a transaction
133 --
134 -- Calls:
135 -- Called By:
136 ------------------------------------------------------------------------------
137   PROCEDURE update_trx_status(
138                               p_api_version        IN  NUMBER,
139                               p_init_msg_list      IN  VARCHAR2,
140                               x_return_status      OUT NOCOPY VARCHAR2,
141                               x_msg_count          OUT NOCOPY NUMBER,
142                               x_msg_data           OUT NOCOPY VARCHAR2,
143                               p_chr_id             IN  OKC_K_HEADERS_V.ID%TYPE,
144                               p_status             IN  VARCHAR2,
145                               x_tcnv_rec           OUT NOCOPY tcnv_rec_type
146                              ) IS
147 
148   l_api_name    VARCHAR2(35)    := 'update_trx_status';
149   l_proc_name   VARCHAR2(35)    := 'UPDATE_TRX_STATUS';
150   l_api_version CONSTANT NUMBER := 1;
151 
152   BEGIN
153 
154       x_return_status := OKC_API.G_RET_STS_SUCCESS;
155       -- call START_ACTIVITY to create savepoint, check compatibility
156       -- and initialize message list
157       x_return_status := OKC_API.START_ACTIVITY(
158                         p_api_name      => l_api_name,
159                         p_pkg_name      => G_PKG_NAME,
160                         p_init_msg_list => p_init_msg_list,
161                         l_api_version   => l_api_version,
162                         p_api_version   => p_api_version,
163                         p_api_type      => G_API_TYPE,
164                         x_return_status => x_return_status);
165 
166       -- check if activity started successfully
167       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
168          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
169       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
170          raise OKC_API.G_EXCEPTION_ERROR;
171       END IF;
172 
173       okl_transaction_pvt.update_trx_status(
174                                             p_api_version        => p_api_version,
175                                             p_init_msg_list      => p_init_msg_list,
176                                             x_return_status      => x_return_status,
177                                             x_msg_count          => x_msg_count,
178                                             x_msg_data           => x_msg_data,
179                                             p_chr_id             => p_chr_id,
180                                             p_status             => p_status,
181                                             x_tcnv_rec           => x_tcnv_rec
182                                            );
183       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
184          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
185       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
186          raise OKC_API.G_EXCEPTION_ERROR;
187       END IF;
188 
189       OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
190                            x_msg_data    => x_msg_data);
191 
192   EXCEPTION
193       when OKC_API.G_EXCEPTION_ERROR then
194          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
195                         p_api_name  => l_api_name,
196                         p_pkg_name  => G_PKG_NAME,
197                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
198                         x_msg_count => x_msg_count,
199                         x_msg_data  => x_msg_data,
200                         p_api_type  => G_API_TYPE);
201 
202       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
203          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
204                         p_api_name  => l_api_name,
205                         p_pkg_name  => G_PKG_NAME,
206                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
207                         x_msg_count => x_msg_count,
208                         x_msg_data  => x_msg_data,
209                         p_api_type  => G_API_TYPE);
210 
211       when OTHERS then
212          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
213                         p_api_name  => l_api_name,
214                         p_pkg_name  => G_PKG_NAME,
215                         p_exc_name  => 'OTHERS',
216                         x_msg_count => x_msg_count,
217                         x_msg_data  => x_msg_data,
218                         p_api_type  => G_API_TYPE);
219   END update_trx_status;
220 
221 
222   ------------------------------------------------------------------------------
223   -- PROCEDURE abandon_revisions
224   --
225   --  This procedure abandons contracts with under Revisions
226   --
227   -- Calls:
228   -- Called By:
229   ------------------------------------------------------------------------------
230    PROCEDURE abandon_revisions(
231                                   p_api_version        IN  NUMBER,
232                                   p_init_msg_list      IN  VARCHAR2,
233                                   x_return_status      OUT NOCOPY VARCHAR2,
234                                   x_msg_count          OUT NOCOPY NUMBER,
235                                   x_msg_data           OUT NOCOPY VARCHAR2,
236                                   p_rev_tbl            IN  rev_tbl_type,
237                                   p_contract_status    IN  VARCHAR2,
238   		                p_tsu_code             IN  VARCHAR2) IS
239 
240     l_api_name    VARCHAR2(35)    := 'abandon_revisions';
241     l_proc_name   VARCHAR2(35)    := 'UPDATE_TRX_STATUS';
242     l_api_version CONSTANT NUMBER := 1;
243 
244     BEGIN
245 
246 
247         x_return_status := OKC_API.G_RET_STS_SUCCESS;
248         -- call START_ACTIVITY to create savepoint, check compatibility
249         -- and initialize message list
250         x_return_status := OKC_API.START_ACTIVITY(
251                           p_api_name      => l_api_name,
252                           p_pkg_name      => G_PKG_NAME,
253                           p_init_msg_list => p_init_msg_list,
254                           l_api_version   => l_api_version,
255                           p_api_version   => p_api_version,
256                           p_api_type      => G_API_TYPE,
257                           x_return_status => x_return_status);
258 
259         -- check if activity started successfully
260         IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
261            raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
262         ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
263            raise OKC_API.G_EXCEPTION_ERROR;
264         END IF;
265           okl_transaction_pvt.abandon_revisions(
266                                 p_api_version        => p_api_version,
267                                 p_init_msg_list      => p_init_msg_list,
268                                 x_return_status      => x_return_status,
269                                 x_msg_count          => x_msg_count,
270                                 x_msg_data           => x_msg_data,
271                                 p_rev_tbl            => p_rev_tbl,
272                                 p_contract_status    => p_contract_status,
273   		                p_tsu_code           => p_tsu_code);
274 
275         IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
276            raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
277         ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
278            raise OKC_API.G_EXCEPTION_ERROR;
279         END IF;
280 
281         OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
282                              x_msg_data    => x_msg_data);
283 
284     EXCEPTION
285         when OKC_API.G_EXCEPTION_ERROR then
286            x_return_status := OKC_API.HANDLE_EXCEPTIONS(
287                           p_api_name  => l_api_name,
288                           p_pkg_name  => G_PKG_NAME,
289                           p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
290                           x_msg_count => x_msg_count,
291                           x_msg_data  => x_msg_data,
292                           p_api_type  => G_API_TYPE);
293 
294         when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
295            x_return_status := OKC_API.HANDLE_EXCEPTIONS(
296                           p_api_name  => l_api_name,
297                           p_pkg_name  => G_PKG_NAME,
298                           p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
299                           x_msg_count => x_msg_count,
300                           x_msg_data  => x_msg_data,
301                           p_api_type  => G_API_TYPE);
302 
303         when OTHERS then
304            x_return_status := OKC_API.HANDLE_EXCEPTIONS(
305                           p_api_name  => l_api_name,
306                           p_pkg_name  => G_PKG_NAME,
307                           p_exc_name  => 'OTHERS',
308                           x_msg_count => x_msg_count,
309                           x_msg_data  => x_msg_data,
310                           p_api_type  => G_API_TYPE);
311     END abandon_revisions;
312 
313 END OKL_TRANSACTION_PUB;