DBA Data[Home] [Help]

PACKAGE BODY: APPS.GL_FORMSINFO2

Source


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;