29: l_per_from VARCHAR2(100);
30:
31: BEGIN
32:
33: fii_ar_util_pkg.reset_globals;
34: fii_ar_util_pkg.get_parameters(p_page_parameter_tbl);
35:
36: /* The call populates the AR global temp table. */
37: fii_ar_util_pkg.populate_summary_gt_tables;
30:
31: BEGIN
32:
33: fii_ar_util_pkg.reset_globals;
34: fii_ar_util_pkg.get_parameters(p_page_parameter_tbl);
35:
36: /* The call populates the AR global temp table. */
37: fii_ar_util_pkg.populate_summary_gt_tables;
38:
33: fii_ar_util_pkg.reset_globals;
34: fii_ar_util_pkg.get_parameters(p_page_parameter_tbl);
35:
36: /* The call populates the AR global temp table. */
37: fii_ar_util_pkg.populate_summary_gt_tables;
38:
39: /* Defining the where clause for PARTY_ID*/
40: IF fii_ar_util_pkg.g_party_id <> '-111' THEN
41: l_party_where := ' AND f.party_id = time.party_id ';
36: /* The call populates the AR global temp table. */
37: fii_ar_util_pkg.populate_summary_gt_tables;
38:
39: /* Defining the where clause for PARTY_ID*/
40: IF fii_ar_util_pkg.g_party_id <> '-111' THEN
41: l_party_where := ' AND f.party_id = time.party_id ';
42: END IF;
43:
44: /* Defining the where clause for COLLECTOR_ID*/
41: l_party_where := ' AND f.party_id = time.party_id ';
42: END IF;
43:
44: /* Defining the where clause for COLLECTOR_ID*/
45: IF fii_ar_util_pkg.g_collector_id <> '-111' THEN
46: l_collector_where := 'AND f.collector_id = time.collector_id ';
47: END IF;
48:
49: /* Defining industry where clause for specific industry */
46: l_collector_where := 'AND f.collector_id = time.collector_id ';
47: END IF;
48:
49: /* Defining industry where clause for specific industry */
50: IF fii_ar_util_pkg.g_industry_id <> '-111' THEN
51: l_industry_where := ' AND time.class_code = f.class_code AND time.class_category = f.class_category';
52: END IF;
53:
54: /* Defining the table to be used based on Period Type chosen.*/
51: l_industry_where := ' AND time.class_code = f.class_code AND time.class_category = f.class_category';
52: END IF;
53:
54: /* Defining the table to be used based on Period Type chosen.*/
55: CASE fii_ar_util_pkg.g_page_period_type
56: WHEN 'FII_TIME_WEEK' THEN
57: l_per_from:=' fii_time_week ';
58: WHEN 'FII_TIME_ENT_PERIOD' THEN
59: l_per_from:=' fii_time_ent_period ';
66: /* The select statement checks wethere asofdate chosen is end of current week/month/qtr/year.
67: If True then no need to add a new select ELSE need to add a select statement to get amount
68: upto asofdate chosen for the current period. */
69:
70: IF fii_ar_util_pkg.g_as_of_date = fii_ar_util_pkg.g_curr_per_end THEN
71: l_select_curr_end_prd :=' ';
72: l_end_date := ' :ASOF_DATE ';
73:
74: ELSE
87: sum(f.app_amount) FII_AR_REC_APP_AMT,
88: sum(f.app_count) FII_AR_REC_APP_COUNT,
89: NULL FII_AR_PRIOR_REC_AMT
90: FROM '||l_per_from||' per,
91: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
92: ( SELECT * FROM fii_time_structures cal, '||fii_ar_util_pkg.get_from_statement||' gt
93: WHERE report_date = :ASOF_DATE
94: AND bitand(cal.record_type_id, :BITAND) = :BITAND
95: AND '||fii_ar_util_pkg.get_where_statement||') time
88: sum(f.app_count) FII_AR_REC_APP_COUNT,
89: NULL FII_AR_PRIOR_REC_AMT
90: FROM '||l_per_from||' per,
91: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
92: ( SELECT * FROM fii_time_structures cal, '||fii_ar_util_pkg.get_from_statement||' gt
93: WHERE report_date = :ASOF_DATE
94: AND bitand(cal.record_type_id, :BITAND) = :BITAND
95: AND '||fii_ar_util_pkg.get_where_statement||') time
96: WHERE f.time_id = time.time_id
91: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
92: ( SELECT * FROM fii_time_structures cal, '||fii_ar_util_pkg.get_from_statement||' gt
93: WHERE report_date = :ASOF_DATE
94: AND bitand(cal.record_type_id, :BITAND) = :BITAND
95: AND '||fii_ar_util_pkg.get_where_statement||') time
96: WHERE f.time_id = time.time_id
97: AND f.period_type_id = time.period_type_id
98: AND f.org_id = time.org_id
99: AND '||fii_ar_util_pkg.get_mv_where_statement||' '||l_party_where||l_collector_where||l_industry_where||'
95: AND '||fii_ar_util_pkg.get_where_statement||') time
96: WHERE f.time_id = time.time_id
97: AND f.period_type_id = time.period_type_id
98: AND f.org_id = time.org_id
99: AND '||fii_ar_util_pkg.get_mv_where_statement||' '||l_party_where||l_collector_where||l_industry_where||'
100: AND per.end_date = :CURR_PERIOD_END
101: GROUP BY report_date, per.sequence, f.header_filter_date, per.start_date
102: ';
103:
106: END IF;
107:
108: /* This condition handles, wethere parameter compare to chosen is Prior Period and show Prior Data or not. */
109:
110: IF fii_ar_util_pkg.g_time_comp = 'SEQUENTIAL' THEN
111: l_prior_column:= ' NULL FII_AR_PRIOR_REC_AMT ';
112: l_start_date := ' :SD_PRIOR ';
113: ELSE
114: IF fii_ar_util_pkg.g_page_period_type = 'FII_TIME_ENT_YEAR' THEN
110: IF fii_ar_util_pkg.g_time_comp = 'SEQUENTIAL' THEN
111: l_prior_column:= ' NULL FII_AR_PRIOR_REC_AMT ';
112: l_start_date := ' :SD_PRIOR ';
113: ELSE
114: IF fii_ar_util_pkg.g_page_period_type = 'FII_TIME_ENT_YEAR' THEN
115: l_prior_column:= ' NULL FII_AR_PRIOR_REC_AMT ';
116: l_start_date := ' :SD_PRIOR ';
117: ELSE
118: l_prior_column:= ' CASE WHEN time.report_date < :SD_SDATE AND f.header_filter_date >= MIN(per.start_date) THEN sum(f.total_receipt_amount) ELSE NULL END FII_AR_PRIOR_REC_AMT ';
120: END IF;
121: END IF;
122:
123:
124: IF fii_ar_util_pkg.g_page_period_type = 'FII_TIME_ENT_YEAR' THEN
125:
126: l_col_select := ' sum(f.total_receipt_amount) FII_AR_REC_AMT,
127: sum(f.total_receipt_count) FII_AR_REC_COUNT,
128: sum(f.app_amount) FII_AR_REC_APP_AMT,
161: ''&pFunctionName=FII_AR_REC_ACTIVITY&VIEW_BY_NAME=VIEW_BY_ID&VIEW_BY=ORGANIZATION+FII_OPERATING_UNITS&pParamIds=Y'',
162: ''AS_OF_DATE=FII_AR_PERIOD_END_DATE&pFunctionName=FII_AR_REC_ACTIVITY&VIEW_BY_NAME=VIEW_BY_ID&VIEW_BY=ORGANIZATION+FII_OPERATING_UNITS&pParamIds=Y'')) FII_AR_REC_AMT_DRILL
163: FROM
164: '||l_per_from||' cy_per,
165: (SELECT /*+ INDEX(f FII_AR_NET_REC'|| fii_ar_util_pkg.g_cust_suffix ||'_mv_N1)*/
166: per.sequence sequence,
167: '||l_col_select||l_prior_column||'
168: FROM '||l_per_from||' per,
169: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
165: (SELECT /*+ INDEX(f FII_AR_NET_REC'|| fii_ar_util_pkg.g_cust_suffix ||'_mv_N1)*/
166: per.sequence sequence,
167: '||l_col_select||l_prior_column||'
168: FROM '||l_per_from||' per,
169: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
170: ( SELECT /*+ no_merge leading(gt) cardinality(gt 1)*/ * FROM fii_time_structures cal, '||fii_ar_util_pkg.get_from_statement||' gt
171: WHERE report_date in
172: (SELECT end_date from '||l_per_from||' cy_per WHERE cy_per.start_date < '||l_end_date||'
173: AND cy_per.start_date >= '||l_start_date||' )
166: per.sequence sequence,
167: '||l_col_select||l_prior_column||'
168: FROM '||l_per_from||' per,
169: FII_AR_NET_REC'||fii_ar_util_pkg.g_cust_suffix ||'_mv'|| fii_ar_util_pkg.g_curr_suffix ||' f,
170: ( SELECT /*+ no_merge leading(gt) cardinality(gt 1)*/ * FROM fii_time_structures cal, '||fii_ar_util_pkg.get_from_statement||' gt
171: WHERE report_date in
172: (SELECT end_date from '||l_per_from||' cy_per WHERE cy_per.start_date < '||l_end_date||'
173: AND cy_per.start_date >= '||l_start_date||' )
174: AND bitand(cal.record_type_id, :BITAND) = :BITAND
171: WHERE report_date in
172: (SELECT end_date from '||l_per_from||' cy_per WHERE cy_per.start_date < '||l_end_date||'
173: AND cy_per.start_date >= '||l_start_date||' )
174: AND bitand(cal.record_type_id, :BITAND) = :BITAND
175: AND '||fii_ar_util_pkg.get_where_statement||') time
176: WHERE f.time_id = time.time_id
177: AND f.period_type_id = time.period_type_id
178: AND f.org_id = time.org_id
179: AND '||fii_ar_util_pkg.get_mv_where_statement||' '||l_party_where||l_collector_where||l_industry_where||'
175: AND '||fii_ar_util_pkg.get_where_statement||') time
176: WHERE f.time_id = time.time_id
177: AND f.period_type_id = time.period_type_id
178: AND f.org_id = time.org_id
179: AND '||fii_ar_util_pkg.get_mv_where_statement||' '||l_party_where||l_collector_where||l_industry_where||'
180: AND per.end_date = time.report_date
181: GROUP BY report_date, per.sequence, f.header_filter_date
182: '||l_select_curr_end_prd||'
183: ) inline_view
188: ORDER BY cy_per.start_date
189: ';
190:
191:
192: fii_ar_util_pkg.bind_variable(l_select, p_page_parameter_tbl, open_rec_sql, open_rec_output);
193:
194:
195: END get_rec_activity_trend;
196:
198: FUNCTION get_label RETURN VARCHAR2 IS
199: stmt VARCHAR2(240);
200: BEGIN
201:
202: CASE fii_ar_util_pkg.g_page_period_type
203: WHEN 'FII_TIME_WEEK' THEN
204: stmt:= FND_MESSAGE.GET_STRING('FII','FII_AR_DBI_WEEK');
205: WHEN 'FII_TIME_ENT_PERIOD' THEN
206: stmt:= FND_MESSAGE.GET_STRING('FII','FII_AR_DBI_MONTH');