Personalización de tareas del supervisor de recursos de MFT con sustitución de variables

Cuando se cumplen las condiciones desencadenantes de un supervisor de recursos activo, se llama a la tarea definida. Además de llamar a la tarea de transferencia o mandato con el mismo agente de destino o el mismo nombre de archivo de destino cada vez, también puede modificar la definición de tarea durante la ejecución. Para ello, inserte los nombres de variables en el XML de definición de tarea. Cuando el supervisor determina que se cumplen las condiciones de desencadenante y que la definición de tarea contiene nombres de variable, sustituye los nombres de variable por los valores de variable y, a continuación, llama a la tarea.

Atención: Los nombres de variable no distinguen entre mayúsculas y minúsculas.

Las variables que se utilizan para la sustitución sólo están disponibles para condiciones desencadenantes positivas. Sólo las condiciones desencadenantes match y fileSize hacen que se sustituyan variables. Si se utiliza una condición noMatch y hay nombres de variable de sustitución en la definición de tarea, no se llama a la tarea y el supervisor emite un código de retorno de 110 y un mensaje de errorBFGDM0060E.

Si el recurso supervisado es una cola

El valor de cualquier propiedad de mensaje IBM® MQ en el primer mensaje que se va a leer de la cola supervisada se puede sustituir en la definición XML de tarea.

Las propiedades de mensaje definidas por el usuario tienen el prefijo usr., pero no incluya este prefijo en el nombre de variable. Los nombres de variable deben ir precedidos de un carácter de signo de dólar ($) y escribirse entre llaves, {}.

Por ejemplo, ${destFileName} se sustituye por el valor de la propiedad de mensaje usr.destFileName del primer mensaje que se va a leer de la cola de origen. Para obtener más información, consulte Propiedades de mensaje deMQ leídas por MFT de mensajes en colas de origen y Supervisión de una cola y utilización de la sustitución de variables.

Si una variable no está definida como una propiedad de mensaje, el supervisor notifica un error BFGDM0060E y devuelve el código de retorno 110 (la sustitución de la variable de tarea de supervisor ha fallado). Además, el agente escribe el siguiente mensaje de error en su registro de sucesos (outputN.log):
BFGDM0113W: Trigger failure for <monitor name> for reason BFGDM0060E: A monitor task could 
not complete as a variable substitution <variable name> was not present.
Si el registro de supervisor de recursos moderado o detallado está habilitado para el supervisor, el supervisor escribe el siguiente mensaje en el registro de sucesos del supervisor de recursos del agente (resmoneventN.log):
BFGDM0060E: A monitor task could not complete as a variable substitution 
<variable name> was not present.

Consulte Registro de supervisores de recursos MFT para obtener más información sobre el registro del supervisor de recursos.

En la tabla siguiente se muestran las variables de sustitución que se proporcionan de forma predeterminada. Por ejemplo, ${AGENTNAME} se sustituye por el nombre del agente de supervisor de recursos.
Tabla 1. Variables de sustitución proporcionadas de forma predeterminada
Variable Descripción
AGENTNAME Nombre del agente de supervisor de recursos.
NOMBRECOLA El nombre de la cola que se está supervisando.
ENCODING La codificación de caracteres del primer mensaje en la cola o el primer mensaje de un grupo.
MESSAGEID El ID de mensaje IBM MQ del primer mensaje de la cola o el primer mensaje del grupo.
GROUPID El ID de grupo IBM MQ del grupo o el ID de mensaje si sólo se encuentra un único mensaje. Esta variable sólo se establece si se supervisan grupos completos.
CurrentTimeStamp Una indicación de fecha y hora basada en la hora local a la que se desencadenó el supervisor. La indicación de fecha y hora es exclusiva para el agente.
CurrentTimeStampUTC Una indicación de fecha y hora basada en la hora, en el huso horario UTC, a la que se desencadenó el supervisor. La indicación de fecha y hora es exclusiva para el agente.

Si el recurso supervisado es un directorio

En la tabla siguiente se muestra el conjunto de nombres de variable que se pueden sustituir en la definición XML de tarea.
Tabla 2. Variables que se pueden sustituir
Variable Descripción
FilePath Nombre completo de la vía de acceso del archivo desencadenante.
FileName Parte de nombre de archivo del desencadenante.
LastModifiedTime La hora a la que se modificó por última vez el archivo desencadenante. Esta hora se expresa como la hora local del huso horario en el que se ejecuta el agente y tiene un formato de hora ISO 8601.
LastModifiedDate La fecha a la que se modificó por última vez el archivo desencadenante. Esta fecha se expresa como fecha local del huso horario en el que se ejecuta el agente y tiene el formato de fecha ISO 8601.
LastModifiedTimeUTC La hora a la que se modificó por última vez el archivo desencadenante. Esta hora se expresa como la hora local convertida al huso horario UTC y tiene un formato de hora ISO 8601
LastModifiedDateUTC La fecha a la que se modificó por última vez el archivo desencadenante. Esta fecha se expresa como fecha local convertida al huso horario UTC y se formatea como fecha ISO 8601.
AgentName Nombre del agente de supervisor de recursos.
CurrentTimeStamp Una indicación de fecha y hora basada en la hora local a la que se desencadenó el supervisor. La indicación de fecha y hora es exclusiva para el agente.
CurrentTimeStampUTC Una indicación de fecha y hora basada en la hora, en el huso horario UTC, a la que se desencadenó el supervisor. La indicación de fecha y hora es exclusiva para el agente.

Si el recurso supervisado es un archivo desencadenante

La tabla siguiente muestra el conjunto de nombres de variable que se pueden sustituir cuando un supervisor de recursos utiliza el contenido de un archivo desencadenante para determinar los archivos que deben transferirse.
Tabla 3. Variables que se pueden sustituir al utilizar un archivo desencadenante
Variable Descripción
contentSource El nombre completo de la vía de acceso del archivo de origen.
contentDestination El nombre completo de la vía de acceso del archivo de destino.

Los nombres de variable deben ir precedidos por un carácter de signo de dólar ($) e ir entre llaves, {}. Por ejemplo, ${FilePath} se sustituye por la vía de acceso de archivo completa del archivo desencadenante coincidente.

Existen dos palabras clave especiales que se pueden aplicar a los nombres de las variables para proporcionar un mayor perfeccionamiento. Son las siguientes:
token
El índice de señales que hay que sustituir (empezando por 1 a la izquierda y empezando por -1 a la derecha)
separator
Un carácter único para señalizar el valor de la variable. El valor predeterminado es el carácter de barra inclinada (/) en plataformas AIX® and Linux® o el carácter de barra inclinada invertida (\) en plataformas Windows , pero el separador puede ser cualquier carácter válido que pueda aparecer en el valor de la variable.

Si la palabra clave separator se especifica en un nombre de variable, el valor de la variable se divide en señales según el carácter de separador.

El valor que se asigna a la palabra clave token se utiliza como índice para seleccionar qué señal se debe utilizar para sustituir el nombre de variable. El índice de señal es relativo al primer carácter de la variable y se inicia en 1. Si no se especifica la palabra clave de señal, se inserta toda la variable.

Todos los valores que se sustituyen en un nombre de agente en el XML del mensaje se tratan sin distinguir entre mayúsculas y minúsculas. Todos los nombres de Managed File Transfer Agent están en mayúsculas. Si el valor Paris se sustituye en un atributo de agente en el XML del mensaje, este valor se interpreta como una referencia al agente PARIS.