Definición:
Un rango de números es un grupo de números al que pertenece el identificador único creado para un objeto SAP.
¿Por qué necesitamos rangos de números?
Cada vez que se inserta un nuevo registro en la tabla o para identificar el registro de forma única o simplemente para dar un número ordenado, usamos rangos de números. Los rangos de números no son solo valores "MAX + 1" insertados en cada nuevo registro, son objetos que se crean utilizando un nombre, longitud, valor mínimo, valor máximo, etc. Hay muchas opciones en los rangos de números, como establecer una advertencia después de cierto límite, restablecer el rango de números después del valor máximo/cada año, crear subobjetos para los rangos de números, etc.
ERP VS NUBE:
En SAP ERP, los rangos de números podrían crearse y mantenerse yendo a la transacción
SNRO
(Una forma sencilla de recordar es
SAP N
úmero
R
ango
O
bjeto).
Pero en la Plataforma SAP Cloud,
Primero debemos crear nuestro objeto de rango de números usando:
cl_numberrange_objects=>create().
Luego debemos crear un intervalo para el objeto de rango de números usando: cl_numberrange_intervals=>create().
Luego debemos usar el objeto de rango de números para generar un nuevo número usando:
cl_numberrange_runtime=>number_get().
Y asignarlo a una variable local para su uso.
Creando Objetos de Rango de Números / Intervalos:
Crear una clase que implemente la interfaz: f_oo_adt_classrun y seguir el código:
...
Activar y ejecutar la clase una vez, después de la ejecución exitosa, nuestro objeto de rango de números se creará en el sistema para su uso.
Usando Objetos de Rango de Números:
Llamar al objeto de rango de números para generar un nuevo número usando el intervalo, cada vez que se crea un número, se guardará en el búfer y la próxima vez que llamemos al método, se generará el siguiente número usando el intervalo.
...
Utilice cl_numberrange_runtime=>number_get para generar un nuevo número siempre que sea necesario, este método se puede usar en cualquier clase (incluidas las implementaciones de comportamiento y entidades personalizadas) o funciones.
NB:
Los contenidos en el blog se basan puramente en mis experiencias y soluciones, asegúrese de señalar errores a través de comentarios.