SELECT @SELECT:DIM:USER_DEF:IMPLIED:COUTS_PROJET:rownum:id@, @SELECT:DIM_PROP:USER_DEF:IMPLIED:COUTS_PROJET:request."Mois":mois@, @SELECT:METRIC:USER_DEF:IMPLIED:request."FC":fc:AGG@, @SELECT:METRIC:USER_DEF:IMPLIED:request."CFC":cfc:AGG@, @SELECT:METRIC:USER_DEF:IMPLIED:request."BC":bc:AGG@, @SELECT:METRIC:USER_DEF:IMPLIED:request."CBC":cbc:AGG@ FROM ( obs_project AS ( SELECT ouf.linked_unit_id AS unit_code, poa.record_id AS project_id FROM clarity.obs_units_flat_by_mode ouf, clarity.prj_obs_units pou, clarity.prj_obs_types pot, clarity.prj_obs_associations poa WHERE ouf.unit_mode = 'OBS_UNIT_AND_CHILDREN' AND ouf.unit_id = @WHERE:PARAM:USER_DEF:INTEGER:OBS@ AND ouf.linked_unit_id = pou.id AND poa.unit_id = pou.id AND pou.type_id = pot.id AND poa.table_name = 'SRM_PROJECTS' AND pot.unique_name = 'x_obs_hierarchique' ), project_of_program AS ( SELECT h.child_id AS project_id FROM clarity.inv_hierarchies h WHERE h.parent_id = @WHERE:PARAM:USER_DEF:INTEGER:PROGRAM_ID@ ), selected_projects AS ( SELECT p.id, p.name FROM clarity.srm_projects p WHERE ( @WHERE:PARAM:USER_DEF:INTEGER:PROGRAM_ID@ is not NULL OR @WHERE:PARAM:USER_DEF:INTEGER:OBS@ is not NULL OR @WHERE:PARAM:USER_DEF:INTEGER:PROJECT_ID@ is not NULL ) AND ( @WHERE:PARAM:USER_DEF:INTEGER:PROGRAM_ID@ is NULL OR ( @WHERE:PARAM:USER_DEF:INTEGER:PROGRAM_ID@ is not NULL AND EXISTS ( SELECT pop.project_id FROM project_of_program pop WHERE pop.project_id = p.id ) ) ) AND ( @WHERE:PARAM:USER_DEF:INTEGER:OBS@ IS NULL OR ( @WHERE:PARAM:USER_DEF:INTEGER:OBS@ IS not NULL AND EXISTS ( SELECT obs.project_id FROM obs_project obs WHERE obs.project_id = p.id ) ) ) AND ( @WHERE:PARAM:USER_DEF:INTEGER:PROJECT_ID@ is NULL OR ( @WHERE:PARAM:USER_DEF:INTEGER:PROJECT_ID@ is not NULL AND p.id = @WHERE:PARAM:USER_DEF:INTEGER:PROJECT_ID@ ) ) ), actual_costs AS ( SELECT SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'01' THEN pwv.totalamount END) AS "01", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'02' THEN pwv.totalamount END) AS "02", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'03' THEN pwv.totalamount END) AS "03", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'04' THEN pwv.totalamount END) AS "04", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'05' THEN pwv.totalamount END) AS "05", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'06' THEN pwv.totalamount END) AS "06", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'07' THEN pwv.totalamount END) AS "07", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'08' THEN pwv.totalamount END) AS "08", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'09' THEN pwv.totalamount END) AS "09", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'10' THEN pwv.totalamount END) AS "10", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'11' THEN pwv.totalamount END) AS "11", SUM(CASE WHEN TO_CHAR(pw.transdate, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'12' THEN pwv.totalamount END) AS "12" FROM selected_projects p, clarity.ppa_wip pw, clarity.ppa_wip_values pwv WHERE pw.status = 0 AND pw.investment_id = p.id AND pwv.transno = pw.transno AND pwv.currency_type = 'EURO' AND pw.transtype = 'L' AND TO_CHAR(pw.transdate, 'YYYY') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@ AND SUBSTR(pw.resource_class,1,3) <> 'INT' ), forecast_costs AS ( SELECT SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'01' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "01", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'02' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "02", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'03' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "03", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'04' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "04", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'05' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "05", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'06' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "06", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'07' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "07", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'08' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "08", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'09' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "09", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'10' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "10", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'11' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "11", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'12' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "12" FROM selected_projects p, clarity.fin_plans fp, clarity.fin_cost_plan_details fpd, clarity.odf_ssl_cst_dtl_cost cpu WHERE fp.object_id = p.id AND fp.object_code = 'project' AND fp.is_plan_of_record = 1 AND fp.plan_type_code = 'FORECAST' AND fp.id = fpd.plan_id AND fpd.id = cpu.prj_object_id AND TO_CHAR(cpu.start_date, 'YYYY') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@ ), ajusted_forecast_costs AS ( SELECT (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'01' THEN ac."01" ELSE fc."01" END) as "01", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'02' THEN ac."02" ELSE fc."02" END) as "02", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'03' THEN ac."03" ELSE fc."03" END) as "03", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'04' THEN ac."04" ELSE fc."04" END) as "04", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'05' THEN ac."05" ELSE fc."05" END) as "05", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'06' THEN ac."06" ELSE fc."06" END) as "06", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'07' THEN ac."07" ELSE fc."07" END) as "07", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'08' THEN ac."08" ELSE fc."08" END) as "08", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'09' THEN ac."09" ELSE fc."09" END) as "09", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'10' THEN ac."10" ELSE fc."10" END) as "10", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'11' THEN ac."11" ELSE fc."11" END) as "11", (CASE WHEN TO_CHAR(SYSDATE, 'YYYYMM') > @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'12' THEN ac."12" ELSE fc."12" END) as "12" FROM actual_costs ac, forecast_costs fc ), budget_costs AS ( SELECT SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'01' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "01", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'02' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "02", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'03' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "03", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'04' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "04", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'05' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "05", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'06' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "06", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'07' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "07", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'08' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "08", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'09' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "09", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'10' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "10", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'11' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "11", SUM(CASE WHEN TO_CHAR(cpu.start_date, 'YYYYMM') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@||'12' THEN ROUND(cpu.slice*(1+trunc(last_day(cpu.start_date))-trunc(cpu.start_date,'MM')),2) END) AS "12" FROM selected_projects p, clarity.fin_plans fp, clarity.fin_cost_plan_details fpd, clarity.odf_ssl_cst_dtl_cost cpu WHERE fp.object_id = p.id AND fp.object_code = 'project' AND fp.object_code = 'project' AND fp.is_plan_of_record = 1 AND fp.plan_type_code = 'BUDGET' AND fp.id = fpd.plan_id AND fpd.id = cpu.prj_object_id AND TO_CHAR(cpu.start_date, 'YYYY') = @WHERE:PARAM:USER_DEF:STRING:DATE_YEAR@ ), selected_data AS ( SELECT fc."01" as "01 FC", fc."02" as "02 FC", fc."03" as "03 FC", fc."04" as "04 FC", fc."05" as "05 FC", fc."06" as "06 FC", fc."07" as "07 FC", fc."08" as "08 FC", fc."09" as "09 FC", fc."10" as "10 FC", fc."11" as "11 FC", fc."12" as "12 FC", NVL(fc."01",0) as "01 CFC", NVL(fc."01",0) + NVL(fc."02",0) as "02 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) as "03 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) as "04 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) as "05 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) as "06 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) as "07 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) + NVL(fc."08",0) as "08 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) + NVL(fc."08",0) + NVL(fc."09",0) as "09 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) + NVL(fc."08",0) + NVL(fc."09",0) + NVL(fc."10",0) as "10 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) + NVL(fc."08",0) + NVL(fc."09",0) + NVL(fc."10",0) + NVL(fc."11",0) as "11 CFC", NVL(fc."01",0) + NVL(fc."02",0) + NVL(fc."03",0) + NVL(fc."04",0) + NVL(fc."05",0) + NVL(fc."06",0) + NVL(fc."07",0) + NVL(fc."08",0) + NVL(fc."09",0) + NVL(fc."10",0) + NVL(fc."11",0) + NVL(fc."12",0) as "12 CFC", bc."01" as "01 BC", bc."02" as "02 BC", bc."03" as "03 BC", bc."04" as "04 BC", bc."05" as "05 BC", bc."06" as "06 BC", bc."07" as "07 BC", bc."08" as "08 BC", bc."09" as "09 BC", bc."10" as "10 BC", bc."11" as "11 BC", bc."12" as "12 BC", NVL(bc."01",0) as "01 CBC", NVL(bc."01",0) + NVL(bc."02",0) as "02 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) as "03 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) as "04 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) as "05 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) as "06 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) as "07 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) + NVL(bc."08",0) as "08 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) + NVL(bc."08",0) + NVL(bc."09",0) as "09 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) + NVL(bc."08",0) + NVL(bc."09",0) + NVL(bc."10",0) as "10 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) + NVL(bc."08",0) + NVL(bc."09",0) + NVL(bc."10",0) + NVL(bc."11",0) as "11 CBC", NVL(bc."01",0) + NVL(bc."02",0) + NVL(bc."03",0) + NVL(bc."04",0) + NVL(bc."05",0) + NVL(bc."06",0) + NVL(bc."07",0) + NVL(bc."08",0) + NVL(bc."09",0) + NVL(bc."10",0) + NVL(bc."11",0) + NVL(bc."12",0) as "12 CBC" FROM ajusted_forecast_costs fc, budget_costs bc ) ( SELECT '01' as "Mois", CASE WHEN d."01 FC" <> 0 THEN d."01 FC" ELSE NULL END as "FC", CASE WHEN d."01 CFC" <> 0 THEN d."01 CFC" ELSE NULL END as "CFC", CASE WHEN d."01 BC" <> 0 THEN d."01 BC" ELSE NULL END as "BC", CASE WHEN d."01 CBC" <> 0 THEN d."01 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '02' as "Mois", CASE WHEN d."02 FC" <> 0 THEN d."02 FC" ELSE NULL END as "FC", CASE WHEN d."02 CFC" <> 0 THEN d."02 CFC" ELSE NULL END as "CFC", CASE WHEN d."02 BC" <> 0 THEN d."02 BC" ELSE NULL END as "BC", CASE WHEN d."02 CBC" <> 0 THEN d."02 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '03' as "Mois", CASE WHEN d."03 FC" <> 0 THEN d."03 FC" ELSE NULL END as "FC", CASE WHEN d."03 CFC" <> 0 THEN d."03 CFC" ELSE NULL END as "CFC", CASE WHEN d."03 BC" <> 0 THEN d."03 BC" ELSE NULL END as "BC", CASE WHEN d."03 CBC" <> 0 THEN d."03 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '04' as "Mois", CASE WHEN d."04 FC" <> 0 THEN d."04 FC" ELSE NULL END as "FC", CASE WHEN d."04 CFC" <> 0 THEN d."04 CFC" ELSE NULL END as "CFC", CASE WHEN d."04 BC" <> 0 THEN d."04 BC" ELSE NULL END as "BC", CASE WHEN d."04 CBC" <> 0 THEN d."04 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '05' as "Mois", CASE WHEN d."05 FC" <> 0 THEN d."05 FC" ELSE NULL END as "FC", CASE WHEN d."05 CFC" <> 0 THEN d."05 CFC" ELSE NULL END as "CFC", CASE WHEN d."05 BC" <> 0 THEN d."05 BC" ELSE NULL END as "BC", CASE WHEN d."05 CBC" <> 0 THEN d."05 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '06' as "Mois", CASE WHEN d."06 FC" <> 0 THEN d."06 FC" ELSE NULL END as "FC", CASE WHEN d."06 CFC" <> 0 THEN d."06 CFC" ELSE NULL END as "CFC", CASE WHEN d."06 BC" <> 0 THEN d."06 BC" ELSE NULL END as "BC", CASE WHEN d."06 CBC" <> 0 THEN d."06 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '07' as "Mois", CASE WHEN d."07 FC" <> 0 THEN d."07 FC" ELSE NULL END as "FC", CASE WHEN d."07 CFC" <> 0 THEN d."07 CFC" ELSE NULL END as "CFC", CASE WHEN d."07 BC" <> 0 THEN d."07 BC" ELSE NULL END as "BC", CASE WHEN d."07 CBC" <> 0 THEN d."07 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '08' as "Mois", CASE WHEN d."08 FC" <> 0 THEN d."08 FC" ELSE NULL END as "FC", CASE WHEN d."08 CFC" <> 0 THEN d."08 CFC" ELSE NULL END as "CFC", CASE WHEN d."08 BC" <> 0 THEN d."08 BC" ELSE NULL END as "BC", CASE WHEN d."08 CBC" <> 0 THEN d."08 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '09' as "Mois", CASE WHEN d."09 FC" <> 0 THEN d."09 FC" ELSE NULL END as "FC", CASE WHEN d."09 CFC" <> 0 THEN d."09 CFC" ELSE NULL END as "CFC", CASE WHEN d."09 BC" <> 0 THEN d."09 BC" ELSE NULL END as "BC", CASE WHEN d."09 CBC" <> 0 THEN d."09 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '10' as "Mois", CASE WHEN d."10 FC" <> 0 THEN d."10 FC" ELSE NULL END as "FC", CASE WHEN d."10 CFC" <> 0 THEN d."10 CFC" ELSE NULL END as "CFC", CASE WHEN d."10 BC" <> 0 THEN d."10 BC" ELSE NULL END as "BC", CASE WHEN d."10 CBC" <> 0 THEN d."10 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '11' as "Mois", CASE WHEN d."11 FC" <> 0 THEN d."11 FC" ELSE NULL END as "FC", CASE WHEN d."11 CFC" <> 0 THEN d."11 CFC" ELSE NULL END as "CFC", CASE WHEN d."11 BC" <> 0 THEN d."11 BC" ELSE NULL END as "BC", CASE WHEN d."11 CBC" <> 0 THEN d."11 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) UNION ( SELECT '12' as "Mois", CASE WHEN d."12 FC" <> 0 THEN d."12 FC" ELSE NULL END as "FC", CASE WHEN d."12 CFC" <> 0 THEN d."12 CFC" ELSE NULL END as "CFC", CASE WHEN d."12 BC" <> 0 THEN d."12 BC" ELSE NULL END as "BC", CASE WHEN d."12 CBC" <> 0 THEN d."12 CBC" ELSE NULL END as "CBC" FROM selected_data d WHERE (SELECT COUNT(*) FROM selected_projects) > 0 ) ) request WHERE @FILTER@ HAVING @HAVING_FILTER@