[Home] [Help]
PACKAGE BODY: APPS.OKL_XLA_EVENTS_PVT
Source
1 PACKAGE BODY OKL_XLA_EVENTS_PVT AS
2 /* $Header: OKLRCSEB.pls 120.1.12010000.3 2008/10/03 16:43:24 rkuttiya ship $ */
3
4 -- Private API to write messages to log. If logging is enabled, then messages
5 -- are logged based on the level.
6 PROCEDURE WRITE_TO_LOG(p_message IN VARCHAR2)
7 IS
8 L_DEBUG_ENABLED CONSTANT VARCHAR2(10) := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
9 BEGIN
10
11 IF (L_DEBUG_ENABLED='Y' and fnd_log.level_statement >= fnd_log.g_current_runtime_level)
12 THEN
13 fnd_log.string(fnd_log.level_statement,
14 'okl_xla_events_pvt',
15 p_message );
16 END IF;
17
18 IF L_DEBUG_ENABLED = 'Y' then
19 fnd_file.put_line (fnd_file.log,p_message);
20 okl_debug_pub.logmessage(p_message);
21 END IF;
22
23 END WRITE_TO_LOG;
24
25 -- Private procedure to return the entity code and event class
26 -- based on the transaction type
27 PROCEDURE get_entity_event_class(p_try_id IN NUMBER
28 ,p_action_type IN VARCHAR2 DEFAULT NULL
29 ,x_event_type_code OUT NOCOPY VARCHAR2
30 ,x_entity_type_code OUT NOCOPY VARCHAR2
31 ,x_event_class_code OUT NOCOPY VARCHAR2
32 ,x_return_status OUT NOCOPY VARCHAR2)
33 IS
34
35 l_entity_type_code VARCHAR2(30);
36 l_event_class_code VARCHAR2(30);
37
38 l_trx_type_name VARCHAR2(150);
39 EVENT_CLASS_CODE_EXCP EXCEPTION;
40
41 BEGIN
42 SELECT DECODE(tryb.accounting_event_class_code
43 ,'ACCRUAL', 'TRANSACTIONS'
44 ,'GENERAL_LOSS_PROVISION', 'TRANSACTIONS'
45 ,'SPECIFIC_LOSS_PROVISION', 'TRANSACTIONS'
46 ,'RECEIPT_APPLICATION', 'TRANSACTIONS'
47 ,'PRINCIPAL_ADJUSTMENT', 'TRANSACTIONS'
48 ,'EVERGREEN', 'CONTRACTS'
49 ,'BOOKING', 'CONTRACTS'
50 ,'REBOOK', 'CONTRACTS'
51 ,'RE_LEASE', 'CONTRACTS'
52 ,'TERMINATION', 'CONTRACTS'
53 ,'UPFRONT_TAX', 'CONTRACTS'
54 ,'ASSET_DISPOSITION', 'CONTRACTS'
55 ,'SPLIT_ASSET', 'CONTRACTS'
56 ,'INVESTOR', 'INVESTOR_AGREEMENTS'
57 ,'UNKNOWN') entity_type_code,
58 tryb.accounting_event_class_code
59 INTO l_entity_type_code,
60 l_event_class_code
61 FROM okl_trx_types_b tryb
62 WHERE tryb.id = p_try_id;
63
64 x_entity_type_code := l_entity_type_code;
65 x_event_class_code := l_event_class_code;
66
67 IF p_action_type = 'CREATE' THEN
68 x_event_type_code :=
69 CASE
70 WHEN l_event_class_code = 'ACCRUAL' THEN 'ACCRUAL_CREATE'
71 WHEN l_event_class_code = 'GENERAL_LOSS_PROVISION' THEN 'GENERAL_LOSS_CREATE'
72 WHEN l_event_class_code = 'SPECIFIC_LOSS_PROVISION' THEN 'SPECIFIC_LOSS_CREATE'
73 WHEN l_event_class_code = 'RECEIPT_APPLICATION' THEN 'RECEIPT_APPLICATION_CREATE'
74 WHEN l_event_class_code = 'PRINCIPAL_ADJUSTMENT' THEN 'PRINCIPAL_ADJUSTMENT_CREATE'
75 WHEN l_event_class_code = 'EVERGREEN' THEN 'EVERGREEN_CREATE'
76 WHEN l_event_class_code = 'BOOKING' THEN 'BOOKING_CREATE'
77 WHEN l_event_class_code = 'REBOOK' THEN 'REBOOK_CREATE'
78 WHEN l_event_class_code = 'RE_LEASE' THEN 'RE_LEASE_CREATE'
79 WHEN l_event_class_code = 'TERMINATION' THEN 'TERMINATION_CREATE'
80 WHEN l_event_class_code = 'UPFRONT_TAX' THEN 'UPFRONT_TAX_CREATE'
81 WHEN l_event_class_code = 'ASSET_DISPOSITION' THEN 'ASSET_DISPOSITION_CREATE'
82 WHEN l_event_class_code = 'SPLIT_ASSET' THEN 'SPLIT_ASSET_CREATE'
83 WHEN l_event_class_code = 'INVESTOR' THEN 'INVESTOR_CREATE'
84 ELSE 'UNKNOWN'
85 END;
86 ELSIF p_action_type = 'REVERSE' THEN
87 x_event_type_code :=
88 CASE
89 WHEN l_event_class_code = 'ACCRUAL' THEN 'ACCRUAL_REVERSE'
90 WHEN l_event_class_code = 'BOOKING' THEN 'BOOKING_REVERSE'
91 WHEN l_event_class_code = 'GENERAL_LOSS_PROVISION' THEN 'GENERAL_LOSS_REVERSE'
92 WHEN l_event_class_code = 'SPECIFIC_LOSS_PROVISION' THEN 'SPECIFIC_LOSS_REVERSE'
93 WHEN l_event_class_code = 'UPFRONT_TAX' THEN 'UPFRONT_TAX_REVERSE'
94 ELSE 'UNKNOWN'
95 END;
96 ELSE
97 x_event_type_code := NULL;
98 END IF;
99
100 IF l_entity_type_code = 'UNKNOWN' OR
101 x_event_type_code = 'UNKNOWN' THEN
102
103 SELECT name
104 INTO l_trx_type_name
105 FROM okl_trx_types_tl
106 WHERE id = p_try_id
107 AND LANGUAGE = USERENV('LANG');
108
109 RAISE EVENT_CLASS_CODE_EXCP;
110 END IF;
111
112 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
113
114 EXCEPTION
115 WHEN NO_DATA_FOUND THEN
116 Okl_Api.set_message(p_app_name => g_app_name,
117 p_msg_name => 'OKL_AM_NO_TRX_TYPE_FOUND',
118 p_token1 => 'TRY_NAME',
119 p_token1_value => p_try_id);
120
121 x_return_status := Okl_Api.G_RET_STS_ERROR;
122
123 WHEN EVENT_CLASS_CODE_EXCP THEN
124 Okl_Api.set_message(p_app_name => g_app_name,
125 p_msg_name => 'OKL_INVALID_EVENT_CLASS',
126 p_token1 => 'TRANSACTION_TYPE',
127 p_token1_value => l_trx_type_name);
128
129 x_return_status := Okl_Api.G_RET_STS_ERROR;
130
131 END get_entity_event_class;
132
133 -------------------------------------------------------------------------------
134 -- Event creation routines
135 -------------------------------------------------------------------------------
136 -- Public function to raise an accounting event in SLA and return the event id.
137 -- If an error occurs, return status is set to error code and -1 is returned.
138 FUNCTION create_event(
139 p_api_version IN NUMBER
140 ,p_init_msg_list IN VARCHAR2
141 ,x_return_status OUT NOCOPY VARCHAR2
142 ,x_msg_count OUT NOCOPY NUMBER
143 ,x_msg_data OUT NOCOPY VARCHAR2
144 ,p_tcn_id IN NUMBER
145 ,p_gl_date IN DATE
146 ,p_action_type IN VARCHAR2
147 ,p_representation_code IN VARCHAR2
148 ) RETURN INTEGER IS
149
150 CURSOR get_tcn_csr is
151 SELECT set_of_books_id,
152 legal_entity_id,
153 trunc(date_transaction_occurred) transaction_date,
154 trunc(canceled_date) cancelled_date,
155 trx_number,
156 try_id
157 FROM okl_trx_contracts
158 WHERE id = p_tcn_id;
159
160 get_tcn_rec get_tcn_csr%ROWTYPE;
161
162 l_event_source_info xla_events_pub_pkg.t_event_source_info;
163 l_security_context xla_events_pub_pkg.t_security;
164
165 l_transaction_date DATE;
166 l_event_id NUMBER;
167 l_entity_type_code VARCHAR2(30);
168 l_event_class_code VARCHAR2(30);
169 l_event_type_code VARCHAR2(30);
170
171 l_api_name VARCHAR2(30) := 'CREATE_EVENT';
172 l_api_version CONSTANT NUMBER := 1.0;
173 l_sla_api_name VARCHAR2(30);
174 l_return_status VARCHAR2(1);
175
176 l_existing_event_id NUMBER;
177 l_existing_event_date DATE;
178
179 l_msg_count NUMBER;
180 l_msg_data VARCHAR2(2000);
181
182 BEGIN
183
184 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
185 ,G_PKG_NAME
186 ,p_init_msg_list
187 ,l_api_version
188 ,p_api_version
189 ,'_PVT'
190 ,x_return_status);
191
192 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
193 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
194 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
195 RAISE Okl_Api.G_EXCEPTION_ERROR;
196 END IF;
197
198 WRITE_TO_LOG('');
199 WRITE_TO_LOG('Inside the call to CREATE_EVENT');
200
201 WRITE_TO_LOG('Input Parameters: ');
202 WRITE_TO_LOG('===================================');
203 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
204 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
205 WRITE_TO_LOG('p_action_type : ' || p_action_type);
206 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
207
208 OPEN get_tcn_csr;
209 FETCH get_tcn_csr into get_tcn_rec;
210 CLOSE get_tcn_csr;
211
212 WRITE_TO_LOG('Contents of GET_TCN_REC:');
213 WRITE_TO_LOG('===================================');
214 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
215 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
216 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
217 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
218 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
219 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
220
221 get_entity_event_class(p_try_id => get_tcn_rec.try_id
222 ,p_action_type => p_action_type
223 ,x_event_type_code => l_event_type_code
224 ,x_entity_type_code => l_entity_type_code
225 ,x_event_class_code => l_event_class_code
226 ,x_return_status => l_return_status);
227
228 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
229 RAISE Okl_Api.G_EXCEPTION_ERROR;
230 END IF;
231
232 l_event_source_info.source_application_id := g_application_id;
233 l_event_source_info.application_id := g_application_id;
234 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
235 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
236 l_event_source_info.entity_type_code := l_entity_type_code;
237 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
238 l_event_source_info.source_id_int_1 := p_tcn_id;
239
240 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
241
242 WRITE_TO_LOG('Contents of l_event_source_info :');
243 WRITE_TO_LOG('===================================');
244 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
245 l_event_source_info.source_application_id);
246 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
247 l_event_source_info.application_id);
248 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
249 l_event_source_info.legal_entity_id);
250 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
251 l_event_source_info.ledger_id);
252 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
253 l_event_source_info.entity_type_code);
254 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
255 l_event_source_info.transaction_number);
256 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
257 l_event_source_info.source_id_int_1);
258
259 IF p_action_type = 'CREATE' THEN
260 l_transaction_date := get_tcn_rec.transaction_date;
261 ELSIF p_action_type = 'REVERSE' THEN
262 l_transaction_date := get_tcn_rec.cancelled_date;
263 END IF;
264
265 BEGIN
266 l_sla_api_name := 'CREATE_EVENT';
267 l_event_id :=
268 xla_events_pub_pkg.create_event(p_event_source_info => l_event_source_info
269 ,p_event_type_code => l_event_type_code
270 ,p_event_date => p_gl_date
271 ,p_event_status_code => 'U'
272 ,p_event_number => NULL
273 ,p_transaction_date => l_transaction_date
274 ,p_reference_info => NULL
275 ,p_valuation_method => p_representation_code
276 ,p_security_context => l_security_context
277 );
278 EXCEPTION
279 WHEN OTHERS THEN
280 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
281 p_msg_name => g_unexpected_error,
282 p_token1 => g_sqlcode_token,
283 p_token1_value => SQLCODE,
284 p_token2 => g_sqlerrm_token,
285 p_token2_value => SQLERRM);
286
287 RAISE Okl_Api.G_EXCEPTION_ERROR;
288 END;
289
290 WRITE_TO_LOG('');
291 WRITE_TO_LOG('Done with CREATE_EVENT');
292
293 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
294 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
295
296 return l_event_id;
297
298 EXCEPTION
299 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
300 IF get_tcn_csr%ISOPEN THEN
301 CLOSE get_tcn_csr;
302 END IF;
303
304 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
305 ,g_pkg_name
306 ,'OKL_API.G_RET_STS_ERROR'
307 ,x_msg_count
308 ,x_msg_data
309 ,'_PVT');
310 RETURN -1;
311 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
312 IF get_tcn_csr%ISOPEN THEN
313 CLOSE get_tcn_csr;
314 END IF;
315
316 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
317 p_msg_name => g_unexpected_error,
318 p_token1 => g_sqlcode_token,
319 p_token1_value => SQLCODE,
320 p_token2 => g_sqlerrm_token,
321 p_token2_value => SQLERRM);
322
323 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
324 ,g_pkg_name
325 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
326 ,x_msg_count
327 ,x_msg_data
328 ,'_PVT');
329 RETURN -1;
330
331 WHEN OTHERS THEN
332 IF get_tcn_csr%ISOPEN THEN
333 CLOSE get_tcn_csr;
334 END IF;
335
336 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
337 (l_api_name,
338 G_PKG_NAME,
339 'OTHERS',
340 x_msg_count,
341 x_msg_data,
342 '_PVT');
343
344 return -1;
345 END create_event;
346
347
348 -------------------------------------------------------------------------------
349 -- Event updation routines
350 -------------------------------------------------------------------------------
351 -- API to update event status of one or more matching events within an entity
352 PROCEDURE update_event_status(
353 p_api_version IN NUMBER
354 ,p_init_msg_list IN VARCHAR2
355 ,x_return_status OUT NOCOPY VARCHAR2
356 ,x_msg_count OUT NOCOPY NUMBER
357 ,x_msg_data OUT NOCOPY VARCHAR2
358 ,p_tcn_id IN NUMBER
359 ,p_gl_date IN DATE
360 ,p_action_type IN VARCHAR2
361 ,p_representation_code IN VARCHAR2
362 ,p_event_status_code IN VARCHAR2) IS
363
364 CURSOR get_tcn_csr is
365 SELECT set_of_books_id,
366 legal_entity_id,
367 TRUNC(date_transaction_occurred) transaction_date,
368 TRUNC(canceled_date) cancelled_date,
369 trx_number,
370 try_id
371 FROM okl_trx_contracts
372 WHERE id = p_tcn_id;
373
374 get_tcn_rec get_tcn_csr%ROWTYPE;
375
376 l_event_source_info xla_events_pub_pkg.t_event_source_info;
377 l_security_context xla_events_pub_pkg.t_security;
378
379 l_transaction_date DATE;
380 l_event_id NUMBER;
381 l_entity_type_code VARCHAR2(30);
382 l_event_class_code VARCHAR2(30);
383 l_event_type_code VARCHAR2(30);
384
385 l_api_name VARCHAR2(30) := 'UPDATE_EVENT_STATUS';
386 l_api_version CONSTANT NUMBER := 1.0;
387 l_sla_api_name VARCHAR2(30);
388 l_return_status VARCHAR2(1);
389 BEGIN
390
391 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
392 ,G_PKG_NAME
393 ,p_init_msg_list
394 ,l_api_version
395 ,p_api_version
396 ,'_PVT'
397 ,x_return_status);
398
399 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
400 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
401 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
402 RAISE Okl_Api.G_EXCEPTION_ERROR;
403 END IF;
404
405 WRITE_TO_LOG('');
406 WRITE_TO_LOG('Inside the call to ' || l_api_name);
407
408 WRITE_TO_LOG('Input Parameters: ');
409 WRITE_TO_LOG('===================================');
410 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
411 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
412 WRITE_TO_LOG('p_action_type : ' || p_action_type);
413 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
414 WRITE_TO_LOG('p_event_status_code : ' || p_event_status_code);
415
416 OPEN get_tcn_csr;
417 FETCH get_tcn_csr into get_tcn_rec;
418 CLOSE get_tcn_csr;
419
420 WRITE_TO_LOG('Contents of GET_TCN_REC:');
421 WRITE_TO_LOG('===================================');
422 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
423 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
424 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
425 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
426 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
427 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
428
429 get_entity_event_class(p_try_id => get_tcn_rec.try_id
430 ,p_action_type => p_action_type
431 ,x_event_type_code => l_event_type_code
432 ,x_entity_type_code => l_entity_type_code
433 ,x_event_class_code => l_event_class_code
434 ,x_return_status => l_return_status);
435
436 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
437 RAISE Okl_Api.G_EXCEPTION_ERROR;
438 END IF;
439
440 l_event_source_info.source_application_id := g_application_id;
441 l_event_source_info.application_id := g_application_id;
442 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
443 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
444 l_event_source_info.entity_type_code := l_entity_type_code;
445 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
446 l_event_source_info.source_id_int_1 := p_tcn_id;
447
448 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
449
450 WRITE_TO_LOG('Contents of l_event_source_info :');
451 WRITE_TO_LOG('===================================');
452 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
453 l_event_source_info.source_application_id);
454 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
455 l_event_source_info.application_id);
456 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
457 l_event_source_info.legal_entity_id);
458 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
459 l_event_source_info.ledger_id);
460 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
461 l_event_source_info.entity_type_code);
462 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
463 l_event_source_info.transaction_number);
464 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
465 l_event_source_info.source_id_int_1);
466
467 IF p_action_type = 'CREATE' THEN
468 l_transaction_date := get_tcn_rec.transaction_date;
469 ELSIF p_action_type = 'REVERSE' THEN
470 l_transaction_date := get_tcn_rec.cancelled_date;
471 END IF;
472
473 BEGIN
474 l_sla_api_name := 'UPDATE_EVENT_STATUS';
475 xla_events_pub_pkg.update_event_status(p_event_source_info => l_event_source_info
476 ,p_event_class_code => l_event_class_code
477 ,p_event_type_code => l_event_type_code
478 ,p_event_date => p_gl_date
479 ,p_event_status_code => p_event_status_code
480 ,p_valuation_method => p_representation_code
481 ,p_security_context => l_security_context);
482 EXCEPTION
483 WHEN OTHERS THEN
484 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
485 p_msg_name => g_unexpected_error,
486 p_token1 => g_sqlcode_token,
487 p_token1_value => SQLCODE,
488 p_token2 => g_sqlerrm_token,
489 p_token2_value => SQLERRM);
490
491 RAISE Okl_Api.G_EXCEPTION_ERROR;
492 END;
493
494 WRITE_TO_LOG('');
495 WRITE_TO_LOG('Done with ' || l_api_name);
496
497 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
498 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
499
500 EXCEPTION
501 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
502 IF get_tcn_csr%ISOPEN THEN
503 CLOSE get_tcn_csr;
504 END IF;
505
506 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
507 ,g_pkg_name
508 ,'OKL_API.G_RET_STS_ERROR'
509 ,x_msg_count
510 ,x_msg_data
511 ,'_PVT');
512
513 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
514 IF get_tcn_csr%ISOPEN THEN
515 CLOSE get_tcn_csr;
516 END IF;
517
518 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
519 p_msg_name => g_unexpected_error,
520 p_token1 => g_sqlcode_token,
521 p_token1_value => SQLCODE,
522 p_token2 => g_sqlerrm_token,
523 p_token2_value => SQLERRM);
524
525 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
526 ,g_pkg_name
527 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
528 ,x_msg_count
529 ,x_msg_data
530 ,'_PVT');
531
532 WHEN OTHERS THEN
533 IF get_tcn_csr%ISOPEN THEN
534 CLOSE get_tcn_csr;
535 END IF;
536
537 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
538 (l_api_name,
539 G_PKG_NAME,
540 'OTHERS',
541 x_msg_count,
542 x_msg_data,
543 '_PVT');
544
545 END update_event_status;
546
547 -------------------------------------------------------------------------+
548 -- Public API to update the attributes of an event. Based on the parameters
549 -- passed, API calls an appropriate SLA's update event APIs.
550 PROCEDURE update_event(
551 p_api_version IN NUMBER
552 ,p_init_msg_list IN VARCHAR2
553 ,x_return_status OUT NOCOPY VARCHAR2
554 ,x_msg_count OUT NOCOPY NUMBER
555 ,x_msg_data OUT NOCOPY VARCHAR2
556 ,p_tcn_id IN NUMBER
557 ,p_gl_date IN DATE
558 ,p_action_type IN VARCHAR2
559 ,p_event_id IN NUMBER
560 ,p_event_type_code IN VARCHAR2
561 ,p_event_status_code IN VARCHAR2
562 ,p_event_number IN NUMBER
563 ,p_update_ref_info IN VARCHAR2
564 ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
565 ,p_representation_code IN VARCHAR2) IS
566
567 CURSOR get_tcn_csr is
568 SELECT set_of_books_id,
569 legal_entity_id,
570 trunc(date_transaction_occurred) transaction_date,
571 trunc(canceled_date) cancelled_date,
572 trx_number,
573 try_id
574 FROM okl_trx_contracts
575 WHERE id = p_tcn_id;
576
577 get_tcn_rec get_tcn_csr%ROWTYPE;
578
579 l_event_source_info xla_events_pub_pkg.t_event_source_info;
580 l_security_context xla_events_pub_pkg.t_security;
581
582 l_transaction_date DATE;
583 l_event_id NUMBER;
584 l_entity_type_code VARCHAR2(30);
585 l_event_class_code VARCHAR2(30);
586 l_event_type_code VARCHAR2(30);
587
588 l_api_name VARCHAR2(20) := 'UPDATE_EVENT';
589 l_api_version CONSTANT NUMBER := 1.0;
590 l_return_status VARCHAR2(1);
591 l_sla_api_name VARCHAR2(60);
592
593 BEGIN
594 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
595 ,G_PKG_NAME
596 ,p_init_msg_list
597 ,l_api_version
598 ,p_api_version
599 ,'_PVT'
600 ,x_return_status);
601
602 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
603 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
604 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
605 RAISE Okl_Api.G_EXCEPTION_ERROR;
606 END IF;
607
608 WRITE_TO_LOG('');
609 WRITE_TO_LOG('Inside the call to ' || l_api_name);
610
611 WRITE_TO_LOG('Input Parameters: ');
612 WRITE_TO_LOG('===================================');
613 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
614 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
615 WRITE_TO_LOG('p_action_type : ' || p_action_type);
616 WRITE_TO_LOG('p_event_id : ' || p_event_id);
617 WRITE_TO_LOG('p_event_type_code : ' || p_event_type_code);
618 WRITE_TO_LOG('p_event_status_code : ' || p_event_status_code);
619 WRITE_TO_LOG('p_event_number : ' || p_event_number);
620 WRITE_TO_LOG('p_update_ref_info : ' || p_update_ref_info);
621 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
622
623 OPEN get_tcn_csr;
624 FETCH get_tcn_csr into get_tcn_rec;
625 CLOSE get_tcn_csr;
626
627 WRITE_TO_LOG('Contents of GET_TCN_REC:');
628 WRITE_TO_LOG('===================================');
629 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
630 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
631 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
632 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
633 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
634 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
635
636 get_entity_event_class(p_try_id => get_tcn_rec.try_id
637 ,p_action_type => p_action_type
638 ,x_event_type_code => l_event_type_code
639 ,x_entity_type_code => l_entity_type_code
640 ,x_event_class_code => l_event_class_code
641 ,x_return_status => l_return_status);
642
643 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
644 RAISE Okl_Api.G_EXCEPTION_ERROR;
645 END IF;
646
647 l_event_source_info.source_application_id := g_application_id;
648 l_event_source_info.application_id := g_application_id;
649 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
650 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
651 l_event_source_info.entity_type_code := l_entity_type_code;
652 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
653 l_event_source_info.source_id_int_1 := p_tcn_id;
654
655 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
656
657 WRITE_TO_LOG('Contents of l_event_source_info :');
658 WRITE_TO_LOG('===================================');
659 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
660 l_event_source_info.source_application_id);
661 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
662 l_event_source_info.application_id);
663 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
664 l_event_source_info.legal_entity_id);
665 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
666 l_event_source_info.ledger_id);
667 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
668 l_event_source_info.entity_type_code);
669 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
670 l_event_source_info.transaction_number);
671 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
672 l_event_source_info.source_id_int_1);
673
674 IF p_action_type = 'CREATE' THEN
675 l_transaction_date := get_tcn_rec.transaction_date;
676 ELSIF p_action_type = 'REVERSE' THEN
677 l_transaction_date := get_tcn_rec.cancelled_date;
678 END IF;
679
680 BEGIN
681 IF NVL(p_update_ref_info, 'N') = 'N' AND p_event_number IS NULL THEN
682 l_sla_api_name := 'UPDATE_EVENT';
683 -- update one of event type, event status, event date
684 xla_events_pub_pkg.update_event(p_event_source_info => l_event_source_info
685 ,p_event_id => p_event_id
686 ,p_event_type_code => p_event_type_code
687 ,p_event_date => p_gl_date
688 ,p_event_status_code => p_event_status_code
689 ,p_valuation_method => p_representation_code
690 ,p_security_context => l_security_context
691 ,p_transaction_date => l_transaction_date);
692
693 ELSIF NVL(p_update_ref_info, 'N') = 'N' AND p_event_number IS NOT NULL THEN
694 l_sla_api_name := 'UPDATE_EVENT FOR EVENT NUMBER';
695 -- update one of event type, event status, event date and event number
696 xla_events_pub_pkg.update_event(p_event_source_info => l_event_source_info
697 ,p_event_id => p_event_id
698 ,p_event_type_code => p_event_type_code
699 ,p_event_date => p_gl_date
700 ,p_event_status_code => p_event_status_code
701 ,p_event_number => p_event_number
702 ,p_valuation_method => p_representation_code
703 ,p_security_context => l_security_context
704 ,p_transaction_date => l_transaction_date);
705
706 ELSIF NVL(p_update_ref_info, 'N') = 'Y' AND p_event_number IS NULL THEN
707 l_sla_api_name := 'UPDATE_EVENT FOR REF INFO';
708 -- update one of event type, event status, event date and reference info
709 xla_events_pub_pkg.update_event(p_event_source_info => l_event_source_info
710 ,p_event_id => p_event_id
711 ,p_event_type_code => p_event_type_code
712 ,p_event_date => p_gl_date
713 ,p_event_status_code => p_event_status_code
714 ,p_reference_info => p_reference_info
715 ,p_valuation_method => p_representation_code
716 ,p_security_context => l_security_context
717 ,p_transaction_date => l_transaction_date);
718
719 ELSIF NVL(p_update_ref_info, 'N') = 'Y' AND p_event_number IS NOT NULL THEN
720 l_sla_api_name := 'UPDATE_EVENT FOR EVENT NUMBER AND REF INFO';
721 -- update one of event type, event status, event date, reference info and event number
722 xla_events_pub_pkg.update_event(p_event_source_info => l_event_source_info
723 ,p_event_id => p_event_id
724 ,p_event_type_code => p_event_type_code
725 ,p_event_date => p_gl_date
726 ,p_event_status_code => p_event_status_code
727 ,p_event_number => p_event_number
728 ,p_reference_info => p_reference_info
729 ,p_valuation_method => p_representation_code
730 ,p_security_context => l_security_context
731 ,p_transaction_date => l_transaction_date);
732
733 END IF;
734 EXCEPTION
735 WHEN OTHERS THEN
736 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
737 p_msg_name => g_unexpected_error,
738 p_token1 => g_sqlcode_token,
739 p_token1_value => SQLCODE,
740 p_token2 => g_sqlerrm_token,
741 p_token2_value => SQLERRM);
742
743 RAISE Okl_Api.G_EXCEPTION_ERROR;
744 END;
745
746 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
747 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
748
749 WRITE_TO_LOG('');
750 WRITE_TO_LOG('Done with ' || l_api_name);
751
752 EXCEPTION
753 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
754 IF get_tcn_csr%ISOPEN THEN
755 CLOSE get_tcn_csr;
756 END IF;
757
758 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
759 ,g_pkg_name
760 ,'OKL_API.G_RET_STS_ERROR'
761 ,x_msg_count
762 ,x_msg_data
763 ,'_PVT');
764
765 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
766 IF get_tcn_csr%ISOPEN THEN
767 CLOSE get_tcn_csr;
768 END IF;
769
770 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
771 p_msg_name => g_unexpected_error,
772 p_token1 => g_sqlcode_token,
773 p_token1_value => SQLCODE,
774 p_token2 => g_sqlerrm_token,
775 p_token2_value => SQLERRM);
776
777 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
778 ,g_pkg_name
779 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
780 ,x_msg_count
781 ,x_msg_data
782 ,'_PVT');
783
784 WHEN OTHERS THEN
785 IF get_tcn_csr%ISOPEN THEN
786 CLOSE get_tcn_csr;
787 END IF;
788
789 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
790 (l_api_name,
791 G_PKG_NAME,
792 'OTHERS',
793 x_msg_count,
794 x_msg_data,
795 '_PVT');
796 END update_event;
797
798 -------------------------------------------------------------------------+
799 -- API to update the event date. This is called by Period Sweep Program.
800 -- p_gl_date represents the new event date that is stamped on events.
801
802 PROCEDURE update_event(
803 p_api_version IN NUMBER
804 ,p_init_msg_list IN VARCHAR2
805 ,x_return_status OUT NOCOPY VARCHAR2
806 ,x_msg_count OUT NOCOPY NUMBER
807 ,x_msg_data OUT NOCOPY VARCHAR2
808 ,p_tcn_id IN NUMBER
809 ,p_event_id IN NUMBER
810 ,p_gl_date IN DATE) IS
811
812 CURSOR get_tcn_csr is
813 SELECT set_of_books_id,
814 legal_entity_id,
815 trunc(date_transaction_occurred) transaction_date,
816 trunc(canceled_date) cancelled_date,
817 trx_number,
818 try_id,
819 representation_code
820 FROM okl_trx_contracts_all
821 WHERE id = p_tcn_id;
822
823 get_tcn_rec get_tcn_csr%ROWTYPE;
824
825 l_event_source_info xla_events_pub_pkg.t_event_source_info;
826 l_security_context xla_events_pub_pkg.t_security;
827
828 l_transaction_date DATE;
829 l_event_id NUMBER;
830 l_entity_type_code VARCHAR2(30);
831 l_event_class_code VARCHAR2(30);
832 l_event_type_code VARCHAR2(30);
833
834 l_api_name VARCHAR2(20) := 'UPDATE_EVENT';
835 l_api_version CONSTANT NUMBER := 1.0;
836 l_return_status VARCHAR2(1);
837 l_sla_api_name VARCHAR2(60);
838
839 BEGIN
840 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
841 ,G_PKG_NAME
842 ,p_init_msg_list
843 ,l_api_version
844 ,p_api_version
845 ,'_PVT'
846 ,x_return_status);
847
848 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
849 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
850 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
851 RAISE Okl_Api.G_EXCEPTION_ERROR;
852 END IF;
853
854 WRITE_TO_LOG('');
855 WRITE_TO_LOG('Inside the call to ' || l_api_name);
856
857 WRITE_TO_LOG('Input Parameters: ');
858 WRITE_TO_LOG('===================================');
859 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
860 WRITE_TO_LOG('p_event_id : ' || p_event_id);
861 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
862
863 OPEN get_tcn_csr;
864 FETCH get_tcn_csr into get_tcn_rec;
865 CLOSE get_tcn_csr;
866
867 WRITE_TO_LOG('Contents of GET_TCN_REC:');
868 WRITE_TO_LOG('===================================');
869 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
870 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
871 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
872 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
873 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
874 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
875 WRITE_TO_LOG('get_tcn_rec.representation_code : ' || get_tcn_rec.representation_code);
876
877 get_entity_event_class(p_try_id => get_tcn_rec.try_id
878 ,p_action_type => NULL
879 ,x_event_type_code => l_event_type_code
880 ,x_entity_type_code => l_entity_type_code
881 ,x_event_class_code => l_event_class_code
882 ,x_return_status => l_return_status);
883
884 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
885 RAISE Okl_Api.G_EXCEPTION_ERROR;
886 END IF;
887
888 l_event_source_info.source_application_id := g_application_id;
889 l_event_source_info.application_id := g_application_id;
890 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
891 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
892 l_event_source_info.entity_type_code := l_entity_type_code;
893 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
894 l_event_source_info.source_id_int_1 := p_tcn_id;
895
896 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
897
898 WRITE_TO_LOG('Contents of l_event_source_info :');
899 WRITE_TO_LOG('===================================');
900 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
901 l_event_source_info.source_application_id);
902 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
903 l_event_source_info.application_id);
904 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
905 l_event_source_info.legal_entity_id);
906 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
907 l_event_source_info.ledger_id);
908 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
909 l_event_source_info.entity_type_code);
910 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
911 l_event_source_info.transaction_number);
912 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
913 l_event_source_info.source_id_int_1);
914
915 BEGIN
916
917 xla_events_pub_pkg.update_event(p_event_source_info => l_event_source_info
918 ,p_event_id => p_event_id
919 ,p_event_date => p_gl_date
920 ,p_valuation_method => get_tcn_rec.representation_code
921 ,p_security_context => l_security_context);
922
923 EXCEPTION
924 WHEN OTHERS THEN
925 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
926 p_msg_name => g_unexpected_error,
927 p_token1 => g_sqlcode_token,
928 p_token1_value => SQLCODE,
929 p_token2 => g_sqlerrm_token,
930 p_token2_value => SQLERRM);
931
932 RAISE Okl_Api.G_EXCEPTION_ERROR;
933 END;
934
935 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
936 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
937
938 WRITE_TO_LOG('');
939 WRITE_TO_LOG('Done with ' || l_api_name);
940
941 EXCEPTION
942 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
943 IF get_tcn_csr%ISOPEN THEN
944 CLOSE get_tcn_csr;
945 END IF;
946
947 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
948 ,g_pkg_name
949 ,'OKL_API.G_RET_STS_ERROR'
950 ,x_msg_count
951 ,x_msg_data
952 ,'_PVT');
953
954 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
955 IF get_tcn_csr%ISOPEN THEN
956 CLOSE get_tcn_csr;
957 END IF;
958
959 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
960 p_msg_name => g_unexpected_error,
961 p_token1 => g_sqlcode_token,
962 p_token1_value => SQLCODE,
963 p_token2 => g_sqlerrm_token,
964 p_token2_value => SQLERRM);
965
966 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
967 ,g_pkg_name
968 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
969 ,x_msg_count
970 ,x_msg_data
971 ,'_PVT');
972
973 WHEN OTHERS THEN
974 IF get_tcn_csr%ISOPEN THEN
975 CLOSE get_tcn_csr;
976 END IF;
977
978 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
979 (l_api_name,
980 G_PKG_NAME,
981 'OTHERS',
982 x_msg_count,
983 x_msg_data,
984 '_PVT');
985 END update_event;
986
987 -------------------------------------------------------------------------+
988 -- API to update the event status in bulk. If p_action_type is null, then
989 -- events for both create and reverse event types are updated.
990
991 PROCEDURE update_bulk_event_statuses(
992 p_api_version IN NUMBER
993 ,p_init_msg_list IN VARCHAR2
994 ,x_return_status OUT NOCOPY VARCHAR2
995 ,x_msg_count OUT NOCOPY NUMBER
996 ,x_msg_data OUT NOCOPY VARCHAR2
997 ,p_tcn_tbl IN tcn_tbl_type
998 ,p_try_id IN NUMBER
999 ,p_ledger_id IN NUMBER
1000 ,p_action_type IN VARCHAR2
1001 ,p_event_status_code IN VARCHAR2) IS
1002
1003 l_entity_type_code VARCHAR2(30);
1004 l_event_class_code VARCHAR2(30);
1005 l_event_type_code VARCHAR2(100);
1006
1007 l_api_name VARCHAR2(30) := 'UPDATE_BULK_EVENT_STATUSES';
1008 l_api_version CONSTANT NUMBER := 1.0;
1009 l_event_id NUMBER;
1010 l_sla_api_name VARCHAR2(30);
1011 l_return_status VARCHAR2(1);
1012 BEGIN
1013
1014 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1015 ,G_PKG_NAME
1016 ,p_init_msg_list
1017 ,l_api_version
1018 ,p_api_version
1019 ,'_PVT'
1020 ,x_return_status);
1021
1022 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1023 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1024 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1025 RAISE Okl_Api.G_EXCEPTION_ERROR;
1026 END IF;
1027
1028 WRITE_TO_LOG('');
1029 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1030
1031 WRITE_TO_LOG('Input Parameters: ');
1032 WRITE_TO_LOG('===================================');
1033 WRITE_TO_LOG('p_try_id : ' || p_try_id);
1034 WRITE_TO_LOG('p_ledger_id : ' || p_ledger_id);
1035 WRITE_TO_LOG('p_action_type : ' || p_action_type);
1036 WRITE_TO_LOG('p_event_status_code : ' || p_event_status_code);
1037
1038 IF p_tcn_tbl.count > 0 THEN
1039 FOR i IN 1..p_tcn_tbl.COUNT LOOP
1040 WRITE_TO_LOG('p_tcn_tbl(' || i || ') : ' || p_tcn_tbl(i));
1041 END LOOP;
1042 END IF;
1043
1044 IF p_tcn_tbl.count = 0 THEN
1045 RETURN;
1046 END IF;
1047
1048 -- if p_action_type is null, then l_event_type_code returned will be null.
1049 get_entity_event_class(p_try_id => p_try_id
1050 ,p_action_type => p_action_type
1051 ,x_event_type_code => l_event_type_code
1052 ,x_entity_type_code => l_entity_type_code
1053 ,x_event_class_code => l_event_class_code
1054 ,x_return_status => l_return_status);
1055
1056 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
1057 RAISE Okl_Api.G_EXCEPTION_ERROR;
1058 END IF;
1059
1060 FORALL i IN 1..p_tcn_tbl.COUNT
1061 INSERT INTO xla_events_int_gt(
1062 application_id,
1063 entity_code,
1064 ledger_id,
1065 event_id,
1066 event_status_code)
1067 SELECT g_application_id,
1068 l_entity_type_code,
1069 p_ledger_id,
1070 xe.event_id,
1071 p_event_status_code
1072 FROM xla_events xe,
1073 xla_transaction_entities xte
1074 WHERE xe.entity_id = xte.entity_id
1075 AND xte.application_id = g_application_id
1076 AND xte.ledger_id = p_ledger_id
1077 AND xte.source_id_int_1 = p_tcn_tbl(i)
1078 AND xe.application_id = g_application_id
1079 AND xe.event_type_code = NVL(l_event_type_code, xe.event_type_code);
1080
1081 BEGIN
1082 l_sla_api_name := 'UPDATE_BULK_EVENT_STATUSES';
1083 XLA_EVENTS_PUB_PKG.update_bulk_event_statuses(p_application_id => g_application_id);
1084 EXCEPTION
1085 WHEN OTHERS THEN
1086 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1087 p_msg_name => g_unexpected_error,
1088 p_token1 => g_sqlcode_token,
1089 p_token1_value => SQLCODE,
1090 p_token2 => g_sqlerrm_token,
1091 p_token2_value => SQLERRM);
1092
1093 RAISE Okl_Api.G_EXCEPTION_ERROR;
1094 END;
1095
1096 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1097 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1098
1099 WRITE_TO_LOG('');
1100 WRITE_TO_LOG('Done with ' || l_api_name);
1101
1102 EXCEPTION
1103 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1104 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1105 ,g_pkg_name
1106 ,'OKL_API.G_RET_STS_ERROR'
1107 ,x_msg_count
1108 ,x_msg_data
1109 ,'_PVT');
1110
1111 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1112 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1113 p_msg_name => g_unexpected_error,
1114 p_token1 => g_sqlcode_token,
1115 p_token1_value => SQLCODE,
1116 p_token2 => g_sqlerrm_token,
1117 p_token2_value => SQLERRM);
1118
1119 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1120 ,g_pkg_name
1121 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1122 ,x_msg_count
1123 ,x_msg_data
1124 ,'_PVT');
1125
1126 WHEN OTHERS THEN
1127 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1128 (l_api_name,
1129 G_PKG_NAME,
1130 'OTHERS',
1131 x_msg_count,
1132 x_msg_data,
1133 '_PVT');
1134 END update_bulk_event_statuses;
1135
1136 -------------------------------------------------------------------------------
1137 -- Event deletion routines
1138 -------------------------------------------------------------------------------
1139 -- API to delete a single unaccounted event based on event id.
1140 PROCEDURE delete_event(
1141 p_api_version IN NUMBER
1142 ,p_init_msg_list IN VARCHAR2
1143 ,x_return_status OUT NOCOPY VARCHAR2
1144 ,x_msg_count OUT NOCOPY NUMBER
1145 ,x_msg_data OUT NOCOPY VARCHAR2
1146 ,p_tcn_id IN NUMBER
1147 ,p_event_id IN NUMBER
1148 ,p_representation_code IN VARCHAR2) IS
1149
1150 CURSOR get_tcn_csr is
1151 SELECT set_of_books_id,
1152 legal_entity_id,
1153 trunc(date_transaction_occurred) transaction_date,
1154 trunc(canceled_date) cancelled_date,
1155 trx_number,
1156 try_id
1157 FROM okl_trx_contracts
1158 WHERE id = p_tcn_id;
1159
1160 get_tcn_rec get_tcn_csr%ROWTYPE;
1161
1162 l_event_source_info xla_events_pub_pkg.t_event_source_info;
1163 l_security_context xla_events_pub_pkg.t_security;
1164
1165 l_transaction_date DATE;
1166 l_event_id NUMBER;
1167 l_entity_type_code VARCHAR2(30);
1168 l_event_class_code VARCHAR2(30);
1169 l_event_type_code VARCHAR2(30);
1170
1171 l_api_name VARCHAR2(30) := 'DELETE_EVENT';
1172 l_api_version CONSTANT NUMBER := 1.0;
1173 l_return_status VARCHAR2(1);
1174
1175 BEGIN
1176
1177 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1178 ,G_PKG_NAME
1179 ,p_init_msg_list
1180 ,l_api_version
1181 ,p_api_version
1182 ,'_PVT'
1183 ,x_return_status);
1184
1185 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1186 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1187 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1188 RAISE Okl_Api.G_EXCEPTION_ERROR;
1189 END IF;
1190
1191 WRITE_TO_LOG('');
1192 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1193
1194 WRITE_TO_LOG('Input Parameters: ');
1195 WRITE_TO_LOG('===================================');
1196 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
1197 WRITE_TO_LOG('p_event_id : ' || p_event_id);
1198 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
1199
1200 OPEN get_tcn_csr;
1201 FETCH get_tcn_csr into get_tcn_rec;
1202 CLOSE get_tcn_csr;
1203
1204 WRITE_TO_LOG('Contents of GET_TCN_REC:');
1205 WRITE_TO_LOG('===================================');
1206 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
1207 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
1208 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
1209 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
1210 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
1211 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
1212
1213 get_entity_event_class(p_try_id => get_tcn_rec.try_id
1214 ,p_action_type => NULL
1215 ,x_event_type_code => l_event_type_code
1216 ,x_entity_type_code => l_entity_type_code
1217 ,x_event_class_code => l_event_class_code
1218 ,x_return_status => l_return_status);
1219
1220 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
1221 RAISE Okl_Api.G_EXCEPTION_ERROR;
1222 END IF;
1223
1224 l_event_source_info.source_application_id := g_application_id;
1225 l_event_source_info.application_id := g_application_id;
1226 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
1227 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
1228 l_event_source_info.entity_type_code := l_entity_type_code;
1229 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
1230 l_event_source_info.source_id_int_1 := p_tcn_id;
1231
1232 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
1233
1234 WRITE_TO_LOG('Contents of l_event_source_info :');
1235 WRITE_TO_LOG('===================================');
1236 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
1237 l_event_source_info.source_application_id);
1238 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
1239 l_event_source_info.application_id);
1240 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
1241 l_event_source_info.legal_entity_id);
1242 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
1243 l_event_source_info.ledger_id);
1244 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
1245 l_event_source_info.entity_type_code);
1246 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
1247 l_event_source_info.transaction_number);
1248 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
1249 l_event_source_info.source_id_int_1);
1250
1251 BEGIN
1252
1253 xla_events_pub_pkg.delete_event(p_event_source_info => l_event_source_info
1254 ,p_event_id => p_event_id
1255 ,p_valuation_method => p_representation_code
1256 ,p_security_context => l_security_context);
1257 EXCEPTION
1258 WHEN OTHERS THEN
1259 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1260 p_msg_name => g_unexpected_error,
1261 p_token1 => g_sqlcode_token,
1262 p_token1_value => SQLCODE,
1263 p_token2 => g_sqlerrm_token,
1264 p_token2_value => SQLERRM);
1265
1266 RAISE Okl_Api.G_EXCEPTION_ERROR;
1267 END;
1268
1269 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1270 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1271
1272 WRITE_TO_LOG('');
1273 WRITE_TO_LOG('Done with ' || l_api_name);
1274
1275 EXCEPTION
1276 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1277 IF get_tcn_csr%ISOPEN THEN
1278 CLOSE get_tcn_csr;
1279 END IF;
1280
1281 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1282 ,g_pkg_name
1283 ,'OKL_API.G_RET_STS_ERROR'
1284 ,x_msg_count
1285 ,x_msg_data
1286 ,'_PVT');
1287
1288 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1289 IF get_tcn_csr%ISOPEN THEN
1290 CLOSE get_tcn_csr;
1291 END IF;
1292
1293 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1294 p_msg_name => g_unexpected_error,
1295 p_token1 => g_sqlcode_token,
1296 p_token1_value => SQLCODE,
1297 p_token2 => g_sqlerrm_token,
1298 p_token2_value => SQLERRM);
1299
1300 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1301 ,g_pkg_name
1302 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1303 ,x_msg_count
1304 ,x_msg_data
1305 ,'_PVT');
1306
1307 WHEN OTHERS THEN
1308 IF get_tcn_csr%ISOPEN THEN
1309 CLOSE get_tcn_csr;
1310 END IF;
1311
1312 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1313 (l_api_name,
1314 G_PKG_NAME,
1315 'OTHERS',
1316 x_msg_count,
1317 x_msg_data,
1318 '_PVT');
1319 END delete_event;
1320
1321 -- API to delete all events for a transaction that meet the criteria. This
1322 -- API deletes events that belong to the given event class, event type, and
1323 -- event date. Returns number of events deleted. Returns -1 if an error occurs.
1324 FUNCTION delete_events(
1325 p_api_version IN NUMBER
1326 ,p_init_msg_list IN VARCHAR2
1327 ,x_return_status OUT NOCOPY VARCHAR2
1328 ,x_msg_count OUT NOCOPY NUMBER
1329 ,x_msg_data OUT NOCOPY VARCHAR2
1330 ,p_tcn_id IN NUMBER
1331 ,p_action_type IN VARCHAR2
1332 ,p_gl_date IN DATE
1333 ,p_representation_code IN VARCHAR2)
1334 RETURN INTEGER IS
1335
1336 CURSOR get_tcn_csr is
1337 SELECT set_of_books_id,
1338 legal_entity_id,
1339 TRUNC(date_transaction_occurred) transaction_date,
1340 TRUNC(canceled_date) cancelled_date,
1341 trx_number,
1342 try_id
1343 FROM okl_trx_contracts
1344 WHERE id = p_tcn_id;
1345
1346 get_tcn_rec get_tcn_csr%ROWTYPE;
1347
1348 l_event_source_info xla_events_pub_pkg.t_event_source_info;
1349 l_security_context xla_events_pub_pkg.t_security;
1350
1351 l_transaction_date DATE;
1352 l_event_id NUMBER;
1353 l_entity_type_code VARCHAR2(30);
1354 l_event_class_code VARCHAR2(30);
1355 l_event_type_code VARCHAR2(30);
1356
1357 l_api_name VARCHAR2(30) := 'DELETE_EVENTS';
1358 l_api_version CONSTANT NUMBER := 1.0;
1359
1360 l_return_status VARCHAR2(1);
1361 l_events_deleted NUMBER;
1362
1363 BEGIN
1364 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1365 ,G_PKG_NAME
1366 ,p_init_msg_list
1367 ,l_api_version
1368 ,p_api_version
1369 ,'_PVT'
1370 ,x_return_status);
1371
1372 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1373 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1374 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1375 RAISE Okl_Api.G_EXCEPTION_ERROR;
1376 END IF;
1377
1378 WRITE_TO_LOG('');
1379 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1380
1381 WRITE_TO_LOG('Input Parameters: ');
1382 WRITE_TO_LOG('===================================');
1383 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
1384 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
1385 WRITE_TO_LOG('p_action_type : ' || p_action_type);
1386 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
1387
1388 OPEN get_tcn_csr;
1389 FETCH get_tcn_csr into get_tcn_rec;
1390 CLOSE get_tcn_csr;
1391
1392 WRITE_TO_LOG('Contents of GET_TCN_REC:');
1393 WRITE_TO_LOG('===================================');
1394 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
1395 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
1396 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
1397 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
1398 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
1399 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
1400
1401 get_entity_event_class(p_try_id => get_tcn_rec.try_id
1402 ,p_action_type => p_action_type
1403 ,x_event_type_code => l_event_type_code
1404 ,x_entity_type_code => l_entity_type_code
1405 ,x_event_class_code => l_event_class_code
1406 ,x_return_status => l_return_status);
1407
1408 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
1409 RAISE Okl_Api.G_EXCEPTION_ERROR;
1410 END IF;
1411
1412 l_event_source_info.source_application_id := g_application_id;
1413 l_event_source_info.application_id := g_application_id;
1414 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
1415 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
1416 l_event_source_info.entity_type_code := l_entity_type_code;
1417 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
1418 l_event_source_info.source_id_int_1 := p_tcn_id;
1419
1420 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
1421
1422 WRITE_TO_LOG('Contents of l_event_source_info :');
1423 WRITE_TO_LOG('===================================');
1424 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
1425 l_event_source_info.source_application_id);
1426 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
1427 l_event_source_info.application_id);
1428 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
1429 l_event_source_info.legal_entity_id);
1430 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
1431 l_event_source_info.ledger_id);
1432 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
1433 l_event_source_info.entity_type_code);
1434 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
1435 l_event_source_info.transaction_number);
1436 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
1437 l_event_source_info.source_id_int_1);
1438
1439 IF p_action_type = 'CREATE' THEN
1440 l_transaction_date := get_tcn_rec.transaction_date;
1441 ELSIF p_action_type = 'REVERSE' THEN
1442 l_transaction_date := get_tcn_rec.cancelled_date;
1443 END IF;
1444
1445 BEGIN
1446 l_events_deleted :=
1447 xla_events_pub_pkg.delete_events(p_event_source_info => l_event_source_info
1448 ,p_event_class_code => l_event_class_code
1449 ,p_event_type_code => l_event_type_code
1450 ,p_event_date => p_gl_date
1451 ,p_valuation_method => p_representation_code
1452 ,p_security_context => l_security_context);
1453 EXCEPTION
1454 WHEN OTHERS THEN
1455 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1456 p_msg_name => g_unexpected_error,
1457 p_token1 => g_sqlcode_token,
1458 p_token1_value => SQLCODE,
1459 p_token2 => g_sqlerrm_token,
1460 p_token2_value => SQLERRM);
1461
1462 RAISE Okl_Api.G_EXCEPTION_ERROR;
1463 END;
1464
1465 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1466 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1467
1468 WRITE_TO_LOG('');
1469 WRITE_TO_LOG('Done with ' || l_api_name);
1470
1471 return l_events_deleted;
1472
1473 EXCEPTION
1474 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1475 IF get_tcn_csr%ISOPEN THEN
1476 CLOSE get_tcn_csr;
1477 END IF;
1478
1479 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1480 ,g_pkg_name
1481 ,'OKL_API.G_RET_STS_ERROR'
1482 ,x_msg_count
1483 ,x_msg_data
1484 ,'_PVT');
1485 return -1;
1486 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1487 IF get_tcn_csr%ISOPEN THEN
1488 CLOSE get_tcn_csr;
1489 END IF;
1490
1491 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1492 p_msg_name => g_unexpected_error,
1493 p_token1 => g_sqlcode_token,
1494 p_token1_value => SQLCODE,
1495 p_token2 => g_sqlerrm_token,
1496 p_token2_value => SQLERRM);
1497
1498 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1499 ,g_pkg_name
1500 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1501 ,x_msg_count
1502 ,x_msg_data
1503 ,'_PVT');
1504 return -1;
1505 WHEN OTHERS THEN
1506 IF get_tcn_csr%ISOPEN THEN
1507 CLOSE get_tcn_csr;
1508 END IF;
1509
1510 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1511 (l_api_name,
1512 G_PKG_NAME,
1513 'OTHERS',
1514 x_msg_count,
1515 x_msg_data,
1516 '_PVT');
1517
1518 return -1;
1519 END delete_events;
1520
1521 -------------------------------------------------------------------------------
1522 -- Event information routines
1523 -------------------------------------------------------------------------------
1524 -- API to return the information about an event in a record structure.
1525 FUNCTION get_event_info(
1526 p_api_version IN NUMBER
1527 ,p_init_msg_list IN VARCHAR2
1528 ,x_return_status OUT NOCOPY VARCHAR2
1529 ,x_msg_count OUT NOCOPY NUMBER
1530 ,x_msg_data OUT NOCOPY VARCHAR2
1531 ,p_tcn_id IN NUMBER
1532 ,p_event_id IN NUMBER
1533 ,p_representation_code IN VARCHAR2)
1534 RETURN xla_events_pub_pkg.t_event_info IS
1535
1536 CURSOR get_tcn_csr IS
1537 SELECT set_of_books_id,
1538 legal_entity_id,
1539 TRUNC(date_transaction_occurred) transaction_date,
1540 TRUNC(canceled_date) cancelled_date,
1541 trx_number,
1542 try_id
1543 FROM okl_trx_contracts
1544 WHERE id = p_tcn_id;
1545
1546 get_tcn_rec get_tcn_csr%ROWTYPE;
1547
1548 l_event_source_info xla_events_pub_pkg.t_event_source_info;
1549 l_security_context xla_events_pub_pkg.t_security;
1550 l_event_info xla_events_pub_pkg.t_event_info;
1551
1552 l_entity_type_code VARCHAR2(30);
1553 l_event_class_code VARCHAR2(30);
1554 l_event_type_code VARCHAR2(30);
1555
1556 l_api_name VARCHAR2(30) := 'GET_EVENT_INFO';
1557 l_api_version CONSTANT NUMBER := 1.0;
1558
1559 l_init_msg_list VARCHAR2(2000) := OKL_API.G_TRUE;
1560 l_return_status VARCHAR2(1);
1561 l_msg_count NUMBER;
1562 l_msg_data VARCHAR2(2000);
1563
1564 BEGIN
1565 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1566 ,G_PKG_NAME
1567 ,p_init_msg_list
1568 ,l_api_version
1569 ,p_api_version
1570 ,'_PVT'
1571 ,x_return_status);
1572
1573 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1574 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1575 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1576 RAISE Okl_Api.G_EXCEPTION_ERROR;
1577 END IF;
1578
1579 WRITE_TO_LOG('');
1580 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1581
1582 WRITE_TO_LOG('Input Parameters: ');
1583 WRITE_TO_LOG('===================================');
1584 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
1585 WRITE_TO_LOG('p_event_id : ' || p_event_id);
1586 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
1587
1588 OPEN get_tcn_csr;
1589 FETCH get_tcn_csr into get_tcn_rec;
1590 CLOSE get_tcn_csr;
1591
1592 WRITE_TO_LOG('Contents of GET_TCN_REC:');
1593 WRITE_TO_LOG('===================================');
1594 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
1595 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
1596 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
1597 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
1598 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
1599 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
1600
1601 get_entity_event_class(p_try_id => get_tcn_rec.try_id
1602 ,p_action_type => NULL
1603 ,x_event_type_code => l_event_type_code
1604 ,x_entity_type_code => l_entity_type_code
1605 ,x_event_class_code => l_event_class_code
1606 ,x_return_status => l_return_status);
1607
1608 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
1609 RAISE Okl_Api.G_EXCEPTION_ERROR;
1610 END IF;
1611
1612 l_event_source_info.source_application_id := g_application_id;
1613 l_event_source_info.application_id := g_application_id;
1614 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
1615 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
1616 l_event_source_info.entity_type_code := l_entity_type_code;
1617 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
1618 l_event_source_info.source_id_int_1 := p_tcn_id;
1619
1620 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
1621
1622 WRITE_TO_LOG('Contents of l_event_source_info :');
1623 WRITE_TO_LOG('===================================');
1624 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
1625 l_event_source_info.source_application_id);
1626 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
1627 l_event_source_info.application_id);
1628 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
1629 l_event_source_info.legal_entity_id);
1630 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
1631 l_event_source_info.ledger_id);
1632 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
1633 l_event_source_info.entity_type_code);
1634 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
1635 l_event_source_info.transaction_number);
1636 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
1637 l_event_source_info.source_id_int_1);
1638
1639 BEGIN
1640 l_event_info :=
1641 xla_events_pub_pkg.get_event_info(p_event_source_info => l_event_source_info
1642 ,p_event_id => p_event_id
1643 ,p_valuation_method => p_representation_code
1644 ,p_security_context => l_security_context);
1645 EXCEPTION
1646 WHEN OTHERS THEN
1647 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1648 p_msg_name => g_unexpected_error,
1649 p_token1 => g_sqlcode_token,
1650 p_token1_value => SQLCODE,
1651 p_token2 => g_sqlerrm_token,
1652 p_token2_value => SQLERRM);
1653
1654 RAISE Okl_Api.G_EXCEPTION_ERROR;
1655 END;
1656
1657 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1658 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1659
1660 WRITE_TO_LOG('');
1661 WRITE_TO_LOG('Done with ' || l_api_name);
1662
1663 return l_event_info;
1664
1665 EXCEPTION
1666 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1667 IF get_tcn_csr%ISOPEN THEN
1668 CLOSE get_tcn_csr;
1669 END IF;
1670
1671 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1672 ,g_pkg_name
1673 ,'OKL_API.G_RET_STS_ERROR'
1674 ,x_msg_count
1675 ,x_msg_data
1676 ,'_PVT');
1677 RETURN NULL;
1678 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1679 IF get_tcn_csr%ISOPEN THEN
1680 CLOSE get_tcn_csr;
1681 END IF;
1682
1683 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1684 p_msg_name => g_unexpected_error,
1685 p_token1 => g_sqlcode_token,
1686 p_token1_value => SQLCODE,
1687 p_token2 => g_sqlerrm_token,
1688 p_token2_value => SQLERRM);
1689
1690 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1691 ,g_pkg_name
1692 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1693 ,x_msg_count
1694 ,x_msg_data
1695 ,'_PVT');
1696 RETURN NULL;
1697 WHEN OTHERS THEN
1698 IF get_tcn_csr%ISOPEN THEN
1699 CLOSE get_tcn_csr;
1700 END IF;
1701
1702 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1703 (l_api_name,
1704 G_PKG_NAME,
1705 'OTHERS',
1706 x_msg_count,
1707 x_msg_data,
1708 '_PVT');
1709
1710 return NULL;
1711 END get_event_info;
1712
1713 -- API to return information for one or more events within a transaction for
1714 -- a given criteria. An array of records is returned with the event info.
1715 -- If action_type is passed, then the events corresponding to that event_type
1716 -- will be returned.
1717 -- If p_action_type is null, then all events for that event class will be
1718 -- returned.
1719 -- If gl_date is passed, all events for the transaction matching event date will be
1720 -- returned.
1721 FUNCTION get_array_event_info(
1722 p_api_version IN NUMBER
1723 ,p_init_msg_list IN VARCHAR2
1724 ,x_return_status OUT NOCOPY VARCHAR2
1725 ,x_msg_count OUT NOCOPY NUMBER
1726 ,x_msg_data OUT NOCOPY VARCHAR2
1727 ,p_tcn_id IN NUMBER
1728 ,p_action_type IN VARCHAR2
1729 ,p_gl_date IN DATE
1730 ,p_event_status_code IN VARCHAR2
1731 ,p_representation_code IN VARCHAR2)
1732 RETURN xla_events_pub_pkg.t_array_event_info IS
1733
1734 CURSOR get_tcn_csr is
1735 SELECT set_of_books_id,
1736 legal_entity_id,
1737 TRUNC(date_transaction_occurred) transaction_date,
1738 TRUNC(canceled_date) cancelled_date,
1739 trx_number,
1740 try_id
1741 FROM okl_trx_contracts
1742 WHERE id = p_tcn_id;
1743
1744 get_tcn_rec get_tcn_csr%ROWTYPE;
1745
1746 l_event_source_info xla_events_pub_pkg.t_event_source_info;
1747 l_security_context xla_events_pub_pkg.t_security;
1748 l_array_event_info xla_events_pub_pkg.t_array_event_info;
1749 l_array_event_info_null xla_events_pub_pkg.t_array_event_info;
1750
1751 l_entity_type_code VARCHAR2(30);
1752 l_event_class_code VARCHAR2(30);
1753 l_event_type_code VARCHAR2(30);
1754
1755 l_api_name VARCHAR2(30) := 'GET_ARRAY_EVENT_INFO';
1756 l_api_version CONSTANT NUMBER := 1.0;
1757
1758 l_init_msg_list VARCHAR2(2000) := OKL_API.G_FALSE;
1759 l_return_status VARCHAR2(1);
1760 l_msg_count NUMBER;
1761 l_msg_data VARCHAR2(2000);
1762
1763
1764 BEGIN
1765 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1766 ,G_PKG_NAME
1767 ,p_init_msg_list
1768 ,l_api_version
1769 ,p_api_version
1770 ,'_PVT'
1771 ,x_return_status);
1772
1773 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1774 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1775 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1776 RAISE Okl_Api.G_EXCEPTION_ERROR;
1777 END IF;
1778
1779 l_array_event_info_null := l_array_event_info;
1780
1781 WRITE_TO_LOG('');
1782 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1783
1784 WRITE_TO_LOG('Input Parameters: ');
1785 WRITE_TO_LOG('===================================');
1786 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
1787 WRITE_TO_LOG('p_gl_date : ' || p_gl_date);
1788 WRITE_TO_LOG('p_action_type : ' || p_action_type);
1789 WRITE_TO_LOG('p_event_status_code : ' || p_event_status_code);
1790 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
1791
1792 OPEN get_tcn_csr;
1793 FETCH get_tcn_csr into get_tcn_rec;
1794 CLOSE get_tcn_csr;
1795
1796 WRITE_TO_LOG('Contents of GET_TCN_REC:');
1797 WRITE_TO_LOG('===================================');
1798 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
1799 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
1800 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
1801 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
1802 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
1803 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
1804
1805 get_entity_event_class(p_try_id => get_tcn_rec.try_id
1806 ,p_action_type => p_action_type
1807 ,x_event_type_code => l_event_type_code
1808 ,x_entity_type_code => l_entity_type_code
1809 ,x_event_class_code => l_event_class_code
1810 ,x_return_status => l_return_status);
1811
1812 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
1813 RAISE Okl_Api.G_EXCEPTION_ERROR;
1814 END IF;
1815
1816 l_event_source_info.source_application_id := g_application_id;
1817 l_event_source_info.application_id := g_application_id;
1818 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
1819 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
1820 l_event_source_info.entity_type_code := l_entity_type_code;
1821 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
1822 l_event_source_info.source_id_int_1 := p_tcn_id;
1823
1824 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
1825
1826 WRITE_TO_LOG('Contents of l_event_source_info :');
1827 WRITE_TO_LOG('===================================');
1828 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
1829 l_event_source_info.source_application_id);
1830 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
1831 l_event_source_info.application_id);
1832 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
1833 l_event_source_info.legal_entity_id);
1834 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
1835 l_event_source_info.ledger_id);
1836 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
1837 l_event_source_info.entity_type_code);
1838 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
1839 l_event_source_info.transaction_number);
1840 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
1841 l_event_source_info.source_id_int_1);
1842
1843 BEGIN
1844 l_array_event_info :=
1845 xla_events_pub_pkg.get_array_event_info(p_event_source_info => l_event_source_info
1846 ,p_event_class_code => l_event_class_code
1847 ,p_event_type_code => l_event_type_code
1848 ,p_event_date => p_gl_date
1849 ,p_event_status_code => p_event_status_code
1850 ,p_valuation_method => p_representation_code
1851 ,p_security_context => l_security_context);
1852 EXCEPTION
1853 WHEN OTHERS THEN
1854 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1855 p_msg_name => g_unexpected_error,
1856 p_token1 => g_sqlcode_token,
1857 p_token1_value => SQLCODE,
1858 p_token2 => g_sqlerrm_token,
1859 p_token2_value => SQLERRM);
1860
1861 RAISE Okl_Api.G_EXCEPTION_ERROR;
1862 END;
1863
1864 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1865 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1866
1867 WRITE_TO_LOG('');
1868 WRITE_TO_LOG('Done with ' || l_api_name);
1869
1870 RETURN l_array_event_info;
1871
1872 EXCEPTION
1873 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1874 IF get_tcn_csr%ISOPEN THEN
1875 CLOSE get_tcn_csr;
1876 END IF;
1877
1878 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1879 ,g_pkg_name
1880 ,'OKL_API.G_RET_STS_ERROR'
1881 ,x_msg_count
1882 ,x_msg_data
1883 ,'_PVT');
1884 RETURN l_array_event_info_null;
1885 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1886 IF get_tcn_csr%ISOPEN THEN
1887 CLOSE get_tcn_csr;
1888 END IF;
1889
1890 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
1891 p_msg_name => g_unexpected_error,
1892 p_token1 => g_sqlcode_token,
1893 p_token1_value => SQLCODE,
1894 p_token2 => g_sqlerrm_token,
1895 p_token2_value => SQLERRM);
1896
1897 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
1898 ,g_pkg_name
1899 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
1900 ,x_msg_count
1901 ,x_msg_data
1902 ,'_PVT');
1903 RETURN l_array_event_info_null;
1904 WHEN OTHERS THEN
1905 IF get_tcn_csr%ISOPEN THEN
1906 CLOSE get_tcn_csr;
1907 END IF;
1908
1909 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1910 (l_api_name,
1911 G_PKG_NAME,
1912 'OTHERS',
1913 x_msg_count,
1914 x_msg_data,
1915 '_PVT');
1916 RETURN l_array_event_info_null;
1917 END get_array_event_info;
1918
1919 -- API to provide the status for a given event.
1920 FUNCTION get_event_status(
1921 p_api_version IN NUMBER
1922 ,p_init_msg_list IN VARCHAR2
1923 ,x_return_status OUT NOCOPY VARCHAR2
1924 ,x_msg_count OUT NOCOPY NUMBER
1925 ,x_msg_data OUT NOCOPY VARCHAR2
1926 ,p_tcn_id IN NUMBER
1927 ,p_event_id IN NUMBER
1928 ,p_representation_code IN VARCHAR2)
1929 RETURN VARCHAR2 IS
1930
1931 CURSOR get_tcn_csr is
1932 SELECT set_of_books_id,
1933 legal_entity_id,
1934 TRUNC(date_transaction_occurred) transaction_date,
1935 TRUNC(canceled_date) cancelled_date,
1936 trx_number,
1937 try_id
1938 FROM okl_trx_contracts
1939 WHERE id = p_tcn_id;
1940
1941 get_tcn_rec get_tcn_csr%ROWTYPE;
1942
1943 l_event_source_info xla_events_pub_pkg.t_event_source_info;
1944 l_security_context xla_events_pub_pkg.t_security;
1945
1946 l_entity_type_code VARCHAR2(30);
1947 l_event_class_code VARCHAR2(30);
1948 l_event_type_code VARCHAR2(30);
1949 l_event_status_code VARCHAR2(10);
1950
1951 l_api_name VARCHAR2(30) := 'GET_EVENT_STATUS';
1952 l_api_version CONSTANT NUMBER := 1.0;
1953
1954 l_init_msg_list VARCHAR2(2000) := OKL_API.G_FALSE;
1955 l_return_status VARCHAR2(1);
1956 l_msg_count NUMBER;
1957 l_msg_data VARCHAR2(2000);
1958
1959
1960 BEGIN
1961 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
1962 ,G_PKG_NAME
1963 ,p_init_msg_list
1964 ,l_api_version
1965 ,p_api_version
1966 ,'_PVT'
1967 ,x_return_status);
1968
1969 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1970 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1971 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
1972 RAISE Okl_Api.G_EXCEPTION_ERROR;
1973 END IF;
1974
1975 WRITE_TO_LOG('');
1976 WRITE_TO_LOG('Inside the call to ' || l_api_name);
1977
1978 WRITE_TO_LOG('Input Parameters: ');
1979 WRITE_TO_LOG('===================================');
1980 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
1981 WRITE_TO_LOG('p_event_id : ' || p_event_id);
1982 WRITE_TO_LOG('p_representation_code : ' || p_representation_code);
1983
1984 OPEN get_tcn_csr;
1985 FETCH get_tcn_csr into get_tcn_rec;
1986 CLOSE get_tcn_csr;
1987
1988 WRITE_TO_LOG('Contents of GET_TCN_REC:');
1989 WRITE_TO_LOG('===================================');
1990 WRITE_TO_LOG('get_tcn_rec.try_id : ' || get_tcn_rec.try_id);
1991 WRITE_TO_LOG('get_tcn_rec.legal_entity_id : ' || get_tcn_rec.legal_entity_id);
1992 WRITE_TO_LOG('get_tcn_rec.set_of_books_id : ' || get_tcn_rec.set_of_books_id);
1993 WRITE_TO_LOG('get_tcn_rec.trx_number : ' || get_tcn_rec.trx_number);
1994 WRITE_TO_LOG('get_tcn_rec.transaction_date: ' || get_tcn_rec.transaction_date);
1995 WRITE_TO_LOG('get_tcn_rec.cancelled_date : ' || get_tcn_rec.cancelled_date);
1996
1997 get_entity_event_class(p_try_id => get_tcn_rec.try_id
1998 ,p_action_type => NULL
1999 ,x_event_type_code => l_event_type_code
2000 ,x_entity_type_code => l_entity_type_code
2001 ,x_event_class_code => l_event_class_code
2002 ,x_return_status => l_return_status);
2003
2004 IF l_return_status = Okl_Api.G_RET_STS_ERROR THEN
2005 RAISE Okl_Api.G_EXCEPTION_ERROR;
2006 END IF;
2007
2008 l_event_source_info.source_application_id := g_application_id;
2009 l_event_source_info.application_id := g_application_id;
2010 l_event_source_info.legal_entity_id := get_tcn_rec.legal_entity_id;
2011 l_event_source_info.ledger_id := get_tcn_rec.set_of_books_id;
2012 l_event_source_info.entity_type_code := l_entity_type_code;
2013 l_event_source_info.transaction_number := get_tcn_rec.trx_number;
2014 l_event_source_info.source_id_int_1 := p_tcn_id;
2015
2016 l_security_context.security_id_int_1 := mo_global.get_current_org_id();
2017
2018 WRITE_TO_LOG('Contents of l_event_source_info :');
2019 WRITE_TO_LOG('===================================');
2020 WRITE_TO_LOG('l_event_source_info.source_application_id : ' ||
2021 l_event_source_info.source_application_id);
2022 WRITE_TO_LOG('l_event_source_info.application_id : ' ||
2023 l_event_source_info.application_id);
2024 WRITE_TO_LOG('l_event_source_info.legal_entity_id : ' ||
2025 l_event_source_info.legal_entity_id);
2026 WRITE_TO_LOG('l_event_source_info.ledger_id : ' ||
2027 l_event_source_info.ledger_id);
2028 WRITE_TO_LOG('l_event_source_info.entity_type_code : ' ||
2029 l_event_source_info.entity_type_code);
2030 WRITE_TO_LOG('l_event_source_info.transaction_number : ' ||
2031 l_event_source_info.transaction_number);
2032 WRITE_TO_LOG('l_event_source_info.source_id_int_1 : ' ||
2033 l_event_source_info.source_id_int_1);
2034
2035 BEGIN
2036 l_event_status_code :=
2037 xla_events_pub_pkg.get_event_status(p_event_source_info => l_event_source_info
2038 ,p_event_id => p_event_id
2039 ,p_valuation_method => p_representation_code
2040 ,p_security_context => l_security_context);
2041 EXCEPTION
2042 WHEN OTHERS THEN
2043 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
2044 p_msg_name => g_unexpected_error,
2045 p_token1 => g_sqlcode_token,
2046 p_token1_value => SQLCODE,
2047 p_token2 => g_sqlerrm_token,
2048 p_token2_value => SQLERRM);
2049
2050 RAISE Okl_Api.G_EXCEPTION_ERROR;
2051 END;
2052
2053 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2054 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
2055
2056 WRITE_TO_LOG('');
2057 WRITE_TO_LOG('Done with ' || l_api_name);
2058
2059 RETURN l_event_status_code;
2060
2061 EXCEPTION
2062 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2063 IF get_tcn_csr%ISOPEN THEN
2064 CLOSE get_tcn_csr;
2065 END IF;
2066
2067 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2068 ,g_pkg_name
2069 ,'OKL_API.G_RET_STS_ERROR'
2070 ,x_msg_count
2071 ,x_msg_data
2072 ,'_PVT');
2073 RETURN 'F';
2074 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2075 IF get_tcn_csr%ISOPEN THEN
2076 CLOSE get_tcn_csr;
2077 END IF;
2078
2079 Okl_Api.SET_MESSAGE(p_app_name => g_app_name,
2080 p_msg_name => g_unexpected_error,
2081 p_token1 => g_sqlcode_token,
2082 p_token1_value => SQLCODE,
2083 p_token2 => g_sqlerrm_token,
2084 p_token2_value => SQLERRM);
2085
2086 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
2087 ,g_pkg_name
2088 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
2089 ,x_msg_count
2090 ,x_msg_data
2091 ,'_PVT');
2092 RETURN 'F';
2093 WHEN OTHERS THEN
2094 IF get_tcn_csr%ISOPEN THEN
2095 CLOSE get_tcn_csr;
2096 END IF;
2097
2098 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2099 (l_api_name,
2100 G_PKG_NAME,
2101 'OTHERS',
2102 x_msg_count,
2103 x_msg_data,
2104 '_PVT');
2105 RETURN 'F';
2106 END get_event_status;
2107
2108 -- API to check if an event has been raised for the transaction.
2109 -- If p_action_type is passed, corresponding event for Create or Reverse
2110 -- action will be identified, otherwise existence of event for the transaction
2111 -- is checked and value returned.
2112 PROCEDURE event_exists(p_api_version IN NUMBER
2113 ,p_init_msg_list IN VARCHAR2
2114 ,x_return_status OUT NOCOPY VARCHAR2
2115 ,x_msg_count OUT NOCOPY NUMBER
2116 ,x_msg_data OUT NOCOPY VARCHAR2
2117 ,p_tcn_id IN NUMBER
2118 ,p_action_type IN VARCHAR2
2119 ,x_event_id OUT NOCOPY NUMBER
2120 ,x_event_date OUT NOCOPY DATE)
2121 IS
2122
2123 TYPE event_ref_csr IS REF CURSOR;
2124
2125 get_event_csr event_ref_csr;
2126
2127 l_api_name VARCHAR2(30) := 'EVENT_EXISTS';
2128 l_api_version CONSTANT NUMBER := 1.0;
2129
2130 BEGIN
2131 x_return_status := Okl_Api.START_ACTIVITY(l_api_name
2132 ,G_PKG_NAME
2133 ,p_init_msg_list
2134 ,l_api_version
2135 ,p_api_version
2136 ,'_PVT'
2137 ,x_return_status);
2138
2139 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2140 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2141 ELSIF (x_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
2142 RAISE Okl_Api.G_EXCEPTION_ERROR;
2143 END IF;
2144
2145 WRITE_TO_LOG('');
2146 WRITE_TO_LOG('Inside the call to ' || l_api_name);
2147
2148 WRITE_TO_LOG('Input Parameters: ');
2149 WRITE_TO_LOG('===================================');
2150 WRITE_TO_LOG('p_tcn_id : ' || p_tcn_id);
2151 WRITE_TO_LOG('p_action_type : ' || p_action_type);
2152
2153 IF p_action_type = 'CREATE' THEN
2154 OPEN get_event_csr FOR
2155 SELECT accounting_event_id, gl_date
2156 FROM okl_trns_acc_dstrs
2157 WHERE original_dist_id IS NULL
2158 AND source_table = 'OKL_TXL_CNTRCT_LNS'
2159 AND source_id = (SELECT id
2160 FROM okl_txl_cntrct_lns
2161 WHERE tcn_id = p_tcn_id
2162 AND rownum = 1)
2163 AND accounting_event_id is not null
2164 AND rownum = 1;
2165 ELSIF p_action_type = 'REVERSE' THEN
2166 OPEN get_event_csr FOR
2167 SELECT accounting_event_id, gl_date
2168 FROM okl_trns_acc_dstrs
2169 WHERE original_dist_id IS NOT NULL
2170 AND source_table = 'OKL_TXL_CNTRCT_LNS'
2171 AND source_id = (SELECT id
2172 FROM okl_txl_cntrct_lns
2173 WHERE tcn_id = p_tcn_id
2174 AND rownum = 1)
2175 AND accounting_event_id IS NOT NULL
2176 AND rownum = 1;
2177 ELSE
2178 OPEN get_event_csr FOR
2179 SELECT accounting_event_id, gl_date
2180 FROM okl_trns_acc_dstrs
2181 WHERE source_table = 'OKL_TXL_CNTRCT_LNS'
2182 AND source_id = (SELECT id
2183 FROM okl_txl_cntrct_lns
2184 WHERE tcn_id = p_tcn_id
2185 AND rownum = 1)
2186 AND accounting_event_id IS NOT NULL
2187 AND rownum = 1;
2188 END IF;
2189
2190 IF get_event_csr%ISOPEN THEN
2191 FETCH get_event_csr into x_event_id, x_event_date;
2192 CLOSE get_event_csr;
2193 END IF;
2194
2195 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2196 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
2197
2198 WRITE_TO_LOG('');
2199 WRITE_TO_LOG('Done with ' || l_api_name);
2200
2201 EXCEPTION
2202 WHEN OTHERS THEN
2203 IF get_event_csr%ISOPEN THEN
2204 CLOSE get_event_csr;
2205 END IF;
2206
2207 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2208 (l_api_name,
2209 G_PKG_NAME,
2210 'OTHERS',
2211 x_msg_count,
2212 x_msg_data,
2213 '_PVT');
2214
2215 END event_exists;
2216
2217 END OKL_XLA_EVENTS_PVT;