CREATE OR REPLACE FUNCTION fn_fco_valida_nombre(pvc_nombre varchar2)
RETURN varchar2
AS
    vvc_limpio varchar(30);
    i number(2);
    vch_car char(1);
BEGIN
    vvc_limpio := Translate(pvc_nombre, 'ρΡαΑιΙνΝσΣϊΪ-*/', 'nNaAeEiIoOuU   ');

    i := 1;
    WHILE i <= LENGTH(vvc_limpio) LOOP
        vch_car := SUBSTR(vvc_limpio, i, 1);

        IF vch_car < 'A' OR vch_car > 'z' THEN
            vvc_limpio := REPLACE(vvc_limpio, vch_car, ' ');
        END IF;
        
        i := i + 1;
    END LOOP;

    vvc_limpio := Replace(vvc_limpio, '  ', ' ');
    
    RETURN ltrim(rtrim(vvc_limpio));
END;
/
