return: text lang: plpgsql parameters: p0: type: text name: i_column_name src: | DECLARE to_column_name text; listeString text; listeCode text; d int; f int; l int; BEGIN to_column_name = i_column_name; d = strpos(to_column_name,'[LISTE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 8, length(listeString) - 8); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); END IF; END IF; d = strpos(to_column_name,'[LISTE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 8, length(listeString) - 8); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); END IF; END IF; d = strpos(to_column_name,'[LISTE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 8, length(listeString) - 8); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); END IF; END IF; d = strpos(to_column_name,'[CLASSE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 9, length(listeString) - 9); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); END IF; END IF; d = strpos(to_column_name,'[CLASSE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 9, length(listeString) - 9); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); END IF; END IF; d = strpos(to_column_name,'[CLASSE:'); IF (d > 0) THEN f = strpos(to_column_name,']'); IF (f > 0) THEN l = f - d + 1; listeString = substr(to_column_name, d, l); listeCode = substr(listeString, 9, length(listeString) - 9); to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); END IF; END IF; RETURN to_column_name; END;