[Home] [Help]
PACKAGE BODY: APPS.OKL_ACCOUNTING_PROCESS_PVT
Source
1 PACKAGE BODY Okl_Accounting_Process_Pvt AS
2 /* $Header: OKLRAECB.pls 120.13 2007/12/05 19:38:28 smereddy noship $ */
3 -- Start of wraper code generated automatically by Debug code generator
4
5 L_MODULE VARCHAR2(40) := 'LEASE.ACCOUNTING.PROCESS';
6 L_DEBUG_ENABLED CONSTANT VARCHAR2(10) := Okl_Debug_Pub.CHECK_LOG_ENABLED;
7 L_LEVEL_PROCEDURE NUMBER;
8 IS_DEBUG_PROCEDURE_ON BOOLEAN;
9 -- End of wraper code generated automatically by Debug code generator
10
11 -- Added by Santonyr on 28-Jan-2003 for reporting purpose
12
13 TYPE trx_err_rec_type IS RECORD (
14 trx_number okl_trx_contracts.trx_number%TYPE,
15 source_table okl_ae_lines.source_table%TYPE,
16 period_name VARCHAR2(30),
17 source_id okl_ae_lines.source_id%TYPE,
18 gl_date DATE);
19
20 TYPE trx_err_tbl_type IS TABLE OF trx_err_rec_type
21 INDEX BY BINARY_INTEGER;
22
23 l_trx_err_tbl trx_err_tbl_type;
24 l_total_headers NUMBER := 0;
25 l_total_lines NUMBER := 0;
26 l_error_msg_rec Okl_Accounting_Util.ERROR_MESSAGE_TYPE;
27
28
29
30 --Added by Keerthi for formating the output in the report
31
32 TYPE report_rec_type IS RECORD(
33 transaction_date VARCHAR2(51),
34 contract_number VARCHAR2(105),
35 transaction_number VARCHAR2(60),
36 transaction_line_number VARCHAR2(30),
37 accounting_date VARCHAR2(36),
38 dr_cr_flag VARCHAR2(18),
39 accounted_amount VARCHAR2(72),
40 account VARCHAR2(90),
41 currency VARCHAR2(24));
42
43 TYPE err_report_rec_type IS RECORD(
44 transaction_date VARCHAR2(36),
45 contract_number VARCHAR2(90),
46 transaction_number VARCHAR2(45),
47 transaction_line_number VARCHAR2(21),
48 accounting_date VARCHAR2(36),
49 accounting_period VARCHAR2(60),
50 amount VARCHAR2(57),
51 currency VARCHAR2(24));
52
53 --- Variables to hold length
54
55 -- Fixed bug 3861943 on 9-Sep-2004
56
57 l_transaction_date_len CONSTANT NUMBER := 15;
58 l_contract_number_len CONSTANT NUMBER := 30;
59 l_transaction_number_len CONSTANT NUMBER := 20;
60 l_transaction_line_number_len CONSTANT NUMBER := 7;
61 l_accounting_date_len CONSTANT NUMBER := 12;
62 l_dr_cr_flag_len CONSTANT NUMBER := 6;
63 l_accounted_amount_len CONSTANT NUMBER := 24;
64 l_account_len CONSTANT NUMBER := 90;
65 l_currency_len CONSTANT NUMBER := 8;
66 l_amount_len CONSTANT NUMBER := 16;
67 l_accounting_period_len CONSTANT NUMBER := 12;
68
69 header_report_rec report_rec_type;
70 header_report_rec2 report_rec_type;
71
72 proc_report_rec report_rec_type;
73 dr_cr_report_rec report_rec_type;
74 invalid_acc_report_rec report_rec_type;
75
76 header_err_report_rec err_report_rec_type;
77 header_err_report_rec2 err_report_rec_type;
78
79 non_proc_report_rec err_report_rec_type;
80
81
82 PROCEDURE DO_CLEANUP(p_aetv_rec IN aetv_rec_type,
83 x_return_status OUT NOCOPY VARCHAR2)
84
85 IS
86
87 CURSOR dist_csr(v_aet_id NUMBER) IS
88 SELECT ID
89 FROM OKL_TRNS_ACC_DSTRS
90 WHERE aet_id = v_aet_id;
91
92 l_tabv_tbl TABV_TBL_TYPE;
93 x_tabv_tbl TABV_TBL_TYPE;
94
95 i NUMBER := 0;
96 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
97 l_api_version NUMBER := 1.0;
98 l_init_msg_list VARCHAR2(1);
99 l_msg_count NUMBER ;
100 l_msg_data VARCHAR2(2000);
101
102 BEGIN
103
104 --- Deleting Accounting Event API would also delete all its child
105
106 Okl_Acct_Event_Pub.delete_acct_event(p_api_version => l_api_version,
107 p_init_msg_list => l_init_msg_list,
108 x_return_status => l_return_status,
109 x_msg_count => l_msg_count,
110 x_msg_data => l_msg_data,
111 p_aetv_rec => p_aetv_rec);
112
113 IF (l_return_status = Okl_Api.G_RET_STS_SUCCESS) THEN
114
115 FOR dist_rec IN dist_csr(p_aetv_rec.accounting_event_id)
116 LOOP
117 i := i + 1;
118 l_tabv_tbl(i).ID := dist_rec.ID;
119 l_tabv_tbl(i).posted_yn := 'N';
120 l_tabv_tbl(i).aet_id := NULL;
121
122 END LOOP;
123
124 Okl_Trns_Acc_Dstrs_Pub.update_trns_acc_dstrs(p_api_version => l_api_version,
125 p_init_msg_list => l_init_msg_list,
126 x_return_status => l_return_status,
127 x_msg_count => l_msg_count,
128 x_msg_data => l_msg_data,
129 p_tabv_tbl => l_tabv_tbl,
130 x_tabv_tbl => x_tabv_tbl);
131
132 END IF;
133
134 x_return_status := l_return_status;
135
136
137 END DO_CLEANUP;
138
139
140
141
142 -- This Procedure will create the accounting events. It will select the record
143 -- from Distribution table having posted_yn = 'S' and create accounting events
144 -- for distinct combination of source id, source table and reverse event flag
145
146
147
148 PROCEDURE CREATE_EVENTS(p_api_version IN NUMBER,
149 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
150 x_return_status OUT NOCOPY VARCHAR2,
151 x_msg_count OUT NOCOPY NUMBER,
152 x_msg_data OUT NOCOPY VARCHAR2,
153 x_total_events OUT NOCOPY NUMBER)
154
155 IS
156
157 CURSOR dists_csr IS
158 SELECT DISTINCT source_id,
159 source_table,
160 reverse_event_flag
161 FROM OKL_TRNS_ACC_DSTRS
162 WHERE posted_yn = 'S';
163
164 CURSOR dist_csr(v_source_id NUMBER,
165 v_source_table VARCHAR2,
166 v_rev_flag VARCHAR2) IS
167 SELECT ID,
168 template_id,
169 TRUNC(gl_date) gl_date
170 FROM OKL_TRNS_ACC_DSTRS
171 WHERE source_id = v_source_id
172 AND source_table = v_source_table
173 AND reverse_event_flag = v_rev_flag;
174
175 CURSOR trx_csr(v_source_id NUMBER) IS
176 SELECT tcn.trx_number,
177 try.trx_type_class
178 FROM OKL_TXL_CNTRCT_LNS tcl,
179 OKL_TRX_CONTRACTS tcn,
180 OKL_TRX_TYPES_V try
181 WHERE tcl.id = v_source_id
182 AND tcl.tcn_id = tcn.id
183 AND tcn.try_id = try.id;
184
185 CURSOR tal_csr(v_source_id NUMBER) IS
186 SELECT tas.trans_number,
187 try.trx_type_class
188 FROM OKL_TXL_ASSETS_B tal,
189 OKL_TRX_ASSETS tas,
190 OKL_TRX_TYPES_V try
191 WHERE tal.id = v_source_id
192 AND tal.tas_id = tas.id
193 AND tas.try_id = try.id;
194
195
196 CURSOR aet_csr (v_source_id NUMBER,
197 v_source_table VARCHAR2) IS
198 SELECT NVL(MAX(event_number),0)
199 FROM OKL_ACCOUNTING_EVENTS
200 WHERE source_id = v_source_id
201 AND source_table = v_source_table;
202
203
204 l_dist_tbl_in tabv_tbl_type;
205 l_dist_tbl_out tabv_tbl_type;
206 l_tabv_tbl tabv_tbl_type;
207 x_tabv_tbl tabv_tbl_type;
208
209 l_try_id NUMBER;
210 l_aet_id NUMBER;
211 i NUMBER := 0;
212 l_event_number NUMBER := 0;
213 l_api_version NUMBER := 1.0;
214 l_total_events NUMBER := 0;
215 l_trx_number OKL_TRX_CONTRACTS.TRX_NUMBER%TYPE;
216
217 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
218 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
219
220 l_event_type_code OKL_ACCOUNTING_EVENTS.EVENT_TYPE_CODE%TYPE;
221 l_event_rec_in AETV_REC_TYPE;
222 l_event_rec_out AETV_REC_TYPE;
223 l_trx_type_class OKL_TRX_TYPES_V.TRX_TYPE_CLASS%TYPE;
224 l_try_id NUMBER;
225 l_gl_date DATE;
226 l_tab_count NUMBER := 0;
227
228
229 BEGIN
230
231 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
232
233 FOR dists_rec IN dists_csr
234
235 LOOP
236
237 BEGIN
238 i := 0;
239 l_tabv_tbl.DELETE;
240
241 FOR dist_rec IN dist_csr(dists_rec.source_id,
242 dists_rec.source_table,
243 dists_rec.reverse_event_flag)
244 LOOP
245
246 i := i + 1;
247 l_tabv_tbl(i).ID := dist_rec.ID;
248 l_tabv_tbl(i).template_id := dist_rec.template_id;
249 l_tabv_tbl(i).gl_date := dist_rec.gl_date;
250 l_gl_date := dist_rec.gl_date;
251
252 END LOOP;
253
254 IF (dists_rec.source_table = 'OKL_TXL_CNTRCT_LNS') THEN
255 OPEN trx_csr(dists_rec.source_id);
256 FETCH trx_csr INTO l_trx_number,
257 l_trx_type_class;
258 IF (trx_csr%NOTFOUND) THEN
259 Fnd_File.PUT_LINE(Fnd_File.LOG, 'Could not get transaction Number and Transaction type Class');
260 CLOSE trx_csr;
261 RAISE Okl_Api.G_EXCEPTION_ERROR;
262 END IF;
263
264 CLOSE trx_csr;
265
266 ELSIF (dists_rec.source_table = 'OKL_TXL_ASSETS_B') THEN
267
268 OPEN tal_csr(dists_rec.source_id);
269 FETCH tal_csr INTO l_trx_number,
270 l_trx_type_class;
271 IF (tal_csr%NOTFOUND) THEN
272 Fnd_File.PUT_LINE(Fnd_File.LOG, 'Could not get transaction Number and Transaction type Class');
273 CLOSE tal_csr;
274 RAISE Okl_Api.G_EXCEPTION_ERROR;
275 END IF;
276 CLOSE tal_csr;
277 ELSE
278 Fnd_File.PUT_LINE(Fnd_File.LOG, 'Invalid Source Table ' || dists_rec.source_table || ' found');
279 RAISE Okl_Api.G_EXCEPTION_ERROR;
280 END IF;
281
282 -- Get the max event number for this source id and table combination
283
284 OPEN aet_csr(dists_rec.source_id,
285 dists_rec.source_table);
286 FETCH aet_csr INTO l_event_number;
287 CLOSE aet_csr;
288
289 l_event_rec_in.EVENT_NUMBER := l_event_number + 1;
290
291 IF (dists_rec.reverse_event_flag = 'Y') THEN
292 l_event_rec_in.EVENT_TYPE_CODE := l_trx_type_class || '_REV';
293 ELSE
294 l_event_rec_in.EVENT_TYPE_CODE := l_trx_type_class;
295 END IF;
296
297 l_event_rec_in.SOURCE_ID := dists_rec.source_id;
298 l_event_rec_in.EVENT_STATUS_CODE := 'CREATED';
299 l_event_rec_in.ACCOUNTING_DATE := l_gl_date;
300 l_event_rec_in.SOURCE_TABLE := dists_rec.source_table;
301
302
303 --- Create the Accounting Events
304 Okl_Acct_Event_Pub.create_acct_event(p_api_version => p_api_version,
305 p_init_msg_list => p_init_msg_list,
306 x_return_status => l_return_status,
307 x_msg_count => x_msg_count,
308 x_msg_data => x_msg_data,
309 p_aetv_rec => l_event_rec_in,
310 x_aetv_rec => l_event_rec_out);
311
312 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
313 Fnd_File.PUT_LINE(Fnd_File.LOG,
314 'Error in Creating Accounting event for transaction Number ' || l_trx_number);
315 RAISE Okl_Api.G_EXCEPTION_ERROR;
316 END IF;
317
318 -- Update the accounting event id for the distributions
319
320 FOR l_tab_count IN 1..l_tabv_tbl.COUNT
321 LOOP
322 l_tabv_tbl(l_tab_count).AET_ID := l_event_rec_out.accounting_event_id;
323
324 -- Added by Santonyr Bug 3925719
325
326 BEGIN
327 UPDATE OKL_TRNS_ACC_DSTRS
328 SET AET_ID =l_tabv_tbl(l_tab_count).AET_ID,
329 last_update_date = SYSDATE,
330 last_updated_by = Fnd_Global.user_id,
331 last_update_login = Fnd_Global.login_id,
332 program_update_date = SYSDATE,
333 program_application_id = Fnd_Global.prog_appl_id,
334 program_id = Fnd_Global.conc_program_id,
335 request_id = Fnd_Global.conc_request_id
336 WHERE ID = l_tabv_tbl(l_tab_count).ID;
337
338 EXCEPTION
339 WHEN OTHERS THEN
340 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
341 Fnd_File.PUT_LINE(Fnd_File.LOG, SQLERRM);
342
343 END;
344
345 END LOOP;
346
347 -- Commented by Santonyr Bug 3925719
348
349 /*
350 Okl_Trns_Acc_Dstrs_Pub.update_trns_acc_dstrs(p_api_version => p_api_version,
351 p_init_msg_list => p_init_msg_list,
352 x_return_status => l_return_status,
353 x_msg_count => x_msg_count,
354 x_msg_data => x_msg_data,
355 p_tabv_tbl => l_tabv_tbl,
356 x_tabv_tbl => x_tabv_tbl);
357
358 */
359
360
361 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
362 Fnd_File.PUT_LINE(Fnd_File.LOG,
363 'Error in Updating Distribution with accounting event id for transaction Number ' || l_trx_number);
364
365 DO_CLEANUP(p_aetv_rec => l_Event_rec_out,
366 x_return_status => l_return_status);
367
368 RAISE Okl_Api.G_EXCEPTION_ERROR;
369 END IF;
370
371 l_total_events := l_total_events + 1;
372
373 IF MOD(l_total_events, g_commit_cycle)=0 THEN
374 COMMIT;
375 END IF;
376
377 EXCEPTION
378
379 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
380
381 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
382 IF (l_error_msg_rec.COUNT > 0) THEN
383 FOR m IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
384 LOOP
385 Fnd_File.PUT_LINE(Fnd_File.LOG, l_error_msg_rec(m));
386 END LOOP;
387 END IF;
388
389 END;
390
391 END LOOP;
392
393 x_total_events := l_total_events;
394 COMMIT WORK;
395
396 END CREATE_EVENTS;
397
398
399
400 FUNCTION GET_CATEGORY(p_trx_type VARCHAR2)
401 RETURN VARCHAR2
402
403 IS
404
405 l_category GL_JE_CATEGORIES.JE_CATEGORY_NAME%TYPE;
406
407 BEGIN
408
409 /*
410
411 IF (p_trx_type = 'BOOKING') THEN
412 l_category := 'Booking';
413 ELSIF (p_trx_type = 'REBOOK') THEN
414 l_category := 'Rebook';
415 ELSIF (p_trx_type = 'RENEWAL') THEN
416 l_category := 'Renewal';
417 ELSIF (p_trx_type = 'SPLIT_CONTRACT') THEN
418 l_category := 'Adjustment';
419 ELSIF (p_trx_type = 'SPLIT_ASSET') THEN
420 l_category := 'Adjustment';
421 ELSIF (p_trx_type = 'RELEASE') THEN
422 l_category := 'Release';
423 ELSIF (p_trx_type = 'REVERSE') THEN
424 l_category := 'Reverse';
425 ELSIF (p_trx_type = 'SYNDICATION') THEN
426 l_category := 'Syndication';
427 ELSIF (p_trx_type = 'VENDOR_CURE') THEN
428 l_category := 'Adjustment';
429 ELSIF (p_trx_type = 'INSURANCE') THEN
430 l_category := 'Adjustment';
431 ELSIF (p_trx_type = 'TERMINATION') THEN
432 l_category := 'Termination';
433 ELSIF (p_trx_type = 'ASSET_DISPOSITION') THEN
434 l_category := 'Asset Disposition';
435 ELSIF (p_trx_type = 'ASSET_CONDITION') THEN
436 l_category := 'Adjustment';
437 ELSIF (p_trx_type = 'REMARKET') THEN
438 l_category := 'Adjustment';
439 ELSIF (p_trx_type = 'WRITE_DOWN') THEN
440 l_category := 'Adjustment';
441 ELSIF (p_trx_type = 'REPURCHASE') THEN
442 l_category := 'Adjustment';
443 ELSIF (p_trx_type = 'ASSET_RESIDUAL_CHANGE') THEN
444 l_category := 'Adjustment';
445 ELSIF (p_trx_type = 'MISCELLANEOUS') THEN
446 l_category := 'Miscellaneous';
447 ELSIF (p_trx_type = 'ACCRUAL') THEN
448 l_category := 'Accrual';
449 ELSIF (p_trx_type = 'GENERAL_LOSS_PROVISION') THEN
450 l_category := 'Loss Provision';
451 ELSIF (p_trx_type = 'SPECIFIC_LOSS_PROVISION') THEN
452 l_category := 'Loss Provision';
453 ELSIF (p_trx_type = 'ADJUSTMENTS') THEN
454 l_category := 'Adjustment';
455 END IF;
456 */
457
458 -- Changed by Santonyr on 15-Sep-2004
459 -- Fixed bug 3755410
460
461 IF (p_trx_type IN ('ACL', 'NACL')) THEN
462 l_category := 'Lease Accrual';
463 ELSIF (p_trx_type = 'ALT') THEN
464 l_category := 'Termination';
465
466 -- Changed by Santonyr on 23-Jul-2003
467 -- Fixed bug 3065524
468
469 -- Changed by Santonyr on 04-Aug-2003
470 -- Fixed bug 3084790
471
472 ELSIF (p_trx_type IN ('INV', 'BKG', 'REL')) THEN
473 l_category := 'Booking';
474 ELSIF (p_trx_type = 'MAE') THEN
475 l_category := 'Miscellaneous';
476 ELSIF (p_trx_type = 'PGL') THEN
477 l_category := 'Loss Provision';
478 ELSIF (p_trx_type = 'PSP') THEN
479 l_category := 'Loss Provision';
480 ELSIF (p_trx_type = 'RVS') THEN
481 l_category := 'Reverse';
482 ELSIF (p_trx_type = 'SIV') THEN
483 l_category := 'Syndication';
484 -- Changed by sgiyer on 5-Oct-2005.
485 -- Bug 4636977. Added RAP TCL_TYPE to Adjustment category.
486 -- Changed by sgiyer on 21-Mar-2006.
487 -- Bug 5033120. Added PAD TCL_TYPE to Adjustment category.
488 --Bug 6117940 Added SPA TCL_TYPE
489 ELSIF (p_trx_type IN ('AAJ', 'SPL', 'RAP', 'PAD','SPA')) THEN
490 l_category := 'Adjustment';
491 ELSIF (p_trx_type = 'TMT') THEN
492 l_category := 'Termination';
493 ELSIF (p_trx_type = 'TRBK') THEN
494 l_category := 'Rebook';
495 ELSIF (p_trx_type = 'RFL') THEN
496 l_category := 'Asset Disposition';
497 --akrangan bug 5354501 fix start
498 ELSIF (p_trx_type = 'EVG') THEN
499 l_category := 'Evergreen';
500 --akrangan bug 5354501 fix start
501 END IF;
502
503 RETURN (l_category);
504
505 END GET_CATEGORY;
506
507
508
509 PROCEDURE CREATE_AE_HEADER(p_api_version IN NUMBER,
510 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
511 x_return_status OUT NOCOPY VARCHAR2,
512 x_msg_count OUT NOCOPY NUMBER,
513 x_msg_data OUT NOCOPY VARCHAR2,
514 p_aetv_rec IN aetv_rec_type,
515 p_period_name IN VARCHAR2,
516 p_trx_number IN VARCHAR2,
517 p_trx_type IN VARCHAR2,
518 x_aehv_rec OUT NOCOPY aehv_rec_type)
519
520 IS
521
522 l_header_rec_in AEHV_REC_TYPE;
523 l_header_rec_out AEHV_REC_TYPE;
524 l_aetv_rec AETV_REC_TYPE := p_aetv_rec;
525
526 l_start_date DATE;
527 l_end_date DATE;
528
529 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
530
531
532 TYPE ref_cursor IS REF CURSOR;
533 trx_csr ref_cursor;
534
535 l_trx_type_class OKL_TRX_TYPES_V.TRX_TYPE_CLASS%TYPE;
536 l_ae_category OKL_AE_HEADERS.AE_CATEGORY%TYPE;
537 l_template_id NUMBER;
538 l_try_id NUMBER;
539 l_trx_number OKL_TRX_CONTRACTS.TRX_NUMBER%TYPE := p_trx_number;
540
541
542 BEGIN
543
544 l_ae_category := GET_CATEGORY(p_trx_type);
545
546 IF (l_ae_category IS NULL) THEN
547 Fnd_File.PUT_LINE(Fnd_File.LOG,
548 'GL Category Not Found while Processing Transaction Number ' || l_trx_number);
549 RAISE Okl_Api.G_EXCEPTION_ERROR;
550 END IF;
551
552 l_header_rec_in.POST_TO_GL_FLAG := 'Y'; -- Unused Flag.
553 l_header_rec_in.ACCOUNTING_EVENT_ID := l_aetv_rec.accounting_event_id;
554 l_header_rec_in.AE_CATEGORY := l_ae_category;
555 l_header_rec_in.PERIOD_NAME := p_period_name;
556 l_header_rec_in.ACCOUNTING_DATE := l_aetv_rec.accounting_date;
557 l_header_rec_in.GL_TRANSFER_RUN_ID := -1;
558 l_header_rec_in.CROSS_CURRENCY_FLAG := 'N'; --??
559 l_header_rec_in.GL_TRANSFER_FLAG := 'N';
560 l_header_rec_in.SEQUENCE_ID := NULL;
561 l_header_rec_in.SEQUENCE_VALUE := NULL;
562 l_header_rec_in.DESCRIPTION := NULL;
563 l_header_rec_in.ACCOUNTING_ERROR_CODE := NULL;
564 l_header_rec_in.GL_TRANSFER_ERROR_CODE := NULL;
565 l_header_rec_in.GL_REVERSAL_FLAG := NULL;
566
567 -- Start of wraper code generated automatically by Debug code generator for OKL_ACCT_EVENT_PUB.create_acct_header
568 IF(L_DEBUG_ENABLED='Y') THEN
569 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
570 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
571 END IF;
572 IF(IS_DEBUG_PROCEDURE_ON) THEN
573 BEGIN
574 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRAECB.pls call OKL_ACCT_EVENT_PUB.create_acct_header ');
575 END;
576 END IF;
577 Okl_Acct_Event_Pub.create_acct_header(p_api_version => p_api_version,
578 p_init_msg_list => p_init_msg_list,
579 x_return_status => l_return_status,
580 x_msg_count => x_msg_count,
581 x_msg_data => x_msg_data,
582 p_aehv_rec => l_header_rec_in,
583 x_aehv_rec => l_header_rec_out);
584 IF(IS_DEBUG_PROCEDURE_ON) THEN
585 BEGIN
586 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRAECB.pls call OKL_ACCT_EVENT_PUB.create_acct_header ');
587 END;
588 END IF;
589 -- End of wraper code generated automatically by Debug code generator for OKL_ACCT_EVENT_PUB.create_acct_header
590
591 x_return_status := l_return_status;
592 x_aehv_rec:=l_header_rec_out;
593
594
595 EXCEPTION
596
597 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
598 x_return_status := Okl_Api.G_RET_STS_ERROR;
599
600 END CREATE_AE_HEADER;
601
602
603
604 PROCEDURE CREATE_AE_LINES(p_api_version IN NUMBER,
605 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
606 x_return_status OUT NOCOPY VARCHAR2,
607 x_msg_count OUT NOCOPY NUMBER,
608 x_msg_data OUT NOCOPY VARCHAR2,
609 p_aetv_rec IN AETV_REC_TYPE,
610 p_trx_number IN VARCHAR2,
611 x_total_lines OUT NOCOPY NUMBER,
612 x_ret_message OUT NOCOPY VARCHAR2)
613 IS
614
615 CURSOR dist_csr (v_aet_id NUMBER) IS
616 SELECT ID
617 ,CURRENCY_CONVERSION_TYPE
618 ,CR_DR_FLAG
619 ,CODE_COMBINATION_ID
620 ,CURRENCY_CODE
621 ,AE_LINE_TYPE
622 ,TEMPLATE_ID
623 ,SOURCE_ID
624 ,SOURCE_TABLE
625 ,AMOUNT
626 ,ACCOUNTED_AMOUNT
627 ,GL_DATE
628 ,PERCENTAGE
629 ,CURRENCY_CONVERSION_DATE
630 ,CURRENCY_CONVERSION_RATE
631 FROM OKL_TRNS_ACC_DSTRS
632 WHERE aet_id = v_aet_id;
633
634 CURSOR aeh_csr(v_aet_id NUMBER) IS
635 SELECT ae_header_id
636 FROM OKL_AE_HEADERS
637 WHERE accounting_event_id = v_aet_id;
638
639 l_aetv_rec aetv_rec_type := p_aetv_rec;
640 l_ae_header_id NUMBER;
641 l_aelv_tbl_in aelv_tbl_type;
642 l_aelv_tbl_out aelv_tbl_type;
643 l_error_code OKL_AE_LINES.accounting_error_code%TYPE;
644 l_line_number NUMBER := 0;
645 l_ccid_valid VARCHAR2(1) := Okl_Api.G_TRUE;
646 i NUMBER := 0;
647 l_description OKL_AE_LINES.Description%TYPE;
648 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
649 l_trx_number OKL_TRX_CONTRACTS.TRX_NUMBER%TYPE := p_trx_number;
650 l_total_lines NUMBER;
651 l_contract_number OKL_K_HEADERS_FULL_V.CONTRACT_NUMBER%TYPE;
652
653 -- Added by Santonyr Bug 3925719
654
655 CURSOR trx_cntrct_csr (p_source_id NUMBER) IS
656 SELECT
657 tcn.try_id
658 FROM
659 okl_txl_cntrct_lns txl,
660 okl_trx_contracts tcn
661 WHERE
662 txl.id = p_source_id AND
663 txl.tcn_id = tcn.id;
664
665 CURSOR trx_asset_csr (p_source_id NUMBER) IS
666 SELECT
667 tas.try_id
668 FROM
669 okl_txl_assets_b txl,
670 okl_trx_assets tas
671 WHERE
672 txl.id = p_source_id AND
673 txl.tas_id = tas.id;
674
675
676
677 BEGIN
678
679 -- Get the header id
680 OPEN aeh_csr(l_aetv_rec.accounting_Event_id);
681 FETCH aeh_csr INTO l_ae_header_id;
682 CLOSE aeh_csr;
683
684 FOR dist_rec IN dist_csr(l_aetv_rec.accounting_event_id)
685 LOOP
686 i := i + 1;
687 l_aelv_tbl_in(i).CODE_COMBINATION_ID := dist_rec.code_combination_id;
688 l_aelv_tbl_in(i).CURRENCY_CONVERSION_TYPE := dist_rec.currency_conversion_type;
689
690 l_line_number := l_line_number + 1;
691 l_aelv_tbl_in(i).AE_LINE_NUMBER := l_line_number;
692
693 l_aelv_tbl_in(i).AE_HEADER_ID := l_ae_header_id;
694
695 l_aelv_tbl_in(i).AE_LINE_TYPE_CODE := dist_rec.ae_line_type;
696 l_aelv_tbl_in(i).SOURCE_TABLE := dist_rec.source_table;
697 l_aelv_tbl_in(i).SOURCE_ID := dist_rec.source_id;
698 l_aelv_tbl_in(i).CURRENCY_CODE := dist_rec.currency_code;
699 l_aelv_tbl_in(i).CURRENCY_CONVERSION_DATE := dist_rec.currency_conversion_date;
700 l_aelv_tbl_in(i).CURRENCY_CONVERSION_RATE := dist_rec.currency_conversion_rate;
701
702 IF (dist_rec.CR_DR_FLAG = 'D') THEN
703 l_aelv_tbl_in(i).ENTERED_DR := dist_rec.amount;
704 l_aelv_tbl_in(i).ACCOUNTED_DR := dist_rec.accounted_amount;
705
706 END IF;
707
708 IF (dist_rec.CR_DR_FLAG = 'C') THEN
709 l_aelv_tbl_in(i).ENTERED_CR := dist_rec.amount;
710 l_aelv_tbl_in(i).ACCOUNTED_CR := dist_rec.accounted_amount;
711
712 END IF;
713
714 l_aelv_tbl_in(i).REFERENCE1 := dist_rec.template_id;
715 l_aelv_tbl_in(i).REFERENCE2 := dist_rec.ID;
716
717 -- Added by santonyr bug 3925719
718
719 IF dist_rec.source_table = 'OKL_TXL_CNTRCT_LNS' THEN
720 FOR trx_cntrct_rec IN trx_cntrct_csr (dist_rec.source_id) LOOP
721 l_aelv_tbl_in(i).REFERENCE3 := trx_cntrct_rec.try_id;
722 END LOOP;
723 ELSIF dist_rec.source_table = 'OKL_TXL_ASSETS_B' THEN
724 FOR trx_asset_rec IN trx_asset_csr (dist_rec.source_id) LOOP
725 l_aelv_tbl_in(i).REFERENCE3 := trx_asset_rec.try_id;
726 END LOOP;
727 END IF;
728
729 -- l_aelv_tbl_in(i).REFERENCE3 := NULL;
730
731 l_aelv_tbl_in(i).REFERENCE4 := NULL;
732 l_aelv_tbl_in(i).REFERENCE5 := NULL;
733 l_aelv_tbl_in(i).REFERENCE6 := NULL;
734 l_aelv_tbl_in(i).REFERENCE7 := NULL;
735 l_aelv_tbl_in(i).REFERENCE8 := NULL;
736 l_aelv_tbl_in(i).REFERENCE9 := NULL;
737 l_aelv_tbl_in(i).REFERENCE10 := NULL;
738 l_aelv_tbl_in(i).DESCRIPTION := l_description;
739 l_aelv_tbl_in(i).THIRD_PARTY_ID := NULL;
740 l_aelv_tbl_in(i).THIRD_PARTY_SUB_ID := NULL;
741 l_aelv_tbl_in(i).STAT_AMOUNT := NULL;
742 l_aelv_tbl_in(i).USSGL_TRANSACTION_CODE := NULL;
743 l_aelv_tbl_in(i).SUBLEDGER_DOC_SEQUENCE_ID := NULL;
744 l_aelv_tbl_in(i).ACCOUNTING_ERROR_CODE := NULL;
745 l_aelv_tbl_in(i).GL_TRANSFER_ERROR_CODE := NULL;
746 l_aelv_tbl_in(i).GL_SL_LINK_ID := NULL;
747 l_aelv_tbl_in(i).TAXABLE_ENTERED_DR := NULL;
748 l_aelv_tbl_in(i).TAXABLE_ENTERED_CR := NULL;
749 l_aelv_tbl_in(i).TAXABLE_ACCOUNTED_DR := NULL;
750 l_aelv_tbl_in(i).TAXABLE_ACCOUNTED_CR := NULL;
751 l_aelv_tbl_in(i).APPLIED_FROM_TRX_HDR_TABLE := NULL;
752 l_aelv_tbl_in(i).APPLIED_FROM_TRX_HDR_ID := NULL;
753 l_aelv_tbl_in(i).APPLIED_TO_TRX_HDR_TABLE := NULL;
754 l_aelv_tbl_in(i).APPLIED_TO_TRX_HDR_ID := NULL;
755 l_aelv_tbl_in(i).TAX_LINK_ID := NULL;
756 l_aelv_tbl_in(i).ACCOUNT_OVERLAY_SOURCE_ID := NULL;
757 l_aelv_tbl_in(i).SUBLEDGER_DOC_SEQUENCE_VALUE := NULL;
758 l_aelv_tbl_in(i).TAX_CODE_ID := NULL;
759
760 l_ccid_valid := Okl_Accounting_Util.validate_gl_ccid(dist_rec.code_combination_id);
761
762 IF (l_ccid_valid = Okl_Api.G_FALSE) THEN
763 l_aelv_tbl_in(i).accounting_error_code := 'INVALID_ACCOUNT';
764 -- l_aelv_tbl_in(i).code_combination_id := -1;
765 x_ret_message := 'INVALID ACCOUNT';
766 Fnd_File.PUT_LINE(Fnd_File.LOG, 'A CCID is Invalid for Transaction Number '
767 || l_trx_number);
768 END IF;
769
770 END LOOP;
771
772
773 -- Start of wraper code generated automatically by Debug code generator for OKL_ACCT_EVENT_PUB.create_acct_lines
774 IF(L_DEBUG_ENABLED='Y') THEN
775 L_LEVEL_PROCEDURE :=Fnd_Log.LEVEL_PROCEDURE;
776 IS_DEBUG_PROCEDURE_ON := Okl_Debug_Pub.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
777 END IF;
778 IF(IS_DEBUG_PROCEDURE_ON) THEN
779 BEGIN
780 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLRAECB.pls call OKL_ACCT_EVENT_PUB.create_acct_lines ');
781 END;
782 END IF;
783 Okl_Acct_Event_Pub.create_acct_lines(p_api_version => p_api_version,
784 p_init_msg_list => p_init_msg_list,
785 x_return_status => l_return_status,
786 x_msg_count => x_msg_count,
787 x_msg_data => x_msg_data,
788 p_aelv_tbl => l_aelv_tbl_in,
789 x_aelv_tbl => l_aelv_tbl_out);
790 IF(IS_DEBUG_PROCEDURE_ON) THEN
791 BEGIN
792 Okl_Debug_Pub.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLRAECB.pls call OKL_ACCT_EVENT_PUB.create_acct_lines ');
793 END;
794 END IF;
795 -- End of wraper code generated automatically by Debug code generator for OKL_ACCT_EVENT_PUB.create_acct_lines
796
797 l_total_lines := l_aelv_tbl_in.COUNT;
798
799 x_return_status := l_return_status;
800 x_total_lines := l_total_lines;
801
802
803 EXCEPTION
804
805 WHEN OTHERS THEN
806
807 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
808
809 END CREATE_AE_LINES;
810
811
812
813 PROCEDURE VALIDATE_DR_CR(p_aetv_rec IN aetv_rec_type,
814 x_ret_message OUT NOCOPY VARCHAR2,
815 x_return_status OUT NOCOPY VARCHAR2)
816
817 IS
818
819 CURSOR sum_csr(v_event_id NUMBER) IS
820 SELECT ael.Accounted_Dr Accounted_Dr,
821 ael.Accounted_Cr Accounted_Cr
822 FROM OKL_AE_LINES AEL,
823 OKL_AE_HEADERS AEH
824 WHERE AEH.accounting_event_ID = v_event_id
825 AND AEL.ae_header_id = AEH.ae_header_id ;
826
827 l_accounted_dr_total NUMBER := 0;
828 l_accounted_cr_total NUMBER := 0;
829
830
831 BEGIN
832
833 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
834
835 FOR sum_rec IN sum_csr(p_aetv_rec.Accounting_event_id)
836 LOOP
837
838 l_accounted_dr_total := l_accounted_dr_total + NVL(sum_rec.accounted_dr,0);
839 l_accounted_cr_total := l_accounted_cr_total + NVL(sum_rec.accounted_cr,0);
840
841 END LOOP;
842
843 IF (l_accounted_dr_total <> l_accounted_cr_total) THEN
844 x_ret_message := 'FAILED';
845
846 ELSE
847 x_ret_message := 'PASSED';
848
849
850 END IF;
851
852
853 EXCEPTION
854
855 WHEN OTHERS THEN x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
856
857 END VALIDATE_DR_CR;
858
859
860
861
862 PROCEDURE CLEAN_EVENT_DIST
863
864 IS
865
866 CURSOR dist_csr IS
867 SELECT ID
868 FROM OKL_TRNS_ACC_DSTRS
869 WHERE POSTED_YN = 'S';
870
871 dist_rec dist_csr%ROWTYPE;
872
873 CURSOR aet_csr IS
874 SELECT accounting_event_id
875 FROM OKL_ACCOUNTING_EVENTS
876 WHERE event_status_code = 'CREATED';
877
878 aet_rec aet_csr%ROWTYPE;
879
880 l_tabv_tbl TABV_TBL_TYPE;
881 x_tabv_tbl TABV_TBL_TYPE;
882 l_aetv_tbl Okl_Acct_Event_Pub.AETV_TBL_TYPE;
883 i NUMBER := 0;
884 p_api_version NUMBER := 1.0;
885 p_init_msg_list VARCHAR2(1) := Okl_Api.G_FALSE;
886 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
887 x_msg_count NUMBER;
888 x_msg_data VARCHAR2(2000);
889
890 BEGIN
891
892 FOR dist_rec IN dist_csr
893 LOOP
894 i := i + 1;
895 l_tabv_tbl(i).ID := dist_rec.ID;
896 l_tabv_tbl(i).posted_yn := 'N';
897 l_tabv_tbl(i).aet_id := NULL;
898 END LOOP;
899
900 IF (l_tabv_tbl.COUNT > 0) THEN
901
902 Okl_Trns_Acc_Dstrs_Pub.update_trns_acc_dstrs(
903 p_api_version => p_api_version,
904 p_init_msg_list => p_init_msg_list,
905 x_return_status => l_return_status,
906 x_msg_count => x_msg_count,
907 x_msg_data => x_msg_data,
908 p_tabv_tbl => l_tabv_tbl,
909 x_tabv_tbl => x_tabv_tbl);
910
911 END IF; ----- of l_tabv_tbl.COUNT > 0 check
912
913 i := 0;
914
915 FOR aet_rec IN aet_csr
916 LOOP
917 i := i + 1;
918 l_aetv_tbl(i).accounting_event_id := aet_rec.accounting_event_id;
919 END LOOP;
920
921 IF (l_aetv_tbl.COUNT > 0) THEN
922
923 Okl_Acct_Event_Pub.delete_acct_event(p_api_version => p_api_version,
924 p_init_msg_list => p_init_msg_list,
925 x_return_status => l_return_status,
926 x_msg_count => x_msg_count,
927 x_msg_data => x_msg_data,
928 p_aetv_tbl => l_aetv_tbl);
929
930 END IF; ---- of l_aetv_tbl.COUNT > 0 check
931
932 END CLEAN_EVENT_DIST;
933
934
935
936 FUNCTION GET_PROPER_LENGTH(p_input_data IN VARCHAR2,
937 p_input_length IN NUMBER,
938 p_input_type IN VARCHAR2)
939 RETURN VARCHAR2
940
941 IS
942
943 x_return_data VARCHAR2(1000);
944
945 BEGIN
946
947 IF (p_input_type = 'TITLE') THEN
948 IF (p_input_data IS NOT NULL) THEN
949 x_return_data := RPAD(SUBSTR(LTRIM(RTRIM(p_input_data)),1,p_input_length),p_input_length,' ');
950 ELSE
951 x_return_data := RPAD(' ',p_input_length,' ');
952 END IF;
953 ELSE
954 IF (p_input_data IS NOT NULL) THEN
955 IF (LENGTH(p_input_data) > p_input_length) THEN
956 x_return_data := RPAD('*',p_input_length,'*');
957 ELSE
958 x_return_data := RPAD(p_input_data,p_input_length,' ');
959 END IF;
960 ELSE
961 x_return_data := RPAD(' ',p_input_length,' ');
962 END IF;
963 END IF;
964
965 RETURN x_return_data;
966
967 END GET_PROPER_LENGTH;
968
969
970 PROCEDURE CREATE_REPORT(p_start_date VARCHAR2,
971 p_end_Date VARCHAR2,
972 --gboomina..added param for bug#4648697
973 p_rpt_format VARCHAR2)
974
975
976 IS
977
978 l_chart_of_accounts_id NUMBER := Okl_Accounting_Util.get_chart_of_accounts_id;
979 l_set_of_books_name VARCHAR2(300);
980 l_structure_name VARCHAR2(300);
981 l_org_name VARCHAR2(240);
982 l_org_id NUMBER := MO_GLOBAL.GET_CURRENT_ORG_ID();
983 l_entered_dr VARCHAR2(40);
984 l_entered_cr VARCHAR2(40);
985 l_line_number NUMBER;
986 l_error_ae_lines NUMBER;
987 l_error_ae_headers NUMBER;
988 l_request_id NUMBER := Fnd_Global.CONC_REQUEST_ID;
989
990
991 --added for reporting purposes
992
993 l_temp_acc_date DATE;
994 l_temp_period_name VARCHAR2(30);
995 l_temp_start_date DATE;
996 l_temp_end_date DATE;
997 l_line_length NUMBER := 120;
998 l_total_offset NUMBER := 88;
999 i NUMBER := 0;
1000 l_start_date DATE;
1001 l_end_date DATE;
1002
1003
1004
1005 -- Cursor to fetch the organization namd for a org id.
1006
1007 CURSOR org_csr (l_org_id IN NUMBER) IS
1008 SELECT name
1009 FROM hr_operating_units
1010 WHERE organization_id = l_org_id;
1011
1012 --- Cursor to select the error Headers
1013
1014 CURSOR ae_err_hdr_csr (p_request_id NUMBER) IS
1015 SELECT COUNT(*) err_ae_headers
1016 FROM okl_ae_headers ah
1017 WHERE ah.request_id = p_request_id AND
1018 ah.accounting_error_code IS NOT NULL;
1019
1020
1021 CURSOR ae_err_line_csr (p_request_id NUMBER) IS
1022 SELECT COUNT(*) err_ae_lines
1023 FROM okl_ae_lines ael
1024 WHERE ael.request_id = p_request_id AND
1025 ael.accounting_error_code IS NOT NULL;
1026
1027
1028
1029 --Cursor to fetch records of sucessful transactions
1030
1031 /*
1032 CURSOR proc_dst_csr(p_request_id NUMBER,
1033 p_category VARCHAR2,
1034 p_try_id NUMBER,
1035 p_currency_code VARCHAR2) IS
1036 SELECT ael.source_table source_table,
1037 ael.source_id source_id,
1038 ael.ae_line_number line_number,
1039 aeh.accounting_date accounting_date,
1040 DECODE(ael.accounted_cr,NULL,'DR','CR') dr_cr_flag,
1041 DECODE(ael.accounted_dr,NULL,ael.accounted_cr, ael.accounted_dr) accounted_amount,
1042 Okl_Accounting_Util.get_concat_segments(ael.code_combination_id) account,
1043 ael.currency_code currency_code,
1044 aeh.ae_category ae_category
1045 FROM okl_ae_lines ael,
1046 okl_ae_headers aeh,
1047 okl_txl_cntrct_lns tcl,
1048 okl_trx_contracts tcn
1049 WHERE aeh.ae_header_id = ael.ae_header_id
1050 AND aeh.accounting_error_code IS NULL
1051 AND ael.accounting_error_code IS NULL
1052 AND ael.request_id = p_request_id
1053 AND aeh.ae_category = p_category
1054 AND ael.currency_code = p_currency_code
1055 AND tcl.id = ael.source_id
1056 AND tcl.tcn_id = tcn.id
1057 AND tcn.try_id = p_try_id
1058 ORDER BY ael.source_id;
1059
1060
1061 CURSOR ae_category_csr(p_request_id NUMBER) IS
1062 SELECT SUM(accounted_dr) total_dr,
1063 SUM(accounted_cr) total_cr,
1064 try.id try_id,
1065 try.name try_name,
1066 aeh.ae_category ae_category,
1067 ael.currency_code
1068 FROM okl_Ae_headers aeh,
1069 okl_ae_lines ael,
1070 okl_trx_types_v try,
1071 okl_txl_cntrct_lns tcl,
1072 okl_trx_contracts tcn
1073 WHERE aeh.ae_header_id=ael.ae_header_id
1074 AND aeh.accounting_error_code IS NULL
1075 AND ael.accounting_error_code IS NULL
1076 AND aeh.request_id = p_request_id
1077 AND ael.source_id = tcl.id
1078 AND tcl.tcn_id = tcn.id
1079 AND tcn.try_id = try.id
1080 GROUP BY aeh.ae_category,
1081 try.id,
1082 try.name,
1083 ael.currency_code
1084 UNION
1085 SELECT SUM(accounted_dr) total_dr,
1086 SUM(accounted_cr) total_cr,
1087 try.id try_id,
1088 try.name try_name,
1089 aeh.ae_category ae_category,
1090 ael.currency_code
1091 FROM okl_Ae_headers aeh,
1092 okl_ae_lines ael,
1093 okl_trx_types_v try,
1094 okl_trx_assets tas,
1095 okl_txl_assets_b tal
1096 WHERE aeh.ae_header_id=ael.ae_header_id
1097 AND aeh.accounting_error_code IS NULL
1098 AND ael.accounting_error_code IS NULL
1099 AND aeh.request_id = p_request_id
1100 AND ael.source_id = tal.id
1101 AND tal.tas_id = tas.id
1102 AND tas.try_id = try.id
1103 GROUP BY aeh.ae_category,
1104 try.id,
1105 try.name,
1106 ael.currency_code;
1107
1108 */
1109
1110 CURSOR proc_dst_csr(p_request_id NUMBER,
1111 p_category VARCHAR2,
1112 p_try_id NUMBER,
1113 p_currency_code VARCHAR2) IS
1114 SELECT
1115 ael.source_table,
1116 ael.source_id,
1117 ael.ae_line_number,
1118 aeh.accounting_date,
1119 DECODE(ael.accounted_cr,NULL,'DR','CR') dr_cr_flag,
1120 DECODE(ael.accounted_dr, NULL,ael.accounted_cr, ael.accounted_dr) accounted_amount,
1121 Okl_Accounting_Util.get_concat_segments(ael.code_combination_id) account,
1122 ael.currency_code,
1123 aeh.ae_category
1124 FROM
1125 okl_ae_lines ael,
1126 okl_ae_headers aeh
1127 WHERE
1128 ael.request_id = p_request_id AND
1129 ael.currency_code = p_currency_code AND
1130 ael.reference3 = p_try_id AND
1131 ael.accounting_error_code IS NULL AND
1132 ael.ae_header_id = aeh.ae_header_id AND
1133 aeh.ae_category = p_category AND
1134 aeh.accounting_error_code IS NULL
1135 ORDER BY ael.source_id;
1136
1137
1138 CURSOR ae_category_csr(p_request_id NUMBER) IS
1139 SELECT
1140 SUM(accounted_dr) total_dr,
1141 SUM(accounted_cr) total_cr,
1142 try.id try_id,
1143 try.name try_name,
1144 aeh.ae_category ae_category,
1145 ael.currency_code
1146 FROM
1147 okl_Ae_headers aeh,
1148 okl_ae_lines ael,
1149 okl_trx_types_v try
1150 WHERE
1151 aeh.request_id = p_request_id AND
1152 aeh.accounting_error_code IS NULL AND
1153 aeh.ae_header_id=ael.ae_header_id AND
1154 ael.accounting_error_code IS NULL AND
1155 ael.reference3 = try.id
1156 GROUP BY aeh.ae_category, try.id, try.name, ael.currency_code;
1157
1158
1159 ae_category_rec ae_category_csr%ROWTYPE;
1160
1161
1162 CURSOR details_csr(p_source_id NUMBER) IS
1163 SELECT
1164 tcn.trx_number transaction_number,
1165 try.name transaction_type,
1166 khr.contract_number contract_number,
1167 tcl.line_number transaction_line_number,
1168 tcl.id source_id,
1169 tcl.currency_code currency_code,
1170 tcl.amount amount,
1171 tcn.date_transaction_occurred transaction_date
1172 FROM
1173 okl_txl_cntrct_lns tcl,
1174 okl_trx_contracts tcn,
1175 okl_trx_types_v try,
1176 okc_k_headers_b khr
1177 WHERE
1178 tcl.id = p_source_id AND
1179 tcl.tcn_id = tcn.id AND
1180 tcn.try_id = try.id AND
1181 tcn.khr_id = khr.id
1182 UNION ALL
1183 SELECT
1184 TO_CHAR(tas.trans_number) transaction_number,
1185 try.name transaction_type,
1186 khr.contract_number contract_number,
1187 tal.line_number transaction_line_number,
1188 tal.id source_id,
1189 tal.currency_code currency_code,
1190 tal.original_cost amount,
1191 tas.date_trans_occurred transaction_date
1192 FROM
1193 okl_txl_assets_b tal,
1194 okl_trx_assets tas,
1195 okl_trx_types_v try,
1196 okc_k_headers_b khr
1197 WHERE
1198 tal.id = p_source_id AND
1199 tal.tas_id = tas.id AND
1200 tas.try_id = try.id AND
1201 tal.dnz_khr_id = khr.id;
1202
1203
1204 details_rec details_csr%ROWTYPE;
1205
1206 -- Cursor to fetch the records that the error INVALID ACCOUNT
1207
1208 CURSOR invalid_acc_dst_csr(l_request_id NUMBER) IS
1209 SELECT
1210 ael.source_table,
1211 ael.source_id,
1212 ael.ae_line_number,
1213 aeh.accounting_date,
1214 DECODE(ael.accounted_cr, NULL, 'DR', 'CR') dr_cr_flag,
1215 DECODE(ael.accounted_dr, NULL, ael.accounted_cr, ael.accounted_dr) accounted_amount,
1216 Okl_Accounting_Util.get_concat_segments(ael.code_combination_id) account,
1217 ael.currency_code
1218 FROM
1219 okl_ae_lines ael,
1220 okl_ae_headers aeh
1221 WHERE
1222 ael.request_id = l_request_id AND
1223 ael.accounting_error_code = 'INVALID_ACCOUNT' AND
1224 ael.ae_header_id = aeh.ae_header_id ORDER BY ael.source_id;
1225
1226 invalid_acc_dst_rec invalid_acc_dst_csr%ROWTYPE;
1227
1228 --Cursor to fetch the records that have the error DEBIT NOT EQUAL TO CREDIT
1229
1230 CURSOR dr_cr_unequal_dst_csr(l_request_id NUMBER) IS
1231 SELECT
1232 ael.source_table source_table,
1233 ael.source_id source_id,
1234 ael.ae_line_number line_number,
1235 aeh.accounting_date accounting_date,
1236 DECODE(ael.accounted_cr, NULL, 'DR', 'CR') dr_cr_flag,
1237 DECODE(ael.accounted_dr, NULL, ael.accounted_cr, ael.accounted_dr) accounted_amount,
1238 Okl_Accounting_Util.get_concat_segments(ael.code_combination_id) account,
1239 ael.currency_code currency_code
1240 FROM
1241 okl_ae_headers aeh,
1242 okl_ae_lines ael
1243 WHERE
1244 aeh.request_id = l_request_id AND
1245 aeh.accounting_error_code = 'DEBIT_NOT_EQUAL_TO_CREDIT' AND
1246 aeh.ae_header_id = ael.ae_header_id ORDER BY ael.source_id;
1247
1248 dr_cr_unequal_dst_rec dr_cr_unequal_dst_csr%ROWTYPE;
1249
1250
1251
1252 BEGIN
1253 -- santonyr
1254
1255 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', 47 , ' ' ) ||
1256 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCT_LEASE_MANAGEMENT')
1257 || RPAD(' ', 48 , ' ' ));
1258
1259 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', 42 , ' ' ) || Okl_Accounting_Util.get_message_token
1260 ('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCT_PROCESS_REPORT') || RPAD(' ', 43 , ' ' ));
1261 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ',42 , ' ' ) || '-----------------------------------' || RPAD(' ', 43 , ' ' ));
1262 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1263
1264 -- Derive the org name and print it on the report.
1265
1266 l_set_of_books_name := Okl_Accounting_Util.get_set_of_books_name (Okl_Accounting_Util.get_set_of_books_id);
1267
1268 FOR org_rec IN org_csr (l_org_id)
1269 LOOP
1270 l_org_name := org_rec.name;
1271 END LOOP;
1272
1273 FOR ae_err_hdr_rec IN ae_err_hdr_csr (l_request_id) LOOP
1274 l_error_ae_headers := ae_err_hdr_rec.ERR_AE_HEADERS;
1275 END LOOP;
1276
1277 FOR ae_err_line_rec IN ae_err_line_csr (l_request_id) LOOP
1278 l_error_ae_lines := ae_err_line_rec.ERR_AE_LINES;
1279 END LOOP;
1280
1281
1282 i := 0;
1283
1284
1285 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_SET_OF_BOOKS') ||': '||
1286 RPAD(SUBSTR(l_set_of_books_name, 1, 60), 60, ' ') || LPAD(' ', 18 , ' ' )
1287 || Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_RUN_DATE') ||':' ||
1288 SUBSTR(TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI'), 1, 27));
1289 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_OPERUNIT')
1290 ||':'|| SUBSTR(l_org_name, 1, 30) );
1291
1292 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1293 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS',
1294 'OKL_START_DATE'), 25 , ' ' ) || RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS',
1295 'OKL_END_DATE'), 25 , ' ' ) ||
1296 RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_STATUS'), 30 , ' ' ) ||
1297 LPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_AE_HEADERS'), 20 , ' ' ) ||
1298 LPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_AE_LINES'), 20 , ' ' ));
1299 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length, '-' ));
1300 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, GET_PROPER_LENGTH(p_start_date,25,'TITLE') || GET_PROPER_LENGTH(p_end_date, 25 ,'TITLE' ) ||
1301 RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_PROCESSED_ENTRIES'), 30 , ' ' ) ||
1302 LPAD(l_total_headers, 20 , ' ' ) || LPAD(l_total_lines, 20 , ' ' ));
1303 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', 25 , ' ' ) || RPAD(' ', 25 , ' ' ) ||
1304 RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNTED_SUCCESS'), 30 , ' ' ) ||
1305 LPAD((l_total_headers - l_error_ae_headers), 20 , ' ' ) || LPAD((l_total_lines - l_error_ae_lines), 20 , ' ' ));
1306 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', 25 , ' ' ) || RPAD(' ', 25 , ' ' ) ||
1307 RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNTED_ERROR'), 30 , ' ' ) ||
1308 LPAD((l_error_ae_headers), 20 , ' ' ) || LPAD((l_error_ae_lines), 20 , ' ' ));
1309
1310
1311 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1312 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('=', l_line_length , '=' ));
1313 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1314
1315 header_report_rec.transaction_date := GET_PROPER_LENGTH(
1316 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TRANSACTION'),
1317 l_transaction_date_len, 'TITLE');
1318 header_report_rec.contract_number := GET_PROPER_LENGTH(
1319 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_CONTRACT'),
1320 l_contract_number_len, 'TITLE');
1321 header_report_rec.transaction_number := GET_PROPER_LENGTH(
1322 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TRANSACTION'),
1323 l_transaction_number_len, 'TITLE');
1324 header_report_rec.transaction_line_number := GET_PROPER_LENGTH(
1325 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACC_LINE'),
1326 l_transaction_line_number_len,'TITLE');
1327 header_report_rec.accounting_date := GET_PROPER_LENGTH(
1328 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNT_ING'),
1329 l_Accounting_date_len, 'TITLE');
1330 header_report_rec.dr_cr_flag := GET_PROPER_LENGTH(
1331 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DR_CR_FLAG'),
1332 l_dr_cr_flag_len, 'TITLE');
1333 header_report_rec.accounted_Amount := GET_PROPER_LENGTH(
1334 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNTED'),
1335 l_accounted_amount_len, 'TITLE');
1336 /* header_report_rec.account := GET_PROPER_LENGTH(
1337 okl_accounting_util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNT'),
1338 l_account_len, 'TITLE');*/
1339 header_report_rec.account :=
1340 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNT');
1341
1342 header_report_rec.currency := GET_PROPER_LENGTH(
1343 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_CURRENCY'),
1344 l_currency_len, 'TITLE');
1345
1346 header_report_rec2.transaction_date := GET_PROPER_LENGTH(
1347 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DATE'),
1348 l_transaction_date_len, 'TITLE');
1349 header_report_rec2.contract_number := GET_PROPER_LENGTH(
1350 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1351 l_contract_number_len, 'TITLE');
1352 header_report_rec2.transaction_number := GET_PROPER_LENGTH(
1353 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1354 l_transaction_number_len, 'TITLE');
1355 header_report_rec2.transaction_line_number := GET_PROPER_LENGTH(
1356 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1357 l_transaction_line_number_len,'TITLE');
1358 header_report_rec2.accounting_date := GET_PROPER_LENGTH(
1359 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DATE'),
1360 l_Accounting_date_len, 'TITLE');
1361
1362 header_report_rec2.dr_cr_flag := GET_PROPER_LENGTH(NULL,l_dr_cr_flag_len, 'TITLE');
1363
1364 header_report_rec2.accounted_Amount := GET_PROPER_LENGTH(
1365 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_AMOUNT'),
1366 l_accounted_amount_len, 'TITLE');
1367 -- header_report_rec2.account := GET_PROPER_LENGTH(NULL, l_account_len, 'TITLE');
1368 header_report_rec2.currency := GET_PROPER_LENGTH(NULL, l_currency_len, 'TITLE');
1369
1370
1371 --- Error Section Begins ------------------------
1372
1373 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1374 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ERROR_LOG'), l_line_length , ' ' ));
1375 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('---------', l_line_length , ' ' ));
1376 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1377
1378
1379 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_lookup_meaning('OKL_ACCOUNTING_ERROR_CODE',
1380 'DEBIT_NOT_EQUAL_TO_CREDIT') , l_line_length, ' ' ));
1381 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('---------------------------', l_line_length , ' ' ));
1382 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1383
1384 -- Print the Header, same as the processed one.
1385
1386 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1387 header_report_rec.transaction_date||
1388 header_report_rec.contract_number||
1389 header_report_rec.transaction_number ||
1390 header_report_rec.transaction_line_number ||
1391 header_report_rec.accounting_date ||
1392 header_report_rec.dr_cr_flag ||
1393 header_report_rec.accounted_amount ||
1394 -- Modified by kthiruva for Bug 3861943
1395 --header_report_rec.account ||
1396 header_report_rec.currency);
1397
1398 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec2.transaction_date||
1399 header_report_rec2.contract_number||
1400 header_report_rec2.transaction_number ||
1401 header_report_rec2.transaction_line_number ||
1402 header_report_rec2.accounting_date ||
1403 header_report_rec2.dr_cr_flag ||
1404 header_report_rec2.accounted_amount ||
1405 -- Modified by kthiruva for Bug 3861943
1406 --header_report_rec2.account ||
1407 header_report_rec2.currency);
1408
1409
1410
1411
1412 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1413
1414 OPEN dr_cr_unequal_dst_csr(l_request_id);
1415 FETCH dr_cr_unequal_dst_csr INTO dr_cr_unequal_dst_rec;
1416 IF (dr_cr_unequal_dst_csr%NOTFOUND) THEN
1417 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1418 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NO_RECORDS'));
1419 ELSE
1420 NULL;
1421 END IF;
1422
1423 CLOSE dr_cr_unequal_dst_csr;
1424
1425
1426 FOR dr_cr_unequal_dst_rec IN dr_cr_unequal_dst_csr(l_request_id)
1427 LOOP -- For each record
1428
1429 OPEN details_csr(dr_cr_unequal_dst_rec.source_id);
1430 FETCH details_csr INTO details_rec;
1431 CLOSE details_csr;
1432
1433 dr_cr_report_rec.transaction_date :=
1434 GET_PROPER_LENGTH(details_rec.transaction_date,l_transaction_date_len,'DATA');
1435
1436 --Modified by kthiruva on 30-Nov-2004
1437 --Bug 3947025 - Start of Changes
1438 --To extract the First 25 characters of the Contract_Number
1439 dr_cr_report_rec.contract_number :=
1440 RPAD(substr(details_rec.contract_number,1,l_contract_number_len),l_contract_number_len,' ');
1441 --Bug 3947025 - End of Changes
1442 dr_cr_report_rec.transaction_number :=
1443 GET_PROPER_LENGTH(details_rec.transaction_number,l_transaction_number_len,'DATA');
1444 dr_cr_report_rec.transaction_line_number:=
1445 GET_PROPER_LENGTH(details_rec.transaction_line_number,l_transaction_line_number_len,'DATA');
1446 dr_cr_report_rec.accounting_date :=
1447 GET_PROPER_LENGTH(dr_cr_unequal_dst_rec.accounting_date,l_accounting_date_len,'DATA');
1448 dr_cr_report_rec.dr_cr_flag :=
1449 GET_PROPER_LENGTH(dr_cr_unequal_dst_rec.dr_Cr_flag,l_dr_Cr_flag_len,'DATA');
1450 dr_cr_report_rec.accounted_amount :=
1451 GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(
1452 dr_cr_unequal_dst_rec.accounted_amount, dr_cr_unequal_dst_rec.currency_code),
1453 l_accounted_amount_len,'DATA');
1454 -- Modified by kthiruva for Bug 3861943
1455 /*
1456 dr_cr_report_rec.account :=
1457 GET_PROPER_LENGTH(dr_cr_unequal_dst_rec.account,l_account_len,'DATA');*/
1458 dr_cr_report_rec.account := dr_cr_unequal_dst_rec.account;
1459 dr_cr_report_rec.currency :=
1460 GET_PROPER_LENGTH(dr_cr_unequal_dst_rec.currency_code,l_currency_len,'DATA');
1461
1462
1463 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1464 dr_cr_report_rec.transaction_date||
1465 dr_cr_report_rec.contract_number ||
1466 dr_cr_report_rec.transaction_number ||
1467 dr_cr_report_rec.transaction_line_number||
1468 dr_cr_report_rec.accounting_date ||
1469 dr_cr_report_rec.dr_Cr_flag ||
1470 dr_cr_report_rec.accounted_amount ||
1471 --dr_cr_report_rec.account ||
1472 dr_cr_report_rec.currency);
1473
1474 --Added by kthiruva for Bug 3861943
1475 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec.account||':'||dr_cr_report_rec.account );
1476
1477
1478 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1479
1480
1481 END LOOP;
1482
1483 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1484 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1485 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1486 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1487
1488 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_lookup_meaning('OKL_ACCOUNTING_ERROR_CODE',
1489 'INVALID_ACCOUNT'), l_line_length, ' ' ));
1490 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('---------------', l_line_length , ' ' ));
1491 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1492
1493 ---- Print the Header for Invalid Account, Same as before.
1494
1495
1496 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1497 header_report_rec.transaction_date||
1498 header_report_rec.contract_number||
1499 header_report_rec.transaction_number ||
1500 header_report_rec.transaction_line_number ||
1501 header_report_rec.accounting_date ||
1502 header_report_rec.dr_cr_flag ||
1503 header_report_rec.accounted_amount ||
1504 -- Modified by kthiruva for Bug 3861943
1505 --header_report_rec.account ||
1506 header_report_rec.currency);
1507
1508 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec2.transaction_date||
1509 header_report_rec2.contract_number||
1510 header_report_rec2.transaction_number ||
1511 header_report_rec2.transaction_line_number ||
1512 header_report_rec2.accounting_date ||
1513 header_report_rec2.dr_cr_flag ||
1514 header_report_rec2.accounted_amount ||
1515 -- Modified by kthiruva for Bug 3861943
1516 --header_report_rec2.account ||
1517 header_report_rec2.currency);
1518
1519
1520 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1521
1522 OPEN invalid_acc_dst_csr(l_request_id);
1523 FETCH invalid_acc_dst_csr INTO invalid_acc_dst_rec;
1524 IF (invalid_Acc_dst_csr%NOTFOUND) THEN
1525 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1526 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NO_RECORDS'));
1527 ELSE
1528 NULL;
1529 END IF;
1530 CLOSE invalid_acc_Dst_csr;
1531
1532
1533 FOR invalid_acc_dst_rec IN invalid_acc_dst_csr(l_request_id)
1534 LOOP -- For each invalid Account record
1535
1536 OPEN details_csr(invalid_acc_dst_rec.source_id) ;
1537 FETCH details_csr INTO details_rec;
1538 CLOSE details_csr;
1539
1540 invalid_acc_report_rec.transaction_date
1541 := GET_PROPER_LENGTH(details_rec.transaction_date, l_transaction_date_len, 'DATA');
1542 --Modified by kthiruva on 30-Nov-2004
1543 --Bug 3947025 - Start of Changes
1544 -- To extract the first 25 characters in the Contract Number
1545 invalid_acc_report_rec.contract_number
1546 := RPAD(substr(details_rec.contract_number, 1 , l_contract_number_len),l_contract_number_len,' ');
1547 --Bug 3947025 - End of Changes
1548 invalid_acc_report_rec.transaction_number
1549 := GET_PROPER_LENGTH(details_rec.transaction_number, l_transaction_number_len, 'DATA');
1550 invalid_acc_report_rec.transaction_line_number
1551 := GET_PROPER_LENGTH(details_Rec.transaction_line_number, l_transaction_line_number_len, 'DATA');
1552 invalid_Acc_report_rec.accounting_date
1553 := GET_PROPER_LENGTH(invalid_acc_dst_rec.accounting_date, l_accounting_date_len, 'DATA');
1554 invalid_acc_report_rec.dr_Cr_Flag
1555 := GET_PROPER_LENGTH(invalid_acc_dst_rec.dr_Cr_flag, l_dr_Cr_flag_len, 'DATA');
1556 invalid_acc_report_rec.accounted_amount
1557 := GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(invalid_acc_dst_rec.accounted_amount,
1558 invalid_Acc_dst_rec.currency_code), l_accounted_amount_len, 'DATA');
1559 -- Modified by kthiruva for Bug 3861943
1560 /*
1561 invalid_acc_report_rec.account
1562 := GET_PROPER_LENGTH(invalid_acc_dst_rec.account, l_account_len, 'DATA');*/
1563 invalid_acc_report_rec.account
1564 := invalid_acc_dst_rec.account;
1565 invalid_acc_report_rec.currency
1566 := GET_PROPER_LENGTH(invalid_acc_dst_rec.currency_code, l_currency_len, 'DATA');
1567
1568
1569 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1570 invalid_Acc_report_rec.transaction_date||
1571 invalid_acc_report_rec.contract_number ||
1572 invalid_Acc_report_rec.transaction_number ||
1573 invalid_acc_report_rec.transaction_line_number||
1574 invalid_acc_report_rec.accounting_date ||
1575 invalid_acc_report_rec.dr_cr_flag ||
1576 invalid_acc_report_rec.accounted_amount ||
1577 -- Modified by kthiruva for Bug 3861943
1578 --invalid_acc_report_rec.account ||
1579 invalid_acc_report_rec.currency);
1580
1581 -- Added by kthiruva for Bug 3861943
1582 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec.account||':'||invalid_acc_report_rec.account);
1583
1584 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1585
1586 END LOOP;
1587
1588 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1589 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1590 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1591 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1592
1593 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS',
1594 'OKL_NON_PROCESSED_ENTRIES'), l_line_length , ' ' ));
1595 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('---------------------', l_line_length , ' ' ));
1596 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1597
1598 --Assigning the headers for non-processed entries
1599
1600
1601 header_err_report_rec.transaction_date := GET_PROPER_LENGTH(
1602 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TRANSACTION'),
1603 l_transaction_date_len, 'TITLE');
1604 header_err_report_rec.contract_number := GET_PROPER_LENGTH(
1605 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_CONTRACT'),
1606 l_contract_number_len, 'TITLE');
1607 header_err_report_rec.transaction_number := GET_PROPER_LENGTH(
1608 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TRANSACTION'),
1609 l_transaction_number_len, 'TITLE');
1610 header_err_report_rec.transaction_line_number := GET_PROPER_LENGTH(
1611 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACC_LINE'),
1612 l_transaction_line_number_len,'TITLE');
1613 header_err_report_rec.accounting_date := GET_PROPER_LENGTH(
1614 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNT_ING'),
1615 l_Accounting_date_len, 'TITLE');
1616 header_err_report_rec.accounting_period := GET_PROPER_LENGTH(
1617 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_ACCOUNT_ING'),
1618 l_accounting_period_len, 'TITLE');
1619 header_err_report_rec.amount := GET_PROPER_LENGTH(
1620 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_AMOUNT'),
1621 l_amount_len, 'TITLE');
1622 header_err_report_rec.currency := GET_PROPER_LENGTH(
1623 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_CURRENCY'),
1624 l_currency_len, 'TITLE');
1625
1626
1627 header_err_report_rec2.transaction_date := GET_PROPER_LENGTH(
1628 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DATE'),
1629 l_transaction_date_len, 'TITLE');
1630 header_err_report_rec2.contract_number := GET_PROPER_LENGTH(
1631 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1632 l_contract_number_len, 'TITLE');
1633 header_err_report_rec2.transaction_number := GET_PROPER_LENGTH(
1634 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1635 l_transaction_number_len, 'TITLE');
1636 header_err_report_rec2.transaction_line_number := GET_PROPER_LENGTH(
1637 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NUMBER'),
1638 l_transaction_line_number_len,'TITLE');
1639 header_err_report_rec2.accounting_date := GET_PROPER_LENGTH(
1640 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DATE'),
1641 l_Accounting_date_len, 'TITLE');
1642 header_err_report_rec2.accounting_period := GET_PROPER_LENGTH(
1643 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_PERIOD'),
1644 l_accounting_period_len, 'TITLE');
1645 header_err_report_rec2.amount := GET_PROPER_LENGTH(NULL,l_amount_len, 'TITLE');
1646 header_err_report_rec2.currency := GET_PROPER_LENGTH(NULL,l_currency_len, 'TITLE');
1647
1648
1649 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1650 header_err_report_rec.transaction_date||
1651 header_err_report_rec.contract_number||
1652 header_err_report_rec.transaction_number ||
1653 header_err_report_rec.transaction_line_number ||
1654 header_err_report_rec.accounting_date ||
1655 header_err_report_rec.accounting_period ||
1656 header_err_report_rec.amount||
1657 header_err_report_rec.currency);
1658
1659 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1660 header_err_report_rec2.transaction_date||
1661 header_err_report_rec2.contract_number||
1662 header_err_report_rec2.transaction_number ||
1663 header_err_report_rec2.transaction_line_number ||
1664 header_err_report_rec2.accounting_date ||
1665 header_err_report_rec2.accounting_period ||
1666 header_err_report_rec2.amount||
1667 header_err_report_rec2.currency);
1668
1669
1670
1671 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1672
1673 IF (l_trx_err_tbl.COUNT < 1) THEN
1674
1675 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1676 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NO_RECORDS'));
1677 END IF;
1678
1679 --- Process the non-processed Entries
1680
1681 FOR i IN 1..l_trx_err_tbl.COUNT
1682
1683 LOOP
1684
1685 OPEN details_csr(l_trx_err_tbl(i).source_id);
1686 FETCH details_csr INTO details_rec;
1687 CLOSE details_csr;
1688
1689 Okl_Accounting_Util.get_period_info(l_trx_err_tbl(i).gl_date,l_temp_period_name,l_temp_start_date,l_temp_end_date);
1690
1691 non_proc_report_rec.transaction_date
1692 := GET_PROPER_LENGTH(details_rec.transaction_date, l_transaction_date_len, 'DATA');
1693
1694 --Modified by kthiruva on 30-Nov-2004
1695 --Bug 3947025 - Start of Changes
1696 -- To extract the first 25 characters in the Contract Number
1697 non_proc_report_rec.contract_number
1698 := RPAD(substr(details_rec.contract_number, 1, l_contract_number_len),l_contract_number_len,' ');
1699 --Bug 3947025 - End of Changes
1700
1701 non_proc_report_rec.transaction_number
1702 := GET_PROPER_LENGTH(details_rec.transaction_number, l_transaction_number_len, 'DATA');
1703
1704 non_proc_report_rec.transaction_line_number
1705 := GET_PROPER_LENGTH(details_rec.transaction_line_number, l_transaction_line_number_len, 'DATA');
1706
1707 non_proc_report_rec.accounting_date
1708 := GET_PROPER_LENGTH(l_trx_err_tbl(i).gl_date, l_accounting_date_len, 'DATA');
1709
1710 non_proc_report_rec.accounting_period
1711 := GET_PROPER_LENGTH(l_temp_period_name, l_accounting_period_len, 'DATA');
1712
1713 non_proc_report_rec.amount
1714 := GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(details_rec.amount, details_rec.currency_code)
1715 , l_amount_len, 'DATA');
1716
1717 non_proc_report_rec.currency
1718 := GET_PROPER_LENGTH(details_rec.currency_code, l_currency_len, 'DATA');
1719
1720 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1721 non_proc_report_rec.transaction_date ||
1722 non_proc_report_rec.contract_number ||
1723 non_proc_report_rec.transaction_number ||
1724 non_proc_report_rec.transaction_line_number ||
1725 non_proc_report_rec.accounting_date ||
1726 non_proc_report_rec.accounting_period ||
1727 non_proc_report_rec.amount ||
1728 non_proc_report_rec.currency);
1729
1730
1731 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1732
1733 END LOOP;
1734
1735 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length, '-' ));
1736 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1737 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1738
1739 --gboomina..bug#4648697 ..Added condition to print
1740 --processed records only if rpt_format is ALL.
1741 IF (p_rpt_format = 'ALL') THEN
1742
1743 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length, ' ' ));
1744 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_PROCESSED_ENTRIES'), l_line_length, ' ' ));
1745 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-----------------', l_line_length, ' ' ));
1746 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1747
1748
1749
1750 OPEN ae_category_csr(l_request_id);
1751 FETCH ae_category_csr INTO ae_category_rec;
1752 IF (ae_category_csr%NOTFOUND) THEN
1753
1754 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1755 header_report_rec.transaction_date||
1756 header_report_rec.contract_number||
1757 header_report_rec.transaction_number ||
1758 header_report_rec.transaction_line_number ||
1759 header_report_rec.accounting_date ||
1760 header_report_rec.dr_cr_flag ||
1761 header_report_rec.accounted_amount ||
1762 -- Modified by kthiruva for Bug 3861943
1763 --header_report_rec.account ||
1764 header_report_rec.currency);
1765
1766 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec2.transaction_date||
1767 header_report_rec2.contract_number||
1768 header_report_rec2.transaction_number ||
1769 header_report_rec2.transaction_line_number ||
1770 header_report_rec2.accounting_date ||
1771 header_report_rec2.dr_cr_flag ||
1772 header_report_rec2.accounted_amount ||
1773 -- Modified by kthiruva for Bug 3861943
1774 --header_report_rec2.account ||
1775 header_report_rec2.currency);
1776
1777 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1778 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1779 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_NO_RECORDS'));
1780 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1781 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1782 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1783 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1784
1785
1786 END IF;
1787
1788 CLOSE ae_category_csr;
1789
1790
1791 FOR ae_category_rec IN ae_category_csr(l_request_id)
1792
1793 LOOP -- For each journal category
1794
1795 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS',
1796 'OKL_JOURNAL_CATEGORY') || ' : ' || ae_category_rec.ae_category || ' ' ||
1797 Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS',
1798 'OKL_TRANSACTION_TYPE') ||' : ' || ae_category_rec.try_name , l_line_length ,' '));
1799
1800 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,RPAD(' ',l_line_length,' '));
1801
1802 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1803 header_report_rec.transaction_date||
1804 header_report_rec.contract_number||
1805 header_report_rec.transaction_number ||
1806 header_report_rec.transaction_line_number ||
1807 header_report_rec.accounting_date ||
1808 header_report_rec.dr_cr_flag ||
1809 header_report_rec.accounted_amount ||
1810 -- Modified by kthiruva for Bug 3861943
1811 --header_report_rec.account ||
1812 header_report_rec.currency);
1813
1814 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,header_report_rec2.transaction_date||
1815 header_report_rec2.contract_number||
1816 header_report_rec2.transaction_number ||
1817 header_report_rec2.transaction_line_number ||
1818 header_report_rec2.accounting_date ||
1819 header_report_rec2.dr_cr_flag ||
1820 header_report_rec2.accounted_amount ||
1821 -- Modified by kthiruva for Bug 3861943
1822 --header_report_rec2.account ||
1823 header_report_rec2.currency);
1824
1825
1826
1827 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1828
1829 FOR proc_dst_rec IN proc_dst_csr(l_request_id, ae_category_rec.ae_category,
1830 ae_category_rec.try_id,
1831 ae_category_rec.currency_code)
1832
1833 LOOP
1834
1835 OPEN details_csr(proc_dst_rec.source_id) ;
1836 FETCH details_csr INTO details_rec;
1837 CLOSE details_csr;
1838
1839 proc_report_rec.transaction_date
1840 := GET_PROPER_LENGTH(details_rec.transaction_date,l_transaction_date_len,'DATA');
1841 -- Modified by kthiruva on 30-Nov-2004
1842 -- Bug 3947025 - Start of Changes
1843 -- To extract the first 25 characters in the Contract Number
1844 proc_report_rec.contract_number
1845 := RPAD(substr(details_rec.contract_number,1, l_contract_number_len),l_contract_number_len,' ');
1846 -- Bug 3947025 - End of Changes
1847 proc_report_rec.transaction_number
1848 := GET_PROPER_LENGTH(details_rec.transaction_number,l_transaction_number_len,'DATA');
1849 proc_report_rec.transaction_line_number
1850 := GET_PROPER_LENGTH(details_rec.transaction_line_number,l_transaction_line_number_len,'DATA');
1851 proc_report_rec.accounting_date
1852 := GET_PROPER_LENGTH(proc_dst_rec.accounting_date,l_accounting_date_len,'DATA');
1853 proc_report_rec.dr_cr_flag
1854 := GET_PROPER_LENGTH(proc_dst_rec.dr_cr_flag,l_dr_cr_flag_len,'DATA');
1855 proc_report_rec.accounted_amount
1856 := GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(
1857 proc_dst_rec.accounted_amount,proc_dst_rec.currency_code),l_accounted_amount_len,'DATA');
1858 -- Modified by kthiruva for Bug 3861943
1859 /* proc_report_rec.account
1860 := GET_PROPER_LENGTH(proc_dst_rec.account,l_account_len,'DATA');*/
1861 proc_report_rec.account
1862 := proc_dst_rec.account;
1863 proc_report_rec.currency
1864 := GET_PROPER_LENGTH(proc_dst_rec.currency_code,l_currency_len,'DATA');
1865
1866
1867 Fnd_File.PUT_LINE(Fnd_File.OUTPUT,
1868 proc_report_rec.transaction_date ||
1869 proc_report_rec.contract_number ||
1870 proc_report_rec.transaction_number ||
1871 proc_report_rec.transaction_line_number ||
1872 proc_report_rec.accounting_date ||
1873 proc_report_rec.dr_cr_flag ||
1874 proc_report_rec.accounted_amount ||
1875 --proc_report_rec.account ||
1876 proc_report_rec.currency);
1877 -- Added by kthiruva for Bug 3861943
1878 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, header_report_rec.account || ' : '|| proc_report_rec.account );
1879
1880 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1881
1882
1883 END LOOP; -- Of records for a particular journal category
1884
1885 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1886 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TOTAL')
1887 || ' ' || Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_DEBIT'),l_total_offset,' ') ||
1888 GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(
1889 ae_category_rec.total_dr, ae_category_rec.currency_code), l_accounted_amount_len,'DATA') ||
1890 ae_category_rec.currency_code);
1891 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_TOTAL')
1892 || ' ' || Okl_Accounting_Util.get_message_token('OKL_LP_ACCOUNTING_PROCESS','OKL_CREDIT_AMT'),l_total_offset,' ') ||
1893 GET_PROPER_LENGTH(Okl_Accounting_Util.format_amount(
1894 ae_category_rec.total_cr,ae_category_rec.currency_code), l_accounted_amount_len,'DATA')||
1895 ae_category_rec.currency_code);
1896
1897 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD('-', l_line_length , '-' ));
1898
1899 END LOOP; --- Of all journal categories
1900
1901 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1902 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1903 Fnd_File.PUT_LINE(Fnd_File.OUTPUT, RPAD(' ', l_line_length , ' ' ));
1904
1905
1906 ---- Processed Section Complete Now--------------
1907 END IF; --gboomina..bug#4648697
1908
1909
1910 END CREATE_REPORT;
1911
1912
1913
1914
1915 -- This is the main procedure which runs all other procedures as required.
1916 -- First it updates the distributions with 'S' and then calls the accounting event
1917 -- routine to create accounting events. Then it selects all these accounting events
1918 -- one by one and starts accounting them. At the end, it writes control statistics.
1919 -- This program is obsolete due to uptake of Sub Ledger Architecture and is replaced
1920 -- by the SLAs Create Accounting Program.
1921
1922 PROCEDURE DO_ACCOUNTING(p_errbuf OUT NOCOPY VARCHAR2,
1923 p_retcode OUT NOCOPY NUMBER,
1924 p_start_date IN VARCHAR2,
1925 p_end_date IN VARCHAR2,
1926 --gboomina..added param for bug#4648697
1927 p_rpt_format IN VARCHAR2)
1928
1929 IS
1930 BEGIN
1931 --Stubbed out this procedure for Bug 5707866 (SLA Uptake of Accounting Entry Process concurrent program).
1932 FND_MESSAGE.SET_NAME( application =>g_app_name , NAME => 'OKL_OBS_ACCT_ENTRY_PRG');
1933 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
1934 END DO_ACCOUNTING;
1935
1936
1937
1938
1939 PROCEDURE DO_ACCOUNTING_CON(p_api_version IN NUMBER,
1940 p_init_msg_list IN VARCHAR2,
1941 p_start_date IN DATE,
1942 p_end_date IN DATE,
1943 x_return_status OUT NOCOPY VARCHAR2,
1944 x_msg_count OUT NOCOPY NUMBER,
1945 x_msg_data OUT NOCOPY VARCHAR2,
1946 x_request_id OUT NOCOPY NUMBER,
1947 --gboomina..added param for bug#4648697
1948 p_rpt_format IN VARCHAR2 DEFAULT 'ALL')
1949 IS
1950
1951 l_start_date VARCHAR2(30);
1952 l_end_date VARCHAR2(30);
1953
1954 BEGIN
1955
1956 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
1957
1958 l_start_date := Fnd_Date.DATE_TO_CANONICAL(p_start_date);
1959 l_end_date := Fnd_Date.DATE_TO_CANONICAL(p_end_date);
1960
1961 x_request_id := Fnd_Request.SUBMIT_REQUEST
1962 (application => 'OKL',
1963 program => 'OKLSLACCT',
1964 description => 'Accounting Entry Process',
1965 argument1 => l_start_date,
1966 argument2 => l_end_date,
1967 --gboomina..added param for bug#4648697
1968 argument3 => p_rpt_format);
1969
1970
1971 IF x_request_id = 0 THEN
1972
1973 Okc_Api.set_message(p_app_name => 'OKL',
1974 p_msg_name => 'OKL_CONC_REQ_ERROR',
1975 p_token1 => 'PROG_NAME',
1976 p_token1_value => 'Accounting Entry Process',
1977 p_token2 => 'REQUEST_ID',
1978 p_token2_value => x_request_id);
1979
1980 RAISE Okl_Api.g_exception_error;
1981
1982 END IF;
1983
1984
1985 EXCEPTION
1986
1987 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1988 x_return_status := Okl_Api.G_RET_STS_ERROR;
1989
1990 END DO_ACCOUNTING_CON;
1991
1992
1993 END Okl_Accounting_Process_Pvt;
1994