Utilización de variables de sustitución en el Kit de utilidades de almacenamiento

Esta sección explica cómo utilizar variables de sustitución con el Kit de utilidades de almacenamiento y proporciona ejemplos al respecto.

Puede utilizar variables de sustitución para indicar partes de un mandato o trabajo por lotes del Kit de utilidades de almacenamiento que deben ser sustituidas por nombres de volumen, nombres de conjuntos de datos u otros valores. En el apartado Limitaciones y consejos relativos al Kit de utilidades de almacenamiento se proporciona información útil sobre la utilización de variables de sustitución.

Configuración de variables de sustitución para mandatos del kit de utilidades

Muchas de las solicitudes de acción generadas por el Kit de utilidades de almacenamiento incluyen variables de sustitución. Puede definir dichas variables en el separador Mandato del Paso 6 como parte del procedimiento general sugerido:
Nota: No hay ningún separador Mandato en el recuadro de diálogo Crear trabajo por lotes. En dicho recuadro de diálogo, se configuran las variables de sustitución en el separador Opciones.
  1. Pulse el botón derecho del ratón en las filas de una de las vistas de un espacio de trabajo para acceder al menú emergente.
  2. Seleccione el mandato del Kit de utilidades de almacenamiento que desea invocar. El separador Opciones se selecciona de forma predeterminada en el recuadro de diálogo.
    Nota: El separador Opciones no se proporciona en el recuadro de diálogo Emitir mandato, ya que dicho recuadro se utiliza para crear cadenas de mandatos y parámetros de formato libre arbitrarias. Si utiliza este recuadro de diálogo, vaya al paso 6
  3. Realice las selecciones pertinentes y especifique los valores en el separador Opciones según convenga.
  4. Seleccione el separador Mandato. El campo Mandato muestra el modo en que las opciones que se seleccionan en el separador Opciones se representan en texto sin formato dentro del mandato.
  5. Para poder realizar modificaciones en el separador Mandato, inspeccione los parámetros y la sintaxis del mandato que se muestran para asegurarse de que corresponden a lo que esperaba. En caso necesario, modifique el mandato mediante uno de los enfoques siguientes:
    • Antes de realizar modificaciones en el separador Mandato, vuelva al separador Opciones y modifique sus selecciones.
      Nota: Si realiza modificaciones en el separador Mandato, el separador Opciones se inhabilitará y no podrá modificar las selecciones realizadas. Para poder volver a trabajar con el separador Opciones, puede abrir una nueva instancia del recuadro de diálogo del kit de utilidades. Pulse Cancelar para descartar la instancia actual del recuadro de diálogo y vuelva a acceder al recuadro de diálogo a través de Tivoli Enterprise Portal.
    • Si conoce la sintaxis del mandato, edite el texto sin formato que aparece en el campo Mandato del separador Mandato. Recuerde que una vez que haya realizado los cambios en el separador Mandato, no podrá realizar más modificaciones en el separador Opciones.
  6. Si desea definir variables de sustitución, acceda al separador Mandato y defínalas en el área Variables de sustitución y sus valores de sustitución de ejecución. En muchos casos, la tabla de variables de sustitución y sus valores de sustitución de ejecución contienen variables y valores definidos por el Kit de utilidades de almacenamiento a partir de la acción y los recursos seleccionados.
    Nota: No hay ningún separador Mandato en el recuadro de diálogo Crear trabajo por lotes. En dicho recuadro de diálogo, se configuran las variables de sustitución en el separador Opciones.
  7. Pulse el botón Mostrar datos para acceder al Recuadro de diálogo Ver datos para confirmar que los volúmenes o conjuntos de datos van a ser utilizados para las variables de sustitución.

Variables de sustitución estándar del kit de utilidades

Las directrices generales siguientes se aplican a las variables de sustitución utilizadas por el kit de utilidades:
  • OMEGAMON for Storage on z/OS utiliza un par de signos de porcentaje (%) colocados a ambos lados del nombre SUBnn para identificar las variables de sustitución que proporciona, como por ejemplo %SUB01%.
  • Al crear variables para archivos JCL, es recomendable utilizar la convención del signo de porcentaje (%), como en el ejemplo siguiente: %MY_VAR%. Esta convención permite al Kit de utilidades de almacenamiento encontrar estas variables y listarlas automáticamente en el Recuadro de diálogo Crear trabajo por lotes. Las variables que no se atienen a dicha convención no se listarán automáticamente en el recuadro de diálogo.
  • No cree ninguna variable que pueda ser un subconjunto de otra variable. Por ejemplo, no denomine a una variable MY_VARNAME y a otra variable MY_VAR.
  • No cree ninguna variable que pueda coincidir con datos en el mandato, archivos JCL o JCL generado que no deban ser reemplazados. Por ejemplo, en el caso de ejemplo siguiente, es posible que se sustituya un valor que no debería sustituirse:
    1. Defina una variable ADDR y asígnele el valor 01AE.
    2. Utilice la variable en el mandato siguiente:
      ANALYZE UNITADDRESS(ADDR) SCAN
    3. La sustitución automática de la variable ADDR generaría el mandato siguiente. El mandato generado incluye una modificación del parámetro UNITADDRESS que puede tener efectos no deseados:
      ANALYZE UNIT01AEESS(01AE) SCAN
    DISP es otro ejemplo de un nombre de variable no recomendado porque es probable que dicha cadena aparezca en una sentencia DD de JCL, donde sería sustituida.
  • El producto proporciona nombres de atributo genéricos, como por ejemplo *DSN y *ROWNUMBER.

Para ver el ámbito de las variables de sustitución que se define en el separador Opciones, pulse el botón Mostrar datos.

Ejecución de mandatos al definir variables de sustitución

Defina las variables de sustitución en la tabla Variables de sustitución y sus valores de sustitución en tiempo de ejecución en el área del recuadro de diálogo. En función de los valores, la solicitud de acción emitirá el mandato una o varias veces del modo siguiente:
Número de filas seleccionadas en el espacio de trabajo ¿Se han definido variables de sustitución en el separador Mandato? Modo de ejecución del mandato
Una Sí o no Una vez para el elemento seleccionado.
Varias Varias veces; una vez por cada elemento seleccionado.
Uno o más grupos Sí. El atributo de grupo se ha especificado. Una vez para cada recurso de volumen o de conjunto de datos de cada grupo seleccionado.

Ejemplos de variables de sustitución

En la tabla de ejemplo siguiente se muestran las variables de sustitución típicas de un mandato emitido por el Kit de utilidades de almacenamiento. En los recuadros de diálogo del kit de utilidades, también se proporciona una tabla similar de dos columnas.
Variable de mandato1 Atributo o cadena2
%dsname% ENTRYNAME
my-volser VOLUME
%job-name% "USER01A"
%sysout-class% "X"
%rownum% *ROWNUMBER
%user-account% *USERID
  1. La cabecera de esta columna es "Variable" cuando se definen variables de sustitución para un trabajo por lotes en el recuadro de diálogo Crear trabajo por lotes. Consulte el apartado Acerca de la columna "Variable de mandato" (o "Variable") para obtener más información.
  2. Puede especificar texto sin formato o utilizar el menú desplegable para seleccionar las entradas en la columna de atributo o cadena. Consulte el apartado Acerca de la columna "Atributo o cadena" para obtener más información.

Acerca de la columna "Variable de mandato" (o "Variable")

Un ejemplo de la columna Variable de mandato (o Variable) de variables de sustitución se muestra en el apartado Ejemplos de variables de sustitución. Estos ejemplos reflejan los nombres de las variables de sustitución que pueden aparecer en el JCL definido por el usuario. Los ejemplos ilustran las directrices y características siguientes de las entradas de la columna Variable de mandato:
  • Las cadenas pueden constar de un máximo de 64 caracteres del conjunto de caracteres siguiente: [a-zA-Z0-9_.%-]. Las cadenas no distinguen entre mayúsculas y minúsculas cuando son procesadas por el agente del sistema principal.
  • El carácter & no está soportado para las variables de sustitución. De lo contrario, podría surgir una confusión con otros usos de este carácter en JCL.
  • Evite que los nombres de variable formen una subcadena de otra variable de sustitución. Por ejemplo, no utilice my_dsn ni my_dsname como variables de sustitución.
  • No cree ninguna variable que pueda coincidir con datos en el mandato, archivos JCL o JCL generado que no deban ser reemplazados. Por ejemplo, DISP no se recomienda como nombre de una variable de sustitución, ya que es posible que aparezca en una sentencia DD de JCL, donde no podría ser sustituida.

Acerca de la columna "Atributo o cadena"

Un ejemplo de la columna Atributo o cadena de variables de sustitución se muestra en el apartado Ejemplos de variables de sustitución. En la mayoría de los casos, los valores de las variables de sustitución se toman de las columnas de datos del espacio de trabajo en el que se origina la solicitud de acción del kit de utilidades. Utilice la lista desplegable de la columna Atributo o cadena para seleccionar un valor. Este valor se utiliza como origen de los valores para la variable de sustitución correspondiente.

El kit de utilidades detecta las entradas disponibles de la fila que se selecciona en el espacio de trabajo antes de invocar un recuadro de diálogo del Kit de utilidades de almacenamiento. En el apartado Ejemplos de variables de sustitución se ilustran las directrices y características siguientes de las entradas de la columna Atributo o cadena:
  • ENTRYNAME: En este ejemplo, el usuario ha seleccionado un atributo de tabla, ENTRYNAME, de un recuadro de lista, para el valor de la variable.
  • USER01A: En este ejemplo, el usuario ha especificado un nombre literal (USER01A) para que coincida con la variable %job-name%.
  • %job-name%, %sysout-class%: Puede especificar cadenas de texto literal en esta columna, en lugar de nombres de atributo. El texto sin formato puede hacer referencia a elementos del JCL no relacionados con la tabla subyacente, como por ejemplo %job-name%, %sysout-class%, etcétera. El kit de utilidades trata los valores que se enmarcan entre comillas simples o dobles como cadenas literales en lugar de nombres de columna de una tabla. Una aparición de esta cadena se utiliza en el trabajo por lotes o el mandato.
  • *ROWNUMBER: En este ejemplo, el usuario ha seleccionado el valor *ROWNUMBER del menú desplegable que corresponde con la variable %rownum%. Como consecuencia, se genera un número variable de filas para ser utilizadas en el JCL. El kit de utilidades genera números enteros que oscilan del 1 al número total de filas de datos que se envían desde la tabla subyacente. Por ejemplo, puede seleccionar tres filas de una vista de espacio de trabajo al crear o volver a someter una solicitud de acción. En este caso, se generarían los valores 1, 2 y 3.
  • *USERID: En este ejemplo, el usuario ha seleccionado el valor *USERID del menú desplegable que corresponde con la variable %user-account%. Este valor se rellena con una sola aparición del nombre de la cuenta de usuario actualmente activa en Tivoli Enterprise Portal.
  • Los puntos siguientes se aplican a la hora de configurar los trabajos por lotes en el recuadro de diálogo Crear trabajo por lotes:
    • Cuando el kit de utilidades tiene como destino un miembro de un conjunto de datos particionados o de un conjunto de datos secuenciales que ya existe, el kit de utilidades explorará el archivo en busca de cadenas que puedan cumplir con el convenio de denominación siguiente: %nombre%, donde nombre es el nombre de una variable de sustitución. El kit de utilidades rellena el recuadro de diálogo con cada una de las variables correspondientes de %nombre%.
    • La sustitución de valores de variables en el JCL puede producir líneas con una longitud mayor a 72 caracteres. Si esto ocurre, la ejecución de esta solicitud de acción no se llevará a cabo correctamente. En el espacio de trabajo Resumen de resultado, se mostrará el estado JCL no válido.
    • La sustitución de valores de variables dentro de otros conjuntos de datos que requieren sustitución de variables puede producir líneas con una longitud mayor a 80 caracteres. Si esto ocurre, la ejecución de esta solicitud de acción no se llevará a cabo correctamente. Se muestra el estado JCL no válido en el espacio de trabajo Resumen de resultados.
    • Cuando haya completado la configuración del trabajo por lotes, pulse Aceptar en el recuadro de diálogo Crear trabajo por lotes. Llegado este punto, el archivo JCL que proporcione y cualquier archivo que esté fuera del JCL que contiene las variables de sustitución se copiarán en los archivos temporales. Estos archivos temporales se utilizan al someter el JCL de trabajo por lotes. El kit de utilidades no modifica los archivos originales, ya que es posible que otros usuarios hagan referencia a los mismos a la vez.