¿El error que da es "multiple rows in singleton select"?
Si es así, el error se produce por que el siguiente select
Código SQL
[-]select key_hijo from tabla where nomtabla ='REPOR'
and key_padre is null
and key_empresa=:key_empresa
devuelve más de un registro para algún valor.
Prueba a poner un "in" en lugar de un "=":
Código SQL
[-]FOR select descripcion,valor1,valor2 from tabla
where key_padre IN
(select key_hijo from tabla where nomtabla ='REPOR'
and key_padre is null
and key_empresa=:key_empresa) Into :dato,:valor1,:valor2 DO