Hola, bueno ese error es clasico dentro de los JOB's puesto que los JOB's sirven para procesar programas que generalmente procesan informacion mas no lo muestran como el caso del ALV, cuando se topa con el REUSE_ALV_GRID_DISPLAY o algo parecido aparecera ese error, en el cliente donde laboro corren los JOB's y usualmente para no mostrar el ALV envian un correo con la data procesada ... puedes controlar un programa si se encuentra en JOB con la siguiente variable del sistema
sy-batch = space -> Vacio significa que se encuentra en dialogo
sy-batch = 'X' -> Significa que el programa se esta procesando por JOB
Espero te pueda ayudar