return: SETOF record lang: plpgsql parameters: p0: type: bigint name: i_rapport_id comment: Fonction remplacée par activite.cti_prepare_rapport_comp(bigint, bigint) mais laissée pour des raisons de rétro-compatibilité src: | DECLARE sqlcmd text; temp_cursor refcursor; _oid integer; _maxind integer; row RECORD; BEGIN _maxind = activite.cti_prepare_rapport_maxoid(i_rapport_id); FOR row IN SELECT * FROM activite.cti_prepare_rapport_indicateurs(i_rapport_id, 'COMP') AS (name text, value text) UNION SELECT 'RUBRIQUES_RAPPORT', base.cti_group_concat( 'ARRAY[' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || '(' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') ' || ', ' || 'CASE WHEN ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' > 0 AND ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '> 0 THEN ' || 'base.cti_division((' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '), ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') * 100 ' || 'ELSE 0 END, ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 0, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || '(' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 0, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') ' || ', ' || 'CASE WHEN ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' > 0 AND ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 0, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '> 0 THEN ' || 'base.cti_division((' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 0, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '), ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') * 100 ' || 'ELSE 0 END , ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || '(' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') ' || ', ' || 'CASE WHEN ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' > 0 AND ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '> 0 THEN ' || 'base.cti_division((' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '), ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') * 100 ' || 'ELSE 0 END, ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ', ' || '(' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') ' || ', ' || 'CASE WHEN ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' > 0 AND ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '> 0 THEN ' || 'base.cti_division((' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ' - ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || '), ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id ) || ') * 100 ' || 'ELSE 0 END ' || ']' ) FROM (SELECT * FROM activite.t_rapports_rubriques JOIN activite.t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid WHERE rapport_id = i_rapport_id ORDER BY numero_rubrique ) subview LOOP RETURN NEXT row; END LOOP; RETURN ; END;