Por ejemplo, quiere crear una asignación con los siguientes objetos:
Para la transformación de búsqueda, habilite la memoria caché de búsqueda dinámica y defina la siguiente condición de búsqueda:
IN_CUST_ID = CUST_ID
De manera predeterminada, el tipo de fila de todas las filas que se introducen en la transformación de búsqueda es de inserción. Para realizar tanto inserciones como actualizaciones en la memoria caché y en la tabla de destino, seleccione la propiedad
Insertar o actualizar
en la transformación de búsqueda.
Valores de memoria caché inicial
Cuando ejecute la asignación, el Servicio de integración compilará la memoria caché de búsqueda desde la tabla de destino.
La siguiente tabla muestra los valores iniciales de la memoria caché de búsqueda:
PK_PRIMARYKEY
CUST_ID
CUST_NAME
ADDRESS
100001
80001
Marion James
100 Main St.
100002
80002
Laura Jones
510 Broadway Ave.
100003
80003
Shelley Lau
220 Burnside Ave.
Valores de entrada
El origen contiene filas que existen y filas que no existen en la tabla de destino. El Servicio de integración pasa las filas de origen a la transformación de búsqueda.
La siguiente tabla muestra las filas de origen:
SQ_CUST_ID
SQ_CUST_NAME
SQ_ADDRESS
80001
Marion Atkins
100 Main St.
80002
Laura Gomez
510 Broadway Ave.
99001
Jon Freeman
555 6th Ave.
Valores de búsqueda
El Servicio de integración busca valores en la memoria caché según la condición de búsqueda. Actualiza las filas de la memoria caché para los ID de cliente existentes 80001 y 80002. Inserta una fila en la memoria caché para el ID de cliente 99001. El Servicio de integración genera una nueva clave (PK_PRIMARYKEY) para la nueva fila.
La siguiente tabla muestra las filas y los valores devueltos desde la búsqueda:
PK_PRIMARYKEY
CUST_ID
CUST_NAME
ADDRESS
100001
80001
Marion Atkins
100 Main St.
100002
80002
Laura Gomez
510 Broadway Ave.
100004
99001
Jon Freeman
555 6th Ave.
Valores de salida
El Servicio de integración marca las filas en la transformación de búsqueda según las inserciones y actualizaciones que realiza en la memoria caché dinámica. El Servicio de integración finalmente pasa las filas a una transformación de enrutador que crea una ramificación para insertar filas y otra ramificación para actualizar filas. Cada ramificación contiene una transformación de estrategia de actualización. Las transformaciones de estrategia de actualización marcan las filas para inserción o actualización según el valor del puerto NewLookupRow.
Los valores de salida de los puertos de búsqueda/salida y entrada/salida dependen de si se elige generar valores antiguos o nuevos cuando el Servicio de integración actualiza una fila. Sin embargo, los valores de salida del puerto NewLookupRow y cualquier puerto de búsqueda/salida que utiliza el ID de secuencia es el mismo para las filas nuevas y actualizadas.
Si elige generar la salida de valores nuevos, los puertos de búsqueda/salida generan los siguientes valores:
NewLookupRow
PK_PRIMARYKEY
CUST_ID
CUST_NAME
ADDRESS
2
100001
80001
Marion Atkins
100 Main St.
2
100002
80002
Laura Gomez
510 Broadway Ave.
1
100004
99001
Jon Freeman
555 6th Ave.
Si elige generar la salida de valores antiguos, los puertos de búsqueda/salida generan los siguientes valores:
NewLookupRow
PK_PRIMARYKEY
CUST_ID
CUST_NAME
ADDRESS
2
100001
80001
Marion James
100 Main St.
2
100002
80002
Laura Jones
510 Broadway Ave.
1
100004
99001
Jon Freeman
555 6th Ave.
Cuando el Servicio de integración actualiza las filas en la memoria caché de búsqueda, utiliza los valores de la clave principal (PK_PRIMARYKEY) para las filas en la memoria caché y en la tabla de destino.
El Servicio de integración utiliza el ID de secuencia para generar una clave principal para el cliente que no encuentra en la memoria caché. El Servicio de integración inserta el valor de clave principal en la memoria caché de búsqueda y devuelve el valor al puerto de búsqueda/salida.
El Servicio de integración genera la salida de los valores de los puertos de entrada/salida que coinciden con los valores de entrada.
Si el valor de entrada es NULL y selecciona la propiedad Omitir NULL para el puerto de entrada asociado, el valor de entrada no es igual al valor de búsqueda o al valor del puerto de entrada/salida. Cuando seleccione la propiedad Omitir NULL, la memoria caché de búsqueda y la tabla de destino podrían desincronizarse si pasa valores nulos al destino. Deberá comprobar que no haya pasado valores nulos al destino.