Ir al contenido principal

Intervalos de numeración en dab Nexus

Descripción general​

Los intervalos de numeración de SAP definen los rangos de los que se asignan identificadores a objetos de negocio y documentos.

En dab Nexus, Real-Time Objects Monitor el nivel actual de los intervalos configurados de numeración SAP para detectar los números de documento asignados recientemente. Para cada intervalo relevante, Nexus lee el contador actual NRLEVEL desde SAP y lo compara con el valor de la ejecución anterior.

Si el contador ha aumentado, Nexus determina los números asignados recientemente entre los valores anterior y actual del contador y los escribe en el repositorio de destino configurado. Las tablas que dependen de este repositorio pueden entonces utilizar estos números de documento para cargar los registros correspondientes.

El contexto del intervalo de numeración puede incluir:

  • Objeto de intervalo de numeración
  • Número de intervalo de numeración
  • Subobjeto, si aplica
  • Ejercicio fiscal, si aplica

Las dimensiones requeridas dependen del objeto de intervalo de numeración SAP y su configuración.

1. Estructura del intervalo de numeración​

Un objeto de intervalo de numeración puede contener uno o varios intervalos. Cada intervalo define el rango del que SAP puede asignar números.

Un contexto de intervalo de numeración se puede representar como:

Number Range Object + Number Range Number + Subobject (if applicable) + Fiscal Year (if applicable) = Unique Number Range Context

Por ejemplo, un intervalo de documentos contables FI puede identificarse mediante:

Number Range Object: RF_BELEG
Number Range Number: 18
Subobject: 1000
Fiscal Year: 2026

2. El número de intervalo no es un prefijo de número de documento​

El número de intervalo de numeración identifica un intervalo de numeración SAP. No representa los dígitos iniciales de los números de documento asignados en ese intervalo.

Por ejemplo, el objeto de intervalo de numeración SAP KONV puede contener los siguientes intervalos:

Number Range Number From To
01 0000000001 0999999999
02 1000000000 1999999999

Aquí, 01 y 02 son los identificadores de los intervalos de numeración. Los valores reales que pertenecen a cada intervalo se determinan por sus límites From y To.

Por ejemplo:

0000197101

pertenece al intervalo 01 porque se ubica entre:

0000000001 ≤ 0000197101 ≤ 0999999999

Por tanto, el número de intervalo de numeración 01 no es, en sí mismo, un prefijo que Nexus espera encontrar en el número de documento.

Nota: Nexus asigna un número de documento a un intervalo en función de los límites del intervalo en SAP (From/To), no según sus primeros dígitos.

3. Contexto de intervalo de numeración en Nexus​

Nexus considera todas las dimensiones de intervalos de numeración asignadas en la dependencia del repositorio.

Según el objeto de intervalo de numeración, puede ser relevante la siguiente información:

DependenciaDescripciónEjemplo
NumbersNúmero de intervalo de numeración18
SubobjectSeparación adicional del intervalo de numeraciónSociedad 1000
Fiscal YearContexto de intervalo de numeración dependiente del ejercicio fiscal2026

Por ejemplo, el contexto completo para RF_BELEG puede ser:

RF_BELEG
+ Number Range Number
+ Company Code as Subobject
+ Fiscal Year

Si Subobject o Fiscal Year están asignados en la dependencia del repositorio, Nexus debe incluir estos valores al resolver el intervalo correspondiente.

En esos casos, el número de intervalo de numeración no es suficiente por sí solo. No todos los objetos de intervalo de numeración requieren las tres dimensiones. El contexto requerido depende del objeto de intervalo de numeración SAP y su configuración.

Ejemplo: RF_BELEG​

RF_BELEG es el objeto de intervalo de numeración SAP para documentos contables FI.

Para RF_BELEG, el subobjeto representa la sociedad y el intervalo puede ser, además, dependiente del ejercicio fiscal. El número de intervalo de numeración 18 no es el número de documento contable.

En su lugar, 18 identifica el intervalo SAP del que se asigna el número de documento contable real. Si el número de intervalo de numeración, la sociedad y el ejercicio están asignados en Nexus, debe considerarse el contexto completo.

Un intervalo con el mismo número de intervalo de numeración pero distinta sociedad o ejercicio representa un contexto de intervalo de numeración diferente.

4. Uso de los intervalos de numeración por Real-Time Objects​

Real-Time Objects utilizan los intervalos de numeración SAP para detectar los números de documento asignados recientemente.

Para cada intervalo de numeración configurado, Nexus lee el contador actual NRLEVEL desde la tabla SAP NRIV. Para intervalos de numeración con buffer, Nexus también considera el valor correspondiente de NRIVSHADOW.

Nexus compara el contador actual con el valor de la ejecución anterior. Si el contador ha aumentado, Nexus genera los números de documento entre los valores anterior y actual del contador.

Por ejemplo:

Previous NRLEVEL: 1900000000
Current NRLEVEL: 1900000003

New document numbers:
1900000001
1900000002
1900000003

El objeto de intervalo de numeración determina qué intervalo SAP es supervisado. Dependiendo del objeto, Nexus puede, además, utilizar el subobjeto y el ejercicio para resolver el intervalo correspondiente.

Al avanzar el intervalo de numeración SAP correspondiente, el Real-Time Object puede determinar el número de documento recién asignado y proporcionarlo a su repositorio de destino.

Vinculación con tablas dependientes​

Una tabla que depende de un repositorio alimentado por un Real-Time Object recibe los números de documento relevantes a través de su dependencia.

Para la tabla dependiente, estos números se aplican como filtro IN.

Por ejemplo:

BELNR IN ('1900000001', '1900000002', '1900000003')

Los valores en esta expresión son números de documento. Como la dependencia ya especifica los documentos que deben cargarse, Nexus carga la tabla para esos números de documento. Así, la tabla dependiente no requiere ser cargada iterando los intervalos de numeración correspondientes.

5. Extracción inteligente​

La extracción inteligente se aplica cuando Nexus carga tablas SAP utilizando el módulo de lectura integrado de SAP. Nexus puede aprovechar la metainformación de SAP y los intervalos de numeración para optimizar la forma en que se lee la tabla.

Un campo puede identificarse como relevante para intervalo de numeración si:

  1. El campo forma parte de la clave primaria.
  2. El campo utiliza un elemento de datos conocido por representar un objeto de intervalo de numeración.
  3. La tabla SAP NRIV contiene la información correspondiente del intervalo de numeración.

Esto permite que la extracción inteligente utilice intervalos de numeración SAP conocidos para decidir cómo debe cargarse la tabla.

Referencias​