DBA Data[Home] [Help]

PACKAGE BODY: APPS.GL_ARCH_PRG_FROM_PRD_PKG

Source


1 PACKAGE BODY gl_arch_prg_from_prd_pkg AS
2 /* $Header: glfapfpb.pls 120.5 2005/05/05 02:03:57 kvora ship $ */
3     PROCEDURE get_from_prd_bal_act_arch(
4 			x_appl_id 		IN NUMBER,
5 		        x_ledger_id 		IN NUMBER,
6 		 	x_data_type		IN VARCHAR2,
7 		 	x_actual_flag		IN VARCHAR2,
8 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
9 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
10 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
11 			) IS
12 
13 -- The following SQL statement retrieves the first non-never opened period
14 -- beyond the latest archived period (if there is one). If the closing_status
15 -- of the returned row is not permanently closed or if there is no row returned
16 -- an appropriate error message will be displayed.
17 
18       CURSOR get_from_period IS
19 	SELECT
20 	      PS.closing_status,
21 	      PS.period_name,
22 	      PS.effective_period_num
23         FROM
24 	      GL_PERIOD_STATUSES PS
25         WHERE
26 	      PS.application_id          =  x_appl_id
27         AND   PS.ledger_id               =  x_ledger_id
28         AND   PS.closing_status          <> 'N'
29         AND   PS.effective_period_num    >
30               (SELECT
31                      NVL(MAX(AH.last_archived_eff_period_num), 0)
32                FROM
33 	             GL_ARCHIVE_HISTORY AH
34                WHERE
35 	             AH.ledger_id        =  x_ledger_id
36                AND   AH.data_type        =  x_data_type
37                AND   AH.actual_flag      =  x_actual_flag)
38         ORDER BY PS.effective_period_num ASC;
39 
40         BEGIN
41 
42           OPEN  get_from_period;
43 	  FETCH get_from_period
44 	  INTO  x_closing_status,
45 		x_from_period,
46 		x_from_period_eff_num;
47 
48   	  IF get_from_period%FOUND THEN
49   	    CLOSE get_from_period;
50 	    IF (x_closing_status <> 'P') THEN
51 	      fnd_message.set_name('SQLGL', 'GL_PERIOD_NOT_PERM_CLOSED');
52 	      app_exception.raise_exception;
53 	    END IF;
54           ELSE
55 	    x_closing_status := 'N';
56   	    CLOSE get_from_period;
57 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
58 	    app_exception.raise_exception;
59           END IF;
60 
61         EXCEPTION
62 	WHEN app_exceptions.application_exception THEN
63 	  RAISE;
64         WHEN OTHERS THEN
65 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
66 	  fnd_message.set_token('PROCEDURE',
67 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_act_arch');
68 	  RAISE;
69       END get_from_prd_bal_act_arch;
70 
71 
72     PROCEDURE get_from_prd_bal_act_purg(
73 			x_appl_id 		IN NUMBER,
74 		        x_ledger_id 		IN NUMBER,
75 		 	x_data_type		IN VARCHAR2,
76 		 	x_actual_flag		IN VARCHAR2,
77 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
78 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
79 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
80 			) IS
81 
82 -- This procedure retrieves the earliest never purged period. This period must have
83 -- been archived before.
84 
85       CURSOR get_from_period IS
86 	SELECT
87 	      PS.closing_status,
88 	      PS.period_name,
89 	      PS.effective_period_num
90         FROM
91 	      GL_PERIOD_STATUSES PS
92         WHERE
93 	      PS.application_id          =  x_appl_id
94         AND   PS.ledger_id               =  x_ledger_id
95         AND   PS.closing_status          <> 'N'
96         AND   PS.effective_period_num    >
97               (SELECT
98                      NVL(MAX(AH.last_purged_eff_period_num), 0)
99                FROM
100 	             GL_ARCHIVE_HISTORY AH
101                WHERE
102 	             AH.ledger_id        =  x_ledger_id
103                AND   AH.actual_flag      =  x_actual_flag
104                AND   AH.data_type        =  x_data_type )
105         AND   PS.effective_period_num <=
106               (SELECT
107                      NVL(MAX(AH.last_archived_eff_period_num), -1)
108                FROM
109 	             GL_ARCHIVE_HISTORY AH
110                WHERE
111 	             AH.ledger_id        =  x_ledger_id
112                AND   AH.data_type        =  x_data_type
113                AND   AH.actual_flag      =  x_actual_flag)
114         ORDER BY PS.effective_period_num ASC;
115 
116         BEGIN
117 
118           OPEN  get_from_period;
119 	  FETCH get_from_period
120 	  INTO  x_closing_status,
121 		x_from_period,
122 		x_from_period_eff_num;
123 
124   	  IF get_from_period%FOUND THEN
125   	    CLOSE get_from_period;
126 	    IF (x_closing_status <> 'P') THEN
127 	      fnd_message.set_name('SQLGL', 'GL_PERIOD_NOT_PERM_CLOSED');
128 	      app_exception.raise_exception;
129 	    END IF;
130           ELSE
131   	    CLOSE get_from_period;
132 	    x_closing_status := 'N';
133 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
134 	    app_exception.raise_exception;
135           END IF;
136 
137         EXCEPTION
138 	WHEN app_exceptions.application_exception THEN
139 	  RAISE;
140         WHEN OTHERS THEN
141 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
142 	  fnd_message.set_token('PROCEDURE',
143 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_act_purg');
144 	  RAISE;
145       END get_from_prd_bal_act_purg;
146 
147     PROCEDURE get_from_prd_bal_act_both(
148 			x_appl_id 		IN NUMBER,
149 		        x_ledger_id 		IN NUMBER,
150 		 	x_data_type		IN VARCHAR2,
151 		 	x_actual_flag		IN VARCHAR2,
152 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
153 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
154 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
155 			) IS
156 
157 -- This procedure retrieves the earliest never purged period. This period must have
158 -- been archived before.
159 
160       CURSOR get_from_period IS
161 	SELECT
162 	      PS.closing_status,
163 	      PS.period_name,
164 	      PS.effective_period_num
165         FROM
166 	      GL_PERIOD_STATUSES PS
167         WHERE
168 	      PS.application_id          =  x_appl_id
169         AND   PS.ledger_id               =  x_ledger_id
170         AND   PS.closing_status          <> 'N'
171         AND   PS.effective_period_num    >
172               (SELECT
173                      NVL(MAX(AH.last_purged_eff_period_num), 0)
174                FROM
175 	             GL_ARCHIVE_HISTORY AH
176                WHERE
177 	             AH.ledger_id        =  x_ledger_id
178                AND   AH.data_type        =  x_data_type
179                AND   AH.actual_flag      =  x_actual_flag)
180         ORDER BY PS.effective_period_num ASC;
181 
182         BEGIN
183 
184           OPEN  get_from_period;
185 	  FETCH get_from_period
186 	  INTO  x_closing_status,
187 		x_from_period,
188 		x_from_period_eff_num;
189 
190   	  IF get_from_period%FOUND THEN
191   	    CLOSE get_from_period;
192 	    IF (x_closing_status <> 'P') THEN
193 	      fnd_message.set_name('SQLGL', 'GL_PERIOD_NOT_PERM_CLOSED');
194 	      app_exception.raise_exception;
195 	    END IF;
196           ELSE
197 	    x_closing_status := 'N';
198   	    CLOSE get_from_period;
199 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
200 	    app_exception.raise_exception;
201           END IF;
202 
203         EXCEPTION
204 	WHEN app_exceptions.application_exception THEN
205 	  RAISE;
206         WHEN OTHERS THEN
207 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
208 	  fnd_message.set_token('PROCEDURE',
209 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_act_both');
210 	  RAISE;
211       END get_from_prd_bal_act_both;
212 
213     PROCEDURE get_from_prd_bal_bud_arch(
214 			x_appl_id 		IN NUMBER,
215 		        x_ledger_id 		IN NUMBER,
216 		 	x_data_type		IN VARCHAR2,
217 		 	x_actual_flag		IN VARCHAR2,
218 		 	x_budget_version_id	IN NUMBER,
219 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
220 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
221 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
222 			) IS
223 
224 -- This procedure retrieves the earliest never archived period for the chosen budget.
225 -- The budget year must be open.
226 
227       CURSOR get_from_period IS
228 	SELECT
229 	      BPR.start_period_name,
230 	      ( BPR.period_year * 10000 + BPR.start_period_num )
231         FROM
232 	      GL_BUDGET_PERIOD_RANGES BPR
233         WHERE
234 	      BPR.budget_version_id      =  x_budget_version_id
235         AND   BPR.open_flag              =  'O'
236         AND   ( BPR.period_year * 10000 + BPR.start_period_num ) >
237               (SELECT
238                      NVL(MAX(AH.last_archived_eff_period_num), 0)
239                FROM
240 	             GL_ARCHIVE_HISTORY AH
241                WHERE
242 	             AH.ledger_id          =  x_ledger_id
243                AND   AH.data_type          =  x_data_type
244                AND   AH.actual_flag        =  x_actual_flag
245                AND   AH.budget_version_id  =  x_budget_version_id )
246         ORDER BY ( BPR.period_year * 10000 + BPR.start_period_num ) ASC;
247 
248         BEGIN
249 
250           OPEN  get_from_period;
251 	  FETCH get_from_period
252 	  INTO  x_from_period,
253 		x_from_period_eff_num;
254 
255   	  IF get_from_period%FOUND THEN
256   	    CLOSE get_from_period;
257 	    x_closing_status := 'Y';
258           ELSE
259 	    x_closing_status := 'N';
260   	    CLOSE get_from_period;
261 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
262 	    app_exception.raise_exception;
263           END IF;
264 
265         EXCEPTION
266 	WHEN app_exceptions.application_exception THEN
267 	  RAISE;
268         WHEN OTHERS THEN
269 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
270 	  fnd_message.set_token('PROCEDURE',
271 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_bud_arch');
272 	  RAISE;
273       END get_from_prd_bal_bud_arch;
274 
275 
276     PROCEDURE get_from_prd_bal_bud_purg(
277 			x_appl_id 		IN NUMBER,
278 		        x_ledger_id 		IN NUMBER,
279 		 	x_data_type		IN VARCHAR2,
280 		 	x_actual_flag		IN VARCHAR2,
281 		 	x_budget_version_id	IN NUMBER,
282 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
283 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
284 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
285 			) IS
286 
287 -- This procedure retrieves the earliest never purged period for the chosen budget.
288 -- This period must have been archived before.
289 
290       CURSOR get_from_period IS
291 	SELECT
292 	      BPR.start_period_name,
293 	      ( BPR.period_year * 10000 + BPR.start_period_num )
294         FROM
295 	      GL_BUDGET_PERIOD_RANGES BPR
296         WHERE
297 	      BPR.budget_version_id      =  x_budget_version_id
298         AND   BPR.open_flag              =  'O'
299         AND   ( BPR.period_year * 10000 + BPR.start_period_num ) >
300               (SELECT
301                      NVL(MAX(AH.last_purged_eff_period_num), 0)
302                FROM
303 	             GL_ARCHIVE_HISTORY AH
304                WHERE
305 	             AH.ledger_id          =  x_ledger_id
306                AND   AH.data_type          =  x_data_type
307                AND   AH.actual_flag        =  x_actual_flag
308                AND   AH.budget_version_id  =  x_budget_version_id )
309         AND   ( BPR.period_year * 10000 + BPR.start_period_num ) <=
310               (SELECT
311 		     NVL(MAX(AH.last_archived_eff_period_num), 0)
312                FROM
313 		    GL_ARCHIVE_HISTORY AH
314                WHERE
315 		     AH.ledger_id          = x_ledger_id
316                AND   AH.data_type          = x_data_type
317 	       AND   AH.actual_flag        = x_actual_flag
318 	       AND   AH.budget_version_id  = x_budget_version_id )
319         ORDER BY ( BPR.period_year * 10000 + BPR.start_period_num ) ASC;
320 
321         BEGIN
322 
323           OPEN  get_from_period;
324 	  FETCH get_from_period
325 	  INTO  x_from_period,
326 		x_from_period_eff_num;
327 
328   	  IF get_from_period%FOUND THEN
329   	    CLOSE get_from_period;
330 	    x_closing_status := 'Y';
331           ELSE
332 	    x_closing_status := 'N';
333   	    CLOSE get_from_period;
334 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
335 	    app_exception.raise_exception;
336           END IF;
337 
338         EXCEPTION
339 	WHEN app_exceptions.application_exception THEN
340 	  RAISE;
341         WHEN OTHERS THEN
342 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
343 	  fnd_message.set_token('PROCEDURE',
344 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_bud_arch');
345 	  RAISE;
346       END get_from_prd_bal_bud_purg;
347 
348     PROCEDURE get_from_prd_bal_bud_both(
349 			x_appl_id 		IN NUMBER,
350 		        x_ledger_id 		IN NUMBER,
351 		 	x_data_type		IN VARCHAR2,
352 		 	x_actual_flag		IN VARCHAR2,
353 		 	x_budget_version_id	IN NUMBER,
354 		 	x_from_period		IN OUT NOCOPY VARCHAR2,
355 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
356 			x_from_period_eff_num   IN OUT NOCOPY NUMBER
357 			) IS
358 
359 -- This procedure retrieves the earliest never purged period for the chosen budget.
360 -- This budget year must be open.
361 
362       CURSOR get_from_period IS
363 	SELECT
364 	      BPR.start_period_name,
365 	      ( BPR.period_year * 10000 + BPR.start_period_num )
366         FROM
367 	      GL_BUDGET_PERIOD_RANGES BPR
368         WHERE
369 	      BPR.budget_version_id      =  x_budget_version_id
370         AND   BPR.open_flag              =  'O'
371         AND   ( BPR.period_year * 10000 + BPR.start_period_num ) >
372               (SELECT
373                      NVL(MAX(AH.last_purged_eff_period_num), 0)
374                FROM
375 	             GL_ARCHIVE_HISTORY AH
376                WHERE
377 	             AH.ledger_id          =  x_ledger_id
378                AND   AH.data_type          =  x_data_type
379                AND   AH.actual_flag        =  x_actual_flag
380                AND   AH.budget_version_id  =  x_budget_version_id )
381         ORDER BY ( BPR.period_year * 10000 + BPR.start_period_num ) ASC;
382 
383         BEGIN
384 
385           OPEN  get_from_period;
386 	  FETCH get_from_period
387 	  INTO  x_from_period,
388 		x_from_period_eff_num;
389 
390   	  IF get_from_period%FOUND THEN
391   	    CLOSE get_from_period;
392 	    x_closing_status := 'Y';
393           ELSE
394 	    x_closing_status := 'N';
395   	    CLOSE get_from_period;
396 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
397 	    app_exception.raise_exception;
398           END IF;
399 
400         EXCEPTION
401 	WHEN app_exceptions.application_exception THEN
402 	  RAISE;
403         WHEN OTHERS THEN
404 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
405 	  fnd_message.set_token('PROCEDURE',
406 				'gl_arch_prg_from_prd_pkg.get_from_prd_bal_bud_arch');
407 	  RAISE;
408       END get_from_prd_bal_bud_both;
409 
410     PROCEDURE get_to_prd_trn_both(
411 			x_appl_id 		IN NUMBER,
412 		        x_ledger_id 		IN NUMBER,
413 		 	x_data_type		IN VARCHAR2,
414 		 	x_actual_flag		IN VARCHAR2,
415 		 	x_budget_version_id	IN NUMBER,
416 			x_currency              IN VARCHAR2,
417 		 	x_to_period		IN OUT NOCOPY VARCHAR2,
418 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
419 			x_to_period_eff_num     IN OUT NOCOPY NUMBER
420 			) IS
421 
422 -- This procedure retrieves the latest ever translated period.
423 
424       CURSOR get_to_period IS
425 	SELECT
426 	      PS.period_name,
427 	      PS.closing_status,
431 	      GL_TRANSLATION_TRACKING TT
428 	      PS.effective_period_num
429         FROM
430 	      GL_PERIOD_STATUSES PS,
432         WHERE
433 	      PS.application_id                    =  x_appl_id
434         AND   PS.ledger_id                         =  x_ledger_id
435 	AND   TT.ledger_id                         =  x_ledger_id
436 	AND   TT.target_currency                   =  x_currency
437 	AND   TT.actual_flag                       =  x_actual_flag
438 	AND   NVL(TT.target_budget_version_id,-1)  =  NVL(x_budget_version_id,-1)
439 	AND   PS.effective_period_num              >=
440 	      (TT.earliest_ever_period_year * 10000 + TT.earliest_ever_period_num)
441         AND   PS.effective_period_num              <
442 	      (TT.earliest_never_period_year * 10000 + TT.earliest_never_period_num)
443         ORDER BY PS.effective_period_num DESC;
444 
445         BEGIN
446 
447           OPEN  get_to_period;
448 	  FETCH get_to_period
449 	  INTO  x_to_period,
450 		x_closing_status,
451 		x_to_period_eff_num;
452 
453   	  IF get_to_period%FOUND THEN
454   	    CLOSE get_to_period;
455 	    x_closing_status := 'Y';
456           ELSE
457 	    x_closing_status := 'N';
458   	    CLOSE get_to_period;
459 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
460 	    app_exception.raise_exception;
461           END IF;
462 
463         EXCEPTION
464 	WHEN app_exceptions.application_exception THEN
465 	  RAISE;
466         WHEN OTHERS THEN
467 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
468 	  fnd_message.set_token('PROCEDURE',
469 				'gl_arch_prg_from_prd_pkg.get_to_prd_trn_both');
470 	  RAISE;
471       END get_to_prd_trn_both;
472 
473     PROCEDURE get_to_prd_trn_standard(
474 			x_appl_id 		IN NUMBER,
475 		        x_ledger_id 		IN NUMBER,
476 		 	x_data_type		IN VARCHAR2,
477 		 	x_actual_flag		IN VARCHAR2,
478 		 	x_budget_version_id	IN NUMBER,
479 			x_currency              IN VARCHAR2,
480 		 	x_to_period		IN OUT NOCOPY VARCHAR2,
481 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
482 			x_to_period_eff_num     IN OUT NOCOPY NUMBER
483 			) IS
484 
485 -- This procedure retrieves the latest ever translated period.
486 
487       CURSOR get_to_period IS
488 	SELECT
489 	      PS.period_name,
490 	      PS.closing_status,
491 	      PS.effective_period_num
492         FROM
493 	      GL_PERIOD_STATUSES PS,
494 	      GL_TRANSLATION_TRACKING TT
495         WHERE
496 	      PS.application_id                    =  x_appl_id
497         AND   PS.ledger_id                         =  x_ledger_id
498 	AND   TT.ledger_id                         =  x_ledger_id
499 	AND   TT.target_currency                   =  x_currency
500 	AND   TT.average_translation_flag          =  'N'
501 	AND   TT.actual_flag                       =  x_actual_flag
502 	AND   NVL(TT.target_budget_version_id,-1)  =  NVL(x_budget_version_id,-1)
503 	AND   PS.effective_period_num              >=
504 	      (TT.earliest_ever_period_year * 10000 + TT.earliest_ever_period_num)
505         AND   PS.effective_period_num              <
506 	      (TT.earliest_never_period_year * 10000 + TT.earliest_never_period_num)
507         ORDER BY PS.effective_period_num DESC;
508 
509         BEGIN
510 
511           OPEN  get_to_period;
512 	  FETCH get_to_period
513 	  INTO  x_to_period,
514 		x_closing_status,
515 		x_to_period_eff_num;
516 
517   	  IF get_to_period%FOUND THEN
518   	    CLOSE get_to_period;
519 	    x_closing_status := 'Y';
520           ELSE
521 	    x_closing_status := 'N';
522   	    CLOSE get_to_period;
523 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
524 	    app_exception.raise_exception;
525           END IF;
526 
527         EXCEPTION
528 	WHEN app_exceptions.application_exception THEN
529 	  RAISE;
530         WHEN OTHERS THEN
531 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
532 	  fnd_message.set_token('PROCEDURE',
533 				'gl_arch_prg_from_prd_pkg.get_to_prd_trn_standard');
534 	  RAISE;
535       END get_to_prd_trn_standard;
536 
537     PROCEDURE get_to_prd_trn_average(
538 			x_appl_id 		IN NUMBER,
539 		        x_ledger_id 		IN NUMBER,
540 		 	x_data_type		IN VARCHAR2,
541 		 	x_actual_flag		IN VARCHAR2,
542 		 	x_budget_version_id	IN NUMBER,
543 			x_currency              IN VARCHAR2,
544 		 	x_to_period		IN OUT NOCOPY VARCHAR2,
545 		 	x_closing_status	IN OUT NOCOPY VARCHAR2,
546 			x_to_period_eff_num     IN OUT NOCOPY NUMBER
547 			) IS
548 
549 -- This procedure retrieves the latest ever translated period.
550 
551       CURSOR get_to_period IS
552 	SELECT
553 	      PS.period_name,
554 	      PS.closing_status,
555 	      PS.effective_period_num
556         FROM
557 	      GL_PERIOD_STATUSES PS,
558 	      GL_TRANSLATION_TRACKING TT
559         WHERE
560 	      PS.application_id                    =  x_appl_id
561         AND   PS.ledger_id                         =  x_ledger_id
562 	AND   TT.ledger_id                         =  x_ledger_id
563 	AND   TT.target_currency                   =  x_currency
564 	AND   TT.average_translation_flag          =  'Y'
565 	AND   TT.actual_flag                       =  x_actual_flag
566 	AND   NVL(TT.target_budget_version_id,-1)  =  NVL(x_budget_version_id,-1)
567 	AND   PS.effective_period_num              >=
568 	      (TT.earliest_ever_period_year * 10000 + TT.earliest_ever_period_num)
569         AND   PS.effective_period_num              <
570 	      (TT.earliest_never_period_year * 10000 + TT.earliest_never_period_num)
571         ORDER BY PS.effective_period_num DESC;
572 
573         BEGIN
574 
575           OPEN  get_to_period;
576 	  FETCH get_to_period
577 	  INTO  x_to_period,
578 		x_closing_status,
579 		x_to_period_eff_num;
580 
581   	  IF get_to_period%FOUND THEN
582   	    CLOSE get_to_period;
583 	    x_closing_status := 'Y';
584           ELSE
585 	    x_closing_status := 'N';
586   	    CLOSE get_to_period;
587 	    FND_message.set_name('SQLGL', 'GL_NO_PERIODS_FOUND');
588 	    app_exception.raise_exception;
589           END IF;
590 
591         EXCEPTION
592 	WHEN app_exceptions.application_exception THEN
593 	  RAISE;
594         WHEN OTHERS THEN
595 	  fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
596 	  fnd_message.set_token('PROCEDURE',
597 				'gl_arch_prg_from_prd_pkg.get_to_prd_trn_average');
598 	  RAISE;
599       END get_to_prd_trn_average;
600 
601 END gl_arch_prg_from_prd_pkg;