1 PACKAGE BODY GL_FORMSINFO2 AS
2 /* $Header: gligcf2b.pls 120.5 2005/05/05 01:07:55 kvora ship $ */
3
4 PROCEDURE get_coa_info (x_chart_of_accounts_id IN NUMBER,
5 x_segment_delimiter IN OUT NOCOPY VARCHAR2,
6 x_enabled_segment_count IN OUT NOCOPY NUMBER,
7 x_segment_order_by IN OUT NOCOPY VARCHAR2,
8 x_accseg_segment_num IN OUT NOCOPY NUMBER,
9 x_accseg_app_col_name IN OUT NOCOPY VARCHAR2,
10 x_accseg_left_prompt IN OUT NOCOPY VARCHAR2,
11 x_balseg_segment_num IN OUT NOCOPY NUMBER,
12 x_balseg_app_col_name IN OUT NOCOPY VARCHAR2,
13 x_balseg_left_prompt IN OUT NOCOPY VARCHAR2,
14 x_ieaseg_segment_num IN OUT NOCOPY NUMBER,
15 x_ieaseg_app_col_name IN OUT NOCOPY VARCHAR2,
16 x_ieaseg_left_prompt IN OUT NOCOPY VARCHAR2) IS
17
18 CURSOR seg_count IS
19 SELECT segment_num, application_column_name
20 FROM fnd_id_flex_segments
21 WHERE application_id = 101
22 AND id_flex_code = 'GL#'
23 AND enabled_flag = 'Y'
24 AND id_flex_num = x_chart_of_accounts_id
25 ORDER BY segment_num;
26 dumdum BOOLEAN := FALSE;
27
28 x_seg_name VARCHAR2(30);
29 x_value_set VARCHAR2(60);
30 BEGIN
31
32 -- Identify the natural account and balancing segments
33 dumdum := FND_FLEX_APIS.get_qualifier_segnum(
34 101, 'GL#', x_chart_of_accounts_id,
35 'GL_ACCOUNT', x_accseg_segment_num);
36 dumdum := FND_FLEX_APIS.get_qualifier_segnum(
37 101, 'GL#', x_chart_of_accounts_id,
38 'GL_BALANCING', x_balseg_segment_num);
39 dumdum := FND_FLEX_APIS.get_qualifier_segnum(
40 101, 'GL#', x_chart_of_accounts_id,
41 'GL_INTERCOMPANY', x_ieaseg_segment_num);
42
43 -- Get the segment delimiter
44 x_segment_delimiter := FND_FLEX_APIS.get_segment_delimiter(
45 101, 'GL#', x_chart_of_accounts_id);
46
47 -- Count 'em up and string 'em together
48 x_enabled_segment_count := 0;
49 FOR r IN seg_count LOOP
50 -- How many enabled segs are there?
51 x_enabled_segment_count := seg_count%ROWCOUNT;
52 -- Record the order by string
53 IF seg_count%ROWCOUNT = 1 THEN
54 x_segment_order_by := r.application_column_name;
55 ELSE
56 x_segment_order_by := x_segment_order_by||
57 ','||
58 r.application_column_name;
59 END IF;
60 -- If this is either the accseg or balseg, get more info
61 IF r.segment_num = x_accseg_segment_num THEN
62 IF (FND_FLEX_APIS.get_segment_info(
63 101, 'GL#', x_chart_of_accounts_id,
64 r.segment_num, x_accseg_app_col_name,
65 x_seg_name, x_accseg_left_prompt, x_value_set)) THEN
66 null;
67 END IF;
68 ELSIF r.segment_num = x_balseg_segment_num THEN
69 IF (FND_FLEX_APIS.get_segment_info(
70 101, 'GL#', x_chart_of_accounts_id,
71 r.segment_num, x_balseg_app_col_name,
72 x_seg_name, x_balseg_left_prompt, x_value_set)) THEN
73 null;
74 END IF;
75 ELSIF r.segment_num = x_ieaseg_segment_num THEN
76 IF (FND_FLEX_APIS.get_segment_info(
77 101, 'GL#', x_chart_of_accounts_id,
78 r.segment_num, x_ieaseg_app_col_name,
79 x_seg_name, x_ieaseg_left_prompt, x_value_set)) THEN
80 null;
81 END IF;
82 END IF;
83 END LOOP;
84
85 EXCEPTION
86 WHEN OTHERS THEN
87 app_exception.raise_exception;
88 END get_coa_info;
89
90
91 PROCEDURE get_sob_info ( X_set_of_books_id IN NUMBER,
92 X_chart_of_accounts_id IN OUT NOCOPY NUMBER,
93 X_name IN OUT NOCOPY VARCHAR2,
94 X_short_name IN OUT NOCOPY VARCHAR2,
95 X_currency_code IN OUT NOCOPY VARCHAR2,
96 X_period_set_name IN OUT NOCOPY VARCHAR2,
97 X_accounted_period_type IN OUT NOCOPY VARCHAR2,
98 X_suspense_allowed_flag IN OUT NOCOPY VARCHAR2,
99 X_allow_intercompany_post_flag IN OUT NOCOPY VARCHAR2,
100 X_require_budget_journals_flag IN OUT NOCOPY VARCHAR2,
101 X_enable_bc_flag IN OUT NOCOPY VARCHAR2,
102 X_latest_opened_period_name IN OUT NOCOPY VARCHAR2,
103 X_latest_encumbrance_year IN OUT NOCOPY NUMBER,
104 X_future_enterable_periods IN OUT NOCOPY NUMBER,
105 X_cum_trans_ccid IN OUT NOCOPY NUMBER,
106 X_ret_earn_ccid IN OUT NOCOPY NUMBER,
107 X_res_encumb_ccid IN OUT NOCOPY NUMBER,
108 X_enable_average_balances_flag IN OUT NOCOPY VARCHAR2,
109 X_transaction_calendar_id IN OUT NOCOPY NUMBER,
110 X_net_income_ccid IN OUT NOCOPY NUMBER,
111 X_consolidation_sob_flag IN OUT NOCOPY VARCHAR2,
112 X_daily_translation_rate_type IN OUT NOCOPY VARCHAR2,
113 X_enable_automatic_tax_flag IN OUT NOCOPY VARCHAR2,
114 X_mrc_sob_type_code IN OUT NOCOPY VARCHAR2,
115 X_enable_je_approval_flag IN OUT NOCOPY VARCHAR2 )
116 IS
117
118 CURSOR gsi IS
119 SELECT
120 chart_of_accounts_id,
121 name,
122 short_name,
123 currency_code,
124 period_set_name,
125 accounted_period_type,
126 suspense_allowed_flag,
127 allow_intercompany_post_flag,
128 require_budget_journals_flag,
129 enable_budgetary_control_flag,
130 latest_opened_period_name,
131 latest_encumbrance_year,
132 future_enterable_periods_limit,
133 cum_trans_code_combination_id,
134 ret_earn_code_combination_id,
135 res_encumb_code_combination_id,
136 enable_average_balances_flag,
137 transaction_calendar_id,
138 net_income_code_combination_id,
139 consolidation_sob_flag,
140 daily_translation_rate_type,
141 enable_automatic_tax_flag,
142 mrc_sob_type_code,
143 enable_je_approval_flag
144 FROM
145 GL_SETS_OF_BOOKS
146 WHERE
147 set_of_books_id = X_set_of_books_id;
148
149 BEGIN
150 OPEN gsi;
151 FETCH gsi INTO X_chart_of_accounts_id,
152 X_name,
153 X_short_name,
154 X_currency_code,
155 X_period_set_name,
156 X_accounted_period_type,
157 X_suspense_allowed_flag,
158 X_allow_intercompany_post_flag,
159 X_require_budget_journals_flag,
160 X_enable_bc_flag,
161 X_latest_opened_period_name,
162 X_latest_encumbrance_year,
163 X_future_enterable_periods,
164 X_cum_trans_ccid,
165 X_ret_earn_ccid,
166 X_res_encumb_ccid,
167 X_enable_average_balances_flag,
168 X_transaction_calendar_id,
169 X_net_income_ccid,
170 X_consolidation_sob_flag,
171 X_daily_translation_rate_type,
172 X_enable_automatic_tax_flag,
173 X_mrc_sob_type_code,
174 X_enable_je_approval_flag;
175 CLOSE gsi;
176
177 EXCEPTION
178 WHEN NO_DATA_FOUND THEN
179 fnd_message.set_name('SQLGL', 'GL_SHRD_INVALID_SOBID');
180 fnd_message.set_token('SOBID', to_char(X_set_of_books_id), FALSE);
181 app_exception.raise_exception;
182 WHEN OTHERS THEN
183 app_exception.raise_exception;
184
185 END get_sob_info;
186
187
188 FUNCTION multi_org RETURN BOOLEAN IS
189 CURSOR is_multi IS
190 SELECT nvl(multi_org_flag, 'N')
191 FROM fnd_product_groups;
192 dummy VARCHAR2(1);
193 BEGIN
194 OPEN is_multi;
195 FETCH is_multi INTO dummy;
196
197 IF is_multi%FOUND THEN
198 CLOSE is_multi;
199
200 IF (dummy = 'N') THEN
201 RETURN (FALSE);
202 ELSE
203 RETURN (TRUE);
204 END IF;
205
206 ELSE
207 CLOSE is_multi;
208 RETURN(FALSE);
209 END IF;
210 END multi_org;
211
212 FUNCTION install_info(appl_id IN NUMBER,
213 dep_appl_id IN NUMBER,
214 status OUT NOCOPY VARCHAR2,
215 industry OUT NOCOPY VARCHAR2) RETURN BOOLEAN IS
216 BEGIN
217 RETURN(fnd_installation.get(appl_id, dep_appl_id, status, industry));
218 END install_info;
219
220 PROCEDURE get_iea_info(x_subsidiary_id NUMBER,
221 x_name IN OUT NOCOPY VARCHAR2,
222 x_chart_of_accounts_id IN OUT NOCOPY NUMBER,
223 x_set_of_books_id IN OUT NOCOPY NUMBER,
224 x_enabled_flag IN OUT NOCOPY VARCHAR2,
225 x_subsidiary_type_code IN OUT NOCOPY VARCHAR2,
226 x_company_value IN OUT NOCOPY VARCHAR2,
227 x_currency_code IN OUT NOCOPY VARCHAR2,
228 x_autoapprove_flag IN OUT NOCOPY VARCHAR2,
229 x_view_partner_lines_flag IN OUT NOCOPY VARCHAR2,
230 x_conversion_type_code IN OUT NOCOPY VARCHAR2,
231 x_conversion_type IN OUT NOCOPY VARCHAR2,
232 x_remote_instance_flag IN OUT NOCOPY VARCHAR2,
233 x_transfer_set_of_books_id IN OUT NOCOPY NUMBER,
234 x_transfer_currency_code IN OUT NOCOPY VARCHAR2,
235 x_contact IN OUT NOCOPY VARCHAR2,
236 x_notification_threshold IN OUT NOCOPY NUMBER) IS
237 BEGIN
238 /* GL_IEA_SUBSIDIARY_PKG dropped in Ledger Architecture.
239 gl_iea_subsidiary_pkg.select_columns(
240 x_subsidiary_id,
241 x_name,
242 x_chart_of_accounts_id,
243 x_set_of_books_id,
244 x_enabled_flag,
245 x_subsidiary_type_code,
246 x_company_value,
247 x_currency_code,
248 x_autoapprove_flag,
249 x_view_partner_lines_flag,
250 x_conversion_type_code,
251 x_conversion_type,
252 x_remote_instance_flag,
253 x_transfer_set_of_books_id,
254 x_transfer_currency_code,
255 x_contact,
256 x_notification_threshold);
257 */
258
259 x_chart_of_accounts_id := NULL;
260
261 END get_iea_info;
262
263 PROCEDURE get_usage_info(
264 x_average_balances_flag IN OUT NOCOPY VARCHAR2,
265 x_consolidation_ledger_flag IN OUT NOCOPY VARCHAR2) IS
266 BEGIN
267 gl_system_usages_pkg.select_columns(x_average_balances_flag,
268 x_consolidation_ledger_flag);
269 END get_usage_info;
270
271 PROCEDURE get_business_days_pattern(X_transaction_cal_id IN NUMBER,
272 X_start_date IN DATE,
273 X_end_date IN DATE,
274 X_bus_days_pattern IN OUT NOCOPY VARCHAR2
275 ) IS
276 BEGIN
277 gl_trans_dates_pkg.get_business_days_pattern(
278 X_transaction_cal_id,
279 X_start_date,
280 X_end_date,
281 X_bus_days_pattern);
282 END get_business_days_pattern;
283
284 FUNCTION iea_disabled_subsidiary(X_Subsidiary_Id IN NUMBER) RETURN BOOLEAN IS
285 dummy VARCHAR2(1);
286 BEGIN
287 IF X_Subsidiary_Id IS NOT NULL THEN
288 SELECT 'x' INTO dummy
289 FROM gl_iea_subsidiaries
290 WHERE subsidiary_id = X_Subsidiary_Id
291 AND enabled_flag = 'Y';
292 END IF;
293
294 return(FALSE);
295 EXCEPTION
296 WHEN NO_DATA_FOUND THEN
297 return(TRUE);
298 WHEN OTHERS THEN
299 fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
300 fnd_message.set_token('PROCEDURE',
301 'GL_FORMSINFO2.iea_disabled_subsidiary');
302 APP_EXCEPTION.Raise_Exception;
303 END iea_disabled_subsidiary;
304
305
306 FUNCTION get_industry_message(Message_Name IN VARCHAR2,
307 Application_Shortname IN VARCHAR2)
308 RETURN VARCHAR2 IS
309 BEGIN
310 RETURN(gl_public_sector.get_message_name(Message_Name,
311 Application_Shortname));
312 END get_industry_message;
313
314
315 END GL_FORMSINFO2;