[Home] [Help]
PACKAGE BODY: APPS.OKL_PERIOD_SWEEP_PVT
Source
1 PACKAGE BODY OKL_PERIOD_SWEEP_PVT AS
2 /* $Header: OKLRSWPB.pls 120.13.12010000.3 2008/11/13 05:55:43 racheruv ship $ */
3
4 --- This procedure creates report. It is called from the main procedure
5
6 PROCEDURE CREATE_REPORT(l_start_date IN DATE,
7 l_end_date IN DATE,
8 l_mode IN VARCHAR2,
9 p_period_from IN VARCHAR2,
10 p_period_to IN VARCHAR2,
11 l_to_start_date IN DATE,
12 p_ledger_id IN VARCHAR2)
13 IS
14
15 CURSOR acct_csr(p_gl_date_from DATE,
16 p_gl_date_to DATE)
17 IS
18 SELECT DISTINCT dstrs.SOURCE_ID,
19 dstrs.SOURCE_TABLE,
20 dstrs.GL_DATE
21 FROM OKL_TRNS_ACC_DSTRS dstrs,XLA_EVENTS xle
22 WHERE dstrs.GL_DATE BETWEEN p_gl_date_from AND p_gl_date_to
23 AND dstrs.SET_OF_BOOKS_ID = p_ledger_id
24 AND dstrs.ACCOUNTING_EVENT_ID =xle.EVENT_ID
25 AND xle.EVENT_STATUS_CODE IN ('I','U')
26 ORDER BY GL_DATE;
27
28 acct_rec acct_csr%ROWTYPE;
29
30 --Cursors to fetch the information to be printed on the report
31 -- Changed by Santonyr on 02 Apr 2004
32 -- Changed okl_trx_types_tl to okl_trx_types_v in the cursor
33 -- select statement as it retrives the records with other languages too
34
35 CURSOR tcn_csr (p_source_id NUMBER) IS
36 SELECT khr.contract_number,
37 try.name trx_type,
38 sty.name stream_type,
39 tcn.trx_number,
40 tcn.date_transaction_occurred,
41 tcl.line_number,
42 tcl.amount line_amount
43 FROM okl_trx_contracts_all tcn,
44 okl_txl_cntrct_lns_all tcl,
45 okl_strm_type_tl sty,
46 okl_trx_types_v try,
47 okc_k_headers_all_b khr
48 WHERE tcl.id = p_source_id
49 AND tcn.id = tcl.tcn_id
50 AND tcl.sty_id = sty.id(+)
51 AND tcn.try_id = try.id
52 AND khr.id = tcn.khr_id
53 --added by rkuttiya for MultiGAAP Project
54 AND tcn.set_of_books_id = p_ledger_id;
55
56 -- Changed by Santonyr on 02 Apr 2004
57 -- Changed okl_trx_types_tl to okl_trx_types_v in the cursor
58 -- select statement as it retrives the records with other languages too
59
60 --rkuttiya commented out following cursor for MultiGAAP Project
61 --no longer needed
62 /* CURSOR tas_csr(p_source_id NUMBER) IS
63 SELECT khr.contract_number,
64 try.name trx_type,
65 tas.trans_number,
66 tas.date_trans_occurred,
67 tal.line_number,
68 tal.original_cost line_amount
69 FROM okl_trx_assets tas,
70 okl_txl_assets_b tal,
71 okl_trx_types_v try,
72 okc_k_headers_all_b khr
73 WHERE tal.id = p_source_id
74 AND tas.id = tal.tas_id
75 AND tas.try_id = try.id
76 AND khr.id = tal.dnz_khr_id;
77 */
78
79
80 tcn_rec tcn_csr%ROWTYPE;
81
82 --rkuttiya commented out following for Multigaap Project
83 --tas_rec tas_csr%ROWTYPE;
84 l_ledger_name VARCHAR2(30);
85
86 BEGIN
87
88 l_ledger_name := OKL_ACCOUNTING_UTIL.get_set_of_books_name (p_ledger_id);
89 INSERT INTO OKL_G_REPORTS_GT(VALUE1_TEXT,VALUE2_TEXT,VALUE1_DATE)
90 VALUES('HEADER' ,l_ledger_name, l_to_start_date);
91
92 FOR acct_rec IN acct_csr(l_start_date,l_end_date)
93 LOOP
94 IF acct_rec.source_table = 'OKL_TXL_CNTRCT_LNS' THEN
95 OPEN tcn_csr(acct_rec.source_id);
96 FETCH tcn_csr INTO tcn_rec;
97 IF (tcn_csr%FOUND) THEN
98 INSERT INTO
99 OKL_G_REPORTS_GT(VALUE1_TEXT,
100 VALUE2_TEXT,
101 VALUE3_TEXT,
102 VALUE4_TEXT,
103 VALUE5_TEXT,
104 VALUE1_DATE,
105 VALUE1_NUM,
106 VALUE2_NUM,
107 VALUE2_DATE)
108 VALUES('LINES',
109 tcn_rec.contract_number,
110 tcn_rec.trx_type,
111 tcn_rec.stream_type,
112 tcn_rec.trx_number,
113 tcn_rec.date_transaction_occurred,
114 tcn_rec.line_number,
115 tcn_rec.line_amount,
116 acct_rec.gl_date);
117 END IF;
118 CLOSE tcn_csr;
119 END IF;
120
121 --rkuttiya commented out following code for MultiGAAP Project
122 -- no longer needed
123 /*
124 IF acct_rec.source_table = 'OKL_TXL_ASSETS_B' THEN
125 OPEN tas_csr(acct_rec.source_id);
126 FETCH tas_csr INTO tas_rec;
127 IF (tas_csr%FOUND) THEN
128 INSERT INTO OKL_G_REPORTS_GT(VALUE1_TEXT,
129 VALUE2_TEXT,
130 VALUE3_TEXT,
131 VALUE4_TEXT,
132 VALUE5_TEXT,
133 VALUE1_DATE,
134 VALUE1_NUM,
135 VALUE2_NUM,
136 VALUE2_DATE)
137 VALUES('LINES',
138 tas_rec.contract_number,
139 tas_rec.trx_type,
140 null,
141 tas_rec.trans_number,
142 tas_rec.date_trans_occurred,
143 tas_rec.line_number,
144 tas_rec.line_amount,
145 acct_rec.gl_date);
146 END IF;
147 CLOSE tas_csr;
148 END IF;
149 */
150
151 END LOOP;
152 END CREATE_REPORT;
153
154
155
156 --- This is the main procedure for sweep process. It takes four arguments. If run option
157 --- is 'REPORT ONLY' then it only generates report, otherwise it does both processing and
158 --- generates report
159
160 PROCEDURE OKL_PERIOD_SWEEP (p_errbuf OUT NOCOPY VARCHAR2,
161 p_retcode OUT NOCOPY NUMBER,
162 p_representation_code IN VARCHAR2,
163 p_period_from IN VARCHAR2,
164 p_period_to IN VARCHAR2,
165 p_run_option IN VARCHAR2)
166 IS
167
168 l_tabv_tbl OKL_TRNS_ACC_DSTRS_PUB.TABV_TBL_TYPE;
169 x_tabv_tbl OKL_TRNS_ACC_DSTRS_PUB.TABV_TBL_TYPE;
170 l_aetv_tbl OKL_ACCT_EVENT_PUB.aetv_tbl_type;
171 x_aetv_tbl OKL_ACCT_EVENT_PUB.aetv_tbl_type;
172 l_aehv_tbl OKL_ACCT_EVENT_PUB.aehv_tbl_type;
173 x_aehv_tbl OKL_ACCT_EVENT_PUB.aehv_tbl_type;
174
175
176 i NUMBER:=0;
177 j NUMBER:=0;
178 k NUMBER:=0;
179 l_end_date DATE;
180 l_start_date DATE;
181 l_to_start_date DATE;
182 l_to_end_date DATE;
183 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
184 l_api_version NUMBER := 1.0;
185 l_init_msg_list VARCHAR2(1);
186 l_msg_count NUMBER ;
187 l_msg_data VARCHAR2(2000);
188 l_period_status VARCHAR2(1);
189 l_event_id NUMBER := -99;
190
191 TYPE update_event_rec IS RECORD (
192 tcn_id NUMBER,
193 event_id NUMBER,
194 accrual_reversal_date DATE,
195 trx_type_class VARCHAR2(30));
196
197 l_api_name VARCHAR2(30) := 'OKL_PERIOD_SWEEP';
198 x_msg_count NUMBER;
199 x_msg_data VARCHAR2(2000);
200 x_return_status VARCHAR2(1);
201 l_ledger_id NUMBER;
202
203 TYPE l_tcn_tbl_type IS TABLE OF update_event_rec INDEX BY BINARY_INTEGER;
204 l_tcn_tbl l_tcn_tbl_type;
205
206 x_tcnv_rec OKL_TRX_CONTRACTS_PUB.tcnv_rec_type;
207 l_tcnv_rec OKL_TRX_CONTRACTS_PUB.tcnv_rec_type;
208
209 CURSOR dist_csr(p_ledger_id NUMBER,
210 p_gl_date_from DATE,
211 p_gl_date_to DATE)
212 IS
213 SELECT dstrs.ID,dstrs.ACCOUNTING_EVENT_ID,dstrs.SOURCE_ID
214 FROM OKL_TRNS_ACC_DSTRS dstrs,XLA_EVENTS xle
215 WHERE dstrs.GL_DATE BETWEEN p_gl_date_from AND p_gl_date_to
216 AND dstrs.SET_OF_BOOKS_ID = p_ledger_id
217 AND dstrs.ACCOUNTING_EVENT_ID =xle.EVENT_ID
218 AND xle.EVENT_STATUS_CODE IN ('I','U')
219 ORDER BY ACCOUNTING_EVENT_ID;
220
221 CURSOR get_tcn_info(p_txl_id NUMBER,
222 p_ledger_id NUMBER) IS
223 SELECT TCN.ID,
224 TCN.ACCRUAL_REVERSAL_DATE,
225 TRY.TRX_TYPE_CLASS
226 FROM OKL_TXL_CNTRCT_LNS_ALL TXL ,
227 OKL_TRX_CONTRACTS_ALL TCN,
228 OKL_TRX_TYPES_B TRY
229 WHERE TXL.ID = p_txl_id AND
230 TXL.TCN_ID = TCN.ID AND
231 TCN.TRY_ID = TRY.ID
232 --rkuttiya added for Multi GAAP Project
233 AND TCN.SET_OF_BOOKS_ID = p_ledger_id;
234
235 CURSOR get_accrual_reversal_date(p_ledger_id NUMBER,p_accrual_date Date) IS
236 SELECT end_date +1 accrual_reversal_date
237 FROM gl_period_statuses
238 WHERE application_id = 540
239 AND set_of_books_id =p_ledger_id
240 AND p_accrual_date BETWEEN start_date AND end_date;
241
242 --rkuttiya added for MUltiGAAP Project
243 CURSOR c_ledger_id(p_representation_code IN VARCHAR2) IS
244 SELECT ledger_id
245 FROM okl_representations_v
246 WHERE representation_code = p_representation_code;
247
248 BEGIN
249 p_retcode:=1;
250
251 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
252 l_init_msg_list,
253 '_PVT',
254 x_return_status);
255
256 if (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) then
257 raise Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
258 elsif (l_return_status = Okl_Api.G_RET_STS_ERROR) then
259 raise Okl_Api.G_EXCEPTION_ERROR;
260 end if;
261
262 --rkuttiya added for MUlti GAAP Project
263 IF p_representation_code IS NULL THEN
264 OKL_API.set_message('OKC',
265 G_REQUIRED_VALUE,
266 G_COL_NAME_TOKEN,
267 'Representation Code');
268 RAISE OKL_API.G_EXCEPTION_ERROR;
269 END IF;
270
271
272 --rkuttiya commenting out the following code for MultiGAAP Project
273 --Bug 6017242
274 --l_ledger_id := OKL_ACCOUNTING_UTIL.get_set_of_books_id;
275 --Bug 6017242
276
277 OPEN c_ledger_id(p_representation_code);
278 FETCH c_ledger_id INTO l_ledger_id;
279 CLOSE c_ledger_id;
280
281 OKL_ACCOUNTING_UTIL.get_period_info(p_period_name => p_period_from,
282 p_start_date => l_start_date,
283 p_end_date => l_end_date,
284 --Bug 5707866 SLA Uptake Project
285 p_ledger_id => l_ledger_id);
286
287 /*
288 --Bug 5707866 SLA Uptake Project
289 l_period_status := OKL_ACCOUNTING_UTIL.GET_OKL_PERIOD_STATUS(p_ledger_id => l_ledger_id,
290 p_period_name => p_period_to);
291
292 IF (l_period_status NOT IN ('O','F')) THEN
293 OKL_API.set_message(p_app_name => G_APP_NAME,
294 p_msg_name => 'OKL_PERIOD_NOT_OPEN',
295 p_token1 => 'PERIOD_NAME',
296 p_token1_value => p_period_to);
297 RAISE OKL_API.G_EXCEPTION_ERROR;
298 END IF;
299 --Bug 5707866 end
300 */
301
302 OKL_ACCOUNTING_UTIL.get_period_info(p_period_name => p_period_to,
303 p_start_date => l_to_start_date,
304 p_end_date => l_to_end_date,
305 --Bug 5707866 SLA Uptake Project
306 p_ledger_id => l_ledger_id);
307
308 --Bug 5707866 SLA Uptake Project
309
310 CREATE_REPORT(l_start_date,l_end_date,p_run_option,p_period_from,p_period_to,l_to_start_date,l_ledger_id);
311
312 IF UPPER(p_run_option)= 'RUN' THEN
313 j := 0;
314 FOR dist_rec IN dist_csr(l_ledger_id,l_start_date,l_end_date)
315 LOOP
316 l_tabv_tbl(i).id := dist_rec.id;
317 l_tabv_tbl(i).gl_date := l_to_start_date;
318 IF(l_event_id <>dist_rec.accounting_event_id) THEN
319 l_event_id := dist_rec.accounting_event_id;
320 l_tcn_tbl(j).event_id := l_event_id;
321 OPEN get_tcn_info(dist_rec.source_id,l_ledger_id);
322 FETCH get_tcn_info into l_tcn_tbl(j).tcn_id,l_tcn_tbl(j).accrual_reversal_date,l_tcn_tbl(j).trx_type_class;
323 CLOSE get_tcn_info;
324 j := j+1;
325 END IF;
326 i := i +1;
327 END LOOP;
328
329 IF (l_tabv_tbl.COUNT > 0) THEN
330 OKL_TRNS_ACC_DSTRS_PUB.update_trns_acc_dstrs(p_api_version => l_api_version,
331 p_init_msg_list => l_init_msg_list,
332 x_return_status => l_return_status,
333 x_msg_count => l_msg_count,
334 x_msg_data => l_msg_data,
335 p_tabv_tbl => l_tabv_tbl,
336 x_tabv_tbl => x_tabv_tbl);
337 END IF;
338 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
339 RAISE OKL_API.G_EXCEPTION_ERROR;
340 END IF;
341
342 j :=0;
343 IF (l_tcn_tbl.COUNT > 0) THEN
344 FOR j in l_tcn_tbl.FIRST..l_tcn_tbl.LAST LOOP
345 OKL_XLA_EVENTS_PVT.update_event(p_api_version =>l_api_version
346 ,p_init_msg_list =>l_init_msg_list
347 ,x_return_status =>l_return_status
348 ,x_msg_count =>l_msg_count
349 ,x_msg_data =>l_msg_data
350 ,p_gl_date =>l_to_start_date
351 ,p_event_id =>l_tcn_tbl(j).event_id
352 ,p_tcn_id =>l_tcn_tbl(j).tcn_id);
353
354 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
355 RAISE OKL_API.G_EXCEPTION_ERROR;
356 END IF;
357
358 IF l_tcn_tbl(j).trx_type_class = 'ACCRUAL' AND l_tcn_tbl(j).accrual_reversal_date IS NOT NULL THEN
359 l_tcnv_rec.id := l_tcn_tbl(j).tcn_id;
360 OPEN get_accrual_reversal_date(l_ledger_id, l_to_start_date);
361 FETCH get_accrual_reversal_date into l_tcnv_rec.accrual_reversal_date;
362 CLOSE get_accrual_reversal_date;
363 Okl_Trx_Contracts_Pub.update_trx_contracts(p_api_version => l_api_version,
364 p_init_msg_list => l_init_msg_list,
365 x_return_status => l_return_status,
366 x_msg_count => l_msg_count,
367 x_msg_data => l_msg_data,
368 p_tcnv_rec => l_tcnv_rec,
369 x_tcnv_rec => x_tcnv_rec);
370
371 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
372 RAISE OKL_API.G_EXCEPTION_ERROR;
373 END IF;
374 END IF;
375 END LOOP;
376 END IF;
377 END IF;
378
379 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
380
381 EXCEPTION
382 WHEN OKL_API.G_EXCEPTION_ERROR THEN
383 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name,
384 G_PKG_NAME,
385 'OKl_API.G_RET_STS_ERROR',
386 x_msg_count,
387 x_msg_data,
388 '_PVT'
389 );
390
391 WHEN OTHERS THEN
392 p_errbuf := SQLERRM;
393
394 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error: '||SQLERRM);
395 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error: '||SQLCODE||SQLERRM);
396 x_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name,
397 G_PKG_NAME,
398 'OKl_API.G_RET_STS_ERROR',
399 x_msg_count,
400 x_msg_data,
401 '_PVT'
402 );
403 END OKL_PERIOD_SWEEP;
404
405
406
407 PROCEDURE OKL_PERIOD_SWEEP_CON(p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
408 ,x_return_status OUT NOCOPY VARCHAR2
409 ,x_msg_count OUT NOCOPY NUMBER
410 ,x_msg_data OUT NOCOPY VARCHAR2
411 ,p_representation_code IN VARCHAR2 DEFAULT NULL
412 ,p_period_from IN VARCHAR2
413 ,p_period_to IN VARCHAR2
414 ,p_run_option IN VARCHAR2
415 ,x_request_id OUT NOCOPY NUMBER)
416
417 IS
418
419 l_api_name VARCHAR2(30) := 'OKL_PERIOD_SWEEP_CON';
420 l_api_version NUMBER := 1.0;
421 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
422 l_from_date VARCHAR2(20) ;
423 l_start_date_from DATE;
424 l_start_date_to DATE;
425 l_end_date_from DATE;
426 l_end_date_to DATE;
427 l_period_status VARCHAR2(1);
428 l_to_period gl_periods.period_name%TYPE;
429 l_to_date DATE;
430
431 CURSOR perd_csr(p_date DATE,
432 p_ledger_id IN NUMBER)
433 IS
434 SELECT MIN(start_date)
435 FROM gl_period_statuses
436 WHERE application_id = 540
437 AND ledger_id = p_ledger_id
438 AND closing_status IN ('F','O')
439 AND start_date > p_date
440 AND adjustment_period_flag = 'N' ;
441
442 -- rkuttiya 05-AUG-2008 added for Multi GAAP Project
443
444 CURSOR c_ledger_id(p_representation_code IN VARCHAR2)
445 IS
446 SELECT ledger_id
447 FROM okl_representations_v
448 WHERE representation_code = p_representation_code;
449
450 CURSOR c_representation_code(p_representation_type IN VARCHAR2)
451 IS
452 SELECT representation_code
453 FROM okl_representations_v
454 WHERE representation_type = p_representation_type;
455
456 l_representation_code VARCHAR2(20);
457 l_ledger_id NUMBER;
458
459 BEGIN
460
461 x_return_status := OKL_API.G_RET_STS_SUCCESS;
462
463 l_return_status := OKL_API.start_activity(l_api_name
464 ,G_PKG_NAME
465 ,p_init_msg_list
466 ,l_api_version
467 ,l_api_version
468 ,'_PVT'
469 ,x_return_status);
470
471 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
472 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
473 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
474 RAISE OKL_API.G_EXCEPTION_ERROR;
475 END IF;
476
477 -- rkuttiya 05-Aug-2008 MultiGAAP Project
478 l_representation_code := p_representation_code;
479
480 IF p_representation_code IS NULL THEN
481 OPEN c_representation_code('PRIMARY');
482 FETCH c_representation_code INTO l_representation_code;
483 CLOSE c_representation_code;
484 END IF;
485
486 OPEN c_ledger_id(l_representation_code);
487 FETCH c_ledger_id INTO l_ledger_id;
488 CLOSE c_ledger_id;
489 --rkuttiya end
490
491 IF (p_period_from IS NULL) THEN
492 OKL_API.set_message('OKC', G_REQUIRED_VALUE, G_COL_NAME_TOKEN,
493 okl_accounting_util.get_message_token('OKL_LP_SWEEP_PROGRAM','OKL_TRANSFER_FROM_PERIOD')
494 );
495 RAISE OKL_API.G_EXCEPTION_ERROR;
496 END IF;
497
498 l_period_status := OKL_ACCOUNTING_UTIL.GET_OKL_PERIOD_STATUS(p_period_from
499 ,l_ledger_id);
500
501 IF (l_period_status IS NULL) THEN
502 OKL_API.set_message(p_app_name => G_APP_NAME,
503 p_msg_name => 'OKL_PERIOD_NOT_FOUND',
504 p_token1 => 'PERIOD_NAME',
505 p_token1_value => p_period_from);
506
507 RAISE OKL_API.G_EXCEPTION_ERROR;
508 END IF;
509
510 IF (l_period_status NOT IN ('O')) THEN
511 OKL_API.set_message(p_app_name => G_APP_NAME,
512 p_msg_name => 'OKL_PERD_INVALID_STATUS',
513 p_token1 => 'PERIOD',
514 p_token1_value => p_period_from);
515
516 RAISE OKL_API.G_EXCEPTION_ERROR;
517 END IF;
518
519 OKL_ACCOUNTING_UTIL.get_period_info(p_period_from, l_start_date_from,l_end_date_from,l_ledger_id);
520
521 IF (p_period_to IS NOT NULL) AND (p_period_to <> OKL_API.G_MISS_CHAR) THEN
522 OKL_ACCOUNTING_UTIL.get_period_info(p_period_to, l_start_date_to, l_end_date_to, l_ledger_id);
523 IF (l_start_date_to IS NULL) THEN
524 OKL_API.set_message(p_app_name => G_APP_NAME,
525 p_msg_name => 'OKL_PERIOD_NOT_FOUND',
526 p_token1 => 'PERIOD_NAME',
527 p_token1_value => p_period_to);
528
529 RAISE OKL_API.G_EXCEPTION_ERROR;
530 END IF;
531 l_to_period := p_period_to;
532 ELSE
533 OPEN perd_csr(l_start_date_from,l_ledger_id);
534 FETCH perd_csr INTO l_to_date;
535 CLOSE perd_csr;
536 IF (l_to_date IS NULL) THEN
537 OKL_API.set_message('OKC', G_REQUIRED_VALUE, G_COL_NAME_TOKEN,'To Period');
538 RAISE OKL_API.G_EXCEPTION_ERROR;
539 END IF;
540
541 OKL_ACCOUNTING_UTIL.get_period_info(l_to_date, l_to_period, l_start_date_to, l_end_date_to,l_ledger_id);
542 END IF;
543
544 l_period_status := NULL;
545 l_period_status := OKL_ACCOUNTING_UTIL.GET_OKL_PERIOD_STATUS(l_to_period
546 ,l_ledger_id);
547 IF (l_period_status NOT IN ('O','F')) THEN
548 OKL_API.set_message(p_app_name => G_APP_NAME,
549 p_msg_name => 'OKL_PERIOD_NOT_OPEN',
550 p_token1 => 'PERIOD_NAME',
551 p_token1_value => l_to_period);
552
553 RAISE OKL_API.G_EXCEPTION_ERROR;
554 END IF;
555
556 OKL_ACCOUNTING_UTIL.get_period_info(l_to_period, l_start_date_to,l_end_date_to,l_ledger_id);
557
558 IF (l_start_date_to <= l_start_date_from) THEN
559 OKL_API.set_message(p_app_name => G_APP_NAME,
560 p_msg_name => 'OKL_TO_PERIOD_LATER');
561 RAISE OKL_API.G_EXCEPTION_ERROR;
562 END IF;
563
564 IF (p_run_option IS NULL) THEN
565 OKL_API.set_message('OKC', G_REQUIRED_VALUE, G_COL_NAME_TOKEN,'Run Option');
566 RAISE OKL_API.G_EXCEPTION_ERROR;
567 END IF;
568
569
570 --- Call to okl gl transfer concurrent program
571
572 FND_REQUEST.set_org_id(mo_global.get_current_org_id); --MOAC- Concurrent request
573 x_request_id := Fnd_Request.SUBMIT_REQUEST(application => 'OKL'
574 ,program => 'OKLPDSWP'
575 ,argument1 => p_representation_code
576 ,argument2 => p_period_from
577 ,argument3 => l_to_period
578 ,argument4 => p_run_option);
579
580 IF x_request_id = 0 THEN
581 OKL_API.set_message(p_app_name => 'OFA',
582 p_msg_name => 'FA_DEPRN_TAX_ERROR',
583 p_token1 => 'REQUEST_ID',
584 p_token1_value => x_request_id);
585
586 RAISE okl_api.g_exception_error;
587 END IF;
588
589 OKL_API.end_activity(x_msg_count, x_msg_data);
590
591 EXCEPTION
592 WHEN OKL_API.G_EXCEPTION_ERROR THEN
593 x_return_status := Okl_Api.handle_exceptions(l_api_name
594 ,g_pkg_name
595 ,'OKL_API.G_RET_STS_ERROR'
596 ,x_msg_count
597 ,x_msg_data
598 ,'_PVT');
599 WHEN okl_api.g_exception_unexpected_error THEN
600 x_return_status := OKL_API.HANDLE_EXCEPTIONS(l_api_name
601 ,g_pkg_name
602 ,'OKL_API.G_RET_STS_UNEXP_ERROR'
603 ,x_msg_count
604 ,x_msg_data
605 ,'_PVT');
606 WHEN OTHERS THEN
607 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
608 (l_api_name,
609 G_PKG_NAME,
610 'OTHERS',
611 x_msg_count,
612 x_msg_data,
613 '_PVT');
614
615 END OKL_PERIOD_SWEEP_CON;
616
617 -------------------------------------------------------------------------------
618 -- Function BEFOREREPORT
619 -------------------------------------------------------------------------------
620 -- Start of comments
621 --
622 -- Procedure Name : BEFOREREPORT
623 -- Description : Function for Period Sweep Report Generation
624 -- in XML Publisher
625 -- Business Rules :
626 -- Parameters : p_period_from,p_period_to,p_run_option
627 -- Version : 1.0
628 -- History : 06-Feb-2007 DPSINGH created.
629 -- End of comments
630 -------------------------------------------------------------------------------
631 FUNCTION BEFOREREPORT RETURN BOOLEAN
632 IS
633 p_errbuf VARCHAR2(150);
634 p_retcode NUMBER;
635 BEGIN
636
637 OKL_PERIOD_SWEEP (p_errbuf ,
638 p_retcode,
639 p_representation_code => p_representation_code,
640 p_period_from =>p_period_from,
641 p_period_to =>p_period_to,
642 p_run_option =>p_run_option);
643
644 IF p_retcode = 1 THEN
645 RETURN TRUE;
646 ELSE
647 RETURN FALSE;
648 END IF;
649 END BEFOREREPORT;
650 END OKL_PERIOD_SWEEP_PVT;