Manual de consulta

Bloque MESSAGE

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:

Restricciones

El bloque MESSAGE puede contener estos elementos:

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 ]