[Home] [Help]
PACKAGE BODY: APPS.OKL_CONTRACT_REBOOK_PUB
Source
1 PACKAGE BODY OKL_CONTRACT_REBOOK_PUB AS
2 /* $Header: OKLPRBKB.pls 115.0 2002/04/11 17:56:11 pkm ship $*/
3
4 -- Global Variables
5 G_DEBUG NUMBER := 1;
6 G_INIT_NUMBER NUMBER := -9999;
7 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_CONTRACT_REBOOK_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
18
19 ------------------------------------------------------------------------------
20 -- PROCEDURE sync_rebook_orig_contract
21 --
22 -- This procedure synchronize Rebook and Original Contract and make Rebook
23 -- contract status 'ABANDONED'
24 --
25 -- Calls:
26 -- Called By:
27 ------------------------------------------------------------------------------
28 PROCEDURE sync_rebook_orig_contract(
29 p_api_version IN NUMBER,
30 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
31 x_return_status OUT NOCOPY VARCHAR2,
32 x_msg_count OUT NOCOPY NUMBER,
33 x_msg_data OUT NOCOPY VARCHAR2,
34 p_rebook_chr_id IN OKC_K_HEADERS_V.ID%TYPE
35 ) IS
36 l_api_name VARCHAR2(35) := 'sync_rebook_orig_contract';
37 l_proc_name VARCHAR2(35) := 'SYNC_REBOOK_ORIG_CONTRACT';
38
39 l_orig_chr_id OKC_K_HEADERS_V.ID%TYPE;
40 l_khrv_rec khrv_rec_type;
41 l_chrv_rec chrv_rec_type;
42
43 x_khrv_rec khrv_rec_type;
44 x_chrv_rec chrv_rec_type;
45
46 BEGIN
47
48 x_return_status := OKC_API.G_RET_STS_SUCCESS;
49 -- call START_ACTIVITY to create savepoint, check compatibility
50 -- and initialize message list
51 x_return_status := OKC_API.START_ACTIVITY(
52 p_api_name => l_api_name,
53 p_pkg_name => G_PKG_NAME,
54 p_init_msg_list => p_init_msg_list,
55 l_api_version => p_api_version,
56 p_api_version => p_api_version,
57 p_api_type => G_API_TYPE,
58 x_return_status => x_return_status);
59
60 -- check if activity started successfully
61 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
62 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
63 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
64 raise OKC_API.G_EXCEPTION_ERROR;
65 END IF;
66
67 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
68
69 okl_contract_rebook_pvt.sync_rebook_orig_contract(
70 p_api_version => p_api_version,
71 p_init_msg_list => p_init_msg_list,
72 x_return_status => x_return_status,
73 x_msg_count => x_msg_count,
74 x_msg_data => x_msg_data,
75 p_rebook_chr_id => p_rebook_chr_id
76 );
77
78 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
79 RAISE OKC_API.G_EXCEPTION_ERROR;
80 END IF;
81
82 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
83 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
84 x_msg_data => x_msg_data);
85
86 EXCEPTION
87 when OKC_API.G_EXCEPTION_ERROR then
88 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
89 p_api_name => l_api_name,
90 p_pkg_name => G_PKG_NAME,
91 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
92 x_msg_count => x_msg_count,
93 x_msg_data => x_msg_data,
94 p_api_type => G_API_TYPE);
95
96 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
97 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
98 p_api_name => l_api_name,
99 p_pkg_name => G_PKG_NAME,
100 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
101 x_msg_count => x_msg_count,
102 x_msg_data => x_msg_data,
103 p_api_type => G_API_TYPE);
104
105 when OTHERS then
106 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
107 p_api_name => l_api_name,
108 p_pkg_name => G_PKG_NAME,
109 p_exc_name => 'OTHERS',
110 x_msg_count => x_msg_count,
111 x_msg_data => x_msg_data,
112 p_api_type => G_API_TYPE);
113
114 END sync_rebook_orig_contract;
115
116 ------------------------------------------------------------------------------
117 -- PROCEDURE create_txn_contract
118 --
119 -- This procedure creates Rebook Contract and Create a Transaction for that
120 --
121 -- Calls:
122 -- Called By:
123 ------------------------------------------------------------------------------
124 PROCEDURE create_txn_contract(
125 p_api_version IN NUMBER,
126 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
127 x_return_status OUT NOCOPY VARCHAR2,
128 x_msg_count OUT NOCOPY NUMBER,
129 x_msg_data OUT NOCOPY VARCHAR2,
130 p_from_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
131 p_rebook_reason_code IN VARCHAR2,
132 p_rebook_description IN VARCHAR2,
133 p_trx_date IN DATE,
134 x_tcnv_rec OUT NOCOPY tcnv_rec_type,
135 x_rebook_chr_id OUT NOCOPY OKC_K_HEADERS_V.ID%TYPE
136 ) IS
137
138 l_api_name VARCHAR2(35) := 'create_txn_contract';
139 l_proc_name VARCHAR2(35) := 'CREATE_TXN_CONTRACT';
140 l_api_version CONSTANT NUMBER := 1;
141
142 BEGIN -- main process begins here
143
144 x_return_status := OKC_API.G_RET_STS_SUCCESS;
145 -- call START_ACTIVITY to create savepoint, check compatibility
146 -- and initialize message list
147 x_return_status := OKC_API.START_ACTIVITY(
148 p_api_name => l_api_name,
149 p_pkg_name => G_PKG_NAME,
150 p_init_msg_list => p_init_msg_list,
151 l_api_version => l_api_version,
152 p_api_version => p_api_version,
153 p_api_type => G_API_TYPE,
154 x_return_status => x_return_status);
155
156 -- check if activity started successfully
157 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
158 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
159 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
160 raise OKC_API.G_EXCEPTION_ERROR;
161 END IF;
162
163 okl_contract_rebook_pvt.create_txn_contract(
164 p_api_version => p_api_version,
165 p_init_msg_list => p_init_msg_list,
166 x_return_status => x_return_status,
167 x_msg_count => x_msg_count,
168 x_msg_data => x_msg_data,
169 p_from_chr_id => p_from_chr_id,
170 p_rebook_reason_code => p_rebook_reason_code,
171 p_rebook_description => p_rebook_description,
172 p_trx_date => p_trx_date,
173 x_tcnv_rec => x_tcnv_rec,
174 x_rebook_chr_id => x_rebook_chr_id
175 );
176
177 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
178 RAISE OKC_API.G_EXCEPTION_ERROR;
179 END IF;
180
181 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
182 x_msg_data => x_msg_data);
183
184 EXCEPTION
185 when OKC_API.G_EXCEPTION_ERROR then
186 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
187 p_api_name => l_api_name,
188 p_pkg_name => G_PKG_NAME,
189 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
190 x_msg_count => x_msg_count,
191 x_msg_data => x_msg_data,
192 p_api_type => G_API_TYPE);
193
194 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
195 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
196 p_api_name => l_api_name,
197 p_pkg_name => G_PKG_NAME,
198 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
199 x_msg_count => x_msg_count,
200 x_msg_data => x_msg_data,
201 p_api_type => G_API_TYPE);
202
203 when OTHERS then
204 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
205 p_api_name => l_api_name,
206 p_pkg_name => G_PKG_NAME,
207 p_exc_name => 'OTHERS',
208 x_msg_count => x_msg_count,
209 x_msg_data => x_msg_data,
210 p_api_type => G_API_TYPE);
211
212 END create_txn_contract;
213
214 ------------------------------------------------------------------------------
215 -- PROCEDURE sync_rebook_stream
216 --
217 -- This procedure Synchronizes between Rebooked Contract Stream and Orginal Stream
218 --
219 -- Calls:
220 -- Called By:
221 ------------------------------------------------------------------------------
222
223 PROCEDURE sync_rebook_stream(
224 p_api_version IN NUMBER,
225 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
226 x_return_status OUT NOCOPY VARCHAR2,
227 x_msg_count OUT NOCOPY NUMBER,
228 x_msg_data OUT NOCOPY VARCHAR2,
229 p_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
230 p_stream_status IN OKL_STREAMS.SAY_CODE%TYPE
231 ) IS
232
233 l_api_name VARCHAR2(35) := 'sync_rebook_stream';
234 l_proc_name VARCHAR2(35) := 'SYNC_REBOOK_STREAM';
235
236 l_orig_chr_id NUMBER;
237
238 BEGIN
239
240 x_return_status := OKC_API.G_RET_STS_SUCCESS;
241 -- call START_ACTIVITY to create savepoint, check compatibility
242 -- and initialize message list
243 x_return_status := OKC_API.START_ACTIVITY(
244 p_api_name => l_api_name,
245 p_pkg_name => G_PKG_NAME,
246 p_init_msg_list => p_init_msg_list,
247 l_api_version => p_api_version,
248 p_api_version => p_api_version,
249 p_api_type => G_API_TYPE,
250 x_return_status => x_return_status);
251
252 -- check if activity started successfully
253 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
254 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
255 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
256 raise OKC_API.G_EXCEPTION_ERROR;
257 END IF;
258 --**********************************************************
259
260 okl_contract_rebook_pvt.sync_rebook_stream(
261 p_api_version => p_api_version,
262 p_init_msg_list => p_init_msg_list,
263 x_return_status => x_return_status,
264 x_msg_count => x_msg_count,
265 x_msg_data => x_msg_data,
266 p_chr_id => p_chr_id,
267 p_stream_status => 'CURR'
268 );
269
270 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
271 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
272 END IF;
273
274 --**********************************************************
275 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
276 x_msg_data => x_msg_data);
277
278 EXCEPTION
279 when OKC_API.G_EXCEPTION_ERROR then
280 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
281 p_api_name => l_api_name,
282 p_pkg_name => G_PKG_NAME,
283 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
284 x_msg_count => x_msg_count,
285 x_msg_data => x_msg_data,
286 p_api_type => G_API_TYPE);
287
288 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
289 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
290 p_api_name => l_api_name,
291 p_pkg_name => G_PKG_NAME,
292 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
293 x_msg_count => x_msg_count,
294 x_msg_data => x_msg_data,
295 p_api_type => G_API_TYPE);
296
297 when OTHERS then
298 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
299 p_api_name => l_api_name,
300 p_pkg_name => G_PKG_NAME,
301 p_exc_name => 'OTHERS',
302 x_msg_count => x_msg_count,
303 x_msg_data => x_msg_data,
304 p_api_type => G_API_TYPE);
305
306 END sync_rebook_stream;
307
308 ------------------------------------------------------------------------------
309 -- PROCEDURE create_rebook_contract
310 --
311 -- This procedure creates a Rebook Contract from Original Contract provieded as parameter
312 -- p_from_chr_id and set the status of new contract as 'ENTERED'.
313 -- This process does not touch/chnage the original contract
314 --
315 -- Calls:
316 -- Called By:
317 ------------------------------------------------------------------------------
318
319 PROCEDURE create_rebook_contract(
320 p_api_version IN NUMBER,
321 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
322 x_return_status OUT NOCOPY VARCHAR2,
323 x_msg_count OUT NOCOPY NUMBER,
324 x_msg_data OUT NOCOPY VARCHAR2,
325 p_from_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
326 x_rebook_chr_id OUT NOCOPY OKC_K_HEADERS_V.ID%TYPE
327 ) IS
328
329 l_api_name VARCHAR2(35) := 'create_rebook_contract';
330 l_proc_name VARCHAR2(35) := 'CREATE_REBOOK_CONTRACT';
331
332 l_orig_chr_id NUMBER;
333
334 BEGIN
335
336 x_return_status := OKC_API.G_RET_STS_SUCCESS;
337 -- call START_ACTIVITY to create savepoint, check compatibility
338 -- and initialize message list
339 x_return_status := OKC_API.START_ACTIVITY(
340 p_api_name => l_api_name,
341 p_pkg_name => G_PKG_NAME,
342 p_init_msg_list => p_init_msg_list,
343 l_api_version => p_api_version,
344 p_api_version => p_api_version,
345 p_api_type => G_API_TYPE,
346 x_return_status => x_return_status);
347
348 -- check if activity started successfully
349 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
350 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
351 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
352 raise OKC_API.G_EXCEPTION_ERROR;
353 END IF;
354 --**********************************************************
355
356 okl_contract_rebook_pvt.create_rebook_contract(
357 p_api_version => p_api_version,
358 p_init_msg_list => p_init_msg_list,
359 x_return_status => x_return_status,
360 x_msg_count => x_msg_count,
361 x_msg_data => x_msg_data,
362 p_from_chr_id => p_from_chr_id,
363 x_rebook_chr_id => x_rebook_chr_id
364 );
365
366 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
367 RAISE OKC_API.G_EXCEPTION_ERROR;
368 END IF;
369
370 --**********************************************************
371 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
372 x_msg_data => x_msg_data);
373
374 EXCEPTION
375 when OKC_API.G_EXCEPTION_ERROR then
376 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
377 p_api_name => l_api_name,
378 p_pkg_name => G_PKG_NAME,
379 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
380 x_msg_count => x_msg_count,
381 x_msg_data => x_msg_data,
382 p_api_type => G_API_TYPE);
383
384 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
385 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
386 p_api_name => l_api_name,
387 p_pkg_name => G_PKG_NAME,
388 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
389 x_msg_count => x_msg_count,
390 x_msg_data => x_msg_data,
391 p_api_type => G_API_TYPE);
392
393 when OTHERS then
394 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
395 p_api_name => l_api_name,
396 p_pkg_name => G_PKG_NAME,
397 p_exc_name => 'OTHERS',
398 x_msg_count => x_msg_count,
399 x_msg_data => x_msg_data,
400 p_api_type => G_API_TYPE);
401
402 END create_rebook_contract;
403
404 END OKL_CONTRACT_REBOOK_PUB;