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