CREATE OR REPLACE FUNCTION FILIAIS_DO_PRODUTO
(
P_CDPRODUTO IN VARCHAR2
) RETURN VARCHAR2
AS
V_RETORNO VARCHAR2(4000);
BEGIN
   FOR C_FILIAL IN
   (
   SELECT DISTINCT CDFILIAL
     FROM PRODFILI
    WHERE CDPRODUTO = P_CDPRODUTO
      AND IDPRODATIV = 'A'
    ORDER BY CDFILIAL
   ) LOOP
      V_RETORNO := V_RETORNO || C_FILIAL.CDFILIAL || '-';
   END LOOP;
   V_RETORNO := SUBSTR(V_RETORNO,1,LENGTH(V_RETORNO) -1);
   RETURN V_RETORNO;
END;
/