28: -- this is needed userenv('LANG') does not always
29: -- contain the language of the users report/page session
30: -- so we would return values for the wrong language!
31:
32: l_session_id := isc_fs_rpt_util_pkg.get_parameter_value
33: ( p_param
34: , 'BIS_ICX_SESSION_ID'
35: );
36: open c_session_lang;
95: end if;
96:
97: return
98: case
99: when p_view_by in ( isc_fs_rpt_util_pkg.G_PRODUCT
100: , isc_fs_rpt_util_pkg.G_CUSTOMER
101: , isc_fs_rpt_util_pkg.G_TASK_TYPE
102: -- R12 resource type
103: , isc_fs_rpt_util_pkg.G_DISTRICT ) then
96:
97: return
98: case
99: when p_view_by in ( isc_fs_rpt_util_pkg.G_PRODUCT
100: , isc_fs_rpt_util_pkg.G_CUSTOMER
101: , isc_fs_rpt_util_pkg.G_TASK_TYPE
102: -- R12 resource type
103: , isc_fs_rpt_util_pkg.G_DISTRICT ) then
104: isc_fs_rpt_util_pkg.get_detail_drill_down
97: return
98: case
99: when p_view_by in ( isc_fs_rpt_util_pkg.G_PRODUCT
100: , isc_fs_rpt_util_pkg.G_CUSTOMER
101: , isc_fs_rpt_util_pkg.G_TASK_TYPE
102: -- R12 resource type
103: , isc_fs_rpt_util_pkg.G_DISTRICT ) then
104: isc_fs_rpt_util_pkg.get_detail_drill_down
105: ( p_view_by => p_view_by
99: when p_view_by in ( isc_fs_rpt_util_pkg.G_PRODUCT
100: , isc_fs_rpt_util_pkg.G_CUSTOMER
101: , isc_fs_rpt_util_pkg.G_TASK_TYPE
102: -- R12 resource type
103: , isc_fs_rpt_util_pkg.G_DISTRICT ) then
104: isc_fs_rpt_util_pkg.get_detail_drill_down
105: ( p_view_by => p_view_by
106: , p_function_name => g_detail_rep_func
107: , p_check_column_name => p_measure_col
100: , isc_fs_rpt_util_pkg.G_CUSTOMER
101: , isc_fs_rpt_util_pkg.G_TASK_TYPE
102: -- R12 resource type
103: , isc_fs_rpt_util_pkg.G_DISTRICT ) then
104: isc_fs_rpt_util_pkg.get_detail_drill_down
105: ( p_view_by => p_view_by
106: , p_function_name => g_detail_rep_func
107: , p_check_column_name => p_measure_col
108: , p_extra_params => '&ISC_PARAMETER_1=' || l_column_name || '&ISC_ATTRIBUTE_9=' || l_column_label
130: l_district_leaf_node varchar2(1);
131:
132: begin
133:
134: if nvl(isc_fs_rpt_util_pkg.get_parameter_value
135: ( p_param
136: , isc_fs_rpt_util_pkg.G_CATEGORY
137: ),'All') = 'All' then
138: l_top_node := 'Y';
132: begin
133:
134: if nvl(isc_fs_rpt_util_pkg.get_parameter_value
135: ( p_param
136: , isc_fs_rpt_util_pkg.G_CATEGORY
137: ),'All') = 'All' then
138: l_top_node := 'Y';
139: else
140: l_top_node := 'N';
141: end if;
142:
143: if p_report_type = 'TASK_ACTIVITY' then
144:
145: l_district_leaf_node := isc_fs_rpt_util_pkg.is_district_leaf_node
146: ( p_param );
147:
148: isc_fs_rpt_util_pkg.bind_group_id
149: ( p_dim_bmap
144:
145: l_district_leaf_node := isc_fs_rpt_util_pkg.is_district_leaf_node
146: ( p_param );
147:
148: isc_fs_rpt_util_pkg.bind_group_id
149: ( p_dim_bmap
150: , p_custom_output
151: , isc_fs_rpt_util_pkg.G_CATEGORY
152: , isc_fs_rpt_util_pkg.G_PRODUCT
147:
148: isc_fs_rpt_util_pkg.bind_group_id
149: ( p_dim_bmap
150: , p_custom_output
151: , isc_fs_rpt_util_pkg.G_CATEGORY
152: , isc_fs_rpt_util_pkg.G_PRODUCT
153: , isc_fs_rpt_util_pkg.G_CUSTOMER
154: );
155:
148: isc_fs_rpt_util_pkg.bind_group_id
149: ( p_dim_bmap
150: , p_custom_output
151: , isc_fs_rpt_util_pkg.G_CATEGORY
152: , isc_fs_rpt_util_pkg.G_PRODUCT
153: , isc_fs_rpt_util_pkg.G_CUSTOMER
154: );
155:
156: if bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
149: ( p_dim_bmap
150: , p_custom_output
151: , isc_fs_rpt_util_pkg.G_CATEGORY
152: , isc_fs_rpt_util_pkg.G_PRODUCT
153: , isc_fs_rpt_util_pkg.G_CUSTOMER
154: );
155:
156: if bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
157:
152: , isc_fs_rpt_util_pkg.G_PRODUCT
153: , isc_fs_rpt_util_pkg.G_CUSTOMER
154: );
155:
156: if bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
157:
158: return '(
159: select
160: v.top_node_flag vbh_top_node_flag
200: when l_top_node = 'Y' then '
201: and v.top_node_flag = ''Y''' end || '
202: )';
203:
204: elsif bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_PRODUCT_BMAP) = isc_fs_rpt_util_pkg.G_PRODUCT_BMAP or
205: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP) = isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP or
206: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP) = isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP then
207:
208: return '(
201: and v.top_node_flag = ''Y''' end || '
202: )';
203:
204: elsif bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_PRODUCT_BMAP) = isc_fs_rpt_util_pkg.G_PRODUCT_BMAP or
205: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP) = isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP or
206: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP) = isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP then
207:
208: return '(
209: select
202: )';
203:
204: elsif bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_PRODUCT_BMAP) = isc_fs_rpt_util_pkg.G_PRODUCT_BMAP or
205: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP) = isc_fs_rpt_util_pkg.G_CUSTOMER_BMAP or
206: bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP) = isc_fs_rpt_util_pkg.G_TASK_TYPE_BMAP then
207:
208: return '(
209: select
210: f.time_id
259: end if;
260:
261: elsif p_report_type = 'TASK_ACTIVITY_DETAIL' then
262:
263: if isc_fs_rpt_util_pkg.get_parameter_id
264: ( p_param
265: , isc_fs_rpt_util_pkg.G_DISTRICT
266: ) like '%.%' then
267: l_resource := 'Y';
261: elsif p_report_type = 'TASK_ACTIVITY_DETAIL' then
262:
263: if isc_fs_rpt_util_pkg.get_parameter_id
264: ( p_param
265: , isc_fs_rpt_util_pkg.G_DISTRICT
266: ) like '%.%' then
267: l_resource := 'Y';
268: else
269: l_resource := 'N';
296: , t.source_object_id
297: , t.customer_id
298: , nvl(s.master_id,s.id) product_id ' ||
299: case
300: when bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
301: '
302: , v.top_node_flag vbh_top_node_flag
303: , v.parent_id vbh_parent_category_id
304: , v.imm_child_id vbh_child_category_id'
307: isc_fs_tasks_f t
308: , isc_fs_task_activity_f a
309: , eni_oltp_item_star s' ||
310: case
311: when bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
312: '
313: , eni_denorm_hierarchies v
314: , mtl_default_category_sets m'
315: end ||
324: and t.deleted_flag = ''N''
325: and t.inventory_item_id = s.inventory_item_id
326: and t.inv_organization_id = s.organization_id' ||
327: case
328: when bitand(p_dim_bmap,isc_fs_rpt_util_pkg.G_CATEGORY_BMAP) = isc_fs_rpt_util_pkg.G_CATEGORY_BMAP then
329: '
330: and m.functional_area_id = 11
331: and v.object_id = m.category_set_id
332: and v.dbi_flag = ''Y''
353: , x_custom_output out nocopy bis_query_attributes_tbl
354: )
355: is
356:
357: l_dimension_tbl isc_fs_rpt_util_pkg.t_dimension_tbl;
358: l_dim_filter_map poa_dbi_util_pkg.poa_dbi_dim_map;
359: l_custom_output bis_query_attributes_tbl;
360: l_curr_suffix varchar2(3);
361: l_where_clause varchar2(10000);
372: l_to_date_type varchar2(200);
373:
374: begin
375:
376: isc_fs_rpt_util_pkg.register_dimension_levels
377: ( l_dimension_tbl
378: , l_dim_filter_map
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
375:
376: isc_fs_rpt_util_pkg.register_dimension_levels
377: ( l_dimension_tbl
378: , l_dim_filter_map
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
381: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
376: isc_fs_rpt_util_pkg.register_dimension_levels
377: ( l_dimension_tbl
378: , l_dim_filter_map
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
381: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
384: );
377: ( l_dimension_tbl
378: , l_dim_filter_map
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
381: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
384: );
385:
378: , l_dim_filter_map
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
381: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
384: );
385:
386: isc_fs_rpt_util_pkg.process_parameters
379: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
380: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
381: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
384: );
385:
386: isc_fs_rpt_util_pkg.process_parameters
387: ( p_param => p_param
382: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
383: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
384: );
385:
386: isc_fs_rpt_util_pkg.process_parameters
387: ( p_param => p_param
388: , p_dimension_tbl => l_dimension_tbl
389: , p_dim_filter_map => l_dim_filter_map
390: , p_trend => 'N'
403: else
404: l_to_date_type := 'RLX';
405: end if;
406:
407: l_view_by := isc_fs_rpt_util_pkg.get_parameter_value
408: ( p_param
409: , 'VIEW_BY'
410: );
411:
408: ( p_param
409: , 'VIEW_BY'
410: );
411:
412: if l_view_by = isc_fs_rpt_util_pkg.G_PRODUCT then
413: l_product := 'v4.description ISC_ATTRIBUTE_1';
414: else
415: l_product := 'null ISC_ATTRIBUTE_1';
416: end if;
478: , ISC_MEASURE_29
479: , ISC_MEASURE_30
480: , ISC_MEASURE_31
481: , ' || l_product || '
482: , ' || isc_fs_rpt_util_pkg.get_district_drill_down
483: ( l_view_by
484: , g_task_rep_func
485: , 'ISC_ATTRIBUTE_2' ) || '
486: , ' || isc_fs_rpt_util_pkg.get_category_drill_down
482: , ' || isc_fs_rpt_util_pkg.get_district_drill_down
483: ( l_view_by
484: , g_task_rep_func
485: , 'ISC_ATTRIBUTE_2' ) || '
486: , ' || isc_fs_rpt_util_pkg.get_category_drill_down
487: ( l_view_by
488: , g_task_rep_func
489: , 'ISC_ATTRIBUTE_3' ) || '
490: , ' || get_detail_drill( l_view_by, 1, 'ISC_MEASURE_1', 'ISC_ATTRIBUTE_4' ) || '
491: , ' || get_detail_drill( l_view_by, 2, 'ISC_MEASURE_2', 'ISC_ATTRIBUTE_5' ) || '
492: , ' || get_detail_drill( l_view_by, 3, 'ISC_MEASURE_7', 'ISC_ATTRIBUTE_6' ) || '
493: from (
494: select
495: row_number() over(&ORDER_BY_CLAUSE nulls last, '|| isc_fs_rpt_util_pkg.get_inner_select_col(l_join_tbl) || ')-1 rnk
496: , iset.*
497: from ( select * from (
498: select ' || isc_fs_rpt_util_pkg.get_inner_select_col(l_join_tbl) || '
499: , nvl(c_first_opened,0) ISC_MEASURE_1
494: select
495: row_number() over(&ORDER_BY_CLAUSE nulls last, '|| isc_fs_rpt_util_pkg.get_inner_select_col(l_join_tbl) || ')-1 rnk
496: , iset.*
497: from ( select * from (
498: select ' || isc_fs_rpt_util_pkg.get_inner_select_col(l_join_tbl) || '
499: , nvl(c_first_opened,0) ISC_MEASURE_1
500: , nvl(c_reopened,0) ISC_MEASURE_2
501: , nvl(p_opened,0) ISC_MEASURE_3
502: , nvl(c_opened,0) ISC_MEASURE_4' || '
499: , nvl(c_first_opened,0) ISC_MEASURE_1
500: , nvl(c_reopened,0) ISC_MEASURE_2
501: , nvl(p_opened,0) ISC_MEASURE_3
502: , nvl(c_opened,0) ISC_MEASURE_4' || '
503: , ' || isc_fs_rpt_util_pkg.change_column
504: ( 'c_opened'
505: , 'p_opened'
506: , 'ISC_MEASURE_5' ) || '
507: , nvl(p_closed,0) ISC_MEASURE_6
505: , 'p_opened'
506: , 'ISC_MEASURE_5' ) || '
507: , nvl(p_closed,0) ISC_MEASURE_6
508: , nvl(c_closed,0) ISC_MEASURE_7' || '
509: , ' || isc_fs_rpt_util_pkg.change_column
510: ( 'c_closed'
511: , 'p_closed'
512: , 'ISC_MEASURE_8' ) || '
513: , ' || isc_fs_rpt_util_pkg.rate_column
509: , ' || isc_fs_rpt_util_pkg.change_column
510: ( 'c_closed'
511: , 'p_closed'
512: , 'ISC_MEASURE_8' ) || '
513: , ' || isc_fs_rpt_util_pkg.rate_column
514: ( 'p_opened'
515: , 'p_closed'
516: , 'ISC_MEASURE_9'
517: , 'N' ) || '
514: ( 'p_opened'
515: , 'p_closed'
516: , 'ISC_MEASURE_9'
517: , 'N' ) || '
518: , ' || isc_fs_rpt_util_pkg.rate_column
519: ( 'c_opened'
520: , 'c_closed'
521: , 'ISC_MEASURE_10'
522: , 'N' ) || '
519: ( 'c_opened'
520: , 'c_closed'
521: , 'ISC_MEASURE_10'
522: , 'N' ) || '
523: , ' || isc_fs_rpt_util_pkg.change_column
524: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened'
525: , 'c_closed'
526: , null
527: , 'N' )
520: , 'c_closed'
521: , 'ISC_MEASURE_10'
522: , 'N' ) || '
523: , ' || isc_fs_rpt_util_pkg.change_column
524: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened'
525: , 'c_closed'
526: , null
527: , 'N' )
528: , isc_fs_rpt_util_pkg.rate_column( 'p_opened'
524: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened'
525: , 'c_closed'
526: , null
527: , 'N' )
528: , isc_fs_rpt_util_pkg.rate_column( 'p_opened'
529: , 'p_closed'
530: , null
531: , 'N' )
532: , 'ISC_MEASURE_11'
534: , nvl(c_first_opened_total,0) ISC_MEASURE_21
535: , nvl(c_reopened_total,0) ISC_MEASURE_22
536: , nvl(p_opened_total,0) ISC_MEASURE_23
537: , nvl(c_opened_total,0) ISC_MEASURE_24' || '
538: , ' || isc_fs_rpt_util_pkg.change_column
539: ( 'c_opened_total'
540: , 'p_opened_total'
541: , 'ISC_MEASURE_25' ) || '
542: , nvl(p_closed_total,0) ISC_MEASURE_26
540: , 'p_opened_total'
541: , 'ISC_MEASURE_25' ) || '
542: , nvl(p_closed_total,0) ISC_MEASURE_26
543: , nvl(c_closed_total,0) ISC_MEASURE_27' || '
544: , ' || isc_fs_rpt_util_pkg.change_column
545: ( 'c_closed_total'
546: , 'p_closed_total'
547: , 'ISC_MEASURE_28' ) || '
548: , ' || isc_fs_rpt_util_pkg.rate_column
544: , ' || isc_fs_rpt_util_pkg.change_column
545: ( 'c_closed_total'
546: , 'p_closed_total'
547: , 'ISC_MEASURE_28' ) || '
548: , ' || isc_fs_rpt_util_pkg.rate_column
549: ( 'p_opened_total'
550: , 'p_closed_total'
551: , 'ISC_MEASURE_29'
552: , 'N') || '
549: ( 'p_opened_total'
550: , 'p_closed_total'
551: , 'ISC_MEASURE_29'
552: , 'N') || '
553: , ' || isc_fs_rpt_util_pkg.rate_column
554: ( 'c_opened_total'
555: , 'c_closed_total'
556: , 'ISC_MEASURE_30'
557: , 'N') || '
554: ( 'c_opened_total'
555: , 'c_closed_total'
556: , 'ISC_MEASURE_30'
557: , 'N') || '
558: , ' || isc_fs_rpt_util_pkg.change_column
559: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened_total'
560: , 'c_closed_total'
561: , null
562: , 'N' )
555: , 'c_closed_total'
556: , 'ISC_MEASURE_30'
557: , 'N') || '
558: , ' || isc_fs_rpt_util_pkg.change_column
559: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened_total'
560: , 'c_closed_total'
561: , null
562: , 'N' )
563: , isc_fs_rpt_util_pkg.rate_column( 'p_opened_total'
559: ( isc_fs_rpt_util_pkg.rate_column( 'c_opened_total'
560: , 'c_closed_total'
561: , null
562: , 'N' )
563: , isc_fs_rpt_util_pkg.rate_column( 'p_opened_total'
564: , 'p_closed_total'
565: , null
566: , 'N' )
567: , 'ISC_MEASURE_31'
577: , p_filter_where => '1=1) iset ' --null
578: , p_generate_viewby => 'Y'
579: );
580:
581: isc_fs_rpt_util_pkg.enhance_time_join
582: ( l_stmt
583: , 'N'
584: );
585:
583: , 'N'
584: );
585:
586: -- the next line can be used to dump the contents of the PMV parameters as comments into stmt
587: -- l_stmt := l_stmt || isc_fs_rpt_util_pkg.dump_parameters(p_param);
588:
589: poa_dbi_util_pkg.get_custom_rolling_binds
590: ( p_custom_output => l_custom_output
591: , p_xtd => l_xtd
605: , x_custom_output out nocopy bis_query_attributes_tbl
606: )
607: is
608:
609: l_dimension_tbl isc_fs_rpt_util_pkg.t_dimension_tbl;
610: l_dim_filter_map poa_dbi_util_pkg.poa_dbi_dim_map;
611: l_custom_output bis_query_attributes_tbl;
612: l_curr_suffix varchar2(3);
613: l_where_clause varchar2(10000);
622: l_to_date_type varchar2(200);
623:
624: begin
625:
626: isc_fs_rpt_util_pkg.register_dimension_levels
627: ( l_dimension_tbl
628: , l_dim_filter_map
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
625:
626: isc_fs_rpt_util_pkg.register_dimension_levels
627: ( l_dimension_tbl
628: , l_dim_filter_map
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
631: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
626: isc_fs_rpt_util_pkg.register_dimension_levels
627: ( l_dimension_tbl
628: , l_dim_filter_map
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
631: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
634: );
627: ( l_dimension_tbl
628: , l_dim_filter_map
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
631: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
634: );
635:
628: , l_dim_filter_map
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
631: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
634: );
635:
636: isc_fs_rpt_util_pkg.process_parameters
629: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
630: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
631: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
634: );
635:
636: isc_fs_rpt_util_pkg.process_parameters
637: ( p_param => p_param
632: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
633: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
634: );
635:
636: isc_fs_rpt_util_pkg.process_parameters
637: ( p_param => p_param
638: , p_dimension_tbl => l_dimension_tbl
639: , p_dim_filter_map => l_dim_filter_map
640: , p_trend => 'Y'
676: cal.name VIEWBY
677: , nvl(iset.p_closed,0) ISC_MEASURE_1
678: , nvl(iset.c_closed,0) ISC_MEASURE_2' || '
679: , ' ||
680: isc_fs_rpt_util_pkg.change_column
681: ( 'iset.c_closed'
682: , 'iset.p_closed'
683: , 'ISC_MEASURE_3' ) ||
684: isc_fs_rpt_util_pkg.get_trend_drill
680: isc_fs_rpt_util_pkg.change_column
681: ( 'iset.c_closed'
682: , 'iset.p_closed'
683: , 'ISC_MEASURE_3' ) ||
684: isc_fs_rpt_util_pkg.get_trend_drill
685: ( l_xtd
686: , g_trd_rep_func
687: , 'ISC_ATTRIBUTE_1'
688: , 'ISC_ATTRIBUTE_2'
696: , p_col_name => l_col_tbl
697: , p_use_grpid => 'N'
698: );
699:
700: isc_fs_rpt_util_pkg.enhance_time_join
701: ( l_stmt
702: , 'Y'
703: );
704:
702: , 'Y'
703: );
704:
705: -- the next line can be used to dump the contents of the PMV parameters as comments into stmt
706: -- l_stmt := l_stmt || isc_fs_rpt_util_pkg.dump_parameters(p_param);
707:
708: x_custom_sql := l_stmt;
709:
710: poa_dbi_util_pkg.get_custom_rolling_binds
737: , x_custom_output out nocopy bis_query_attributes_tbl
738: )
739: as
740:
741: l_dimension_tbl isc_fs_rpt_util_pkg.t_dimension_tbl;
742: l_dim_filter_map poa_dbi_util_pkg.poa_dbi_dim_map;
743: l_custom_output bis_query_attributes_tbl;
744: l_curr_suffix varchar2(3);
745: l_where_clause varchar2(10000);
752: l_cost_element varchar2(200);
753: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
754: l_stmt varchar2(32767);
755: l_rank_order varchar2(200);
756: l_detail_col_tbl isc_fs_rpt_util_pkg.t_detail_column_tbl;
757: l_order_by varchar2(200);
758: l_asc_desc varchar2(100);
759:
760: begin
758: l_asc_desc varchar2(100);
759:
760: begin
761:
762: isc_fs_rpt_util_pkg.register_dimension_levels
763: ( l_dimension_tbl
764: , l_dim_filter_map
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
761:
762: isc_fs_rpt_util_pkg.register_dimension_levels
763: ( l_dimension_tbl
764: , l_dim_filter_map
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
762: isc_fs_rpt_util_pkg.register_dimension_levels
763: ( l_dimension_tbl
764: , l_dim_filter_map
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
763: ( l_dimension_tbl
764: , l_dim_filter_map
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
764: , l_dim_filter_map
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
772: );
765: , isc_fs_rpt_util_pkg.G_CATEGORY, 'Y'
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
772: );
773:
766: , isc_fs_rpt_util_pkg.G_PRODUCT, 'Y'
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
772: );
773:
774: isc_fs_rpt_util_pkg.process_parameters
767: , isc_fs_rpt_util_pkg.G_CUSTOMER, 'Y'
768: , isc_fs_rpt_util_pkg.G_DISTRICT, 'Y'
769: , isc_fs_rpt_util_pkg.G_TASK_TYPE, 'Y'
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
772: );
773:
774: isc_fs_rpt_util_pkg.process_parameters
775: ( p_param => p_param
770: , isc_fs_rpt_util_pkg.G_TASK_OWNER, 'N'
771: , isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE, 'N'
772: );
773:
774: isc_fs_rpt_util_pkg.process_parameters
775: ( p_param => p_param
776: , p_dimension_tbl => l_dimension_tbl
777: , p_dim_filter_map => l_dim_filter_map
778: , p_trend => 'D'
786: , x_xtd => l_xtd
787: );
788:
789: l_where_clause := l_where_clause || ' and 1 = decode(&' ||
790: isc_fs_rpt_util_pkg.G_ACTIVITY_EVENT ||
791: ',''FIRST_OPENED'',fact.first_opened,''REOPENED'',fact.reopened,fact.closed)';
792:
793: l_mv := get_fact_mv_name
794: ( 'TASK_ACTIVITY_DETAIL'
796: , l_dim_bmap
797: , l_custom_output
798: );
799:
800: l_order_by := isc_fs_rpt_util_pkg.get_parameter_value
801: ( p_param
802: , 'ORDERBY'
803: );
804:
821: end ||
822: l_asc_desc ||
823: 'nulls last, task_id';
824:
825: isc_fs_rpt_util_pkg.add_detail_column
826: ( p_detail_col_tbl => l_detail_col_tbl
827: , p_dimension_tbl => l_dimension_tbl
828: , p_fact_col_name => 'task_number'
829: , p_fact_col_total => 'N'
829: , p_fact_col_total => 'N'
830: , p_column_key => 'task_number'
831: );
832:
833: isc_fs_rpt_util_pkg.add_detail_column
834: ( p_detail_col_tbl => l_detail_col_tbl
835: , p_dimension_tbl => l_dimension_tbl
836: , p_fact_col_name => 'task_id'
837: , p_fact_col_total => 'N'
837: , p_fact_col_total => 'N'
838: , p_column_key => 'task_id'
839: );
840:
841: isc_fs_rpt_util_pkg.add_detail_column
842: ( p_detail_col_tbl => l_detail_col_tbl
843: , p_dimension_tbl => l_dimension_tbl
844: , p_fact_col_name => 'report_date'
845: , p_fact_col_total => 'N'
845: , p_fact_col_total => 'N'
846: , p_column_key => 'activity_date'
847: );
848:
849: isc_fs_rpt_util_pkg.add_detail_column
850: ( p_detail_col_tbl => l_detail_col_tbl
851: , p_dimension_tbl => l_dimension_tbl
852: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_TYPE
853: , p_column_key => 'task_type'
848:
849: isc_fs_rpt_util_pkg.add_detail_column
850: ( p_detail_col_tbl => l_detail_col_tbl
851: , p_dimension_tbl => l_dimension_tbl
852: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_TYPE
853: , p_column_key => 'task_type'
854: );
855:
856: isc_fs_rpt_util_pkg.add_detail_column
852: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_TYPE
853: , p_column_key => 'task_type'
854: );
855:
856: isc_fs_rpt_util_pkg.add_detail_column
857: ( p_detail_col_tbl => l_detail_col_tbl
858: , p_dimension_tbl => l_dimension_tbl
859: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_OWNER
860: , p_column_key => 'task_owner'
855:
856: isc_fs_rpt_util_pkg.add_detail_column
857: ( p_detail_col_tbl => l_detail_col_tbl
858: , p_dimension_tbl => l_dimension_tbl
859: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_OWNER
860: , p_column_key => 'task_owner'
861: );
862:
863: isc_fs_rpt_util_pkg.add_detail_column
859: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_OWNER
860: , p_column_key => 'task_owner'
861: );
862:
863: isc_fs_rpt_util_pkg.add_detail_column
864: ( p_detail_col_tbl => l_detail_col_tbl
865: , p_dimension_tbl => l_dimension_tbl
866: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE
867: , p_column_key => 'task_assignee'
862:
863: isc_fs_rpt_util_pkg.add_detail_column
864: ( p_detail_col_tbl => l_detail_col_tbl
865: , p_dimension_tbl => l_dimension_tbl
866: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE
867: , p_column_key => 'task_assignee'
868: );
869:
870: isc_fs_rpt_util_pkg.add_detail_column
866: , p_dimension_level => isc_fs_rpt_util_pkg.G_TASK_ASSIGNEE
867: , p_column_key => 'task_assignee'
868: );
869:
870: isc_fs_rpt_util_pkg.add_detail_column
871: ( p_detail_col_tbl => l_detail_col_tbl
872: , p_dimension_tbl => l_dimension_tbl
873: , p_fact_col_name => 'actual_start_date'
874: , p_fact_col_total => 'N'
874: , p_fact_col_total => 'N'
875: , p_column_key => 'actual_start_date'
876: );
877:
878: isc_fs_rpt_util_pkg.add_detail_column
879: ( p_detail_col_tbl => l_detail_col_tbl
880: , p_dimension_tbl => l_dimension_tbl
881: , p_fact_col_name => 'actual_end_date'
882: , p_fact_col_total => 'N'
882: , p_fact_col_total => 'N'
883: , p_column_key => 'actual_end_date'
884: );
885:
886: isc_fs_rpt_util_pkg.add_detail_column
887: ( p_detail_col_tbl => l_detail_col_tbl
888: , p_dimension_tbl => l_dimension_tbl
889: , p_fact_col_name => 'actual_effort_hrs'
890: , p_fact_col_total => 'N'
890: , p_fact_col_total => 'N'
891: , p_column_key => 'actual_effort_hrs'
892: );
893:
894: isc_fs_rpt_util_pkg.add_detail_column
895: ( p_detail_col_tbl => l_detail_col_tbl
896: , p_dimension_tbl => l_dimension_tbl
897: , p_fact_col_name => 'source_object_name'
898: , p_fact_col_total => 'N'
898: , p_fact_col_total => 'N'
899: , p_column_key => 'source_object_name'
900: );
901:
902: isc_fs_rpt_util_pkg.add_detail_column
903: ( p_detail_col_tbl => l_detail_col_tbl
904: , p_dimension_tbl => l_dimension_tbl
905: , p_fact_col_name => 'source_object_id'
906: , p_fact_col_total => 'N'
906: , p_fact_col_total => 'N'
907: , p_column_key => 'source_object_id'
908: );
909:
910: isc_fs_rpt_util_pkg.add_detail_column
911: ( p_detail_col_tbl => l_detail_col_tbl
912: , p_dimension_tbl => l_dimension_tbl
913: , p_dimension_level => isc_fs_rpt_util_pkg.G_CUSTOMER
914: , p_column_key => 'customer'
909:
910: isc_fs_rpt_util_pkg.add_detail_column
911: ( p_detail_col_tbl => l_detail_col_tbl
912: , p_dimension_tbl => l_dimension_tbl
913: , p_dimension_level => isc_fs_rpt_util_pkg.G_CUSTOMER
914: , p_column_key => 'customer'
915: );
916:
917: isc_fs_rpt_util_pkg.add_detail_column
913: , p_dimension_level => isc_fs_rpt_util_pkg.G_CUSTOMER
914: , p_column_key => 'customer'
915: );
916:
917: isc_fs_rpt_util_pkg.add_detail_column
918: ( p_detail_col_tbl => l_detail_col_tbl
919: , p_dimension_tbl => l_dimension_tbl
920: , p_dimension_level => isc_fs_rpt_util_pkg.G_PRODUCT
921: , p_column_key => 'product'
916:
917: isc_fs_rpt_util_pkg.add_detail_column
918: ( p_detail_col_tbl => l_detail_col_tbl
919: , p_dimension_tbl => l_dimension_tbl
920: , p_dimension_level => isc_fs_rpt_util_pkg.G_PRODUCT
921: , p_column_key => 'product'
922: );
923:
924: l_stmt := 'select
923:
924: l_stmt := 'select
925: oset.task_number ISC_ATTRIBUTE_1
926: , oset.activity_date ISC_MEASURE_1
927: , ' || isc_fs_rpt_util_pkg.get_detail_column
928: (l_detail_col_tbl,'task_type','ISC_ATTRIBUTE_2') || '
929: , ' || isc_fs_rpt_util_pkg.get_detail_column
930: (l_detail_col_tbl,'task_owner','ISC_ATTRIBUTE_3') || '
931: , ' || isc_fs_rpt_util_pkg.get_detail_column
925: oset.task_number ISC_ATTRIBUTE_1
926: , oset.activity_date ISC_MEASURE_1
927: , ' || isc_fs_rpt_util_pkg.get_detail_column
928: (l_detail_col_tbl,'task_type','ISC_ATTRIBUTE_2') || '
929: , ' || isc_fs_rpt_util_pkg.get_detail_column
930: (l_detail_col_tbl,'task_owner','ISC_ATTRIBUTE_3') || '
931: , ' || isc_fs_rpt_util_pkg.get_detail_column
932: (l_detail_col_tbl,'task_assignee','ISC_ATTRIBUTE_4') || '
933: , oset.actual_start_date ISC_MEASURE_2
927: , ' || isc_fs_rpt_util_pkg.get_detail_column
928: (l_detail_col_tbl,'task_type','ISC_ATTRIBUTE_2') || '
929: , ' || isc_fs_rpt_util_pkg.get_detail_column
930: (l_detail_col_tbl,'task_owner','ISC_ATTRIBUTE_3') || '
931: , ' || isc_fs_rpt_util_pkg.get_detail_column
932: (l_detail_col_tbl,'task_assignee','ISC_ATTRIBUTE_4') || '
933: , oset.actual_start_date ISC_MEASURE_2
934: , oset.actual_end_date ISC_MEASURE_3
935: , oset.actual_effort_hrs ISC_MEASURE_4
933: , oset.actual_start_date ISC_MEASURE_2
934: , oset.actual_end_date ISC_MEASURE_3
935: , oset.actual_effort_hrs ISC_MEASURE_4
936: , oset.source_object_name ISC_ATTRIBUTE_5
937: , ' || isc_fs_rpt_util_pkg.get_detail_column
938: (l_detail_col_tbl,'customer','ISC_ATTRIBUTE_6') || '
939: , ' || isc_fs_rpt_util_pkg.get_detail_column
940: (l_detail_col_tbl,'product','ISC_ATTRIBUTE_7') || '
941: , ' || isc_fs_rpt_util_pkg.get_sr_detail_page_function('oset.source_object_id') || ' ISC_ATTRIBUTE_8
935: , oset.actual_effort_hrs ISC_MEASURE_4
936: , oset.source_object_name ISC_ATTRIBUTE_5
937: , ' || isc_fs_rpt_util_pkg.get_detail_column
938: (l_detail_col_tbl,'customer','ISC_ATTRIBUTE_6') || '
939: , ' || isc_fs_rpt_util_pkg.get_detail_column
940: (l_detail_col_tbl,'product','ISC_ATTRIBUTE_7') || '
941: , ' || isc_fs_rpt_util_pkg.get_sr_detail_page_function('oset.source_object_id') || ' ISC_ATTRIBUTE_8
942: , ' || isc_fs_rpt_util_pkg.get_task_detail_page_function('oset.task_id') || ' ISC_ATTRIBUTE_10
943: from
937: , ' || isc_fs_rpt_util_pkg.get_detail_column
938: (l_detail_col_tbl,'customer','ISC_ATTRIBUTE_6') || '
939: , ' || isc_fs_rpt_util_pkg.get_detail_column
940: (l_detail_col_tbl,'product','ISC_ATTRIBUTE_7') || '
941: , ' || isc_fs_rpt_util_pkg.get_sr_detail_page_function('oset.source_object_id') || ' ISC_ATTRIBUTE_8
942: , ' || isc_fs_rpt_util_pkg.get_task_detail_page_function('oset.task_id') || ' ISC_ATTRIBUTE_10
943: from
944: ' || isc_fs_rpt_util_pkg.detail_sql
945: ( p_detail_col_tbl => l_detail_col_tbl
938: (l_detail_col_tbl,'customer','ISC_ATTRIBUTE_6') || '
939: , ' || isc_fs_rpt_util_pkg.get_detail_column
940: (l_detail_col_tbl,'product','ISC_ATTRIBUTE_7') || '
941: , ' || isc_fs_rpt_util_pkg.get_sr_detail_page_function('oset.source_object_id') || ' ISC_ATTRIBUTE_8
942: , ' || isc_fs_rpt_util_pkg.get_task_detail_page_function('oset.task_id') || ' ISC_ATTRIBUTE_10
943: from
944: ' || isc_fs_rpt_util_pkg.detail_sql
945: ( p_detail_col_tbl => l_detail_col_tbl
946: , p_dimension_tbl => l_dimension_tbl
940: (l_detail_col_tbl,'product','ISC_ATTRIBUTE_7') || '
941: , ' || isc_fs_rpt_util_pkg.get_sr_detail_page_function('oset.source_object_id') || ' ISC_ATTRIBUTE_8
942: , ' || isc_fs_rpt_util_pkg.get_task_detail_page_function('oset.task_id') || ' ISC_ATTRIBUTE_10
943: from
944: ' || isc_fs_rpt_util_pkg.detail_sql
945: ( p_detail_col_tbl => l_detail_col_tbl
946: , p_dimension_tbl => l_dimension_tbl
947: , p_mv_name => l_mv
948: , p_where_clause => l_where_clause
949: , p_rank_order => l_rank_order
950: );
951:
952: -- the next line can be used to dump the contents of the PMV parameters as comments into stmt
953: -- l_stmt := l_stmt || isc_fs_rpt_util_pkg.dump_parameters(p_param);
954:
955: x_custom_sql := l_stmt;
956:
957: x_custom_output := l_custom_output;