Mandato DECLARE (PL/I)

El mandato DECLARE declara las variables de sesión que son efectivas durante una sesión de z/OS® Debugger . Las variables declaradas de esta forma se pueden utilizar en otros mandatos Depurador de z/OS como si se hubieran declarado al compilador. Se eliminan con el mandato CLEAR o cuando finaliza la sesión de z/OS Debugger . Las palabras clave no se pueden abreviar.

Leer diagrama de sintaxisOmitir diagrama de sintaxis visualDCLDECLARE,major_structureescalar;
major_structure
Leer diagrama de sintaxisOmitir diagrama de sintaxis visual,nivelnombreatributo
escalar
Leer diagrama de sintaxisOmitir diagrama de sintaxis visual,nombre(,nombre)atributo
nivel
Un entero positivo sin signo. El nivel 1 se tiene que especificar para los principales nombres de estructura.
nombre
Un identificador PL/I válido. El nombre debe ser exclusivo dentro de un nivel de estructura determinado.
Cuando se producen conflictos de nombres, z/OS Debugger utiliza variables de sesión antes de utilizar otras variables del mismo nombre que aparecen en los programas en ejecución. Utilice la cualificación para hacer referencia a la variable de programa durante una sesión de Depurador de z/OS . Por ejemplo, para visualizar la variable a declarada con el mandato DECLARE así como la variable a en el programa, emita el mandato LIST tal como se indica a continuación:
LIST (a, %BLOCK:a);

Si se produce un conflicto de nombre porque la variable que ha declarado antes con un mandato DECLARE, la declaración nueva sobrescribe a la anterior.

atributo
Un atributo de datos o almacenamiento de PL/I.
Los atributos de datos de PL/I aceptables son:
     BINARY        CPLX       FIXED      LABEL      PTR
     BIT           DECIMAL    FLOAT      OFFSET     REAL
     CHARACTERS    EVENT      GRAPHIC    POINTER    VARYING
     COMPLEX
Los atributos de almacenamiento de PL/I aceptables son:
     BASED    ALIGNED    UNALIGNED

Los punteros no se pueden especificar con la opción BASED.

Solamente se permite la factorización simple de atributos. No se permiten acciones DECLARE como las siguientes:
DCL (a(2), b) PTR;
DCL (x REAL, y CPLX) FIXED BIN(31);

Además, se puede especificar el atributo de precisión y el factor de zoom, así como los límites de una dimensión. Si una variable de sesión tiene dimensiones y límites, estos valores se deben declarar siguiendo las reglas del lenguaje PL/I.

Notas sobre el uso

  • DECLARE no es válido como submandato. Es decir, no se puede utilizar como parte de un bloque DO/END o BEGIN/END.
  • La inicialización no recibe soporte.
  • Las sentencias de DEFAULT de programa no afectan al mandato DECLARE.
  • Si está depurando un programa Enterprise PL/I , no puede declarar matrices, estructuras, atributos de factor o varias variables de sesión en una línea de mandatos.
  • El mandato DECLARE no se puede utilizar mientras se reproduzcan sentencias registradas utilizando los mandatos PLAYBACK.
Ejemplos
  • Declarar x, y y z como variables que se pueden utilizar como punteros.
    DECLARE (x, y, z) POINTER;
  • Declarar a como variable que puede representar elementos de datos binarios de punto dijo de 15 bits.
    DECLARE a FIXED BIN(15);
  • Declarar d03 como variable que puede representar elementos de datos complejos, binarios y de coma flotante.
    DECLARE d03 FLOAT BIN COMPLEX;
    Este valor d03 tiene el atributo de FLOAT BINARY(21).
  • Declarar x como puntero y setx como una estructura principal con elementos de estructura a y b como elementos de datos de coma flotante.
    DECLARE x POINTER, 1 setx, 2 a FIXED, 2 b FIXED;
    Estos valores a y b contendrán los atributos de FIXED DECIMAL(5).

Consulte los temas siguientes para obtener más información relacionada con el material descrito en este tema.

  • Tareas relacionadas
  • IBM® z/OS Debugger-Guía del usuario

Consulte los temas siguientes para obtener más información relacionada con el material descrito en este tema.

  • Referencias relacionadas
  • Enterprise PL/I for z/OS Consulta de lenguaje