36: l_nested_pattern NUMBER;
37: l_cur_suffix VARCHAR2(2);
38: l_url VARCHAR2(300);
39: l_view_by_value VARCHAR2(30);
40: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
41: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
42: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
43: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
44: l_where_clause VARCHAR2(2000);
37: l_cur_suffix VARCHAR2(2);
38: l_url VARCHAR2(300);
39: l_view_by_value VARCHAR2(30);
40: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
41: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
42: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
43: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
44: l_where_clause VARCHAR2(2000);
45: l_where_clause2 VARCHAR2(2000);
38: l_url VARCHAR2(300);
39: l_view_by_value VARCHAR2(30);
40: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
41: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
42: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
43: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
44: l_where_clause VARCHAR2(2000);
45: l_where_clause2 VARCHAR2(2000);
46: l_mv VARCHAR2(30);
39: l_view_by_value VARCHAR2(30);
40: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
41: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
42: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
43: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
44: l_where_clause VARCHAR2(2000);
45: l_where_clause2 VARCHAR2(2000);
46: l_mv VARCHAR2(30);
47: l_mv2 VARCHAR2(30);
48: l_custom_rec BIS_QUERY_ATTRIBUTES;
49: ERR_MSG VARCHAR2(100);
50: l_sec_context varchar2(10);
51: l_use_only_agg_mv varchar2(1);
52: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
53: l_to_date_type VARCHAR2(3);
54: BEGIN
55: l_join_tbl := POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL();
56: l_col_tbl := POA_DBI_UTIL_PKG.POA_DBI_COL_TBL();
51: l_use_only_agg_mv varchar2(1);
52: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
53: l_to_date_type VARCHAR2(3);
54: BEGIN
55: l_join_tbl := POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL();
56: l_col_tbl := POA_DBI_UTIL_PKG.POA_DBI_COL_TBL();
57: l_custom_rec := BIS_PMV_PARAMETERS_PUB.INITIALIZE_QUERY_TYPE;
58: --
59: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
52: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
53: l_to_date_type VARCHAR2(3);
54: BEGIN
55: l_join_tbl := POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL();
56: l_col_tbl := POA_DBI_UTIL_PKG.POA_DBI_COL_TBL();
57: l_custom_rec := BIS_PMV_PARAMETERS_PUB.INITIALIZE_QUERY_TYPE;
58: --
59: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
60: if (l_sec_context = 'OU' or l_sec_context = 'OU/COM' or l_sec_context = 'SUPPLIER')then
82:
83: l_prev_prev_as_of_date := poa_dbi_calendar_pkg.previous_period_asof_date(l_prev_as_of_date, l_xtd, l_comparison_type);
84: IF(l_sec_context = 'OU' or l_sec_context = 'SUPPLIER') THEN
85: l_to_date_type := 'RLX';
86: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount','Y',p_to_date_type => l_to_date_type);
87: ELSE
88: l_to_date_type := 'XTD';
89: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount','Y',poa_dbi_util_pkg.PREV_PREV,p_to_date_type => l_to_date_type);
90: END IF;
85: l_to_date_type := 'RLX';
86: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount','Y',p_to_date_type => l_to_date_type);
87: ELSE
88: l_to_date_type := 'XTD';
89: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount','Y',poa_dbi_util_pkg.PREV_PREV,p_to_date_type => l_to_date_type);
90: END IF;
91:
92: IF(l_view_by='ITEM+ENI_ITEM_PO_CAT') THEN
93: l_url := 'pFunctionName=POA_DBI_INV_STATUS_RPT&VIEW_BY_NAME=VIEW_BY_ID&VIEW_BY=SUPPLIER+POA_SUPPLIERS&pParamIds=Y';
164:
165:
166: l_prev_prev_as_of_date := poa_dbi_calendar_pkg.previous_period_asof_date(l_prev_as_of_date, l_xtd, l_comparison_type);
167:
168: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount','Y',poa_dbi_util_pkg.PREV_PREV);
169:
170: IF(l_view_by='ITEM+ENI_ITEM_PO_CAT') THEN
171: l_url := 'pFunctionName=POA_DBI_CC_INV_STATUS_RPT&VIEW_BY_NAME=VIEW_BY_ID&VIEW_BY=SUPPLIER+POA_SUPPLIERS&pParamIds=Y';
172: ELSE
173: l_url := null;
174: END IF;
175:
176: if(l_use_only_agg_mv = 'N') then
177: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
178: l_mv_tbl.extend;
179: l_mv_tbl(1).mv_name := l_mv;
180: l_mv_tbl(1).mv_col := l_col_tbl;
181: l_mv_tbl(1).mv_where := l_where_clause;
329: l_sel_clause := l_sel_clause || 'base_uom,';
330: END IF;
331: l_sel_clause := l_sel_clause ||
332: ' nvl(c_amount,0) POA_MEASURE1,
333: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1,
334: ' || poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total') || ' POA_PERCENT2,
335: ' || poa_dbi_util_pkg.change_clause(
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
330: END IF;
331: l_sel_clause := l_sel_clause ||
332: ' nvl(c_amount,0) POA_MEASURE1,
333: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1,
334: ' || poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total') || ' POA_PERCENT2,
335: ' || poa_dbi_util_pkg.change_clause(
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
331: l_sel_clause := l_sel_clause ||
332: ' nvl(c_amount,0) POA_MEASURE1,
333: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1,
334: ' || poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total') || ' POA_PERCENT2,
335: ' || poa_dbi_util_pkg.change_clause(
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
332: ' nvl(c_amount,0) POA_MEASURE1,
333: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1,
334: ' || poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total') || ' POA_PERCENT2,
335: ' || poa_dbi_util_pkg.change_clause(
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
333: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1,
334: ' || poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total') || ' POA_PERCENT2,
335: ' || poa_dbi_util_pkg.change_clause(
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
336: poa_dbi_util_pkg.rate_clause('c_amount','c_amount_total'),
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
342: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT3,';
343: IF(p_to_date_type = 'XTD') THEN
344: l_sel_clause := l_sel_clause || poa_dbi_util_pkg.change_clause('p_amount','p2_amount') || ' POA_PERCENT4 ,
337: poa_dbi_util_pkg.rate_clause('p_amount','p_amount_total'),
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
342: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT3,';
343: IF(p_to_date_type = 'XTD') THEN
344: l_sel_clause := l_sel_clause || poa_dbi_util_pkg.change_clause('p_amount','p2_amount') || ' POA_PERCENT4 ,
345: ' || poa_dbi_util_pkg.change_clause('p_amount_total', 'p2_amount_total') || ' POA_MEASURE8,
338: 'P') || ' POA_MEASURE2,
339: ' || ' nvl(c_amount_total,0) POA_MEASURE3,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
342: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT3,';
343: IF(p_to_date_type = 'XTD') THEN
344: l_sel_clause := l_sel_clause || poa_dbi_util_pkg.change_clause('p_amount','p2_amount') || ' POA_PERCENT4 ,
345: ' || poa_dbi_util_pkg.change_clause('p_amount_total', 'p2_amount_total') || ' POA_MEASURE8,
346: nvl(p_amount,0) POA_MEASURE10,
340: ' || poa_dbi_util_pkg.change_clause('c_amount_total','p_amount_total') || ' POA_MEASURE4,
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
342: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT3,';
343: IF(p_to_date_type = 'XTD') THEN
344: l_sel_clause := l_sel_clause || poa_dbi_util_pkg.change_clause('p_amount','p2_amount') || ' POA_PERCENT4 ,
345: ' || poa_dbi_util_pkg.change_clause('p_amount_total', 'p2_amount_total') || ' POA_MEASURE8,
346: nvl(p_amount,0) POA_MEASURE10,
347: nvl(p_amount_total,0) POA_MEASURE11 ';
348: ELSE
341: ' || poa_dbi_util_pkg.rate_clause('c_amount_total','c_amount_total') || ' POA_MEASURE5,
342: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT3,';
343: IF(p_to_date_type = 'XTD') THEN
344: l_sel_clause := l_sel_clause || poa_dbi_util_pkg.change_clause('p_amount','p2_amount') || ' POA_PERCENT4 ,
345: ' || poa_dbi_util_pkg.change_clause('p_amount_total', 'p2_amount_total') || ' POA_MEASURE8,
346: nvl(p_amount,0) POA_MEASURE10,
347: nvl(p_amount_total,0) POA_MEASURE11 ';
348: ELSE
349: l_sel_clause := l_sel_clause || ' null POA_PERCENT4 ,
373: l_where_clause VARCHAR2(2000);
374: l_where_clause2 VARCHAR2(2000);
375: l_cur_suffix VARCHAR2(2);
376: l_url VARCHAR2(300);
377: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
378: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
379: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
380: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
381: l_mv VARCHAR2(30);
374: l_where_clause2 VARCHAR2(2000);
375: l_cur_suffix VARCHAR2(2);
376: l_url VARCHAR2(300);
377: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
378: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
379: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
380: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
381: l_mv VARCHAR2(30);
382: l_mv2 VARCHAR2(30);
375: l_cur_suffix VARCHAR2(2);
376: l_url VARCHAR2(300);
377: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
378: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
379: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
380: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
381: l_mv VARCHAR2(30);
382: l_mv2 VARCHAR2(30);
383: ERR_MSG VARCHAR2(100);
376: l_url VARCHAR2(300);
377: l_col_tbl POA_DBI_UTIL_PKG.POA_DBI_COL_TBL;
378: l_join_tbl POA_DBI_UTIL_PKG.POA_DBI_JOIN_TBL;
379: l_in_join_tbl POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
380: l_in_join_tbl2 POA_DBI_UTIL_PKG.POA_DBI_IN_JOIN_TBL;
381: l_mv VARCHAR2(30);
382: l_mv2 VARCHAR2(30);
383: ERR_MSG VARCHAR2(100);
384: l_sec_context varchar2(10);
382: l_mv2 VARCHAR2(30);
383: ERR_MSG VARCHAR2(100);
384: l_sec_context varchar2(10);
385: l_use_only_agg_mv varchar2(1);
386: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
387: l_to_date_type varchar2(3);
388: BEGIN
389: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
390: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
385: l_use_only_agg_mv varchar2(1);
386: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
387: l_to_date_type varchar2(3);
388: BEGIN
389: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
390: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
391:
392: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
393: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM' or l_sec_context = 'SUPPLIER' ) then
386: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
387: l_to_date_type varchar2(3);
388: BEGIN
389: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
390: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
391:
392: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
393: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM' or l_sec_context = 'SUPPLIER' ) then
394: poa_dbi_sutil_pkg.process_parameters(
418: ELSE
419: l_to_date_type := 'XTD';
420: END IF;
421:
422: poa_dbi_util_pkg.add_column(l_col_tbl,'amount_' || l_cur_suffix,'amount','N', p_to_date_type => l_to_date_type);
423:
424: l_query := get_trend_sel_clause || '
425: from '
426: || poa_dbi_template_pkg.trend_sql(
487: p_role => 'PSM',
488: p_mv_set => 'APIB');
489: end if;
490:
491: poa_dbi_util_pkg.add_column(l_col_tbl,'amount_' || l_cur_suffix,'amount','N');
492:
493: if(l_use_only_agg_mv = 'N') then
494: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
495: l_mv_tbl.extend;
490:
491: poa_dbi_util_pkg.add_column(l_col_tbl,'amount_' || l_cur_suffix,'amount','N');
492:
493: if(l_use_only_agg_mv = 'N') then
494: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
495: l_mv_tbl.extend;
496: l_mv_tbl(1).mv_name := l_mv;
497: l_mv_tbl(1).mv_col := l_col_tbl;
498: l_mv_tbl(1).mv_where := l_where_clause;
547: end if;
548: l_sel_clause := l_sel_clause || '
549: nvl(c_amount,0) POA_MEASURE2,
550: p_amount POA_MEASURE1,
551: ' || poa_dbi_util_pkg.change_clause('c_amount','p_amount') || ' POA_PERCENT1';
552: --
553: RETURN l_sel_clause;
554: END get_trend_sel_clause;
555: