CREATE OR REPLACE FUNCTION BUSCA_APRESENTACAO_PROD(P_CDPRODUTO IN PRODUTO.CDPRODUTO%TYPE) RETURN VARCHAR2
AS
   V_APRESENTACAO VARCHAR2(4000);
BEGIN
   V_APRESENTACAO := '';

   FOR C_APRESENTACAO IN(SELECT AR.NMAPRERECE
                           FROM APRERECE AR, APREPROD AP
                          WHERE AR.CDAPRERECE = AP.CDAPRERECE
                            AND CDPRODUTO     = P_CDPRODUTO
                           ORDER BY AP.CDAPRERECE)
   LOOP
      IF NOT (V_APRESENTACAO IS NULL) THEN
         V_APRESENTACAO := V_APRESENTACAO || ',' ||C_APRESENTACAO.NMAPRERECE;
      ELSE
         V_APRESENTACAO := C_APRESENTACAO.NMAPRERECE;
      END IF;
      
      V_APRESENTACAO := REPLACE(TRIM(V_APRESENTACAO), ',',CHR(13));    

   END LOOP;

   RETURN V_APRESENTACAO;
END;
/