return: SETOF record
lang: plpgsql
parameters:
  p0:
    type: bigint
    name: i_rapport_id
  p1:
    type: text
    name: type_comp
  p2:
    type: text
    name: mode_comp
src: |
  DECLARE	
  	
  	_maxind integer;
  	row  RECORD;
  	
  BEGIN
  	
  	-- Valeurs de type_comp
  	-- -1 : Pas de comparaison
  	-- 2  : Comparaison avec année précédente
  	-- 3  : Comparaison avec deux années précédentes
  	-- 4  : Comparaison avec trois années précédentes
  	-- S  : Comparaison avec une période donnéeach
  	
  	-- Valeurs de mode_comp
  	-- PREC  : Comparaison avec l'année directement précédente
  	-- FIRST : Comparaison avec la première période (la plus ancienne)
  	-- LAST  : Comparaison avec la dernière période (la plus récente)
  	
  	-- Valeurs du quatrième paramètre (i_array_index) de la fonction activite.cti_prepare_rapport_calc_indicator(text, text, integer, integer, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint) :
  	-- 0 : valeur pour l'année n
  	-- 1 : valeur pour l'année n-1
  	-- 2 : valeur pour l'année n-2
  	-- 3 : valeur pour l'année n-3
  	-- 4 : valeur du dernier mois de l'année n
  	-- 5 : valeur du dernier mois de l'année n-1
  	-- 6 : valeur du dernier mois de l'année n-2
  	-- 7 : valeur du dernier mois de l'année n-3
  	
  	-- _maxind représente le plus grand identifiant des indicateurs présents dans le rapport dont l'id est passé en paramètre de la fonction
  	_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, 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 ) || ', ' ||
  			
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp <> '-1' THEN 
  					'((' || 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 ) || ')) '
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '2' OR type_comp = 'S' THEN 
  							'((' || 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 ) || ')) '
  						WHEN type_comp = '3' THEN 
  							'((' || 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, 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 ) || ')) '
  						WHEN type_comp = '4' THEN 
  							'((' || 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, 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 ) || ')) '
  						ELSE '0::integer' END 
  				ELSE '0::integer' END || ', ' ||
  				
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp <> '-1' THEN 
  					'CASE WHEN ' || 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 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, 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'
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '2' OR type_comp = 'S' THEN 
  							'CASE WHEN ' || 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 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, 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'
  						WHEN type_comp = '3' THEN 
  							'CASE WHEN ' || 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 AND ' ||
  							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 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, 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'
  						WHEN type_comp = '4' THEN 
  							'CASE WHEN ' || 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 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, 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, 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 ) ||
  							')) * 100 ELSE 0 END'
  						ELSE '0::integer' END 
  				ELSE '0::integer' END || ', ' ||
  			
  			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 mode_comp = 'PREC' AND type_comp IN ('3', '4') THEN 
  					'((' || 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 ) || ')) '
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '3' THEN 
  							'((' || 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 ) || ')) '
  						WHEN type_comp = '4' THEN 
  							'((' || 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, 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 ) || ')) '
  						ELSE '0::integer' END 
  				WHEN mode_comp = 'LAST' AND type_comp <> '-1' THEN 
  					'((' || 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  				
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp IN ('3', '4') THEN 
  					'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, 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 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'
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '3' THEN 
  							'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, 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 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'
  						WHEN type_comp = '4' THEN 
  							'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, 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, 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, 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 ) ||
  							')) * 100 ELSE 0 END'
  						ELSE '0::integer' END 
  				WHEN mode_comp = 'LAST' AND type_comp <> '-1' THEN 
  					'CASE WHEN ' || 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 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, 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'
  				ELSE '0::integer' END || ', ' ||
  				
  			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 (mode_comp = 'PREC' OR mode_comp = 'FIRST') AND type_comp = '4' THEN 
  					'((' || 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, 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 ) || ')) '
  				WHEN mode_comp = 'LAST' AND type_comp IN ('3', '4') THEN 
  					'((' || 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, 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  			CASE 
  				WHEN (mode_comp = 'PREC' OR mode_comp = 'FIRST') AND type_comp = '4' THEN 
  					'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, 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, 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, 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 ) ||
  					')) * 100 ELSE 0 END'
  				WHEN mode_comp = 'LAST' AND type_comp IN ('3', '4') THEN 
  					'CASE WHEN ' || 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 AND ' ||
  					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 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, 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'
  				ELSE '0::integer' 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 ) || ', ' ||
  			
  			CASE 
  				WHEN mode_comp = 'LAST' AND type_comp = '4' THEN 
  					'((' || 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, 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  			CASE 
  				WHEN mode_comp = 'LAST' AND type_comp = '4' THEN 
  					'CASE WHEN ' || 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 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, 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, 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 ) ||
  					')) * 100 ELSE 0 END'
  				ELSE '0::integer' END || ', ' ||
  				
  			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 mode_comp = 'PREC' AND type_comp <> '-1' THEN 
  					'((' || 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 ) || ')) '
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '2' OR type_comp = 'S' THEN 
  							'((' || 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 ) || ')) '
  						WHEN type_comp = '3' THEN 
  							'((' || 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, 6, 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 ) || ')) '
  						WHEN type_comp = '4' THEN 
  							'((' || 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, 7, 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 ) || ')) '
  						ELSE '0::integer' END 
  				ELSE '0::integer' END || ', ' ||
  				
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp <> '-1' THEN 
  					'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, 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 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'
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '2' OR type_comp = 'S' THEN 
  							'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, 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 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'
  						WHEN type_comp = '3' THEN 
  							'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, 6, 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, 6, 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, 6, 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'
  						WHEN type_comp = '4' THEN 
  							'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, 7, 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, 7, 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, 7, 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'
  						ELSE '0::integer' END 
  				ELSE '0::integer' 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 ) || ', ' ||
  			
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp IN ('3', '4') THEN 
  					'((' || 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, 6, 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 ) || ')) '
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '3' THEN 
  							'((' || 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, 6, 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 ) || ')) '
  						WHEN type_comp = '4' THEN 
  							'((' || 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, 7, 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 ) || ')) '
  						ELSE '0::integer' END 
  				WHEN mode_comp = 'LAST' AND type_comp <> '-1' THEN 
  					'((' || 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  				
  			CASE 
  				WHEN mode_comp = 'PREC' AND type_comp IN ('3', '4') THEN 
  					'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, 6, 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, 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, 6, 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, 6, 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'
  				WHEN mode_comp = 'FIRST' THEN 
  					CASE 
  						WHEN type_comp = '3' THEN 
  							'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, 6, 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, 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, 6, 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, 6, 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'
  						WHEN type_comp = '4' THEN 
  							'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, 7, 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, 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, 7, 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, 7, 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'
  						ELSE '0::integer' END 
  				WHEN mode_comp = 'LAST' AND type_comp <> '-1' THEN 
  					'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, 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 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'
  				ELSE '0::integer' END || ', ' ||
  				
  			activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 6, 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 (mode_comp = 'PREC' OR mode_comp = 'FIRST') AND type_comp = '4' THEN 
  					'((' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 6, 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, 7, 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 ) || ')) '
  				WHEN mode_comp = 'LAST' AND type_comp IN ('3', '4') THEN 
  					'((' || 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, 6, 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  			CASE 
  				WHEN (mode_comp = 'PREC' OR mode_comp = 'FIRST') AND type_comp = '4' THEN 
  					'CASE WHEN ' || activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 6, 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, 7, 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, 6, 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, 7, 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, 7, 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'
  				WHEN mode_comp = 'LAST' AND type_comp IN ('3', '4') THEN 
  					'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, 6, 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, 6, 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, 6, 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'
  				ELSE '0::integer' END || ', ' ||
  			activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 7, 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 mode_comp = 'LAST' AND type_comp = '4' THEN 
  					'((' || 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, 7, 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 ) || ')) '
  				ELSE '0::integer' END || ', ' ||
  			CASE 
  				WHEN mode_comp = 'LAST' AND type_comp = '4' THEN 
  					'CASE WHEN ' || 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 AND ' ||
  					activite.cti_prepare_rapport_calc_indicator(column_name, table_name, _maxind, 7, 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, 7, 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, 7, 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'
  				ELSE '0::integer' 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;