Saltar al contenido principal

Identificación mejorada de registros para tablas con claves no únicas

Nota

Publicado: octubre de 2025 Aplicable a: dab Nexus 1.18 y posteriores, SAP Add-On 171 o posteriores

En la versión 1.18 de dab Nexus, se rediseñó el manejo de tablas sin claves primarias únicas junto con el módulo SAP RFC 1.71. El objetivo de este ajuste es garantizar una extracción de datos completa y coherente, incluso para aquellas tablas de SAP donde los campos clave están incompletos o vacíos. De esta manera, todos los registros quedan identificados de manera única y se procesan correctamente.

¿Cuáles son los impactos de este cambio?

La mejora técnica introduce varios aspectos importantes que deben considerarse al actualizar a dab Nexus 1.18 y al módulo RFC 1.71:

  1. Fin de la definición de clave anterior
    Hasta este momento, dab Nexus asumía que todas las tablas extraídas poseían claves primarias únicas. Sin embargo, este no es el caso para tablas como FAGLFLEXT, FMGLFLEXT o PSGLFLEXT, ya que son vistas. Contienen campos dentro de la clave primaria que utilizan el elemento de datos ABAP G_OBJNR. En muchos sistemas SAP, estos campos se rellenan con ceros por defecto.
    Como consecuencia, versiones anteriores podían encontrarse con registros con valores de clave idénticos, lo que llevaba a la omisión o sobrescritura de registros en la salida, o causaba bucles infinitos durante el proceso de extracción en dab Nexus.

  2. Lógica de clave extendida en el módulo SAP RFC 1.71
    Con la versión 1.71, el módulo RFC fue mejorado para incluir campos adicionales (por lo general, todos los demás campos de la tabla con tipo de dato ABAP CHAR) en la definición de clave para las tablas afectadas.
    Esto garantiza que los registros sean identificados de manera única, incluso si la tabla no cuenta con una clave primaria con valores únicos.

TablaClave originalClave extendida (nueva)
FAGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, etc.
FMGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, etc.
PSGLFLEXTRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAXRCLNT, RYEAR, OBJNR00 - OBJNR08, DRCRK, RPMAX, RCNTR, RACCT, ACTIV, RMVCT, etc.
  1. Ajuste en dab Nexus 1.18
    dab Nexus 1.18 detecta automáticamente estas claves extendidas y las utiliza internamente para la identificación de los registros. Esto asegura que todas las entradas se procesen de manera única, sin pérdida de datos ni conflictos.
    Este cambio es completamente automático y no requiere ningún ajuste manual en los paquetes de extracción existentes.
Importante

Para las tablas sin clave primaria única (por ejemplo, FAGLFLEXT) utilizadas en tareas programadas existentes, tras la actualización se debe realizar una extracción inicial nueva, una sola vez, en una tabla nueva. La fusión en tablas ya existentes fallará debido al cambio en la estructura de la clave.
Posteriormente, se podrá reanudar la programación habitual utilizando la nueva tabla.

¿Qué debe hacer como administrador?

  • Asegúrese de que esté instalada la versión 1.18 o posterior de dab Nexus.
  • Verifique que la versión 1.71 o posterior del módulo SAP RFC esté implementada en el SAP System.
  • Realice una extracción de prueba de las tablas afectadas (por ejemplo, FAGLFLEXT) después de la actualización para verificar que todos los registros se extraen completamente.
  • No se requieren cambios en los paquetes ni en los campos clave: la nueva lógica se aplica de forma automática.
  • Para las tablas afectadas usadas en tareas programadas, debe realizarse una nueva extracción inicial. Es necesario utilizar una nueva tabla de destino para evitar conflictos de fusión.