[Home] [Help]
PACKAGE BODY: APPS.GCS_DYNAMIC_UTIL_PKG
Source
1 PACKAGE BODY GCS_DYNAMIC_UTIL_PKG AS
2 /* $Header: gcsdynutilb.pls 120.1 2005/09/15 18:38:40 spala noship $ */
3
4 --
5 -- Private Exceptions
6 --
7 GCS_CCY_APPLSYS_NOT_FOUND EXCEPTION;
8
9 --
10 -- Private Global Variables
11 --
12
13 -- Store whether a dimension is used by GCS
14 g_felm_req VARCHAR2(1);
15 g_prd_req VARCHAR2(1);
16 g_na_req VARCHAR2(1);
17 g_chl_req VARCHAR2(1);
18 g_prj_req VARCHAR2(1);
19 g_cst_req VARCHAR2(1);
20 g_tsk_req VARCHAR2(1);
21 g_ud1_req VARCHAR2(1);
22 g_ud2_req VARCHAR2(1);
23 g_ud3_req VARCHAR2(1);
24 g_ud4_req VARCHAR2(1);
25 g_ud5_req VARCHAR2(1);
26 g_ud6_req VARCHAR2(1);
27 g_ud7_req VARCHAR2(1);
28 g_ud8_req VARCHAR2(1);
29 g_ud9_req VARCHAR2(1);
30 g_ud10_req VARCHAR2(1);
31
32 -- Store whether a dimension is used by FEM
33 g_felm_fem_req VARCHAR2(1);
34 g_prd_fem_req VARCHAR2(1);
35 g_na_fem_req VARCHAR2(1);
36 g_chl_fem_req VARCHAR2(1);
37 g_prj_fem_req VARCHAR2(1);
38 g_cst_fem_req VARCHAR2(1);
39 g_tsk_fem_req VARCHAR2(1);
40 g_ud1_fem_req VARCHAR2(1);
41 g_ud2_fem_req VARCHAR2(1);
42 g_ud3_fem_req VARCHAR2(1);
43 g_ud4_fem_req VARCHAR2(1);
44 g_ud5_fem_req VARCHAR2(1);
45 g_ud6_fem_req VARCHAR2(1);
46 g_ud7_fem_req VARCHAR2(1);
47 g_ud8_fem_req VARCHAR2(1);
48 g_ud9_fem_req VARCHAR2(1);
49 g_ud10_fem_req VARCHAR2(1);
50
51 --
52 -- Private Procedures
53 --
54
55 PROCEDURE init_dyn_pkg_info IS
56
57 status VARCHAR2(1);
58 industry VARCHAR2(1);
59 -- appl VARCHAR2(30);
60
61 BEGIN
62 -- Initialize the dimension information.
63 GCS_UTILITY_PKG.init_dimension_info;
64
65 -- Set the global variables determining which dimensions are used by GCS
66 g_felm_req := gcs_utility_pkg.get_dimension_required('FINANCIAL_ELEM_ID');
67 g_prd_req := gcs_utility_pkg.get_dimension_required('PRODUCT_ID');
68 g_na_req := gcs_utility_pkg.get_dimension_required('NATURAL_ACCOUNT_ID');
69 g_chl_req := gcs_utility_pkg.get_dimension_required('CHANNEL_ID');
70 g_prj_req := gcs_utility_pkg.get_dimension_required('PROJECT_ID');
71 g_cst_req := gcs_utility_pkg.get_dimension_required('CUSTOMER_ID');
72 g_tsk_req := gcs_utility_pkg.get_dimension_required('TASK_ID');
73 g_ud1_req := gcs_utility_pkg.get_dimension_required('USER_DIM1_ID');
74 g_ud2_req := gcs_utility_pkg.get_dimension_required('USER_DIM2_ID');
75 g_ud3_req := gcs_utility_pkg.get_dimension_required('USER_DIM3_ID');
76 g_ud4_req := gcs_utility_pkg.get_dimension_required('USER_DIM4_ID');
77 g_ud5_req := gcs_utility_pkg.get_dimension_required('USER_DIM5_ID');
78 g_ud6_req := gcs_utility_pkg.get_dimension_required('USER_DIM6_ID');
79 g_ud7_req := gcs_utility_pkg.get_dimension_required('USER_DIM7_ID');
80 g_ud8_req := gcs_utility_pkg.get_dimension_required('USER_DIM8_ID');
81 g_ud9_req := gcs_utility_pkg.get_dimension_required('USER_DIM9_ID');
82 g_ud10_req := gcs_utility_pkg.get_dimension_required('USER_DIM10_ID');
83
84 -- Set the global variables determining which dimensions are used by FEM
85 g_felm_fem_req := gcs_utility_pkg.get_fem_dim_required('FINANCIAL_ELEM_ID');
86 g_prd_fem_req := gcs_utility_pkg.get_fem_dim_required('PRODUCT_ID');
87 g_na_fem_req := gcs_utility_pkg.get_fem_dim_required('NATURAL_ACCOUNT_ID');
88 g_chl_fem_req := gcs_utility_pkg.get_fem_dim_required('CHANNEL_ID');
89 g_prj_fem_req := gcs_utility_pkg.get_fem_dim_required('PROJECT_ID');
90 g_cst_fem_req := gcs_utility_pkg.get_fem_dim_required('CUSTOMER_ID');
91 g_tsk_fem_req := gcs_utility_pkg.get_fem_dim_required('TASK_ID');
92 g_ud1_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM1_ID');
93 g_ud2_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM2_ID');
94 g_ud3_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM3_ID');
95 g_ud4_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM4_ID');
96 g_ud5_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM5_ID');
97 g_ud6_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM6_ID');
98 g_ud7_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM7_ID');
99 g_ud8_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM8_ID');
100 g_ud9_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM9_ID');
101 g_ud10_fem_req := gcs_utility_pkg.get_fem_dim_required('USER_DIM10_ID');
102
103 -- Get APPLSYS information. Needed for ad_ddl
104 IF NOT fnd_installation.get_app_info('FND', status, industry,
105 g_applsys_username) THEN
106 raise gcs_ccy_applsys_not_found;
107 END IF;
108
109 END init_dyn_pkg_info;
110
111 --
112 -- Procedure
113 -- Build_Dimension_Row
114 -- Purpose
115 -- Build one row of the comma or join list in ad_ddl.
116 --
117 -- Arguments
118 -- p_item The item to write if the dimension is used
119 -- p_def_item The item to write if the dimension is unused
120 -- p_rownum The row number to use for ad_ddl
121 -- p_dim_req Whether or not the dimension is required
122 -- Example
123 --
124 -- Notes
125 -- Returns the line number for the next row.
126 --
127 FUNCTION Build_Dimension_Row( p_item VARCHAR2,
128 p_def_item VARCHAR2,
129 p_rownum NUMBER,
130 p_dim_req VARCHAR2) RETURN NUMBER IS
131 BEGIN
132 IF p_dim_req = 'Y' THEN
133 ad_ddl.build_statement(p_item, p_rownum);
134 ELSE
135 ad_ddl.build_statement(p_def_item, p_rownum);
136 END IF;
137 RETURN (p_rownum + 1);
138 END Build_Dimension_Row;
139
140 --
141 -- Procedure
142 -- Build_Fem_Dimension_Row
143 -- Purpose
144 -- Build one row of the comma or join list in ad_ddl.
145 --
146 -- Arguments
147 -- p_item The item to write if the dimension is used
148 -- p_def_item The item to write if the dimension is unused
149 -- p_rownum The row number to use for ad_ddl
150 -- p_dim_req Whether or not the dimension is required
151 -- Example
152 --
153 -- Notes
154 -- Returns the line number for the next row.
155 --
156 FUNCTION Build_Fem_Dimension_Row( p_item VARCHAR2,
157 p_def_item VARCHAR2,
158 p_rownum NUMBER,
159 p_dim_req VARCHAR2) RETURN NUMBER IS
160 BEGIN
161 IF p_dim_req = 'Y' THEN
162 ad_ddl.build_statement('''' || p_item || '''' || ',', p_rownum);
163 ELSE
164 ad_ddl.build_statement(p_def_item, p_rownum);
165 END IF;
166 RETURN (p_rownum + 1);
167 END Build_Fem_Dimension_Row;
168
169
170 --
171 -- Public Procedures
172 --
173
174 FUNCTION Build_Comma_List(p_prefix VARCHAR2,
175 p_suffix VARCHAR2,
176 p_default_text VARCHAR2,
177 p_first_rownum NUMBER) RETURN NUMBER IS
178 the_rownum NUMBER := p_first_rownum;
179 BEGIN
180 -- Go through each of the optional dimensions, and fill out accordingly
181
182 the_rownum := build_dimension_row(p_prefix||'FINANCIAL_ELEM_ID,'||p_suffix,
183 p_default_text, the_rownum, g_felm_req);
184 the_rownum := build_dimension_row(p_prefix||'PRODUCT_ID,'||p_suffix,
185 p_default_text, the_rownum, g_prd_req);
186 the_rownum := build_dimension_row(p_prefix||'NATURAL_ACCOUNT_ID,'||p_suffix,
187 p_default_text, the_rownum, g_na_req);
188 the_rownum := build_dimension_row(p_prefix||'CHANNEL_ID,'||p_suffix,
189 p_default_text, the_rownum, g_chl_req);
190 the_rownum := build_dimension_row(p_prefix||'PROJECT_ID,'||p_suffix,
191 p_default_text, the_rownum, g_prj_req);
192 the_rownum := build_dimension_row(p_prefix||'CUSTOMER_ID,'||p_suffix,
193 p_default_text, the_rownum,g_cst_req);
194 the_rownum := build_dimension_row(p_prefix||'TASK_ID,'||p_suffix,
195 p_default_text, the_rownum, g_tsk_req);
196 the_rownum := build_dimension_row(p_prefix||'USER_DIM1_ID,'||p_suffix,
197 p_default_text, the_rownum, g_ud1_req);
198 the_rownum := build_dimension_row(p_prefix||'USER_DIM2_ID,'||p_suffix,
199 p_default_text, the_rownum, g_ud2_req);
200 the_rownum := build_dimension_row(p_prefix||'USER_DIM3_ID,'||p_suffix,
201 p_default_text, the_rownum, g_ud3_req);
202 the_rownum := build_dimension_row(p_prefix||'USER_DIM4_ID,'||p_suffix,
203 p_default_text, the_rownum, g_ud4_req);
204 the_rownum := build_dimension_row(p_prefix||'USER_DIM5_ID,'||p_suffix,
205 p_default_text, the_rownum, g_ud5_req);
206 the_rownum := build_dimension_row(p_prefix||'USER_DIM6_ID,'||p_suffix,
207 p_default_text, the_rownum, g_ud6_req);
208 the_rownum := build_dimension_row(p_prefix||'USER_DIM7_ID,'||p_suffix,
209 p_default_text, the_rownum, g_ud7_req);
210 the_rownum := build_dimension_row(p_prefix||'USER_DIM8_ID,'||p_suffix,
211 p_default_text, the_rownum, g_ud8_req);
212 the_rownum := build_dimension_row(p_prefix||'USER_DIM9_ID,'||p_suffix,
213 p_default_text, the_rownum, g_ud9_req);
214 the_rownum := build_dimension_row(p_prefix||'USER_DIM10_ID,'||p_suffix,
215 p_default_text, the_rownum, g_ud10_req);
216
217 RETURN the_rownum;
218 END Build_Comma_List;
219
220
221 FUNCTION Build_Join_List(p_left VARCHAR2,
222 p_middle VARCHAR2,
223 p_right VARCHAR2,
224 p_first_rownum NUMBER) RETURN NUMBER IS
225 the_rownum NUMBER := p_first_rownum;
226 BEGIN
227 -- Go through each of the optional dimensions, and fill out accordingly
228
229 the_rownum := build_dimension_row(p_left||'FINANCIAL_ELEM_ID'||
230 p_middle||'FINANCIAL_ELEM_ID'||p_right,
231 '', the_rownum, g_felm_req);
232 the_rownum := build_dimension_row(p_left||'PRODUCT_ID'||
233 p_middle||'PRODUCT_ID'||p_right,
234 '', the_rownum, g_prd_req);
235 the_rownum := build_dimension_row(p_left||'NATURAL_ACCOUNT_ID'||
236 p_middle||'NATURAL_ACCOUNT_ID'||p_right,
237 '', the_rownum, g_na_req);
238 the_rownum := build_dimension_row(p_left||'CHANNEL_ID'||
239 p_middle||'CHANNEL_ID'||p_right,
240 '', the_rownum, g_chl_req);
241 the_rownum := build_dimension_row(p_left||'PROJECT_ID'||
242 p_middle||'PROJECT_ID'||p_right,
243 '', the_rownum, g_prj_req);
244 the_rownum := build_dimension_row(p_left||'CUSTOMER_ID'||
245 p_middle||'CUSTOMER_ID'||p_right,
246 '', the_rownum, g_cst_req);
247 the_rownum := build_dimension_row(p_left||'TASK_ID'||
248 p_middle||'TASK_ID'||p_right,
249 '', the_rownum, g_tsk_req);
250 the_rownum := build_dimension_row(p_left||'USER_DIM1_ID'||
251 p_middle||'USER_DIM1_ID'||p_right,
252 '', the_rownum, g_ud1_req);
253 the_rownum := build_dimension_row(p_left||'USER_DIM2_ID'||
254 p_middle||'USER_DIM2_ID'||p_right,
255 '', the_rownum, g_ud2_req);
256 the_rownum := build_dimension_row(p_left||'USER_DIM3_ID'||
257 p_middle||'USER_DIM3_ID'||p_right,
258 '', the_rownum, g_ud3_req);
259 the_rownum := build_dimension_row(p_left||'USER_DIM4_ID'||
260 p_middle||'USER_DIM4_ID'||p_right,
261 '', the_rownum, g_ud4_req);
262 the_rownum := build_dimension_row(p_left||'USER_DIM5_ID'||
263 p_middle||'USER_DIM5_ID'||p_right,
264 '', the_rownum, g_ud5_req);
265 the_rownum := build_dimension_row(p_left||'USER_DIM6_ID'||
266 p_middle||'USER_DIM6_ID'||p_right,
267 '', the_rownum, g_ud6_req);
268 the_rownum := build_dimension_row(p_left||'USER_DIM7_ID'||
269 p_middle||'USER_DIM7_ID'||p_right,
270 '', the_rownum, g_ud7_req);
271 the_rownum := build_dimension_row(p_left||'USER_DIM8_ID'||
272 p_middle||'USER_DIM8_ID'||p_right,
273 '', the_rownum, g_ud8_req);
274 the_rownum := build_dimension_row(p_left||'USER_DIM9_ID'||
275 p_middle||'USER_DIM9_ID'||p_right,
276 '', the_rownum, g_ud9_req);
277 the_rownum := build_dimension_row(p_left||'USER_DIM10_ID'||
278 p_middle||'USER_DIM10_ID'||p_right,
279 '', the_rownum, g_ud10_req);
280
281 RETURN the_rownum;
282 END Build_Join_List;
283
284
285 --
286 -- Public Procedures
287 --
288
289 FUNCTION Build_Fem_Comma_List(p_prefix VARCHAR2,
290 p_suffix VARCHAR2,
291 p_default_text VARCHAR2,
292 p_first_rownum NUMBER,
293 p_value_req VARCHAR2) RETURN NUMBER IS
294 the_rownum NUMBER := p_first_rownum;
295 default_val NUMBER;
296 BEGIN
297 -- Go through each of the optional dimensions, and fill out accordingly
298
299 IF (p_value_req = 'Y' AND g_felm_req = 'N') THEN
300 default_val := GCS_UTILITY_PKG.get_default_value('FINANCIAL_ELEM_ID');
301 the_rownum := build_fem_dimension_row( to_char(default_val), p_default_text, the_rownum, g_felm_fem_req);
302 ELSE
303 the_rownum := build_dimension_row(p_prefix||'FINANCIAL_ELEM_ID,'||p_suffix,p_default_text, the_rownum, g_felm_fem_req);
304 END IF;
305
306 IF (p_value_req = 'Y' AND g_prd_req = 'N') THEN
307 default_val := GCS_UTILITY_PKG.get_default_value('PRODUCT_ID');
308 the_rownum := build_fem_dimension_row( to_char(default_val), p_default_text, the_rownum, g_prd_fem_req);
309 ELSE
310 the_rownum := build_dimension_row(p_prefix||'PRODUCT_ID,'||p_suffix,p_default_text, the_rownum, g_prd_fem_req);
311 END IF;
312
313 IF (p_value_req = 'Y' AND g_na_req = 'N') THEN
314 default_val := GCS_UTILITY_PKG.get_default_value('NATURAL_ACCOUNT_ID');
315 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_na_fem_req);
316 ELSE
317 the_rownum := build_dimension_row(p_prefix||'NATURAL_ACCOUNT_ID,'||p_suffix,p_default_text, the_rownum, g_na_fem_req);
318 END IF;
319
320
321 IF (p_value_req = 'Y' AND g_chl_req = 'N') THEN
322 default_val := GCS_UTILITY_PKG.get_default_value('CHANNEL_ID');
323 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_chl_fem_req);
324 ELSE
325 the_rownum := build_dimension_row(p_prefix||'CHANNEL_ID,'||p_suffix,
326 p_default_text, the_rownum, g_chl_fem_req);
327 END IF;
328
329 IF (p_value_req = 'Y' AND g_prj_req = 'N') THEN
330 default_val := GCS_UTILITY_PKG.get_default_value('PROJECT_ID');
331 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_prj_fem_req);
332 ELSE
333 the_rownum := build_dimension_row(p_prefix||'PROJECT_ID,'||p_suffix,
334 p_default_text, the_rownum, g_prj_fem_req);
335 END IF;
336
337 IF (p_value_req = 'Y' AND g_cst_req = 'N') THEN
338 default_val := GCS_UTILITY_PKG.get_default_value('CUSTOMER_ID');
339 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_cst_fem_req);
340 ELSE
341 the_rownum := build_dimension_row(p_prefix||'CUSTOMER_ID,'||p_suffix,
342 p_default_text, the_rownum,g_cst_fem_req);
343 END IF;
344
345 IF (p_value_req = 'Y' AND g_tsk_req = 'N') THEN
346 default_val := GCS_UTILITY_PKG.get_default_value('TASK_ID');
347 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_tsk_fem_req);
348 ELSE
349 the_rownum := build_dimension_row(p_prefix||'TASK_ID,'||p_suffix,
350 p_default_text, the_rownum, g_tsk_fem_req);
351 END IF;
352
353 IF (p_value_req = 'Y' AND g_ud1_req = 'N') THEN
354 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM1_ID');
355 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud1_fem_req);
356 ELSE
357 the_rownum := build_dimension_row(p_prefix||'USER_DIM1_ID,'||p_suffix,
358 p_default_text, the_rownum, g_ud1_fem_req);
359 END IF;
360
361 IF (p_value_req = 'Y' AND g_ud2_req = 'N') THEN
362 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM2_ID');
363 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud2_fem_req);
364 ELSE
365 the_rownum := build_dimension_row(p_prefix||'USER_DIM2_ID,'||p_suffix,
366 p_default_text, the_rownum, g_ud2_fem_req);
367 END IF;
368
369 IF (p_value_req = 'Y' AND g_ud3_req = 'N') THEN
370 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM3_ID');
371 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud3_fem_req);
372 ELSE
373 the_rownum := build_dimension_row(p_prefix||'USER_DIM3_ID,'||p_suffix,
374 p_default_text, the_rownum, g_ud3_fem_req);
375 END IF;
376
377 IF (p_value_req = 'Y' AND g_ud4_req = 'N') THEN
378 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM4_ID');
379 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud4_fem_req);
380 ELSE
381 the_rownum := build_dimension_row(p_prefix||'USER_DIM4_ID,'||p_suffix,
382 p_default_text, the_rownum, g_ud4_fem_req);
383 END IF;
384
385 IF (p_value_req = 'Y' AND g_ud5_req = 'N') THEN
386 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM5_ID');
387 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud5_fem_req);
388 ELSE
389 the_rownum := build_dimension_row(p_prefix||'USER_DIM5_ID,'||p_suffix,
390 p_default_text, the_rownum, g_ud5_fem_req);
391 END IF;
392
393 IF (p_value_req = 'Y' AND g_ud6_req = 'N') THEN
394 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM6_ID');
395 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud6_fem_req);
396 ELSE
397 the_rownum := build_dimension_row(p_prefix||'USER_DIM6_ID,'||p_suffix,
398 p_default_text, the_rownum, g_ud6_fem_req);
399 END IF;
400
401 IF (p_value_req = 'Y' AND g_ud7_req = 'N') THEN
402 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM7_ID');
403 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud7_fem_req);
404 ELSE
405 the_rownum := build_dimension_row(p_prefix||'USER_DIM7_ID,'||p_suffix,
406 p_default_text, the_rownum, g_ud7_fem_req);
407 END IF;
408
409 IF (p_value_req = 'Y' AND g_ud8_req = 'N') THEN
410 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM8_ID');
411 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud8_fem_req);
412 ELSE
413 the_rownum := build_dimension_row(p_prefix||'USER_DIM8_ID,'||p_suffix,
414 p_default_text, the_rownum, g_ud8_fem_req);
415 END IF;
416
417 IF (p_value_req = 'Y' AND g_ud9_req = 'N') THEN
418 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM9_ID');
419 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud9_fem_req);
420 ELSE
421 the_rownum := build_dimension_row(p_prefix||'USER_DIM9_ID,'||p_suffix,
422 p_default_text, the_rownum, g_ud9_fem_req);
423 END IF;
424
425 IF (p_value_req = 'Y' AND g_ud10_req = 'N') THEN
426 default_val := GCS_UTILITY_PKG.get_default_value('USER_DIM10_ID');
427 the_rownum := build_fem_dimension_row(to_char(default_val), p_default_text, the_rownum, g_ud10_fem_req);
428 ELSE
429 the_rownum := build_dimension_row(p_prefix||'USER_DIM10_ID,'||p_suffix,
430 p_default_text, the_rownum, g_ud10_fem_req);
431 END IF;
432
433 RETURN the_rownum;
434 END Build_Fem_Comma_List;
435
436 --
437 -- Public Procedures
438 --
439
440 FUNCTION Build_interco_Comma_List(p_pre_prefix VARCHAR2,
441 p_prefix VARCHAR2,
442 P_post_prefix VARCHAR2,
443 p_pre_suffix VARCHAR2,
444 p_suffix VARCHAR2,
445 p_post_suffix VARCHAR2,
446 p_default_text VARCHAR2,
447 p_first_rownum NUMBER) RETURN NUMBER IS
448 the_rownum NUMBER := p_first_rownum;
449 BEGIN
450 -- Go through each of the optional dimensions, and fill out accordingly
451 /* the_rownum := build_dimension_row(p_prefix||'FINANCIAL_ELEM_ID,'
452 ||p_post_prefix||'''FINANCIAL_ELEM_ID'','
453 ||p_pre_suffix||'FINANCIAL_ELEM_ID'||p_suffix
454 ||p_post_suffix, p_default_text, the_rownum, g_felm_req); */
455 the_rownum := build_dimension_row(
456 p_pre_prefix||'FINANCIAL_ELEM_ID,'||p_post_suffix,
457 p_default_text, the_rownum, g_felm_req);
458 the_rownum := build_dimension_row(
459 p_pre_prefix||'PRODUCT_ID,'||p_post_suffix,
460 p_default_text, the_rownum, g_prd_req);
461 the_rownum := build_dimension_row(
462 p_pre_prefix||'NATURAL_ACCOUNT_ID,'||p_post_suffix,
463 p_default_text, the_rownum, g_na_req);
464 the_rownum := build_dimension_row(
465 p_pre_prefix||'CHANNEL_ID,'||p_post_suffix,
466 p_default_text, the_rownum, g_chl_req);
467 the_rownum := build_dimension_row(
468 p_pre_prefix||'PROJECT_ID,'||p_post_suffix,
469 p_default_text, the_rownum, g_prj_req);
470 the_rownum := build_dimension_row(
471 p_pre_prefix||'CUSTOMER_ID,'||p_post_suffix,
472 p_default_text, the_rownum,g_cst_req);
473 the_rownum := build_dimension_row(p_pre_prefix||'TASK_ID,'||p_post_suffix,
474 p_default_text, the_rownum, g_tsk_req);
475 the_rownum := build_dimension_row(p_prefix||'USER_DIM1_ID,'
476 ||p_post_prefix||'''USER_DIM1_ID'','
477 ||p_pre_suffix||'USER_DIM1_ID'||p_suffix
478 ||p_post_suffix, p_default_text, the_rownum, g_ud1_req);
479
480 the_rownum := build_dimension_row(p_prefix||'USER_DIM2_ID,'
481 ||p_post_prefix||'''USER_DIM2_ID'','
482 ||p_pre_suffix||'USER_DIM2_ID'||p_suffix
483 ||p_post_suffix, p_default_text, the_rownum, g_ud2_req);
484
485 the_rownum := build_dimension_row(p_prefix||'USER_DIM3_ID,'
486 ||p_post_prefix||'''USER_DIM3_ID'','
487 ||p_pre_suffix||'USER_DIM3_ID'||p_suffix
488 ||p_post_suffix, p_default_text,the_rownum, g_ud3_req);
489
490 the_rownum := build_dimension_row(p_prefix||'USER_DIM4_ID,'
491 ||p_post_prefix||'''USER_DIM4_ID'','
492 ||p_pre_suffix||'USER_DIM4_ID'||p_suffix
493 ||p_post_suffix,p_default_text, the_rownum, g_ud4_req);
494
495 the_rownum := build_dimension_row(p_prefix||'USER_DIM5_ID,'
496 ||p_post_prefix||'''USER_DIM5_ID'','
497 ||p_pre_suffix||'USER_DIM5_ID'||p_suffix
498 ||p_post_suffix,p_default_text, the_rownum, g_ud5_req);
499
500 the_rownum := build_dimension_row(p_prefix||'USER_DIM6_ID,'
501 ||p_post_prefix||'''USER_DIM6_ID'','
502 ||p_pre_suffix||'USER_DIM6_ID'||p_suffix
503 ||p_post_suffix,p_default_text, the_rownum, g_ud6_req);
504
505 the_rownum := build_dimension_row(p_prefix||'USER_DIM7_ID,'
506 ||p_post_prefix||'''USER_DIM7_ID'','
507 ||p_pre_suffix||'USER_DIM7_ID'||p_suffix
508 ||p_post_suffix,p_default_text, the_rownum, g_ud7_req);
509
510 the_rownum := build_dimension_row(p_prefix||'USER_DIM8_ID,'
511 ||p_post_prefix||'''USER_DIM8_ID'','
512 ||p_pre_suffix||'USER_DIM8_ID'||p_suffix
513 ||p_post_suffix,p_default_text, the_rownum, g_ud8_req);
514
515 the_rownum := build_dimension_row(p_prefix||'USER_DIM9_ID,'
516 ||p_post_prefix||'''USER_DIM9_ID'','
517 ||p_pre_suffix||'USER_DIM9_ID'||p_suffix
518 ||p_post_suffix,p_default_text, the_rownum, g_ud9_req);
519
520 the_rownum := build_dimension_row(p_prefix||'USER_DIM10_ID,'
521 ||p_post_prefix||'''USER_DIM10_ID'','
522 ||p_pre_suffix||'USER_DIM10_ID'||p_suffix
523 ||p_post_suffix,p_default_text,the_rownum, g_ud10_req);
524
525 RETURN the_rownum;
526 END Build_Interco_Comma_List;
527
528
529 FUNCTION index_col_list ( collist OUT NOCOPY VARCHAR2) RETURN VARCHAR2 IS
530 BEGIN
531
532 IF g_felm_req = 'Y' THEN
533 collist := 'FINANCIAL_ELEM_ID, ';
534 END IF;
535 IF g_prd_req = 'Y' THEN
536 collist := collist || 'PRODUCT_ID, ';
537 END IF;
538 IF g_na_req = 'Y' THEN
539 collist := collist || 'NATURAL_ACCOUNT_ID, ';
540 END IF;
541 IF g_chl_req = 'Y' THEN
542 collist := collist || 'CHANNEL_ID, ';
543 END IF;
544 IF g_prj_req = 'Y' THEN
545 collist := collist || 'PROJECT_ID, ';
546 END IF;
547 IF g_cst_req = 'Y' THEN
548 collist := collist || 'CUSTOMER_ID, ';
549 END IF;
550 IF g_tsk_req = 'Y' THEN
551 collist := collist || 'TASK_ID, ';
552 END IF;
553 IF g_ud1_req = 'Y' THEN
554 collist := collist || 'USER_DIM1_ID, ';
555 END IF;
556 IF g_ud2_req = 'Y' THEN
557 collist := collist || 'USER_DIM2_ID, ';
558 END IF;
559 IF g_ud3_req = 'Y' THEN
560 collist := collist || 'USER_DIM3_ID, ';
561 END IF;
562 IF g_ud4_req = 'Y' THEN
563 collist := collist || 'USER_DIM4_ID, ';
564 END IF;
565 IF g_ud5_req = 'Y' THEN
566 collist := collist || 'USER_DIM5_ID, ';
567 END IF;
568 IF g_ud6_req = 'Y' THEN
569 collist := collist || 'USER_DIM6_ID, ';
570 END IF;
571 IF g_ud7_req = 'Y' THEN
572 collist := collist || 'USER_DIM7_ID, ';
573 END IF;
574 IF g_ud8_req = 'Y' THEN
575 collist := collist || 'USER_DIM8_ID, ';
576 END IF;
577 IF g_ud9_req = 'Y' THEN
578 collist := collist || 'USER_DIM9_ID, ';
579 END IF;
580 IF g_ud10_req = 'Y' THEN
581 collist := collist || 'USER_DIM10_ID, ';
582 END IF;
583
584 RETURN collist;
585 END index_col_list;
586
587
588 BEGIN
589
590 init_dyn_pkg_info();
591
592 EXCEPTION
593 WHEN GCS_CCY_APPLSYS_NOT_FOUND THEN
594 FND_MESSAGE.SET_NAME('GCS', 'GCS_APPLSYS_NOT_FOUND');
595 IF FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED THEN
596 FND_LOG.message(FND_LOG.LEVEL_UNEXPECTED, 'GCS_DYNAMIC_UTIL_PKG');
597 END IF;
598 WHEN OTHERS THEN
599 FND_MESSAGE.set_name('GCS', 'GCS_DYNAMIC_UTIL_PKG_ERR');
600 IF FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED THEN
601 FND_LOG.message(FND_LOG.LEVEL_UNEXPECTED, 'GCS_DYNAMIC_UTIL_PKG');
602 END IF;
603 END GCS_DYNAMIC_UTIL_PKG;