1 PACKAGE BODY gl_elim_accounts_map_pkg As
2 /* $Header: glieacmb.pls 120.4 2005/05/05 01:06:45 kvora ship $ */
3
4 --
5 -- Procedure
6 -- unique_line_number
7 -- Purpose
8 -- Make sure line number within each journal is unique
9 -- Parameters
10 -- None
11 -- History
12 -- 11-06-1998 W Wong Created
13 -- Notes
14 -- Raises GL_DUPLICATE_JE_LINE_NUM on failure
15 --
16 PROCEDURE unique_line_number (
17 X_journal_id IN NUMBER,
18 X_lineno IN NUMBER,
19 X_rowid IN VARCHAR2 ) IS
20
21 counter NUMBER;
22
23 CURSOR line_count IS
24 SELECT 1
25 FROM DUAL
26 WHERE EXISTS (SELECT 1
27 FROM GL_ELIM_ACCOUNTS_MAP
28 WHERE journal_id = X_journal_id
29 AND line_number = X_lineno
30 AND (rowid <> X_rowid OR X_rowid IS NULL));
31 BEGIN
32 OPEN line_count;
33 FETCH line_count INTO counter;
34
35 IF line_count%FOUND THEN
36 CLOSE line_count;
37 FND_MESSAGE.set_name('SQLGL', 'GL_DUPLICATE_JE_LINE_NUM');
38 APP_EXCEPTION.raise_exception;
39
40 ELSE
41 CLOSE line_count;
42 END IF;
43
44 EXCEPTION
45 WHEN app_exceptions.application_exception THEN
46 RAISE;
47
48 WHEN OTHERS THEN
49 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
50 fnd_message.set_token(
51 'PROCEDURE',
52 'gl_elim_accounts_map_pkg.unique_line_number');
53 RAISE;
54
55 END unique_line_number;
56
57
58 --
59 -- PROCEDURE source_spec_is_unique
60 --
61 PROCEDURE source_spec_is_unique (
62 X_journal_id IN NUMBER, X_row_id IN CHAR,
63 X_ss1 IN VARCHAR2, X_ss2 IN VARCHAR2,
64 X_ss3 IN VARCHAR2, X_ss4 IN VARCHAR2,
65 X_ss5 IN VARCHAR2, X_ss6 IN VARCHAR2,
66 X_ss7 IN VARCHAR2, X_ss8 IN VARCHAR2,
67 X_ss9 IN VARCHAR2, X_ss10 IN VARCHAR2,
68 X_ss11 IN VARCHAR2, X_ss12 IN VARCHAR2,
69 X_ss13 IN VARCHAR2, X_ss14 IN VARCHAR2,
70 X_ss15 IN VARCHAR2, X_ss16 IN VARCHAR2,
71 X_ss17 IN VARCHAR2, X_ss18 IN VARCHAR2,
72 X_ss19 IN VARCHAR2, X_ss20 IN VARCHAR2,
73 X_ss21 IN VARCHAR2, X_ss22 IN VARCHAR2,
74 X_ss23 IN VARCHAR2, X_ss24 IN VARCHAR2,
75 X_ss25 IN VARCHAR2, X_ss26 IN VARCHAR2,
76 X_ss27 IN VARCHAR2, X_ss28 IN VARCHAR2,
77 X_ss29 IN VARCHAR2, X_ss30 IN VARCHAR2
78 ) IS
79
80 counter NUMBER;
81
82 CURSOR source_count IS
83 SELECT 1
84 FROM DUAL
85 WHERE EXISTS (SELECT 1
86 FROM GL_ELIM_ACCOUNTS_MAP
87 WHERE journal_id = X_journal_id
88 AND (rowid <> X_row_id OR X_row_id IS NULL)
89 AND nvl(source_segment1, ' ') = nvl(X_ss1, ' ')
90 AND nvl(source_segment2, ' ') = nvl(X_ss2, ' ')
91 AND nvl(source_segment3, ' ') = nvl(X_ss3, ' ')
92 AND nvl(source_segment4, ' ') = nvl(X_ss4, ' ')
93 AND nvl(source_segment5, ' ') = nvl(X_ss5, ' ')
94 AND nvl(source_segment6, ' ') = nvl(X_ss6, ' ')
95 AND nvl(source_segment7, ' ') = nvl(X_ss7, ' ')
96 AND nvl(source_segment8, ' ') = nvl(X_ss8, ' ')
97 AND nvl(source_segment9, ' ') = nvl(X_ss9, ' ')
98 AND nvl(source_segment10,' ') = nvl(X_ss10,' ')
99 AND nvl(source_segment11,' ') = nvl(X_ss11,' ')
100 AND nvl(source_segment12,' ') = nvl(X_ss12,' ')
101 AND nvl(source_segment13,' ') = nvl(X_ss13,' ')
102 AND nvl(source_segment14,' ') = nvl(X_ss14,' ')
103 AND nvl(source_segment15,' ') = nvl(X_ss15,' ')
104 AND nvl(source_segment16,' ') = nvl(X_ss16,' ')
105 AND nvl(source_segment17,' ') = nvl(X_ss17,' ')
106 AND nvl(source_segment18,' ') = nvl(X_ss18,' ')
107 AND nvl(source_segment19,' ') = nvl(X_ss19,' ')
108 AND nvl(source_segment20,' ') = nvl(X_ss20,' ')
109 AND nvl(source_segment21,' ') = nvl(X_ss21,' ')
110 AND nvl(source_segment22,' ') = nvl(X_ss22,' ')
111 AND nvl(source_segment23,' ') = nvl(X_ss23,' ')
112 AND nvl(source_segment24,' ') = nvl(X_ss24,' ')
113 AND nvl(source_segment25,' ') = nvl(X_ss25,' ')
114 AND nvl(source_segment26,' ') = nvl(X_ss26,' ')
115 AND nvl(source_segment27,' ') = nvl(X_ss27,' ')
116 AND nvl(source_segment28,' ') = nvl(X_ss28,' ')
117 AND nvl(source_segment29,' ') = nvl(X_ss29,' ')
118 AND nvl(source_segment30,' ') = nvl(X_ss30,' '));
119 BEGIN
120 OPEN source_count;
121 FETCH source_count INTO counter;
122 IF source_count%FOUND THEN
123 CLOSE source_count;
124 FND_MESSAGE.set_name('SQLGL', 'GL_ELIM_SOURCE_NOT_UNIQUE');
125 APP_EXCEPTION.raise_exception;
126 ELSE
127 CLOSE source_count;
128 END IF;
129 EXCEPTION
130 WHEN app_exceptions.application_exception THEN
131 RAISE;
132 WHEN OTHERS THEN
133 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
134 fnd_message.set_token(
135 'PROCEDURE',
136 'gl_elim_accounts_map_pkg.source_spec_is_unique');
137 RAISE;
138 END source_spec_is_unique;
139
140 --
141 -- Procedure
142 -- get_bal_seg_num
143 -- Purpose
144 -- Get the balancing segment number
145 -- History
146 -- 12-17-1998 W Wong Created
147 -- Notes
148 --
149 PROCEDURE get_bal_seg_num (
150 X_coa_id IN NUMBER,
151 X_company_value IN OUT NOCOPY NUMBER ) IS
152
153 return_code BOOLEAN;
154
155 BEGIN
156
157 /* get number of the company segment in the segments array */
158 return_code := fnd_flex_apis.get_qualifier_segnum(
159 101,
160 'GL#',
161 X_coa_id,
162 'GL_BALANCING',
163 X_company_value);
164
165 IF (NOT return_code) THEN
166 app_exception.raise_exception;
167 END IF;
168
169 END get_bal_seg_num;
170
171
172 End gl_elim_accounts_map_pkg;