Resolución de XML
La mayoría de las claves externas generadas por el sistema se almacenan en campos físicos y tablas de características; como tal, el valor heredado se sustituye por la nueva clave correspondiente como parte del proceso de inserción en producción. Aunque resulta poco frecuente, los objetos de mantenimiento pueden almacenar las claves externas generadas por el sistema en un campo de almacenamiento de XML, es decir, un campo definido con un tipo de datos CLOB o XML. Este paso solo es aplicable a estos objetos de mantenimiento.
Durante este paso, el sistema resuelve las claves externas convertibles generadas por el sistema que pueden residir en campos de almacenamiento de XML y se pueden haber cargado en las tablas temporales. En esta sección se analiza a grandes rasgos el proceso de resolución de XML.
Tabla de resolución de XML
Es importante comprender que el sistema no sobrescribe las claves primarias de los campos de almacenamiento de XML de la base de datos temporal, puesto que es una transacción de E/S muy costosa. En su lugar, existe una tabla de resolución de XML correspondiente a cada tabla; en ella, se define un campo de resolución de XML para capturar el contenido de almacenamiento de XML resuelto de cada fila, es decir, el contenido con todas las claves antiguas sustituidas por las nuevas claves asignadas.
La convención "<primera letra de indicador de propietario>R_<table_name>" se utiliza para indicar el nombre de la tabla de resolución de XML.
El proceso por lotes de inserción que transfiere las filas en la base de datos de producción sustituye cada campo de almacenamiento de XML con el valor resuelto de la correspondiente tabla de resolución de XML.
Proceso por lotes por objeto de mantenimiento
Cada uno de los objetos de mantenimiento elegibles para conversión y que soportan el campo de almacenamiento de XML se incluye con un proceso por lotes de resolución de XML. Estos procesos por lotes deben ejecutarse para resolver las claves externas que pueden residir en estos campos de almacenamiento de XML.
Estos procesos incluyen varios threads y deben ejecutarse una vez finalizado el paso de asignación de claves y antes de insertar los datos en producción.
Elegibilidad de resolución de XML
No todos los objetos de mantenimiento que soportan los campos de almacenamiento de XML almacenan en realidad claves externas convertibles, generadas por el sistema en el campo de almacenamiento de XML. Si ninguno de los objetos de negocio asociados al objeto de mantenimiento implica la asignación de estas claves externas a un campo de almacenamiento de XML, no será necesario realizar la resolución de XML para ninguna fila del objeto de mantenimiento. El proceso por lotes de resolución de XML detecta esta situación y finaliza sin almacenar ninguna fila en ninguna de las tablas de resolución de XML del objeto de mantenimiento.
Solo se capturan valores resueltos
Por lo general, los campos de almacenamiento de XML almacenan gran cantidad de datos. Para evitar la captura del mismo contenido XML de forma redundante, el sistema solo almacena los valores en los campos de almacenamiento de XML resueltos si el valor resuelto es distinto del valor original, es decir, si se ha resuelto al menos una clave.
-
Si se trata de la tabla principal del objeto de mantenimiento, se insertará un registro en la correspondiente tabla de resolución de XML para dicho registro, sin valor en el campo de almacenamiento de XML.
-
Si se trata de una tabla secundaria del objeto de mantenimiento, no se insertará ningún registro en la resolución de XML correspondiente para dicho registro.
Errores notificados
Los errores detectados durante la resolución de XML se registran en la tabla Error de validación (CI_VAL_ERR) de conversión. Debe tenerse en cuenta que, al inicio de esta tarea, se suprimirán todas las filas de la tabla de errores de conversión para el objeto de mantenimiento de proceso.
Para ver los errores resaltados en el proceso de resolución de XML, se puede utilizar la página “Resumen de errores de validación”.