[Home] [Help]
PACKAGE BODY: APPS.GL_TRANS_STATUSES_PKG
Source
1 PACKAGE BODY GL_TRANS_STATUSES_PKG AS
2 /* $Header: glitrstb.pls 120.3 2005/05/05 01:28:56 kvora ship $ */
3
4
5 --
6 -- PUBLIC FUNCTIONS
7 --
8
9 PROCEDURE set_translation_status( x_chart_of_accounts_id NUMBER,
10 x_ccid NUMBER,
11 x_ledger_id NUMBER,
12 x_currency VARCHAR2,
13 x_period_year NUMBER,
14 x_period_num NUMBER,
15 x_period_name VARCHAR2,
16 x_last_updated_by NUMBER,
17 x_usage_code VARCHAR2) IS
18 bsv VARCHAR2(25);
19
20 BEGIN
21 IF (fnd_flex_keyval.validate_ccid('SQLGL',
22 'GL#',
23 x_chart_of_accounts_id,
24 x_ccid,
25 'GL_BALANCING') = TRUE) THEN
26 bsv := fnd_flex_keyval.concatenated_values;
27 ELSE
28 fnd_message.set_name('SQLGL', fnd_flex_keyval.encoded_error_message);
29 app_exception.raise_exception;
30 END IF;
31
32 UPDATE GL_TRANSLATION_STATUSES TS
33 SET TS.status = 'U',
34 TS.LAST_UPDATE_DATE = sysdate,
35 TS.LAST_UPDATED_BY = x_last_updated_by
36 WHERE TS.LEDGER_ID = x_ledger_id
37 AND TS.BAL_SEG_VALUE = bsv
38 AND TS.TARGET_CURRENCY = x_currency
39 AND TS.AVERAGE_TRANSLATION_FLAG = decode(x_usage_code, 'A', 'Y', 'N')
40 AND TS.ACTUAL_FLAG = 'A'
41 AND TS.period_name IN
42 ( SELECT PS.period_name
43 FROM GL_PERIOD_STATUSES PS
44 WHERE PS.application_id = 101
45 AND PS.ledger_id = x_ledger_id
46 AND PS.effective_period_num >=
47 (x_period_year * 10000 + x_period_num));
48
49 EXCEPTION
50 WHEN app_exceptions.application_exception THEN
51 RAISE;
52 WHEN NO_DATA_FOUND THEN
53 NULL;
54 WHEN OTHERS THEN
55 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
56 fnd_message.set_token('PROCEDURE',
57 'GL_TRANS_STATUS_PKG.set_translation_status');
58 RAISE;
59
60 END set_translation_status;
61
62 END GL_TRANS_STATUSES_PKG;