Correlaciones de repetición

Las correlaciones de repetición se producen cuando una estructura o campo se repite varias veces en un mensaje, y se definen en la etapa de definición del mensaje.

Por ejemplo, en la tabla que figura a continuación, el mensaje de origen contiene una estructura llamada cliente con los campos ciudad y país. Debajo hay dos estructuras idénticas llamadas nombre, que contienen campos idénticos llamados nombre y apellido. Esta es una estructura de repetición y, si una estructura de repetición se correlaciona con otra estructura de repetición, como se muestra en el campo de destino, la correlación múltiple de campos de origen a destino se gestiona automáticamente.
Fuente Destino
cliente
  • ciudad
  • país
nombre[1]
  • nombre
  • apellido
nombre[2]
  • nombre
  • apellido
cliente
  • ubicación

nombrecliente[1]

  • nombre
  • apellido

nombrecliente[2]

  • nombre
  • apellido

Los orígenes y los destinos se correlacionan utilizando nodos de árbol; un nodo de árbol representa un tipo de esquema (incluidos los tipos de mensaje), o una tabla o columna de base de datos. Es decir, un nodo de árbol representa el contenedor del tipo de mensaje específico.

Un nodo repetible es un nodo con las siguientes combinaciones de apariciones mínimas y máximas: Los casos * implican apariciones máximas sin enlazar y ... representa el rango. Desde el punto de vista de la correlación, esto implica que el destino utiliza el número de instancias de la parte de la entrada como su enlace real, en lugar de restringirlo artificialmente.

Puede ampliar un nodo de repetición para mostrar las instancias. Una instancia o, más concretamente, un nodo de elemento de instancia, es una única aparición de un elemento de repetición. Por ejemplo, si un campo tiene 10 apariciones, cada una de ellas puede considerarse como un nodo de elemento de instancia. Esto no equivale a la instancia de ejecución recibida en el mensaje real, pero es un marcador de posición en caso de que esta instancia de elemento se produzca en el mensaje. En este tema, el término instancia hace referencia al tipo de instancia de tiempo de desarrollo, como algo opuesto a la instancia de ejecución.

Las instancias se producen al mismo nivel que el nodo repetible y son iguales al nodo repetible. Las instancias reflejan la estructura del nodo y proporcionan entidades correlacionables para identificar exactamente qué instancia desea utilizar el usuario para la correlación. Cada nuevo elemento igual lleva un sufijo con el número de índice de la instancia actual.

El índice está basado en 1 para ESQL, en lugar de 0 como en Java.

Como ejemplo, observe la estructura siguiente:

message1
   |_ top
      |_ middle
         |_bottom

donde middle y bottom se repiten; middle se repite n1..m1 veces y bottom se repite n2..m2 veces.

Cada nodo de instancia ampliado puede utilizarse en una correlación exactamente del mismo modo que otro elemento no repetible, ya que este nodo no es repetible. No obstante, puede contener elementos dependientes que sean repetibles en el caso de niveles anidados de repeticiones. No se puede ampliar de forma significativa el nivel superior de una estructura anidada, como en el mensaje mostrado antes, cuando los niveles interiores no están ampliados, así que la ampliación amplía automáticamente los elementos dependientes que hay debajo para que tengan el mínimo número de instancias de las que requieren los nodos repetibles anidados. En el ejemplo, esto significa que una expansión mínima necesaria para middle da lugar a la creación de la instancia n1, pero los elementos dependientes de middle no son un único conjunto con un solo elemento bottom. El número mínimo de apariciones para esta instancia se utiliza para terminar el número de repeticiones.

El ejemplo siguiente muestra un nodo de árbol completo, ampliado parcialmente.

message1
   |_ top
      |_ middle[]
         |_bottom[]
      |_ middle[1]
         |_bottom[]
         |_bottom[All]
         |_bottom[1]

En este ejemplo, una entrada seguida de [] hace referencia a un nodo repetible, una entrada seguida de [All] hace referencia a todos los nodos, y una entrada seguida de [1] hace referencia a un nodo de elemento de instancia.

Conceptos relacionados
Condiciones de correlación
Correlaciones de caso

Tareas relacionadas
Desarrollo de correlaciones
Configuración de una correlación

Referencia relacionada
Correlaciones