[Home] [Help]
PACKAGE BODY: APPS.OKL_AMORT_SCHED_REQ_PVT
Source
1 PACKAGE BODY OKL_AMORT_SCHED_REQ_PVT AS
2 /* $Header: OKLRAMRB.pls 120.6 2008/02/12 18:55:13 srsreeni noship $ */
3 -- Start of comments
4 --
5 -- API name : populate_trx_table
6 -- Pre-reqs : None
7 -- Function : This procedure prepares the data to be inserted into the
8 -- request table
9 -- Parameters :
10 -- IN : p_chr_id - The Contract ID
11 -- p_comments - Comments
12 -- OUT : x_return_status - Standard output parameter for Output status
13 -- x_msg_count - Standard output parameter
14 -- x_msg_data - Standard output parameter
15 -- p_trqv_tbl_type - The data structure containing information to be inserted
16 -- Version : 1.0
17 -- History : srsreeni created.
18 PROCEDURE populate_trx_table(p_chr_id in okc_k_headers_b.id%type,p_comments in varchar2 default null,
19 p_trqv_tbl_type OUT NOCOPY okl_trx_requests_pub.trqv_tbl_type,
20 x_return_status OUT NOCOPY VARCHAR2,x_msg_count OUT NOCOPY NUMBER,x_msg_data OUT NOCOPY VARCHAR2) IS
21
22 CURSOR curr_code_org_id_csr(p_chr_id IN NUMBER) IS
23 SELECT currency_code,org_id
24 FROM OKC_K_HEADERS_B
25 WHERE ID = p_chr_id;
26
27 l_currency_code VARCHAR2(15);
28 l_org_id okc_k_headers_b.org_id%type;
29 l_return_status varchar2(1) := OKL_API.G_RET_STS_SUCCESS;
30 BEGIN
31
32 OPEN curr_code_org_id_csr(p_chr_id);
33 FETCH curr_code_org_id_csr INTO l_currency_code,l_org_id;
34 CLOSE curr_code_org_id_csr;
35
36 p_trqv_tbl_type(1).created_by := OKL_API.G_MISS_NUM;
37 p_trqv_tbl_type(1).creation_date := OKL_API.G_MISS_DATE;
38 p_trqv_tbl_type(1).last_updated_by := OKL_API.G_MISS_NUM;
39 p_trqv_tbl_type(1).last_update_date := OKL_API.G_MISS_DATE;
40 p_trqv_tbl_type(1).request_number := OKL_API.G_MISS_CHAR;
41 p_trqv_tbl_type(1).ID := OKL_API.G_MISS_NUM;
42 p_trqv_tbl_type(1).request_status_code := 'PROCESSED';
43 p_trqv_tbl_type(1).request_type_code := 'AMORITIZATION_SCHEDULE_CURRENT';
44 p_trqv_tbl_type(1).comments := p_comments;
45 p_trqv_tbl_type(1).dnz_khr_id := p_chr_id;
46 p_trqv_tbl_type(1).org_id := l_org_id;
47 p_trqv_tbl_type(1).legal_entity_id := OKL_LEGAL_ENTITY_UTIL.get_khr_le_id(p_chr_id);
48 p_trqv_tbl_type(1).currency_code := l_currency_code;
49 p_trqv_tbl_type(1).start_date := sysdate;
50 p_trqv_tbl_type(1).end_date := sysdate;
51 x_return_status := l_return_status;
52 EXCEPTION
53 WHEN OTHERS THEN
54 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
55 x_msg_data := substr(sqlerrm,1,255);
56 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
57 END populate_trx_table;
58
59 -- API name : process_trx_request
60 -- Pre-reqs : None
61 -- Function : This procedure inserts the data into the TRX_REQUESTS table.
62 -- Parameters :
63 -- IN : p_chr_id - The Contract ID
64 -- p_api_version - Standard Input Parameters
65 -- p_init_msg_list - Standard Input Parameters
66 -- p_comments - Comments
67 -- OUT : x_return_status - Standard output parameter for Output status
68 -- x_msg_count - Standard output parameter
69 -- x_msg_data - Standard output parameter
70 -- x_trx_req_id - The transaction_request_id created for this request
71 -- x_summ_flag - Flag to indicate if Summary data is present or not
72 PROCEDURE process_trx_request(p_chr_id in okc_k_headers_b.id%type,p_api_version IN NUMBER,
73 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,p_comments in varchar2 default null,p_user_id in number,
74 x_return_status OUT NOCOPY VARCHAR2,x_msg_count OUT NOCOPY NUMBER,
75 x_msg_data OUT NOCOPY VARCHAR2,x_trx_req_id OUT NOCOPY okl_trx_requests.id%type,x_summ_flag OUT NOCOPY BOOLEAN) IS
76
77 l_trqv_tbl okl_trx_requests_pub.trqv_tbl_type;
78 x_trqv_tbl okl_trx_requests_pub.trqv_tbl_type;
79 i BINARY_INTEGER;
80 l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_TRX_REQUEST';
81
82 BEGIN
83 x_return_status := OKL_API.G_RET_STS_SUCCESS;
84 x_return_status := OKL_API.START_ACTIVITY (
85 l_api_name
86 ,p_init_msg_list
87 ,'_PVT'
88 ,x_return_status);
89 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
90 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
91 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
92 RAISE OKL_API.G_EXCEPTION_ERROR;
93 END IF;
94 populate_trx_table(p_chr_id => p_chr_id,p_trqv_tbl_type => l_trqv_tbl,
95 x_return_status => x_return_status,
96 x_msg_count => x_msg_count,
97 x_msg_data => x_msg_data);
98 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
99 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
100 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
101 RAISE Okl_Api.G_EXCEPTION_ERROR;
102 END IF;
103 okl_trx_requests_pub.insert_trx_requests(p_api_version => p_api_version,
104 p_init_msg_list => p_init_msg_list,
105 x_return_status => x_return_status,
106 x_msg_count => x_msg_count,
107 x_msg_data => x_msg_data,
108 p_trqv_tbl => l_trqv_tbl,
109 x_trqv_tbl => x_trqv_tbl);
110 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
111 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
112 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
113 RAISE Okl_Api.G_EXCEPTION_ERROR;
114 END IF;
115 --Invoke the procedure to insert the Amoritization Schedule Data
116 okl_amort_sched_process_pvt.generate_amor_sched(
117 p_chr_id => p_chr_id,
118 p_api_version => p_api_version,
119 p_init_msg_list => p_init_msg_list,
120 p_trx_req_id => x_trqv_tbl(1).id,
121 p_user_id => p_user_id,
122 x_return_status => x_return_status,
123 x_msg_count => x_msg_count,
124 x_msg_data => x_msg_data,
125 x_summ_flag => x_summ_flag);
126
127 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
128 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
129 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
130 RAISE Okl_Api.G_EXCEPTION_ERROR;
131 END IF;
132 OKL_API.END_ACTIVITY (x_msg_count,x_msg_data);
133 commit;
134 x_trx_req_id := x_trqv_tbl(1).id;
135 exception
136 WHEN OKL_API.G_EXCEPTION_ERROR THEN
137 --rollback;
138 x_return_status := OKL_API.HANDLE_EXCEPTIONS (
139 p_api_name => l_api_name,
140 p_pkg_name => G_PKG_NAME,
141 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
142 x_msg_count => x_msg_count,
143 x_msg_data => x_msg_data,
144 p_api_type => '_PVT');
145 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
146 --rollback;
147 x_return_status := OKL_API.HANDLE_EXCEPTIONS (
148 p_api_name => l_api_name,
149 p_pkg_name => G_PKG_NAME,
150 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
151 x_msg_count => x_msg_count,
152 x_msg_data => x_msg_data,
153 p_api_type => '_PVT');
154 WHEN OTHERS THEN
155 --rollback;
156 x_return_status := OKL_API.HANDLE_EXCEPTIONS (
157 p_api_name => l_api_name,
158 p_pkg_name => G_PKG_NAME,
159 p_exc_name => 'OTHERS',
160 x_msg_count => x_msg_count,
161 x_msg_data => x_msg_data,
162 p_api_type => '_PVT');
163 END process_trx_request;
164 END OKL_AMORT_SCHED_REQ_PVT;