Manual de consulta
Finalidad
Especifica los mensajes a visualizar y las acciones a adoptar basándose en
el código de retorno de una función.
Define el conjunto de códigos de retorno, junto con sus acciones y mensajes
correspondientes en el bloque MESSAGE. Cuando finaliza una llamada de
función, Net.Data compara su código de retorno con los códigos de
retorno definidos en el bloque MESSAGE. Si el código de retorno de la
función coincide con el del bloque MESSAGE, Net.Data visualiza el
mensaje y evalúa la acción para determinar si continuar el proceso o salir de
la macro de Net.Data.
Un bloque MESSAGE puede tener un ámbito global o local para un único bloque
FUNCTION. Si se define el bloque MESSAGE en la capa más externa de la
macro, se considera que es global. Cuando se definen múltiples bloques
MESSAGE globales, sólo se considera activo el último bloque procesado.
Si el bloque MESSAGE está definido dentro de un bloque FUNCTION, el bloque es
de ámbito local para el bloque FUNCTION en el que se ha definido.
Consulte el apartado sobre el bloque MESSAGE en el manual Guía de
administración y programación de Net.Data para conocer las normas
de proceso de los códigos de retorno.
Sintaxis
>>-%MESSAGE--{-------------------------------------------------->
.---------------------------------------------------------------------------------------.
V |
>--------+---------------------------------------------------------------------------------+--+>
'--+-| espec cod retorn |--+--:---| espec text mensaj |----+-------------------+--'
'-| SQLSTATE |----------' '-| espec acción |--'
>----%--}------------------------------------------------------><
espec cod retorn
|---+-DEFAULT---------------+-----------------------------------|
+-+DEFAULT--------------+
+- -DEFAULT-------------+
+-+----+---código_mens--+
| +- --+ |
| '-+--' |
'-sentencia include-----'
SQLSTATE
|---SQLSTATE--:------id_estado----------------------------------|
espec text mensaj
.------------------------------.
V |
|----+-"-----+------------------------+--+---"---+--------------|
| +-serie------------------+ |
| +-referencia de variable-+ |
| +-llamada de función-----+ |
| '-(línea_nueva)----------' |
| .------------------------------. |
| V | |
+-{-----+------------------------+--+---%}--+
| +-serie------------------+ |
| +-referencia de variable-+ |
| '-llamada de función-----' |
'-sentencia include-------------------------'
espec acción
.-EXIT-----.
|---+-:--+----------+----+--------------------------------------|
| '-CONTINUE-' |
'-sentencia include--'
Valores
- %MESSAGE
- Palabra clave para el bloque que define un conjunto de códigos de retorno,
los mensajes asociados y las acciones que adopta Net.Data cuando se
devuelve una llamada de función.
- espec cod retorn
- Un número entero positivo o negativo. Si el valor de la variable
RETURN_CODE de Net.Data coincide con el valor de espec cod
retorn, el resto de la información de la sentencia de mensaje se utiliza
para procesar la llamada de función. También puede especificar mensajes
para los códigos de retorno que no se entran de modo específico en el bloque
MESSAGE.
- +DEFAULT
- Palabra clave utilizada para especificar un código de mensaje
positivo por omisión. Net.Data utiliza la información de esta
sentencia de mensaje para procesar la llamada de función en el caso de que
RETURN_CODE sea superior a cero (0) y no se especifique una coincidencia
exacta.
- -DEFAULT
- Palabra clave utilizada para especificar un código de mensaje
negativo por omisión. Net.Data utiliza la información de esta
sentencia de mensaje para procesar la llamada de función en el caso de que
RETURN_CODE sea inferior a cero (0) y no se especifique una coincidencia
exacta.
- DEFAULT
- Palabra clave utilizada para especificar el código de mensaje por
omisión. Net.Data utiliza la información de esta sentencia de
mensaje para procesar la llamada de función en el caso de que se cumplan todas
las condiciones siguientes:
- Si RETURN_CODE es mayor o menor que cero, pero no es cero
- Si no se ha especificado una coincidencia exacta para el código de
retorno.
- Si no se especifican los valores de +DEFAULT o -DEFAULT para los casos en
que RETURN_CODE es mayor o menor que cero
- código_mens
- El código de mensaje que especifica los errores y avisos que pueden
producirse durante el proceso. Una serie de dígitos numéricos con
valores de 0 a 9.
- SQLSTATE
- Palabra clave que proporciona códigos comunes a los programas de
aplicación para las condiciones de error comunes. Los valores de
SQLSTATE se basan en la especificación de SQLSTATE contenida en el SQL
estándar y el esquema de codificación es el mismo en todas las implantaciones
de SQL de IBM. Este valor se corresponde con la variable SQL_STATE de
Net.Data.
- id_estado
- El SQLSTATE. Una serie alfanumérica de cinco caracteres
(bytes) con un formato de ccsss, donde cc indica la clase y
sss indica la subclase.
- espec text mensaj
- Serie que se envía al navegador de la Web en el caso de que el
RETURN_CODE coincida con el valor de código_retorno o en el caso de
que la variable SQL_STATE coincida con el valor de SQLSTATE en la sentencia de
mensajes actual.
- serie
- Cualquier secuencia de caracteres alfabéticos y numéricos y de
puntuación. Si la serie aparece entre comillas dobles, no se permite el
carácter de línea nueva.
- referencia de variable
- Devuelve el valor de una variable y se especifica con $ y (). Por
ejemplo: si VAR='abc', entonces $(VAR)
devuelve el valor 'abc'. Consulte el apartado Referencia de variables para obtener información de sintaxis.
- llamada de función
- Invoca uno o más bloques FUNCTION o MACRO_FUNCTION, o una función
incorporada de Net.Data con argumentos específicos. Consulte la
sintaxis y ejemplos en el apartado Llamada de función (@).
- espec acción
- Especifica la acción que adopta Net.Data en el caso de que la
variable RETURN_CODE coincida con el valor de código_retorno o en el
caso de que la variable SQL_STATE coincida con el valor de SQLSTATE en la
sentencia de mensajes actual.
- EXIT
- Palabra clave que especifica salir de la macro inmediatamente cuando
se produzca el error o el aviso que se corresponda con el código de mensaje
especificado. Este es el valor por omisión.
- CONTINUE
- Palabra clave que especifica que se continúe el proceso cuando se produzca
el error o el aviso que se corresponda con el código de mensaje
especificado.
- sentencia include
- La sentencia INCLUDE. Lee e incorpora un archivo a la macro de
Net.Data. La sentencia INCLUDE puede aparecer en cualquier parte
del MESSAGE. Consulte la sintaxis y ejemplos en el apartado Sentencia INCLUDE.
Contexto
El bloque MESSAGE puede encontrarse en estos contextos:
- Bloque FUNCTION
- Bloque IF
- Fuera de todos los bloques o sentencias de la parte de declaración de la
macro de Net.Data.
Restricciones
El bloque MESSAGE puede contener estos elementos:
- Bloque Comment
- Llamadas de función
- Referencias de variables
- Sentencias de presentación
- Series
- Sentencia INCLUDE
Para OS/390: Las funciones de SQL no pueden
llamarse desde dentro de las funciones de SQL.
Ejemplos
Ejemplo 1: Un bloque MESSAGE local
%{ local message block inside a FUNCTION block %}
%FUNCTION(DTW_REXX) my_function() {
%EXEC { my_command.cmd %}
%MESSAGE{
-601: {<h3>The table has already been created, please go back and
enter your name.</h3>
<p><a href="input">Return</a>
%}
default: "<h3>Can't continue because of error
$(RETURN_CODE)</h3>"%} : exit
%}
Ejemplo 2: Un bloque MESSAGE global
%{ global message block %}
%MESSAGE {
-100 : "Return code -100 message" : exit
100 : "Return code 100 message" : continue
+default : {
This is a long message that spans more
than one line. You can use HTML tags, including
links and forms, in this message. %} : continue
%}
%{ local message block inside a FUNCTION block %}
%FUNCTION(DTW_REXX) my_function() {
%EXEC { my_command.cmd %}
%MESSAGE {
-100 : "Return code -100 message" : exit
100 : "Return code 100 message" : continue
-default : {
This is a long message that spans more
than one line. You can use HTML tags, including
links and forms, in this message. %} : exit
%}
Ejemplo 3: Un bloque MESSAGE que contiene
sentencias INCLUDE
%message {
%include "rc1000.msg"
%include "rc2000.msg"
%include "defaults.msg"
%}
[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]