Rational Developer for System z, Versión 7.6.1

Ventana Seleccionar variable: selección de una variable Extraer

En este tema se describe cómo seleccionar una variable para una acción Extraer en la lista de variables de la ventana Seleccionar variable

Sugerencia: para crear rápidamente una acción Extraer con una variable configurada correctamente:
  1. Pulse Añadir nueva variable en el panel superior de la ventana para crear una nueva variable y añadirla a la lista de variables.
  2. Seleccione la nueva variable.
  3. Seleccione las opciones de extracción que desee utilizar en el panel inferior de la ventana.
  4. Pulse Aceptar.
La ventana crea la acción Extraer y configura la variable para que coincida con los requisitos de almacenamiento de las opciones de extracción especificadas (consulte la sección Configuración automática de la variable seleccionada).
Este tema incluye los subtemas siguientes:

La lista de variables disponibles

La lista de variables disponibles para una nueva acción Extraer se muestra en el panel superior de la ventana Seleccionar variable.

La lista incluye todas las variables en el mensaje de variables del flujo actual (el flujo que se está registrando) que pueden utilizarse con la nueva acción Extraer (dependiendo de las opciones de extracción especificadas).
Nota: La lista incluye toda variable de tipo serie que haya utilizado previamente en el flujo actual como una variable Insertar, una variable Extraer o una variable de bucle.
En esta lista, por último deberá seleccionar una variable cuyas características coincidan con los requisitos de almacenamiento de las opciones de extracción especificadas en el panel inferior de la ventana (consulte la sección Las características de la variable deben coincidir con las opciones de extracción:). Puede hacerlo de dos formas:
  • Seleccione una variable simple y deje que la ventana configure automáticamente la variable con las características correctas (consulte la sección Configuración automática de la variable seleccionada); o bien
  • Seleccione una variable existente que tenga las características correctas.
Las características relevantes de una variable Extraer son:
  • El tipo de variable (variable simple o variable de matriz; consulte la sección Tipo de variable).
  • La cardinalidad de la variable, que se muestra en la segunda columna del panel superior (consulte la sección Cardinalidad).
  • La valor máximo de iteraciones de la variable, que se muestra en la tercera columna del panel superior, si está registrando actualmente un bucle (consulte la sección Máximo de iteraciones). No todas las variables tienen esta característica.

El objetivo de estas características es simplificar la complejidad relativa de la estructura de datos subyacente de la variable.

Configuración automática de la variable seleccionada

Para que se realice la configuración automática, la variable seleccionada en el panel superior de la ventana debe tener las siguientes características:
  • Debe ser una variable simple (es decir, no una variable de matriz ni una estructura de datos compleja); y
  • No debe haberse utilizado previamente en el flujo como la variable de una acción Extraer, una acción Insertar o una variable de bucle.

Si se cumplen estas condiciones, cuando pulse Aceptar en la ventana Seleccionar variable, la ventana configura automáticamente la variable seleccionada para que coincida con los requisitos de almacenamiento de las opciones de extracción especificadas en el panel inferior de la ventana (consulte Sugerencia: para crear rápidamente una acción Extraer con una variable configurada correctamente).

La configuración automática de una variable consiste en la modificación (si es necesario) de las características de la variable seleccionada, incluido el tipo de variable (simple o de matriz), el valor de cardinalidad y el valor de máximo de iteraciones.

Por ejemplo, supongamos que las opciones de extracción especifican que el texto se va a leer en un área rectangular de la pantalla de aplicación que tiene un tamaño de 5 filas por 30 columnas, y que el texto se va a almacenar en una variable de matriz, utilizando una instancia aparte de la variable para cada iteración de un bucle, con un máximo de 20 iteraciones de bucle. Para alojar estos requisitos, la variable se configura automáticamente para tener las siguientes propiedades:
  • Tipo de datos: una variable de matriz
  • Cardinalidad: 5
  • Máximo de iteraciones: 20.

Una vez configurada una variable para una determinada acción Extraer, la configuración es permanente. No obstante, puede reutilizar la variable con otras acciones Extraer, siempre que las características de la variable coincidan con los requisitos de las opciones de extracción especificadas.

Nota: En la configuración automática, las características de la variable (el tipo de variable, la cardinalidad y el máximo de iteraciones) se establecen cambiando el tipo de datos subyacente y el tamaño de la variable. En el ejemplo anterior, la variable simple original es una variable de tipo serie. La configuración se realiza sustituyendo la variable de tipo serie original por una matriz de matrices de series. La matriz exterior tiene 20 elementos (máximo de iteraciones) y cada uno de sus elementos es una matriz de 5 elementos de serie (cardinalidad). Consulte Visualizar la estructura de datos de una variable Extraer.

Las características de la variable deben coincidir con las opciones de extracción:

La ventana Seleccionar variable requiere que las características de la variable seleccionada coincidan exactamente con los requisitos de almacenamiento de las opciones de extracción especificadas. Si este requisito no se cumple, la ventana mostrará un mensaje de error donde se describe la falta de coincidencia.

Importante: Esta regla no se aplica si utiliza la característica de configuración automática de la ventana Seleccionar variable en una nueva variable, o en una variable que no se ha utilizado previamente en una acción Extraer, en una acción Insertar o como una variable de bucle en el mismo flujo. La configuración automática establece las características de la variable para que coincidan con las opciones de extracción especificadas.

Las características de la variable seleccionada incluyen el tipo (consulte la sección Tipo de variable), la cardinalidad (consulte la sección Cardinalidad) y el valor de máximo de iteraciones, si existe (consulte la sección Máximo de iteraciones).

A continuación, se proporcionan algunos ejemplos de este tipo de error:
  • Error en el tipo de variable: la variable seleccionada es una variable simple (cardinalidad = 1) y las opciones de extracción requieren una variable de matriz (cardinalidad > 1), o viceversa.
  • Error en la cardinalidad: la cardinalidad de la variable de matriz seleccionada no es igual al número de filas del área rectangular que se va a extraer.
  • Error en el máximo de iteraciones: el valor de máximo de iteraciones de la variable no es igual al valor especificado en el campo Número máximo de iteraciones.

Para obtener una descripción más detallada, consulte Reutilización de una variable configurada previamente.

Para resolver este tipo de error:
  1. Verifique que las opciones de extracción que ha especificado son de hecho las que desea utilizar.
  2. Si desea reutilizar una variable configurada previamente, seleccione una variable en la lista cuyas características coincidan con los requisitos de almacenamiento de las opciones de extracción.
  3. De manera opcional, seleccione una variable simple y deje que la ventana configure automáticamente la variable con las características correctas (consulte la sección Configuración automática de la variable seleccionada).

Reutilización de una variable configurada previamente:

La ventana Seleccionar variable protege una variable configurada para que no se reconfigure en un tipo de variable diferente más adelante en el mismo flujo.

Por lo tanto, se aplican algunas restricciones cuando se selecciona una variable en la ventana Seleccionar variable para utilizarse en una acción Insertar, en una acción Extraer o como una variable de bucle, y se ha utilizado previamente la variable para uno de los mismos tres objetivos en el mismo flujo:

Longitud de las variables: la ventana Seleccionar variable no requiere que especifique el número de caracteres que puede contener una variable simple (una variable de tipo serie) o un elemento de una matriz (cada elemento es una serie).

Crear una nueva variable para la lista

Para crear una nueva variable pulsando Añadir nueva variable y escriba un nombre de variable. La ventana crea una nueva variable simple (de hecho, una nueva variable de tipo serie; consulte la sección Tipo de variable) y la añade a la lista de variables disponibles.

Si una nueva variable o una variable simple no utilizada previamente es la variable seleccionada cuando pulsa Aceptar, la ventana configura automáticamente esta variable con las características necesarias para las opciones de extracción seleccionadas (consulte la sección Configuración automática de la variable seleccionada).

Tipo de variable

En la ventana Seleccionar variable, el tipo de una variable puede ser simple (es decir, no una matriz ni una estructura de datos compleja) o matriz.

Una variable simple se implementa como una variable de tipo serie. Una variable de matriz se implementa como una matriz de series (consulte la Tabla 3).

El valor de cardinalidad de una variable indica si el tipo de la variable es simple o matriz (de nuevo, consulte la Tabla 3).

Tabla 3. Tipo de variable
Tipo de variable: Implementada como: Cardinalidad:
Simple Una variable de tipo serie 1
Matriz Una matriz de series >1

Para obtener más información sobre la estructura de datos subyacente de las variables Extraer, consulte la sección Visualizar la estructura de datos de una variable Extraer.

Cardinalidad

La segunda columna de la ventana Seleccionar variable muestra el valor de Cardinalidad de cada variable.

La cardinalidad de una variable es significativa si desea que la acción Extraer lea el texto mostrado en un área rectangular de la pantalla de aplicación y lo almacene en una variable de matriz. (Cada fila del texto extraído se escribe en un elemento sucesivo de la matriz, empezando por el elemento [1].)

El valor de cardinalidad de una variable de matriz indica el número máximo de filas de texto que puede contener la variable de matriz, que es igual al número de elementos de matriz de la variable de matriz. Ejemplos:
  • Una variable de matriz con una cardinalidad igual a 10 tiene 10 elementos y puede mantener 10 filas de texto de una acción Extraer.
  • Una variable de matriz con una cardinalidad igual a 24 tiene 24 elementos y puede mantener 24 filas de texto de una acción Extraer.

La ventana muestra un mensaje de error si la variable seleccionada tiene una cardinalidad (por ejemplo, 10) que no coincide con el número de filas de texto (por ejemplo, 9 u 11) en el área rectangular especificada (consulte la sección Configuración automática de la variable seleccionada).

Un uso secundario del valor de cardinalidad de una variable es indicar si la variable es una variable simple o una variable de matriz (consulte la sección Tabla 3).

Máximo de iteraciones

La tercera columna de la ventana Seleccionar variable muestra el valor de Máximo de iteraciones de cada variable, si la variable posee esta característica.

Esta columna sólo aparece cuando está registrando un bucle.

El valor de máximo de iteraciones de una variable es significativo cuando selecciona el recuadro de selección Extraer datos cada iteración del bucle en el panel inferior de la ventana (consulte la sección Extraer datos cada iteración del bucle). La selección de este recuadro de selección indica que en cada iteración del bucle, cuando se ejecuta la acción Extraer, la acción Extraer escribe el texto extraído en una instancia aparte de la variable especificada, en lugar de en una instancia individual de la variable especificada (consulte la sección Número máximo de iteraciones).

La ventana muestra un mensaje de error si la variable seleccionada tiene un valor máximo de iteraciones que no coincide con el valor especificado en el campo Número máximo de iteraciones de la ventana (consulte las secciones Las características de la variable deben coincidir con las opciones de extracción: y Número máximo de iteraciones).

Visualizar la estructura de datos de una variable Extraer

Las estructuras de datos de los distintos tipos de variables Extraer se describen en:
Asimismo, puede ver o modificar la estructura de datos real de una variable en los siguientes contextos:
  • El editor de mensajes permite ver, modificar y crear variables en el mensaje de variables del flujo.
  • El editor de correlaciones permite ver y modificar gráficamente las correlaciones de datos entre las variables de las rutinas de correlación del flujo. Las correlaciones se utilizan para implementar acciones Extraer, entre otros usos (consulte el tema Trabajar con correlaciones y transformaciones en el editor de correlaciones).
  • También en el editor de correlaciones, la característica Asistencia de contenido del área de entrada Condición enumera en ESQL todos los campos accesibles de las variables de origen y destino (consulte el tema Especificar una condición para una correlación).

Estructura de datos de las variables Extraer: Caso no iterativo

En este subtema se describe la estructura de datos de las variables Extraer en el caso "no iterativo", es decir, cuando el recuadro de selección Extraer datos cada iteración del bucle está deseleccionado o no aparece en la ventana Seleccionar variable. En este escenario:
  • La acción Extraer no está dentro de un registro de bucle; o bien
  • La acción Extraer está en un registro de bucle, pero almacena el texto extraído en la misma instancia de la variable Extraer en cada iteración del bucle.

Tabla 4 describe las estructuras de datos utilizadas en este caso, según las opciones de Extraer que elija:

Tabla 4. Estructura de datos de las variables Extraer: Caso no iterativo
Extraer de un campo o área: Tipo de variable de destino: Cardinalidad: Enumeración de los elementos de la variable utilizando ESQL (ejemplos): Texto extraído por la acción Extraer (ejemplos):
Campo Variable simple (serie) 1 v_Flow.strName 'ABC Supplies'
Área Variable simple (serie) 1 v_Flow.strList

'ABC Supplies,FGH Papers  ,JKL Foods   ,NOP Metals  '

(con una coma como delimitador entre las filas)

Variable de matriz (matriz de series) 4 (en este ejemplo)

v_Flow.arrNames[1]
v_Flow.arrNames[2]
v_Flow.arrNames[3]
v_Flow.arrNames[4]

'ABC Supplies'
'FGH Papers  '
'JKL Foods   '
'NOP Metals  '

Tal como muestra la tabla, los distintos requisitos de almacenamiento para una acción Extraer en el caso no iterativo son los siguientes:
  • El texto extraído de un campo debe almacenarse en una variable simple:
    • La variable simple es una variable de tipo serie:
      • En general, una variable simple es una variable escalar (no una matriz o una estructura de datos compleja).
      • Para una acción Extraer, la variable simple debe ser una variable de tipo serie. La ventana Seleccionar variable no muestra variables simples que no sean variables de tipo serie.
      • Una nueva variable que se crea pulsando Añadir nueva variable es una variable de tipo serie.
    • La cardinalidad de una variable simple es siempre 1.
  • El texto extraído de un área rectangular de la pantalla de aplicación debe almacenarse en una variable simple o en una variable de matriz:
    • Una variable simple:
      • Como en el caso del texto extraído de un campo, una variable simple es una variable de tipo serie.
      • Consulte los comentarios anteriores sobre una variable simple en la descripción del texto extraído de un campo.
      • El texto de un área rectangular se almacena como una serie individual en la variable de tipo serie.
    • Una variable de matriz:
      • Una variable de matriz es una matriz de series.
      • Cada fila de texto del área rectangular de la pantalla de aplicación se almacena en un elemento de la variable de matriz, empezando por el elemento [1].
      • Cardinalidad:
        • El valor de cardinalidad de la variable de matriz es el número de elementos de matriz que contiene la variable de matriz.
        • El valor de cardinalidad de la variable de matriz debe coincidir con el número de filas de texto en el área rectangular.

Estructura de datos de las variables Extraer: Caso iterativo

En este subtema se describe la estructura de datos de las variables Extraer en el caso "iterativo", es decir, cuando el recuadro de selección Extraer datos cada iteración del bucle está seleccionado en la ventana Seleccionar variable. En este escenario, la acción Extraer está en un registro de bucle y está configurada para almacenar el texto extraído en una instancia aparte de la variable Extraer en cada iteración del bucle.

Tabla 5 describe las estructuras de datos utilizadas en este caso, según las opciones de Extraer que elija. Observe cómo, en la última columna, los ejemplos de texto muestran sólo el texto extraído en la primera iteración del bucle:

Tabla 5. Opciones con la acción Extraer: Caso iterativo, suponiendo un máximo de 3 iteraciones de bucle

Tipo de
extrac-
ción:

Tipo de variable de destino:

Cardina-
lidad:

Máximo de iteraciones: Enumeración de los elementos de la variable utilizando ESQL (ejemplos): Texto extraído en la primera iteración del bucle (ejemplos):
Campo Un elemento en una matriz de variables de tipo serie 1 3 (ejemplo)

v_Flow.cd_LOOP[1].cd_DATA
v_Flow.cd_LOOP[2].cd_DATA
v_Flow.cd_LOOP[3].cd_DATA

Texto extraído en la primera iteración del bucle y almacenado en el primer elemento de matriz:

'ABC Supplies'

se almacena en:

v_Flow.cd_LOOP[1].cd_DATA

Área Un elemento en una matriz de variables de tipo serie 1 3 (ejemplo)

v_Flow.cd.cd_LOOP[1].cd_DATA
v_Flow.cd.cd_LOOP[2].cd_DATA
v_Flow.cd.cd_LOOP[3].cd_DATA

Texto extraído en la primera iteración del bucle y almacenado en el primer elemento de matriz:

'ABC Supplies,FGH Papers  ,JKL Foods   ,NOP Metals  '

(con una coma como delimitador entre las filas) se almacena en

v_Flow.cd.cd_LOOP[1].cd_DATA

Una matriz de matrices de series 4 (en este ejemplo) 3 (ejemplo)

v_Flow.cd.cd_LOOP[1].cd_DATA[1]
v_Flow.cd.cd_LOOP[1].cd_DATA[2]
v_Flow.cd.cd_LOOP[1].cd_DATA[3]
v_Flow.cd.cd_LOOP[1].cd_DATA[4]

v_Flow.cd.cd_LOOP[2].cd_DATA[1]
v_Flow.cd.cd_LOOP[2].cd_DATA[2]
v_Flow.cd.cd_LOOP[2].cd_DATA[3]
v_Flow.cd.cd_LOOP[2].cd_DATA[4]

v_Flow.cd.cd_LOOP[3].cd_DATA[1]
v_Flow.cd.cd_LOOP[3].cd_DATA[2]
v_Flow.cd.cd_LOOP[3].cd_DATA[3]
v_Flow.cd.cd_LOOP[3].cd_DATA[4]

Texto extraído en la primera iteración del bucle y almacenado en el primer elemento de matriz:

'ABC Supplies'
'FGH Papers  '
'JKL Foods   '
'NOP Metals  '

se almacena en

v_Flow.cd.cd_LOOP[1].cd_DATA[1]
v_Flow.cd.cd_LOOP[1].cd_DATA[2]
v_Flow.cd.cd_LOOP[1].cd_DATA[3]
v_Flow.cd.cd_LOOP[1].cd_DATA[4]

Tal como muestra la tabla, los distintos requisitos de almacenamiento para una acción Extraer en el caso no iterativo son los siguientes:
  • Para cada instancia aparte de la variable Extraer, la estructura de datos es la misma que en el caso no iterativo que se ha descrito en el tema anterior. Es decir:
    • El texto extraído de un campo debe almacenarse en una variable simple (una variable de tipo serie).
    • El texto extraído de un área rectangular debe almacenarse:
      • En una variable simple (una variable de tipo serie) como una serie individual;
      • En una variable de matriz (una matriz de series) que tenga el mismo número de elementos que el número de filas de texto en el área rectangular.
    (Consulte la sección Estructura de datos de las variables Extraer: Caso no iterativo.)
  • La variable Extraer es una variable de matriz que contiene todas las instancias aparte como sus elementos de matriz:
    • Para el texto extraído de un campo:
      • El texto extraído es el texto contenido en el campo.
      • La variable de matriz es una matriz de series.
      • Cada elemento de matriz es una serie que contiene el texto extraído del campo en una iteración del bucle.
    • Para el texto extraído de un área rectangular de la pantalla de aplicación:
      • Si el texto se almacena en una variable simple:
        • El texto extraído es una serie individual de caracteres que contiene todo el texto del área rectangular.
        • La variable de matriz es una matriz de series.
        • Cada elemento de matriz es una serie que contiene el texto extraído del área rectangular en una iteración del bucle.
      • Si el texto se almacena en una variable de matriz:
        • El texto extraído es una matriz de series, donde cada elemento de la matriz contiene una fila de texto del área rectangular.
        • La variable de matriz es una matriz de matrices de series.
        • Cada elemento de matriz es una matriz de series que contiene las filas del texto extraído del área rectangular en una iteración del bucle.
    • Efecto del valor de número máximo de iteraciones de la variable:
      • En cada caso, el valor de número máximo de iteraciones de la variable debe ser el mismo que el valor especificado en el campo Máximo de iteraciones de la ventana.
      • Este valor es:
        • El número de iteraciones para las que la variable puede almacenar instancias.
        • El número de elementos de la matriz grande.
        • El número máximo de iteraciones que podrá ejecutarse el bucle en el tiempo de ejecución.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)