DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PAYMENT_SPLIT_PUB

Source


1 PACKAGE BODY OKL_PAYMENT_SPLIT_PUB AS
2 /* $Header: OKLPPMSB.pls 115.1 2003/11/12 22:26:32 avsingh noship $*/
3 
4 -- Global Variables
5    G_INIT_NUMBER NUMBER := -9999;
6    G_PKG_NAME    CONSTANT VARCHAR2(200) := 'OKL_PAYMENT_SPLIT_PUB';
7    G_APP_NAME    CONSTANT VARCHAR2(3)   :=  OKL_API.G_APP_NAME;
8    G_API_TYPE    CONSTANT VARCHAR2(4)   := '_PUB';
9 
10 
11    subtype rgpv_rec_type IS OKL_RULE_PUB.rgpv_rec_type;
12    subtype rulv_rec_type IS OKL_RULE_PUB.rulv_rec_type;
13    subtype rgpv_tbl_type IS OKL_RULE_PUB.rgpv_tbl_type;
14    subtype rulv_tbl_type IS OKL_RULE_PUB.rulv_tbl_type;
15 
16 ------------------------------------------------------------------------------
17 -- PROCEDURE generate_line_payments
18 --
19 --  This procedure proportion-ed the payments accross Financial Asset Top Line
20 --  and Fee Top Line. It returns the information in a table. It does not
21 --  create any payment to the contract
22 --
23 -- Calls:
24 -- Called By:
25 ------------------------------------------------------------------------------
26   PROCEDURE generate_line_payments(
27                           p_api_version   IN  NUMBER,
28                           p_init_msg_list IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
29                           x_return_status OUT NOCOPY VARCHAR2,
30                           x_msg_count     OUT NOCOPY NUMBER,
31                           x_msg_data      OUT NOCOPY VARCHAR2,
32                           p_chr_id        IN  OKC_K_HEADERS_V.ID%TYPE,
33                           p_payment_type  IN  VARCHAR2,
34                           p_amount        IN  NUMBER,
35                           p_start_date    IN  DATE,
36                           p_period        IN  NUMBER,
37                           p_frequency     IN  VARCHAR2,
38                           x_strm_tbl      OUT NOCOPY okl_mass_rebook_pub.strm_lalevl_tbl_type
39                          ) IS
40 
41   l_api_name           VARCHAR2(35)    := 'generate_line_payments';
42   l_proc_name          VARCHAR2(35)    := 'generate_line_payments';
43   l_api_version        CONSTANT NUMBER := 1;
44   l_precision          FND_CURRENCIES.PRECISION%TYPE;
45 
46   BEGIN -- main process begins here
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   => l_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       okl_payment_split_pvt.generate_line_payments(
69                           p_api_version   => p_api_version,
70                           p_init_msg_list => p_init_msg_list,
71                           x_return_status => x_return_status,
72                           x_msg_count     => x_msg_count,
73                           x_msg_data      => x_msg_data,
74                           p_chr_id        => p_chr_id,
75                           p_payment_type  => p_payment_type,
76                           p_amount        => p_amount,
77                           p_start_date    => p_start_date,
78                           p_period        => p_period,
79                           p_frequency     => p_frequency,
80                           x_strm_tbl      => x_strm_tbl
81                          );
82       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
83          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
84       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
85          raise OKC_API.G_EXCEPTION_ERROR;
86       END IF;
87 
88     --Call End Activity
89      OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
90                           x_msg_data    => x_msg_data);
91 
92 EXCEPTION
93 
94       when OKC_API.G_EXCEPTION_ERROR then
95          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
96 			p_api_name  => l_api_name,
97 			p_pkg_name  => G_PKG_NAME,
98 			p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
99 			x_msg_count => x_msg_count,
100 			x_msg_data  => x_msg_data,
101 			p_api_type  => G_API_TYPE);
102 
103       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
104          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
105 			p_api_name  => l_api_name,
106 			p_pkg_name  => G_PKG_NAME,
107 			p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
108 			x_msg_count => x_msg_count,
109 			x_msg_data  => x_msg_data,
110 			p_api_type  => G_API_TYPE);
111 
112       when OTHERS then
113          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
114 			p_api_name  => l_api_name,
115 			p_pkg_name  => G_PKG_NAME,
116 			p_exc_name  => 'OTHERS',
117 			x_msg_count => x_msg_count,
118 			x_msg_data  => x_msg_data,
119 			p_api_type  => G_API_TYPE);
120 
121   END generate_line_payments;
122 
123 END OKL_PAYMENT_SPLIT_PUB;