DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_MASS_REBOOK_PUB

Source


1 PACKAGE BODY OKL_MASS_REBOOK_PUB AS
2 /* $Header: OKLPMRPB.pls 115.5 2003/01/28 22:55:05 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_MASS_REBOOK_PUB';
8   G_APP_NAME    CONSTANT VARCHAR2(3)   :=  OKL_API.G_APP_NAME;
9   G_API_TYPE    CONSTANT VARCHAR2(4)   := '_PUB';
10 
11 ------------------------------------------------------------------------------
12 -- PROCEDURE build_and_get_contracts
13 --   This proecdure uses DYNAMIC SQL to get list of contracts from
14 --   selection criteria provided by user in OKL_MASS_RBK_CRITERIA
15 --   against REQUEST_NAME and inserts contract information to
16 --   OKL_RBK_SELECTED_CONTRACT table
17 --   It returns the list of contracts selected under present crietria
18 -- Calls:
19 -- Called by:
20 ------------------------------------------------------------------------------
21   PROCEDURE build_and_get_contracts(
22                                     p_api_version        IN  NUMBER,
23                                     p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
24                                     x_return_status      OUT NOCOPY VARCHAR2,
25                                     x_msg_count          OUT NOCOPY NUMBER,
26                                     x_msg_data           OUT NOCOPY VARCHAR2,
27                                     p_request_name       IN  OKL_MASS_RBK_CRITERIA.REQUEST_NAME%TYPE,
28                                     p_mrbv_tbl           IN  mrbv_tbl_type,
29                                     x_mstv_tbl           OUT NOCOPY mstv_tbl_type,
30                                     x_rbk_count          OUT NOCOPY NUMBER
31                                    ) IS
32 
33   l_api_name    VARCHAR2(35)    := 'build_and_get_contract';
34   l_proc_name   VARCHAR2(35)    := 'BUILD_AND_GET_CONTRACT';
35   l_api_version NUMBER          := 1.0;
36 
37   BEGIN
38      -- call START_ACTIVITY to create savepoint, check compatibility
39      -- and initialize message list
40      x_return_status := OKC_API.START_ACTIVITY(
41                                                p_api_name      => l_api_name,
42                                                p_pkg_name      => G_PKG_NAME,
43                                                p_init_msg_list => p_init_msg_list,
44                                                l_api_version   => l_api_version,
45                                                p_api_version   => p_api_version,
46                                                p_api_type      => G_API_TYPE,
47                                                x_return_status => x_return_status);
48 
49      -- check if activity started successfully
50      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
51        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
52      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
53        raise OKC_API.G_EXCEPTION_ERROR;
54      END IF;
55 
56      --
57      -- Get Statement from Selection criteria
58      --
59      okl_mass_rebook_pvt.build_and_get_contracts(
60                                       p_api_version   => p_api_version,
61                                       p_init_msg_list => p_init_msg_list,
62                                       x_return_status => x_return_status,
63                                       x_msg_count     => x_msg_count,
64                                       x_msg_data      => x_msg_data,
65                                       p_request_name  => p_request_name,
66                                       p_mrbv_tbl      => p_mrbv_tbl,
67                                       x_mstv_tbl      => x_mstv_tbl,
68                                       x_rbk_count     => x_rbk_count
69                                      );
70 
71      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
72          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
73      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
74          raise OKC_API.G_EXCEPTION_ERROR;
75      END IF;
76 
77      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
78                           x_msg_data    => x_msg_data);
79 
80 
81      RETURN;
82 
83   EXCEPTION
84       when OKC_API.G_EXCEPTION_ERROR then
85          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
86                         p_api_name  => l_api_name,
87                         p_pkg_name  => G_PKG_NAME,
88                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
89                         x_msg_count => x_msg_count,
90                         x_msg_data  => x_msg_data,
91                         p_api_type  => G_API_TYPE);
92 
93       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
94          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
95                         p_api_name  => l_api_name,
96                         p_pkg_name  => G_PKG_NAME,
97                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
98                         x_msg_count => x_msg_count,
99                         x_msg_data  => x_msg_data,
100                         p_api_type  => G_API_TYPE);
101 
102       when OTHERS then
103          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
104                         p_api_name  => l_api_name,
105                         p_pkg_name  => G_PKG_NAME,
106                         p_exc_name  => 'OTHERS',
107                         x_msg_count => x_msg_count,
108                         x_msg_data  => x_msg_data,
109                         p_api_type  => G_API_TYPE);
110   END build_and_get_contracts;
111 
112 ------------------------------------------------------------------------------
113 -- PROCEDURE apply_mass_rebook
114 --   This proecdure uses to apply mass rebook for contracts. It should be called
115 --   by those who does not have access to MASS REBOOK UI under OKL
116 --   This process also returns Stream generation trx number to caller
117 -- Calls:
118 -- Called by:
119 ------------------------------------------------------------------------------
120 
121   PROCEDURE apply_mass_rebook(
122                               p_api_version        IN  NUMBER,
123                               p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
124                               x_return_status      OUT NOCOPY VARCHAR2,
125                               x_msg_count          OUT NOCOPY NUMBER,
126                               x_msg_data           OUT NOCOPY VARCHAR2,
127                               p_rbk_tbl            IN  rbk_tbl_type,
128                               p_deprn_method_code  IN  FA_BOOKS.DEPRN_METHOD_CODE%TYPE,
129                               p_in_service_date    IN  FA_BOOKS.DATE_PLACED_IN_SERVICE%TYPE,
130                               p_life_in_months     IN  FA_BOOKS.LIFE_IN_MONTHS%TYPE,
131                               p_basic_rate         IN  FA_BOOKS.BASIC_RATE%TYPE,
132                               p_adjusted_rate      IN  FA_BOOKS.ADJUSTED_RATE%TYPE,
133                               p_residual_value     IN  OKL_K_LINES_V.RESIDUAL_VALUE%TYPE,
134                               p_strm_lalevl_tbl    IN  strm_lalevl_tbl_type,
135                               x_stream_trx_tbl     OUT NOCOPY strm_trx_tbl_type
136                              ) IS
137 
138   l_api_name    VARCHAR2(35)    := 'apply_mass_rebook';
139   l_proc_name   VARCHAR2(35)    := 'APPLY_MASS_REBOOK';
140   l_api_version NUMBER          := 1.0;
141 
142   BEGIN
143 
144      -- call START_ACTIVITY to create savepoint, check compatibility
145      -- and initialize message list
146      x_return_status := OKC_API.START_ACTIVITY(
147                                                p_api_name      => l_api_name,
148                                                p_pkg_name      => G_PKG_NAME,
149                                                p_init_msg_list => p_init_msg_list,
150                                                l_api_version   => l_api_version,
151                                                p_api_version   => p_api_version,
152                                                p_api_type      => G_API_TYPE,
153                                                x_return_status => x_return_status);
154 
155      -- check if activity started successfully
156      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
157        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
158      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
159        raise OKC_API.G_EXCEPTION_ERROR;
160      END IF;
161 
162      okl_mass_rebook_pvt.apply_mass_rebook(
163                                            p_api_version       => p_api_version,
164                                            p_init_msg_list     => p_init_msg_list,
165                                            x_return_status     => x_return_status,
166                                            x_msg_count         => x_msg_count,
167                                            x_msg_data          => x_msg_data,
168                                            p_rbk_tbl           => p_rbk_tbl,
169                                            p_deprn_method_code => p_deprn_method_code,
170                                            p_in_service_date   => p_in_service_date,
171                                            p_life_in_months    => p_life_in_months,
172                                            p_basic_rate        => p_basic_rate,
173                                            p_adjusted_rate     => p_adjusted_rate,
174                                            p_residual_value    => p_residual_value,
175                                            p_strm_lalevl_tbl   => p_strm_lalevl_tbl,
176                                            x_stream_trx_tbl    => x_stream_trx_tbl
177                                           );
178 
179      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
180         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
181      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
182         raise OKC_API.G_EXCEPTION_ERROR;
183      END IF;
184 
185 
186      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
187                           x_msg_data    => x_msg_data);
188 
189 
190      RETURN;
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 apply_mass_rebook;
220 
221 ------------------------------------------------------------------------------
222 -- PROCEDURE apply_mass_rebook
223 --   This proecdure uses to apply mass rebook for contracts. It should be called
224 --   by those who does not have access to MASS REBOOK UI under OKL
225 -- Calls:
226 -- Called by:
227 ------------------------------------------------------------------------------
228 
229  PROCEDURE apply_mass_rebook(
230                              p_api_version        IN  NUMBER,
231                              p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
232                              x_return_status      OUT NOCOPY VARCHAR2,
233                              x_msg_count          OUT NOCOPY NUMBER,
234                              x_msg_data           OUT NOCOPY VARCHAR2,
235                              p_rbk_tbl            IN  rbk_tbl_type,
236                              p_deprn_method_code  IN  FA_BOOKS.DEPRN_METHOD_CODE%TYPE,
237                              p_in_service_date    IN  FA_BOOKS.DATE_PLACED_IN_SERVICE%TYPE,
238                              p_life_in_months     IN  FA_BOOKS.LIFE_IN_MONTHS%TYPE,
239                              p_basic_rate         IN  FA_BOOKS.BASIC_RATE%TYPE,
240                              p_adjusted_rate      IN  FA_BOOKS.ADJUSTED_RATE%TYPE,
241                              p_residual_value     IN  OKL_K_LINES_V.RESIDUAL_VALUE%TYPE,
242                              p_strm_lalevl_tbl    IN  strm_lalevl_tbl_type
243                             ) IS
244 
245   l_api_name    VARCHAR2(35)    := 'apply_mass_rebook';
246   l_proc_name   VARCHAR2(35)    := 'APPLY_MASS_REBOOK';
247   l_api_version NUMBER          := 1.0;
248 
249   BEGIN
250 
251      -- call START_ACTIVITY to create savepoint, check compatibility
252      -- and initialize message list
253      x_return_status := OKC_API.START_ACTIVITY(
254                                                p_api_name      => l_api_name,
255                                                p_pkg_name      => G_PKG_NAME,
256                                                p_init_msg_list => p_init_msg_list,
257                                                l_api_version   => l_api_version,
258                                                p_api_version   => p_api_version,
259                                                p_api_type      => G_API_TYPE,
260                                                x_return_status => x_return_status);
261 
262      -- check if activity started successfully
263      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
264        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
265      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
266        raise OKC_API.G_EXCEPTION_ERROR;
267      END IF;
268 
269      okl_mass_rebook_pvt.apply_mass_rebook(
270                                            p_api_version       => p_api_version,
271                                            p_init_msg_list     => p_init_msg_list,
272                                            x_return_status     => x_return_status,
273                                            x_msg_count         => x_msg_count,
274                                            x_msg_data          => x_msg_data,
275                                            p_rbk_tbl           => p_rbk_tbl,
276                                            p_deprn_method_code => p_deprn_method_code,
277                                            p_in_service_date   => p_in_service_date,
278                                            p_life_in_months    => p_life_in_months,
279                                            p_basic_rate        => p_basic_rate,
280                                            p_adjusted_rate     => p_adjusted_rate,
281                                            p_residual_value    => p_residual_value,
282                                            p_strm_lalevl_tbl   => p_strm_lalevl_tbl
283                                           );
284 
285      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
286         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
287      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
288         raise OKC_API.G_EXCEPTION_ERROR;
289      END IF;
290 
291 
292      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
293                           x_msg_data    => x_msg_data);
294 
295 
296      RETURN;
297 
298   EXCEPTION
299       when OKC_API.G_EXCEPTION_ERROR then
300          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
301                         p_api_name  => l_api_name,
302                         p_pkg_name  => G_PKG_NAME,
303                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
304                         x_msg_count => x_msg_count,
305                         x_msg_data  => x_msg_data,
306                         p_api_type  => G_API_TYPE);
307 
308       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
309          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
310                         p_api_name  => l_api_name,
311                         p_pkg_name  => G_PKG_NAME,
312                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
313                         x_msg_count => x_msg_count,
314                         x_msg_data  => x_msg_data,
315                         p_api_type  => G_API_TYPE);
316 
317       when OTHERS then
318          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
319                         p_api_name  => l_api_name,
320                         p_pkg_name  => G_PKG_NAME,
321                         p_exc_name  => 'OTHERS',
322                         x_msg_count => x_msg_count,
323                         x_msg_data  => x_msg_data,
324                         p_api_type  => G_API_TYPE);
325   END apply_mass_rebook;
326 
327 ------------------------------------------------------------------------------
328 -- PROCEDURE process_mass_rebook
329 --   This proecdure uses to apply mass rebook for contracts applied ON-LINE.
330 -- Calls:
331 -- Called by:
332 ------------------------------------------------------------------------------
333  PROCEDURE process_mass_rebook(
334                                p_api_version        IN  NUMBER,
335                                p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
336                                x_return_status      OUT NOCOPY VARCHAR2,
337                                x_msg_count          OUT NOCOPY NUMBER,
338                                x_msg_data           OUT NOCOPY VARCHAR2,
339                                p_request_name       IN  OKL_MASS_RBK_CRITERIA.REQUEST_NAME%TYPE
340                               ) IS
341 
342   l_api_name    VARCHAR2(35)    := 'process_mass_rebook';
343   l_proc_name   VARCHAR2(35)    := 'PROCESS_MASS_REBOOK';
344   l_api_version NUMBER          := 1.0;
345 
346   BEGIN
347 
348      -- call START_ACTIVITY to create savepoint, check compatibility
349      -- and initialize message list
350      x_return_status := OKC_API.START_ACTIVITY(
351                                                p_api_name      => l_api_name,
352                                                p_pkg_name      => G_PKG_NAME,
353                                                p_init_msg_list => p_init_msg_list,
354                                                l_api_version   => l_api_version,
355                                                p_api_version   => p_api_version,
356                                                p_api_type      => G_API_TYPE,
357                                                x_return_status => x_return_status);
358 
359      -- check if activity started successfully
360      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
361        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
362      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
363        raise OKC_API.G_EXCEPTION_ERROR;
364      END IF;
365 
366      okl_mass_rebook_pvt.process_mass_rebook(
367                                              p_api_version   => p_api_version,
368                                              p_init_msg_list => p_init_msg_list,
369                                              x_return_status => x_return_status,
370                                              x_msg_count     => x_msg_count,
371                                              x_msg_data      => x_msg_data,
372                                              p_request_name  => p_request_name
373                                             );
374 
375      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
376        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
377      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
378        raise OKC_API.G_EXCEPTION_ERROR;
379      END IF;
380 
381 
382      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
383                           x_msg_data    => x_msg_data);
384 
385 
386      RETURN;
387 
388   EXCEPTION
389       when OKC_API.G_EXCEPTION_ERROR then
390          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
391                         p_api_name  => l_api_name,
392                         p_pkg_name  => G_PKG_NAME,
393                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
394                         x_msg_count => x_msg_count,
395                         x_msg_data  => x_msg_data,
396                         p_api_type  => G_API_TYPE);
397 
398       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
399          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
400                         p_api_name  => l_api_name,
401                         p_pkg_name  => G_PKG_NAME,
402                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
403                         x_msg_count => x_msg_count,
404                         x_msg_data  => x_msg_data,
405                         p_api_type  => G_API_TYPE);
406 
407       when OTHERS then
408          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
409                         p_api_name  => l_api_name,
410                         p_pkg_name  => G_PKG_NAME,
411                         p_exc_name  => 'OTHERS',
412                         x_msg_count => x_msg_count,
413                         x_msg_data  => x_msg_data,
414                         p_api_type  => G_API_TYPE);
415 
416    END process_mass_rebook;
417 
418 ------------------------------------------------------------------------------
419 -- PROCEDURE update_mass_rbk_contract
420 --   Call this process to update selected contracts. This process updates
421 --   selected_flag and status of contract provided as parameter
422 -- Calls:
423 -- Called by:
424 ------------------------------------------------------------------------------
425   PROCEDURE update_mass_rbk_contract(
426                                      p_api_version                  IN  NUMBER,
427                                      p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
428                                      x_return_status                OUT NOCOPY VARCHAR2,
429                                      x_msg_count                    OUT NOCOPY NUMBER,
430                                      x_msg_data                     OUT NOCOPY VARCHAR2,
431                                      p_mstv_tbl                     IN  MSTV_TBL_TYPE,
432                                      x_mstv_tbl                     OUT NOCOPY MSTV_TBL_TYPE
433                                     ) IS
434 
435   l_api_name    VARCHAR2(35)    := 'update_mass_rbk_contract';
436   l_proc_name   VARCHAR2(35)    := 'UPDATE_MASS_RBK_CONTRACT';
437   l_api_version NUMBER          := 1.0;
438 
439   BEGIN
440 
441      -- call START_ACTIVITY to create savepoint, check compatibility
442      -- and initialize message list
443      x_return_status := OKC_API.START_ACTIVITY(
444                                                p_api_name      => l_api_name,
445                                                p_pkg_name      => G_PKG_NAME,
446                                                p_init_msg_list => p_init_msg_list,
447                                                l_api_version   => l_api_version,
448                                                p_api_version   => p_api_version,
449                                                p_api_type      => G_API_TYPE,
450                                                x_return_status => x_return_status);
451 
452      -- check if activity started successfully
453      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
454        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
455      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
456        raise OKC_API.G_EXCEPTION_ERROR;
457      END IF;
458 
459      okl_mass_rebook_pvt.update_mass_rbk_contract(
460                                                  p_api_version      => p_api_version,
461                                                  p_init_msg_list    => p_init_msg_list,
462                                                  x_return_status    => x_return_status,
463                                                  x_msg_count        => x_msg_count,
464                                                  x_msg_data         => x_msg_data,
465                                                  p_mstv_tbl         => p_mstv_tbl,
466                                                  x_mstv_tbl         => x_mstv_tbl
467                                                 );
468 
469      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
470        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
471      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
472        raise OKC_API.G_EXCEPTION_ERROR;
473      END IF;
474 
475      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
476                           x_msg_data    => x_msg_data);
477 
478 
479      RETURN;
480 
481   EXCEPTION
482       when OKC_API.G_EXCEPTION_ERROR then
483          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
484                         p_api_name  => l_api_name,
485                         p_pkg_name  => G_PKG_NAME,
486                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
487                         x_msg_count => x_msg_count,
488                         x_msg_data  => x_msg_data,
489                         p_api_type  => G_API_TYPE);
490 
491       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
492          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
493                         p_api_name  => l_api_name,
494                         p_pkg_name  => G_PKG_NAME,
495                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
496                         x_msg_count => x_msg_count,
497                         x_msg_data  => x_msg_data,
498                         p_api_type  => G_API_TYPE);
499 
500       when OTHERS then
501          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
502                         p_api_name  => l_api_name,
503                         p_pkg_name  => G_PKG_NAME,
504                         p_exc_name  => 'OTHERS',
505                         x_msg_count => x_msg_count,
506                         x_msg_data  => x_msg_data,
507                         p_api_type  => G_API_TYPE);
508 
509   END update_mass_rbk_contract;
510 
511 ------------------------------------------------------------------------------
512 -- PROCEDURE mass_rebook_after_yield
513 --   This proecdure gets started after yields come back from SuperTrump and
514 --   proceed with the rest of Mass Rebook process
515 -- Calls:
516 -- Called by:
517 ------------------------------------------------------------------------------
518   PROCEDURE mass_rebook_after_yield(
519                                     p_api_version        IN  NUMBER,
520                                     p_init_msg_list      IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
521                                     x_return_status      OUT NOCOPY VARCHAR2,
522                                     x_msg_count          OUT NOCOPY NUMBER,
523                                     x_msg_data           OUT NOCOPY VARCHAR2,
524                                     p_chr_id             IN  OKC_K_HEADERS_V.ID%TYPE
525                                    ) IS
526 
527   l_api_name    VARCHAR2(35)    := 'mass_rebook_after_yield';
528   l_proc_name   VARCHAR2(35)    := 'MASS_REBOOK_AFTER_YIELD';
529   l_api_version NUMBER          := 1.0;
530 
531   BEGIN
532 
533      -- call START_ACTIVITY to create savepoint, check compatibility
534      -- and initialize message list
535      x_return_status := OKC_API.START_ACTIVITY(
536                                                p_api_name      => l_api_name,
537                                                p_pkg_name      => G_PKG_NAME,
538                                                p_init_msg_list => p_init_msg_list,
539                                                l_api_version   => l_api_version,
540                                                p_api_version   => p_api_version,
541                                                p_api_type      => G_API_TYPE,
542                                                x_return_status => x_return_status);
543 
544      -- check if activity started successfully
545      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
546        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
547      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
548        raise OKC_API.G_EXCEPTION_ERROR;
549      END IF;
550 
551      okl_mass_rebook_pvt.mass_rebook_after_yield(
552                                                  p_api_version      => p_api_version,
553                                                  p_init_msg_list    => p_init_msg_list,
554                                                  x_return_status    => x_return_status,
555                                                  x_msg_count        => x_msg_count,
556                                                  x_msg_data         => x_msg_data,
557                                                  p_chr_id           => p_chr_id
558                                                 );
559 
560      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
561        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
562      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
563        raise OKC_API.G_EXCEPTION_ERROR;
564      END IF;
565 
566      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
567                           x_msg_data    => x_msg_data);
568 
569 
570      RETURN;
571 
572   EXCEPTION
573       when OKC_API.G_EXCEPTION_ERROR then
574          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
575                         p_api_name  => l_api_name,
576                         p_pkg_name  => G_PKG_NAME,
577                         p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
578                         x_msg_count => x_msg_count,
579                         x_msg_data  => x_msg_data,
580                         p_api_type  => G_API_TYPE);
581 
582       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
583          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
584                         p_api_name  => l_api_name,
585                         p_pkg_name  => G_PKG_NAME,
586                         p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
587                         x_msg_count => x_msg_count,
588                         x_msg_data  => x_msg_data,
589                         p_api_type  => G_API_TYPE);
590 
591       when OTHERS then
592          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
593                         p_api_name  => l_api_name,
594                         p_pkg_name  => G_PKG_NAME,
595                         p_exc_name  => 'OTHERS',
596                         x_msg_count => x_msg_count,
597                         x_msg_data  => x_msg_data,
598                         p_api_type  => G_API_TYPE);
599 
600   END mass_rebook_after_yield;
601 
602 END OKL_MASS_REBOOK_PUB;