[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;