The following lines contain the word 'select', 'insert', 'update' or 'delete':
/* Get the parameters that the user has selected */
fii_ar_util_pkg.get_parameters(p_page_parameter_tbl);
/*This means no particular sort column is selected in the report
So sort on the default column in descending order
NVL is added to make sure the NULL values appear last*/
l_order_by := 'ORDER BY NVL(FII_AR_BILL_ACT_AMT, -999999999) DESC';
l_sql_stmt := l_sql_stmt || 'SELECT VIEWBY,
VIEW_BY_ID VIEWBYID,
NULLIF(SUM(FII_AR_BILL_ACT_AMT),0) FII_AR_BILL_ACT_AMT,
NULLIF(SUM(FII_AR_BILL_ACT_COUNT),0) FII_AR_BILL_ACT_COUNT,
NULLIF(SUM(FII_AR_BA_INV_AMT),0) FII_AR_BA_INV_AMT,
NULLIF(SUM(FII_AR_BA_INV_COUNT),0) FII_AR_BA_INV_COUNT,
NULLIF(SUM(FII_AR_BA_DM_AMT),0) FII_AR_BA_DM_AMT,
NULLIF(SUM(FII_AR_BA_DM_COUNT),0) FII_AR_BA_DM_COUNT,
NULLIF(SUM(FII_AR_BA_CB_AMT),0) FII_AR_BA_CB_AMT,
NULLIF(SUM(FII_AR_BA_CB_COUNT),0) FII_AR_BA_CB_COUNT,
NULLIF(SUM(FII_AR_BA_BR_AMT),0) FII_AR_BA_BR_AMT,
NULLIF(SUM(FII_AR_BA_BR_COUNT),0) FII_AR_BA_BR_COUNT,
NULLIF(SUM(FII_AR_BA_DEP_AMT),0) FII_AR_BA_DEP_AMT,
NULLIF(SUM(FII_AR_BA_DEP_COUNT),0) FII_AR_BA_DEP_COUNT,
NULLIF(SUM(FII_AR_BA_CM_AMT),0) FII_AR_BA_CM_AMT,
NULLIF(SUM(FII_AR_BA_CM_COUNT),0) FII_AR_BA_CM_COUNT,
NULLIF(SUM(SUM(FII_AR_BILL_ACT_AMT)) over(),0) FII_AR_GT_BILL_ACT_AMT ,
NULLIF(SUM(SUM(FII_AR_BILL_ACT_COUNT)) over(),0) FII_AR_GT_BILL_ACT_COUNT ,
NULLIF(SUM(SUM(FII_AR_BA_INV_AMT)) over(),0) FII_AR_GT_BA_INV_AMT,
NULLIF(SUM(SUM(FII_AR_BA_INV_COUNT)) over(),0) FII_AR_GT_BA_INV_COUNT,
NULLIF(SUM(SUM(FII_AR_BA_DM_AMT)) over(),0) FII_AR_GT_BA_DM_AMT,
NULLIF(SUM(SUM(FII_AR_BA_DM_COUNT)) over(),0) FII_AR_GT_BA_DM_COUNT,
NULLIF(SUM(SUM(FII_AR_BA_CB_AMT)) over(),0) FII_AR_GT_BA_CB_AMT,
NULLIF(SUM(SUM(FII_AR_BA_CB_COUNT)) over(),0) FII_AR_GT_BA_CB_COUNT,
NULLIF(SUM(SUM(FII_AR_BA_BR_AMT)) over(),0) FII_AR_GT_BA_BR_AMT,
NULLIF(SUM(SUM(FII_AR_BA_BR_COUNT)) over(),0) FII_AR_GT_BA_BR_COUNT,
NULLIF(SUM(SUM(FII_AR_BA_DEP_AMT)) over(),0) FII_AR_GT_BA_DEP_AMT,
NULLIF(SUM(SUM(FII_AR_BA_DEP_COUNT)) over(),0) FII_AR_GT_BA_DEP_COUNT,
NULLIF(SUM(SUM(FII_AR_BA_CM_AMT)) over(),0) FII_AR_GT_BA_CM_AMT,
NULLIF(SUM(SUM(FII_AR_BA_CM_COUNT)) over(),0) FII_AR_GT_BA_CM_COUNT,
NULLIF(SUM(FII_AR_BA_INV_AMT),0) FII_AR_G_BA_INV_AMT,
NULLIF(SUM(FII_AR_BA_DM_AMT),0) FII_AR_G_BA_DM_AMT,
NULLIF(SUM(FII_AR_BA_CB_AMT),0) FII_AR_G_BA_CB_AMT,
NULLIF(SUM(FII_AR_BA_BR_AMT),0) FII_AR_G_BA_BR_AMT,
NULLIF(SUM(FII_AR_BA_DEP_AMT),0) FII_AR_G_BA_DEP_AMT,
NULLIF(SUM(FII_AR_BA_CM_AMT),0) FII_AR_G_BA_CM_AMT,
NULLIF(SUM(FII_AR_BA_INV_COUNT),0) FII_AR_G_BA_INV_COUNT,
NULLIF(SUM(FII_AR_BA_DM_COUNT),0) FII_AR_G_BA_DM_COUNT,
NULLIF(SUM(FII_AR_BA_CB_COUNT),0) FII_AR_G_BA_CB_COUNT,
NULLIF(SUM(FII_AR_BA_BR_COUNT),0) FII_AR_G_BA_BR_COUNT,
NULLIF(SUM(FII_AR_BA_DEP_COUNT),0) FII_AR_G_BA_DEP_COUNT,
NULLIF(SUM(FII_AR_BA_CM_COUNT),0) FII_AR_G_BA_CM_COUNT, ';
l_sql_stmt := l_sql_stmt || ' FROM ( SELECT f.inv_ba_amount+f.dm_ba_amount+f.cb_ba_amount
+f.br_ba_amount+f.dep_ba_amount + f.cm_ba_amount FII_AR_BILL_ACT_AMT,
f.inv_ba_count+f.dm_ba_count+f.cb_ba_count
+f.br_ba_count+f.dep_ba_count + f.cm_ba_count FII_AR_BILL_ACT_COUNT,
f.inv_ba_amount FII_AR_BA_INV_AMT,
f.inv_ba_count FII_AR_BA_INV_COUNT,
f.dm_ba_amount FII_AR_BA_DM_AMT,
f.dm_ba_count FII_AR_BA_DM_COUNT,
f.cb_ba_amount FII_AR_BA_CB_AMT,
f.cb_ba_count FII_AR_BA_CB_COUNT,
f.br_ba_amount FII_AR_BA_BR_AMT,
f.br_ba_count FII_AR_BA_BR_COUNT,
f.dep_ba_amount FII_AR_BA_DEP_AMT,
f.dep_ba_count FII_AR_BA_DEP_COUNT,
f.cm_ba_amount FII_AR_BA_CM_AMT,
f.cm_ba_count FII_AR_BA_CM_COUNT,
gt.viewby viewby,
gt.viewby_code VIEW_BY_ID';
(select /*+ no_merge '||l_gt_hint|| ' */ * from fii_time_structures cal, '||l_inner_from_clause||' t
where cal.report_date = :ASOF_DATE
and BITAND(cal.record_type_id,:BITAND)= :BITAND '||l_inner_where_clause ||' ) gt
where f.time_id = gt.time_id
and gt.period_type_id=f.period_type_id
'|| l_where_clause||') GROUP BY viewby,view_by_id ';