Muchas gracias BALLAN por tu ayuda. He probado la funcion NUMBER_GET_NEXT y todo va bien.
Voy a contar un poco lo que he hecho y asi puede que le sirva a otros.
1.- Creas un RANGE en la SNRO.
2.- Le defines un intervalo a este rango (del 0 a 9999999 por ejemplo).
3.- En tu report haces una llamada a la funcion NUMBER_GET_NEXT tal que asi:
DATA: numero TYPE i.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '1'
object = 'RANGO_CREADO'
QUANTITY = 1
IMPORTING
NUMBER = numero
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8.
Automaticamente te devuelve en NUMERO el siguiente valor del rango. Asi que ya tienes creado tu valor autonumerico.
GRACIAS A TODOS y en especial a ti BALLAN.