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