return: text
lang: plpgsql
parameters:
  p0:
    type: integer
    name: i_rapport_id
strict: STRICT
src: |
  DECLARE 
  	rapport_columns TEXT;
  	rapports_cursor refcursor;
  	numero_rubrique INTEGER;
  	column_name TEXT;
  	table_name TEXT;
  	total_function TEXT;
  	liste_code_start integer;
  	to_column_name TEXT;
  	
  	champ_calcule TEXT;
  	i  int2;
  	ch TEXT;
  	last_rubrique INTEGER;
  BEGIN
  	rapport_columns = '';
  	last_rubrique = 0;
  	OPEN rapports_cursor FOR 
  	SELECT  t_rapports_rubriques.numero_rubrique, 
  		compta.get_formule_indicateur(t_indicateurs.oid, 1) 
          FROM  compta.t_rapports_rubriques, compta.t_indicateurs 
          WHERE   rapport_id = i_rapport_id AND indicateur_id = t_indicateurs.oid ORDER BY t_rapports_rubriques.numero_rubrique;
  	FETCH rapports_cursor INTO numero_rubrique, column_name ;
  	WHILE FOUND LOOP
  		last_rubrique = last_rubrique + 1;
  		FOR i IN last_rubrique..numero_rubrique - 1 LOOP
  			rapport_columns = rapport_columns || ', 0 ' ;	
  			last_rubrique = last_rubrique + 1;
  		END LOOP;
  		IF (rapport_columns != '') THEN
  			rapport_columns = rapport_columns || ', ';
  		END IF;
  		rapport_columns = rapport_columns || column_name;
  		
  		FETCH rapports_cursor INTO numero_rubrique, column_name ;
  	END LOOP;
  	CLOSE rapports_cursor;
  	rapport_columns = 'ARRAY[' || rapport_columns || ']::text[] as indicateurs ' ;
          RETURN rapport_columns ;
  END;