15:
16: FUNCTION get_dtl_sts_filter_where RETURN VARCHAR2 ;
17:
18: FUNCTION get_group_and_sel_clause(
19: p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
20: , p_use_alias IN VARCHAR2
21: ) RETURN VARCHAR2 ;
22:
23: FUNCTION dtl_status_sql (
22:
23: FUNCTION dtl_status_sql (
24: p_fact_name IN VARCHAR2
25: , p_where_clause IN VARCHAR2
26: , p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
27: , p_use_windowing IN VARCHAR2
28: , p_col_name IN poa_dbi_util_pkg.poa_dbi_col_tbl
29: , p_use_grpid VARCHAR2 := 'Y'
30: , p_paren_count IN NUMBER := 4
24: p_fact_name IN VARCHAR2
25: , p_where_clause IN VARCHAR2
26: , p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
27: , p_use_windowing IN VARCHAR2
28: , p_col_name IN poa_dbi_util_pkg.poa_dbi_col_tbl
29: , p_use_grpid VARCHAR2 := 'Y'
30: , p_paren_count IN NUMBER := 4
31: , p_filter_where IN VARCHAR2 := NULL
32: , p_generate_viewby IN VARCHAR2 := 'Y'
29: , p_use_grpid VARCHAR2 := 'Y'
30: , p_paren_count IN NUMBER := 4
31: , p_filter_where IN VARCHAR2 := NULL
32: , p_generate_viewby IN VARCHAR2 := 'Y'
33: , p_in_join_tables IN poa_dbi_util_pkg.poa_dbi_in_join_tbl := NULL
34: , p_uom_code IN VARCHAR2
35: , p_view_by IN VARCHAR2
36: ) RETURN VARCHAR2 ;
37:
56: l_nested_pattern number;
57: l_cur_suffix varchar2(3);
58: l_url varchar2(300);
59: l_custom_sql varchar2(4000);
60: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
61: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
62: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
63: l_where_clause VARCHAR2(2000);
64: l_view_by_value VARCHAR2(100);
57: l_cur_suffix varchar2(3);
58: l_url varchar2(300);
59: l_custom_sql varchar2(4000);
60: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
61: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
62: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
63: l_where_clause VARCHAR2(2000);
64: l_view_by_value VARCHAR2(100);
65: l_mv VARCHAR2(30);
58: l_url varchar2(300);
59: l_custom_sql varchar2(4000);
60: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
61: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
62: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
63: l_where_clause VARCHAR2(2000);
64: l_view_by_value VARCHAR2(100);
65: l_mv VARCHAR2(30);
66: l_context_code VARCHAR2(10);
68: l_file varchar2(500);
69: BEGIN
70: l_comparison_type := 'Y';
71:
72: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
73: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
74:
75: poa_dbi_sutil_pkg.process_parameters (
76: p_param => p_param,
69: BEGIN
70: l_comparison_type := 'Y';
71:
72: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
73: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
74:
75: poa_dbi_sutil_pkg.process_parameters (
76: p_param => p_param,
77: p_view_by => l_view_by,
101: ELSE
102: l_to_date_type := 'XTD';
103: END IF;
104:
105: poa_dbi_util_pkg.add_column(l_col_tbl,
106: 'purchase_amt_' || l_cur_suffix,
107: 'purchase_amt',
108: p_to_date_type => l_to_date_type);
109:
107: 'purchase_amt',
108: p_to_date_type => l_to_date_type);
109:
110:
111: poa_dbi_util_pkg.add_column(l_col_tbl,
112: 'nz_quantity',
113: 'nz_quantity',
114: p_to_date_type => l_to_date_type);
115:
129: p_in_join_tables => l_in_join_tbl);
130:
131: x_custom_sql := l_query;
132:
133: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
134: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
135:
136: END status_sql ;
137:
130:
131: x_custom_sql := l_query;
132:
133: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
134: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
135:
136: END status_sql ;
137:
138: ----------------------------------------------------------------------------------
247: l_nested_pattern number;
248: l_cur_suffix varchar2(3);
249: l_url varchar2(300);
250: l_custom_sql varchar2(4000);
251: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
252: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
253: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
254: l_where_clause VARCHAR2(2000);
255: l_view_by_value VARCHAR2(100);
248: l_cur_suffix varchar2(3);
249: l_url varchar2(300);
250: l_custom_sql varchar2(4000);
251: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
252: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
253: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
254: l_where_clause VARCHAR2(2000);
255: l_view_by_value VARCHAR2(100);
256: l_mv VARCHAR2(30);
249: l_url varchar2(300);
250: l_custom_sql varchar2(4000);
251: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
252: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
253: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
254: l_where_clause VARCHAR2(2000);
255: l_view_by_value VARCHAR2(100);
256: l_mv VARCHAR2(30);
257: l_context_code VARCHAR2(10);
260: l_uom VARCHAR2(200);
261: l_custom_rec BIS_QUERY_ATTRIBUTES;
262: BEGIN
263:
264: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
265: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
266: l_context_code := poa_dbi_sutil_pkg.get_sec_context(p_param);
267:
268: FOR i in 1..p_param.last
261: l_custom_rec BIS_QUERY_ATTRIBUTES;
262: BEGIN
263:
264: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
265: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
266: l_context_code := poa_dbi_sutil_pkg.get_sec_context(p_param);
267:
268: FOR i in 1..p_param.last
269: LOOP
349: and i.org_id = poorg.organization_id
350: and (rnk between &START_INDEX and &END_INDEX or &END_INDEX = -1)
351: ORDER BY rnk ' ;
352:
353: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
354: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
355:
356: l_custom_rec := bis_pmv_parameters_pub.initialize_query_type;
357: l_custom_rec.attribute_name := '&BASEUOM';
350: and (rnk between &START_INDEX and &END_INDEX or &END_INDEX = -1)
351: ORDER BY rnk ' ;
352:
353: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
354: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
355:
356: l_custom_rec := bis_pmv_parameters_pub.initialize_query_type;
357: l_custom_rec.attribute_name := '&BASEUOM';
358: l_custom_rec.attribute_value := l_uom;
380: l_nested_pattern number;
381: l_cur_suffix varchar2(3);
382: l_url varchar2(300);
383: l_custom_sql varchar2(4000);
384: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
385: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
386: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
387: l_where_clause VARCHAR2(2000);
388: l_view_by_value VARCHAR2(100);
381: l_cur_suffix varchar2(3);
382: l_url varchar2(300);
383: l_custom_sql varchar2(4000);
384: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
385: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
386: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
387: l_where_clause VARCHAR2(2000);
388: l_view_by_value VARCHAR2(100);
389: l_mv VARCHAR2(30);
382: l_url varchar2(300);
383: l_custom_sql varchar2(4000);
384: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
385: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
386: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
387: l_where_clause VARCHAR2(2000);
388: l_view_by_value VARCHAR2(100);
389: l_mv VARCHAR2(30);
390: l_context_code VARCHAR2(10);
391: l_to_date_type VARCHAR2(10);
392: l_file varchar2(500);
393: l_uom VARCHAR2(200);
394: l_view_by_col_name VARCHAR2(250);
395: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
396: BEGIN
397:
398: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
399: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
394: l_view_by_col_name VARCHAR2(250);
395: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
396: BEGIN
397:
398: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
399: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
400:
401: FOR i in 1..p_param.last
402: LOOP
395: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
396: BEGIN
397:
398: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
399: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
400:
401: FOR i in 1..p_param.last
402: LOOP
403: IF p_param(i).parameter_name = 'LOOKUP+UOMCODE' THEN
433: l_to_date_type := 'RLX';
434: ELSE
435: l_to_date_type := 'XTD';
436: END IF;
437: poa_dbi_util_pkg.add_column(l_col_tbl
438: , 'purchase_amt_' || l_cur_suffix
439: , 'purchase_amt'
440: , p_grand_total => 'N'
441: , p_prior_code => poa_dbi_util_pkg.both_priors
437: poa_dbi_util_pkg.add_column(l_col_tbl
438: , 'purchase_amt_' || l_cur_suffix
439: , 'purchase_amt'
440: , p_grand_total => 'N'
441: , p_prior_code => poa_dbi_util_pkg.both_priors
442: , p_to_date_type => l_to_date_type );
443:
444: poa_dbi_util_pkg.add_column(l_col_tbl
445: , 'nz_quantity'
440: , p_grand_total => 'N'
441: , p_prior_code => poa_dbi_util_pkg.both_priors
442: , p_to_date_type => l_to_date_type );
443:
444: poa_dbi_util_pkg.add_column(l_col_tbl
445: , 'nz_quantity'
446: , 'nz_quantity'
447: , p_grand_total => 'N'
448: , p_prior_code => poa_dbi_util_pkg.both_priors
444: poa_dbi_util_pkg.add_column(l_col_tbl
445: , 'nz_quantity'
446: , 'nz_quantity'
447: , p_grand_total => 'N'
448: , p_prior_code => poa_dbi_util_pkg.both_priors
449: , p_to_date_type => l_to_date_type );
450:
451:
452: ---Now populate the MV table list
489: (((nvl(c_purchase_amt,0)/decode(c_nz_quantity,0,null,c_nz_quantity)) -
490: (nvl(p_purchase_amt,0)/decode(p_nz_quantity,0,null,p_nz_quantity)))/
491: (nvl(p_purchase_amt,0)/decode(p_nz_quantity,0,null,p_nz_quantity))) * 100 POA_PERCENT1 ,
492: nvl(c_nz_quantity,0) POA_MEASURE12, ' ||
493: poa_dbi_util_pkg.change_clause('c_nz_quantity','p_nz_quantity') || ' POA_PERCENT2,
494: nvl(c_purchase_amt,0) POA_MEASURE2, ' ||
495: poa_dbi_util_pkg.change_clause('c_purchase_amt','p_purchase_amt') || ' POA_PERCENT3 ,
496: nvl(p_purchase_amt,0)/decode(p_nz_quantity,0,null,p_nz_quantity) POA_MEASURE3 ,
497: (nvl(p_purchase_amt,0)) POA_MEASURE4 ,
491: (nvl(p_purchase_amt,0)/decode(p_nz_quantity,0,null,p_nz_quantity))) * 100 POA_PERCENT1 ,
492: nvl(c_nz_quantity,0) POA_MEASURE12, ' ||
493: poa_dbi_util_pkg.change_clause('c_nz_quantity','p_nz_quantity') || ' POA_PERCENT2,
494: nvl(c_purchase_amt,0) POA_MEASURE2, ' ||
495: poa_dbi_util_pkg.change_clause('c_purchase_amt','p_purchase_amt') || ' POA_PERCENT3 ,
496: nvl(p_purchase_amt,0)/decode(p_nz_quantity,0,null,p_nz_quantity) POA_MEASURE3 ,
497: (nvl(p_purchase_amt,0)) POA_MEASURE4 ,
498: nvl(p_nz_quantity,0) POA_MEASURE5 ' ;
499:
517: l_nested_pattern number;
518: l_cur_suffix varchar2(3);
519: l_url varchar2(300);
520: l_custom_sql varchar2(4000);
521: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
522: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
523: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
524: l_where_clause VARCHAR2(2000);
525: l_view_by_value VARCHAR2(100);
518: l_cur_suffix varchar2(3);
519: l_url varchar2(300);
520: l_custom_sql varchar2(4000);
521: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
522: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
523: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
524: l_where_clause VARCHAR2(2000);
525: l_view_by_value VARCHAR2(100);
526: l_mv VARCHAR2(30);
519: l_url varchar2(300);
520: l_custom_sql varchar2(4000);
521: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
522: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
523: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
524: l_where_clause VARCHAR2(2000);
525: l_view_by_value VARCHAR2(100);
526: l_mv VARCHAR2(30);
527: l_context_code VARCHAR2(10);
543: END IF ;
544: END LOOP ;
545:
546:
547: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
548: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
549: l_context_code := poa_dbi_sutil_pkg.get_sec_context(p_param);
550:
551:
544: END LOOP ;
545:
546:
547: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
548: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
549: l_context_code := poa_dbi_sutil_pkg.get_sec_context(p_param);
550:
551:
552: poa_dbi_sutil_pkg.process_parameters(p_param,
572: ELSE
573: l_to_date_type := 'XTD';
574: END IF;
575:
576: poa_dbi_util_pkg.add_column(l_col_tbl,
577: 'purchase_amt_' || l_cur_suffix,
578: 'purchase_amt',
579: p_to_date_type => l_to_date_type);
580:
578: 'purchase_amt',
579: p_to_date_type => l_to_date_type);
580:
581:
582: poa_dbi_util_pkg.add_column(l_col_tbl,
583: 'nz_quantity',
584: 'nz_quantity',
585: p_to_date_type => l_to_date_type);
586:
601: p_view_by => l_view_by );
602:
603: x_custom_sql := l_query;
604:
605: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
606: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
607:
608: END iapd_rpt_sql ;
609:
602:
603: x_custom_sql := l_query;
604:
605: poa_dbi_util_pkg.get_custom_status_binds(x_custom_output);
606: poa_dbi_util_pkg.get_custom_rolling_binds(x_custom_output,l_xtd);
607:
608: END iapd_rpt_sql ;
609:
610: ----------------------------------------------------------------------------------
633:
634: FUNCTION dtl_status_sql (
635: p_fact_name IN VARCHAR2
636: , p_where_clause IN VARCHAR2
637: , p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
638: , p_use_windowing IN VARCHAR2
639: , p_col_name IN poa_dbi_util_pkg.poa_dbi_col_tbl
640: , p_use_grpid VARCHAR2 := 'Y'
641: , p_paren_count IN NUMBER := 4
635: p_fact_name IN VARCHAR2
636: , p_where_clause IN VARCHAR2
637: , p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
638: , p_use_windowing IN VARCHAR2
639: , p_col_name IN poa_dbi_util_pkg.poa_dbi_col_tbl
640: , p_use_grpid VARCHAR2 := 'Y'
641: , p_paren_count IN NUMBER := 4
642: , p_filter_where IN VARCHAR2 := NULL
643: , p_generate_viewby IN VARCHAR2 := 'Y'
640: , p_use_grpid VARCHAR2 := 'Y'
641: , p_paren_count IN NUMBER := 4
642: , p_filter_where IN VARCHAR2 := NULL
643: , p_generate_viewby IN VARCHAR2 := 'Y'
644: , p_in_join_tables IN poa_dbi_util_pkg.poa_dbi_in_join_tbl := NULL
645: , p_uom_code IN VARCHAR2
646: , p_view_by IN VARCHAR2
647: )
648: RETURN VARCHAR2
663: l_viewby_rank_where VARCHAR2 (10000);
664: l_in_join_tables VARCHAR2 (1000) := '';
665: l_filter_where VARCHAR2 (1000);
666: l_join_tables VARCHAR2 (10000);
667: l_col_calc_tbl poa_dbi_util_pkg.poa_dbi_col_calc_tbl;
668: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl ;
669: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC ;
670: l_group_by varchar2(100);
671: l_add_sel_col varchar2(100);
664: l_in_join_tables VARCHAR2 (1000) := '';
665: l_filter_where VARCHAR2 (1000);
666: l_join_tables VARCHAR2 (10000);
667: l_col_calc_tbl poa_dbi_util_pkg.poa_dbi_col_calc_tbl;
668: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl ;
669: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC ;
670: l_group_by varchar2(100);
671: l_add_sel_col varchar2(100);
672:
665: l_filter_where VARCHAR2 (1000);
666: l_join_tables VARCHAR2 (10000);
667: l_col_calc_tbl poa_dbi_util_pkg.poa_dbi_col_calc_tbl;
668: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl ;
669: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC ;
670: l_group_by varchar2(100);
671: l_add_sel_col varchar2(100);
672:
673: BEGIN
959: END get_dtl_sel_clause ;
960:
961:
962: FUNCTION get_group_and_sel_clause(
963: p_join_tables IN poa_dbi_util_pkg.poa_dbi_join_tbl
964: , p_use_alias IN VARCHAR2
965: ) RETURN VARCHAR2
966: IS
967: l_group_and_sel_clause VARCHAR2 (500);