[Home] [Help]
PACKAGE BODY: APPS.OKL_TRANSACTION_PUB
Source
1 PACKAGE BODY OKL_TRANSACTION_PUB AS
2 /* $Header: OKLPTXNB.pls 115.1 2002/08/19 22:05:30 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_CREATE_TRANSACTION_PUB';
8 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
9 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
10
11 -- subtype tcnv_rec_type IS OKL_TRX_CONTRACTS_PVT.tcnv_rec_type;
12 subtype stmv_rec_type IS OKL_STREAMS_PUB.stmv_rec_type;
13 subtype selv_rec_type IS OKL_STREAMS_PUB.selv_rec_type;
14 subtype selv_tbl_type IS OKL_STREAMS_PUB.selv_tbl_type;
15 subtype khrv_rec_type IS OKL_CONTRACT_PUB.khrv_rec_type;
16 subtype chrv_rec_type IS OKL_OKC_MIGRATION_PVT.chrv_rec_type;
17 subtype clev_tbl_type IS OKL_OKC_MIGRATION_PVT.clev_tbl_type;
18 subtype klev_tbl_type IS OKL_CONTRACT_PUB.klev_tbl_type;
19 subtype rulv_rec_type IS OKL_RULE_PUB.rulv_rec_type;
20 subtype rulv_tbl_type IS OKL_RULE_PUB.rulv_tbl_type;
21 subtype rgpv_rec_type IS OKL_RULE_PUB.rgpv_rec_type;
22 subtype cvmv_rec_type IS OKL_VERSION_PUB.cvmv_rec_type;
23
24
25 ------------------------------------------------------------------------------
26 -- PROCEDURE create_transaction
27 --
28 -- This procedure creates Transaction as a first step to REBOOKing
29 --
30 -- Calls:
31 -- Called By:
32 ------------------------------------------------------------------------------
33 PROCEDURE create_transaction(
34 p_api_version IN NUMBER,
35 p_init_msg_list IN VARCHAR2,
36 x_return_status OUT NOCOPY VARCHAR2,
37 x_msg_count OUT NOCOPY NUMBER,
38 x_msg_data OUT NOCOPY VARCHAR2,
39 p_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
40 p_new_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
41 p_reason_code IN VARCHAR2,
42 p_description IN VARCHAR2,
43 p_trx_date IN DATE,
44 p_trx_type IN VARCHAR2, -- 'REBOOK' or 'SPLIT'
45 x_tcnv_rec OUT NOCOPY tcnv_rec_type
46 ) IS
47
48 l_api_name VARCHAR2(35) := 'create_transaction';
49 l_proc_name VARCHAR2(35) := 'CREATE_TRANSACTION';
50 l_api_version CONSTANT NUMBER := 1;
51
52 l_tcnv_rec tcnv_rec_type;
53 l_out_tcnv_rec tcnv_rec_type;
54
55 BEGIN -- main process begins here
56
57 x_return_status := OKC_API.G_RET_STS_SUCCESS;
58 -- call START_ACTIVITY to create savepoint, check compatibility
59 -- and initialize message list
60 x_return_status := OKC_API.START_ACTIVITY(
61 p_api_name => l_api_name,
62 p_pkg_name => G_PKG_NAME,
63 p_init_msg_list => p_init_msg_list,
64 l_api_version => l_api_version,
65 p_api_version => p_api_version,
66 p_api_type => G_API_TYPE,
67 x_return_status => x_return_status);
68
69 -- check if activity started successfully
70 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
71 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
72 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
73 raise OKC_API.G_EXCEPTION_ERROR;
74 END IF;
75
76 okl_transaction_pvt.create_transaction(
77 p_api_version => p_api_version,
78 p_init_msg_list => p_init_msg_list,
79 x_return_status => x_return_status,
80 x_msg_count => x_msg_count,
81 x_msg_data => x_msg_data,
82 p_chr_id => p_chr_id,
83 p_new_chr_id => p_new_chr_id,
84 p_reason_code => p_reason_code,
85 p_description => p_description,
86 p_trx_date => p_trx_date,
87 p_trx_type => p_trx_type,
88 x_tcnv_rec => x_tcnv_rec
89 );
90
91 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
92 RAISE OKC_API.G_EXCEPTION_ERROR;
93 END IF;
94
95 --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
96 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
97 x_msg_data => x_msg_data);
98
99 EXCEPTION
100 when OKC_API.G_EXCEPTION_ERROR then
101 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
102 p_api_name => l_api_name,
103 p_pkg_name => G_PKG_NAME,
104 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
105 x_msg_count => x_msg_count,
106 x_msg_data => x_msg_data,
107 p_api_type => G_API_TYPE);
108
109 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
110 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
111 p_api_name => l_api_name,
112 p_pkg_name => G_PKG_NAME,
113 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
114 x_msg_count => x_msg_count,
115 x_msg_data => x_msg_data,
116 p_api_type => G_API_TYPE);
117
118 when OTHERS then
119 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
120 p_api_name => l_api_name,
121 p_pkg_name => G_PKG_NAME,
122 p_exc_name => 'OTHERS',
123 x_msg_count => x_msg_count,
124 x_msg_data => x_msg_data,
125 p_api_type => G_API_TYPE);
126
127 END create_transaction;
128
129 ------------------------------------------------------------------------------
130 -- PROCEDURE update_trx_status
131 --
132 -- This procedure updates Transaction Status for a transaction
133 --
134 -- Calls:
135 -- Called By:
136 ------------------------------------------------------------------------------
137 PROCEDURE update_trx_status(
138 p_api_version IN NUMBER,
139 p_init_msg_list IN VARCHAR2,
140 x_return_status OUT NOCOPY VARCHAR2,
141 x_msg_count OUT NOCOPY NUMBER,
142 x_msg_data OUT NOCOPY VARCHAR2,
143 p_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
144 p_status IN VARCHAR2,
145 x_tcnv_rec OUT NOCOPY tcnv_rec_type
146 ) IS
147
148 l_api_name VARCHAR2(35) := 'update_trx_status';
149 l_proc_name VARCHAR2(35) := 'UPDATE_TRX_STATUS';
150 l_api_version CONSTANT NUMBER := 1;
151
152 BEGIN
153
154 x_return_status := OKC_API.G_RET_STS_SUCCESS;
155 -- call START_ACTIVITY to create savepoint, check compatibility
156 -- and initialize message list
157 x_return_status := OKC_API.START_ACTIVITY(
158 p_api_name => l_api_name,
159 p_pkg_name => G_PKG_NAME,
160 p_init_msg_list => p_init_msg_list,
161 l_api_version => l_api_version,
162 p_api_version => p_api_version,
163 p_api_type => G_API_TYPE,
164 x_return_status => x_return_status);
165
166 -- check if activity started successfully
167 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
168 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
169 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
170 raise OKC_API.G_EXCEPTION_ERROR;
171 END IF;
172
173 okl_transaction_pvt.update_trx_status(
174 p_api_version => p_api_version,
175 p_init_msg_list => p_init_msg_list,
176 x_return_status => x_return_status,
177 x_msg_count => x_msg_count,
178 x_msg_data => x_msg_data,
179 p_chr_id => p_chr_id,
180 p_status => p_status,
181 x_tcnv_rec => x_tcnv_rec
182 );
183 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
184 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
185 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
186 raise OKC_API.G_EXCEPTION_ERROR;
187 END IF;
188
189 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
190 x_msg_data => x_msg_data);
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 update_trx_status;
220
221
222 ------------------------------------------------------------------------------
223 -- PROCEDURE abandon_revisions
224 --
225 -- This procedure abandons contracts with under Revisions
226 --
227 -- Calls:
228 -- Called By:
229 ------------------------------------------------------------------------------
230 PROCEDURE abandon_revisions(
231 p_api_version IN NUMBER,
232 p_init_msg_list IN VARCHAR2,
233 x_return_status OUT NOCOPY VARCHAR2,
234 x_msg_count OUT NOCOPY NUMBER,
235 x_msg_data OUT NOCOPY VARCHAR2,
236 p_rev_tbl IN rev_tbl_type,
237 p_contract_status IN VARCHAR2,
238 p_tsu_code IN VARCHAR2) IS
239
240 l_api_name VARCHAR2(35) := 'abandon_revisions';
241 l_proc_name VARCHAR2(35) := 'UPDATE_TRX_STATUS';
242 l_api_version CONSTANT NUMBER := 1;
243
244 BEGIN
245
246
247 x_return_status := OKC_API.G_RET_STS_SUCCESS;
248 -- call START_ACTIVITY to create savepoint, check compatibility
249 -- and initialize message list
250 x_return_status := OKC_API.START_ACTIVITY(
251 p_api_name => l_api_name,
252 p_pkg_name => G_PKG_NAME,
253 p_init_msg_list => p_init_msg_list,
254 l_api_version => l_api_version,
255 p_api_version => p_api_version,
256 p_api_type => G_API_TYPE,
257 x_return_status => x_return_status);
258
259 -- check if activity started successfully
260 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
261 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
262 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
263 raise OKC_API.G_EXCEPTION_ERROR;
264 END IF;
265 okl_transaction_pvt.abandon_revisions(
266 p_api_version => p_api_version,
267 p_init_msg_list => p_init_msg_list,
268 x_return_status => x_return_status,
269 x_msg_count => x_msg_count,
270 x_msg_data => x_msg_data,
271 p_rev_tbl => p_rev_tbl,
272 p_contract_status => p_contract_status,
273 p_tsu_code => p_tsu_code);
274
275 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
276 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
277 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
278 raise OKC_API.G_EXCEPTION_ERROR;
279 END IF;
280
281 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
282 x_msg_data => x_msg_data);
283
284 EXCEPTION
285 when OKC_API.G_EXCEPTION_ERROR then
286 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
287 p_api_name => l_api_name,
288 p_pkg_name => G_PKG_NAME,
289 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
290 x_msg_count => x_msg_count,
291 x_msg_data => x_msg_data,
292 p_api_type => G_API_TYPE);
293
294 when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
295 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
296 p_api_name => l_api_name,
297 p_pkg_name => G_PKG_NAME,
298 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
299 x_msg_count => x_msg_count,
300 x_msg_data => x_msg_data,
301 p_api_type => G_API_TYPE);
302
303 when OTHERS then
304 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
305 p_api_name => l_api_name,
306 p_pkg_name => G_PKG_NAME,
307 p_exc_name => 'OTHERS',
308 x_msg_count => x_msg_count,
309 x_msg_data => x_msg_data,
310 p_api_type => G_API_TYPE);
311 END abandon_revisions;
312
313 END OKL_TRANSACTION_PUB;