27: l_nested_pattern number;
28: l_cur_suffix varchar2(2);
29: l_url varchar2(300);
30: l_custom_sql varchar2(4000);
31: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
32: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
33: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
34: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
35: l_where_clause varchar2(2000);
28: l_cur_suffix varchar2(2);
29: l_url varchar2(300);
30: l_custom_sql varchar2(4000);
31: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
32: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
33: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
34: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
35: l_where_clause varchar2(2000);
36: l_where_clause2 varchar2(2000);
29: l_url varchar2(300);
30: l_custom_sql varchar2(4000);
31: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
32: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
33: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
34: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
35: l_where_clause varchar2(2000);
36: l_where_clause2 varchar2(2000);
37: l_view_by_value varchar2(100);
30: l_custom_sql varchar2(4000);
31: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
32: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
33: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
34: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
35: l_where_clause varchar2(2000);
36: l_where_clause2 varchar2(2000);
37: l_view_by_value varchar2(100);
38: l_mv varchar2(30);
37: l_view_by_value varchar2(100);
38: l_mv varchar2(30);
39: l_mv2 varchar2(30);
40: l_sec_context varchar2(10);
41: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
42: l_use_only_agg_mv varchar2(1);
43: err_msg varchar2(100);
44: begin
45: l_join_tbl := poa_dbi_util_pkg.poa_dbi_join_tbl();
41: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
42: l_use_only_agg_mv varchar2(1);
43: err_msg varchar2(100);
44: begin
45: l_join_tbl := poa_dbi_util_pkg.poa_dbi_join_tbl();
46: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
47:
48: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
49: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM') then
42: l_use_only_agg_mv varchar2(1);
43: err_msg varchar2(100);
44: begin
45: l_join_tbl := poa_dbi_util_pkg.poa_dbi_join_tbl();
46: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
47:
48: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
49: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM') then
50: poa_dbi_sutil_pkg.process_parameters(
68: p_version => '5.0',
69: p_role => 'VPP',
70: p_mv_set => 'IDL');
71:
72: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
73: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
74:
75: if((l_view_by = 'HRI_PERSON+HRI_PER') and (l_view_by_value is not null) and (instr(l_view_by_value,',') = 0)) then
76: l_url := null;
69: p_role => 'VPP',
70: p_mv_set => 'IDL');
71:
72: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
73: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
74:
75: if((l_view_by = 'HRI_PERSON+HRI_PER') and (l_view_by_value is not null) and (instr(l_view_by_value,',') = 0)) then
76: l_url := null;
77: else
111: p_version => '8.0',
112: p_role => 'VPP',
113: p_mv_set => 'IDLA');
114:
115: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
116: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
117:
118: if((l_view_by = 'HRI_PERSON+HRI_PER') and (l_view_by_value is not null) and (instr(l_view_by_value,',') = 0)) then
119: l_url := null;
112: p_role => 'VPP',
113: p_mv_set => 'IDLA');
114:
115: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
116: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
117:
118: if((l_view_by = 'HRI_PERSON+HRI_PER') and (l_view_by_value is not null) and (instr(l_view_by_value,',') = 0)) then
119: l_url := null;
120: else
153: p_version => '8.0',
154: p_role => 'VPP',
155: p_mv_set => 'IDLB');
156:
157: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
158: l_mv_tbl.extend;
159: l_mv_tbl(1).mv_name := l_mv;
160: l_mv_tbl(1).mv_col := l_col_tbl;
161: l_mv_tbl(1).mv_where := l_where_clause;
208: l_comparison_type varchar2(1) := 'Y';
209: l_nested_pattern number;
210: l_cur_suffix varchar2(2);
211: l_custom_sql varchar2(4000);
212: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
213: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
214: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
215: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
216: l_mv varchar2(30);
209: l_nested_pattern number;
210: l_cur_suffix varchar2(2);
211: l_custom_sql varchar2(4000);
212: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
213: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
214: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
215: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
216: l_mv varchar2(30);
217: l_mv2 varchar2(30);
210: l_cur_suffix varchar2(2);
211: l_custom_sql varchar2(4000);
212: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
213: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
214: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
215: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
216: l_mv varchar2(30);
217: l_mv2 varchar2(30);
218: l_where_clause varchar2(2000);
211: l_custom_sql varchar2(4000);
212: l_col_tbl poa_dbi_util_pkg.poa_dbi_col_tbl;
213: l_join_tbl poa_dbi_util_pkg.poa_dbi_join_tbl;
214: l_in_join_tbl poa_dbi_util_pkg.poa_dbi_in_join_tbl;
215: l_in_join_tbl2 poa_dbi_util_pkg.poa_dbi_in_join_tbl;
216: l_mv varchar2(30);
217: l_mv2 varchar2(30);
218: l_where_clause varchar2(2000);
219: l_where_clause2 varchar2(2000);
217: l_mv2 varchar2(30);
218: l_where_clause varchar2(2000);
219: l_where_clause2 varchar2(2000);
220: l_view_by_value varchar2(100);
221: l_mv_tbl poa_dbi_util_pkg.poa_dbi_mv_tbl;
222: l_sec_context varchar2(10);
223: l_use_only_agg_mv varchar2(1);
224: err_msg varchar2(100);
225: begin
222: l_sec_context varchar2(10);
223: l_use_only_agg_mv varchar2(1);
224: err_msg varchar2(100);
225: begin
226: l_join_tbl := poa_dbi_util_pkg.poa_dbi_join_tbl();
227: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
228:
229: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
230: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM') then
223: l_use_only_agg_mv varchar2(1);
224: err_msg varchar2(100);
225: begin
226: l_join_tbl := poa_dbi_util_pkg.poa_dbi_join_tbl();
227: l_col_tbl := poa_dbi_util_pkg.poa_dbi_col_tbl();
228:
229: l_sec_context := poa_dbi_sutil_pkg.get_sec_context(p_param);
230: if(l_sec_context = 'OU' or l_sec_context = 'OU/COM') then
231: poa_dbi_sutil_pkg.process_parameters(
249: p_version => '5.0',
250: p_role => 'VPP',
251: p_mv_set => 'IDL');
252:
253: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount', 'N');
254:
255: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount', 'N');
256:
257: l_query := get_trend_sel_clause || ' from '|| fnd_global.newline ||
251: p_mv_set => 'IDL');
252:
253: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount', 'N');
254:
255: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount', 'N');
256:
257: l_query := get_trend_sel_clause || ' from '|| fnd_global.newline ||
258: poa_dbi_template_pkg.trend_sql(
259: p_xtd => l_xtd,
285: p_version => '8.0',
286: p_role => 'VPP',
287: p_mv_set => 'IDLA');
288:
289: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount', 'N');
290:
291: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount', 'N');
292:
293: /*check if we can get everything from aggregated mv*/
287: p_mv_set => 'IDLA');
288:
289: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount', 'N');
290:
291: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount', 'N');
292:
293: /*check if we can get everything from aggregated mv*/
294: l_use_only_agg_mv := 'Y';
295: for i in 1..l_in_join_tbl.count loop
322: p_version => '8.0',
323: p_role => 'VPP',
324: p_mv_set => 'IDLB');
325:
326: l_mv_tbl := poa_dbi_util_pkg.poa_dbi_mv_tbl();
327: l_mv_tbl.extend;
328: l_mv_tbl(1).mv_name := l_mv;
329: l_mv_tbl(1).mv_col := l_col_tbl;
330: l_mv_tbl(1).mv_where := l_where_clause;
391: l_nested_pattern number;
392: l_org_where varchar2(500);
393: l_cur_suffix varchar2(2);
394: l_custom_sql varchar2(4000);
395: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
396: l_where_clause varchar2(1000);
397: l_mv varchar2(30);
398: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC;
399: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
394: l_custom_sql varchar2(4000);
395: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
396: l_where_clause varchar2(1000);
397: l_mv varchar2(30);
398: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC;
399: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
400: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
401: l_custom_rec BIS_QUERY_ATTRIBUTES;
402: l_view_by_value varchar2(100);
395: l_col_tbl poa_dbi_util_pkg.POA_DBI_COL_TBL;
396: l_where_clause varchar2(1000);
397: l_mv varchar2(30);
398: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC;
399: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
400: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
401: l_custom_rec BIS_QUERY_ATTRIBUTES;
402: l_view_by_value varchar2(100);
403: begin
396: l_where_clause varchar2(1000);
397: l_mv varchar2(30);
398: l_join_rec poa_dbi_util_pkg.POA_DBI_JOIN_REC;
399: l_join_tbl poa_dbi_util_pkg.POA_DBI_JOIN_TBL;
400: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
401: l_custom_rec BIS_QUERY_ATTRIBUTES;
402: l_view_by_value varchar2(100);
403: begin
404: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
400: l_in_join_tbl poa_dbi_util_pkg.POA_DBI_IN_JOIN_TBL;
401: l_custom_rec BIS_QUERY_ATTRIBUTES;
402: l_view_by_value varchar2(100);
403: begin
404: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
405: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
406:
407: poa_dbi_sutil_pkg.process_parameters(
408: p_param => p_param,
401: l_custom_rec BIS_QUERY_ATTRIBUTES;
402: l_view_by_value varchar2(100);
403: begin
404: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
405: l_col_tbl := poa_dbi_util_pkg.POA_DBI_COL_TBL();
406:
407: poa_dbi_sutil_pkg.process_parameters(
408: p_param => p_param,
409: p_view_by => l_view_by,
425: p_version => '5.0',
426: p_role => 'VPP',
427: p_mv_set => 'IDL');
428:
429: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
430: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
431:
432: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
433:
426: p_role => 'VPP',
427: p_mv_set => 'IDL');
428:
429: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
430: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
431:
432: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
433:
434: l_join_rec.table_name :=
428:
429: poa_dbi_util_pkg.add_column(l_col_tbl, 'leakage_amount_' || l_cur_suffix, 'leakage_amount');
430: poa_dbi_util_pkg.add_column(l_col_tbl, 'amount_' || l_cur_suffix, 'amount');
431:
432: l_join_tbl := poa_dbi_util_pkg.POA_DBI_JOIN_TBL();
433:
434: l_join_rec.table_name :=
435: poa_dbi_sutil_pkg.get_table('ORGANIZATION+FII_OPERATING_UNITS', 'AP', '5.0');
436: l_join_rec.table_alias := 'v';
448: oset.POA_MEASURE2 POA_MEASURE2 --Current Amount
449: from
450: (select * from
451: (select org_id,
452: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT1,
453: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount','p_amount') || ' POA_PERCENT2,
454: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE1,
455: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount_total','p_amount_total') || ' POA_MEASURE2
456: from
449: from
450: (select * from
451: (select org_id,
452: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT1,
453: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount','p_amount') || ' POA_PERCENT2,
454: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE1,
455: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount_total','p_amount_total') || ' POA_MEASURE2
456: from
457: ' || poa_dbi_template_pkg.status_sql(
450: (select * from
451: (select org_id,
452: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT1,
453: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount','p_amount') || ' POA_PERCENT2,
454: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE1,
455: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount_total','p_amount_total') || ' POA_MEASURE2
456: from
457: ' || poa_dbi_template_pkg.status_sql(
458: p_fact_name => l_mv,
451: (select org_id,
452: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT1,
453: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount','p_amount') || ' POA_PERCENT2,
454: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE1,
455: ' || poa_dbi_util_pkg.rate_clause('p_leakage_amount_total','p_amount_total') || ' POA_MEASURE2
456: from
457: ' || poa_dbi_template_pkg.status_sql(
458: p_fact_name => l_mv,
459: p_where_clause => l_where_clause,
540: POA_MEASURE5, POA_MEASURE6, POA_MEASURE7 from
541: (select ' || p_view_by_col || ',
542: ' || p_view_by_col || ' VIEWBY,
543: nvl(c_leakage_amount,0) POA_MEASURE1,
544: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount','p_leakage_amount') || ' POA_PERCENT1,
545: nvl(c_amount,0) POA_MEASURE3,
546: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT2,
547: nvl(c_leakage_amount_total,0) POA_MEASURE4,
548: nvl(c_amount_total,0) POA_MEASURE5,
542: ' || p_view_by_col || ' VIEWBY,
543: nvl(c_leakage_amount,0) POA_MEASURE1,
544: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount','p_leakage_amount') || ' POA_PERCENT1,
545: nvl(c_amount,0) POA_MEASURE3,
546: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT2,
547: nvl(c_leakage_amount_total,0) POA_MEASURE4,
548: nvl(c_amount_total,0) POA_MEASURE5,
549: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount_total','p_leakage_amount_total') || ' POA_MEASURE6,
550: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE7';
545: nvl(c_amount,0) POA_MEASURE3,
546: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT2,
547: nvl(c_leakage_amount_total,0) POA_MEASURE4,
548: nvl(c_amount_total,0) POA_MEASURE5,
549: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount_total','p_leakage_amount_total') || ' POA_MEASURE6,
550: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE7';
551:
552: return l_sel_clause;
553: END;
546: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount','c_amount') || ' POA_PERCENT2,
547: nvl(c_leakage_amount_total,0) POA_MEASURE4,
548: nvl(c_amount_total,0) POA_MEASURE5,
549: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount_total','p_leakage_amount_total') || ' POA_MEASURE6,
550: ' || poa_dbi_util_pkg.rate_clause('c_leakage_amount_total','c_amount_total') || ' POA_MEASURE7';
551:
552: return l_sel_clause;
553: END;
554:
565: end if;
566: l_sel_clause := l_sel_clause || 'nvl(p_leakage_amount,0) POA_MEASURE1,
567: nvl(c_leakage_amount,0) POA_MEASURE2,
568: nvl(p_leakage_amount,0) POA_PERCENT1,
569: ' || poa_dbi_util_pkg.change_clause('c_leakage_amount','p_leakage_amount') || ' POA_PERCENT3,
570: nvl(c_leakage_amount,0) POA_PERCENT2';
571:
572: return l_sel_clause;
573: