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