Aller au contenu

DSPPGMVAR

Afficher variable de programme

En bref

La commande DSPPGMVAR (Afficher une variable de programme) permet d'afficher la valeur en cours d'une ou de plusieurs variables d'un programme en mode débogage.

DSPPGMVAR se lit DSP (Afficher) + PGMVAR. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

DSPPGMVAR PGMVAR(…)

Paramètres

  • PGMVAR Variables du programme obligatoire
  • OUTFMT Format de sortie
  • OUTPUT Sortie
  • PGM Programme
  • START Position de début sortie
  • LEN Caractères à afficher
  • RCRLVL Niveau de récursivité

Astuce : dans une session 5250, tapez DSPPGMVAR puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande DSPPGMVAR (Afficher une variable de programme) permet d'afficher la valeur en cours d'une ou de plusieurs variables d'un programme en mode débogage. Ces variables (10 au maximum) peuvent être représentées par leur nom ou par leur numéro MI ODV.

Restrictions :

  • Vous pouvez utiliser cette commande uniquement en mode débogage. Pour démarrer le mode débogage, utilisez la commande STRDBG.
  • Vous ne pouvez pas utiliser cette commande si vous faites la maintenance d'un autre travail et si celui-ci est dans une file d'attente de travaux, ou bien s'il est suspendu, interrompu ou arrêté.
  • Vous ne pouvez pas utiliser cette commande pour afficher les variables d'un programme lié.
  • Vous ne pouvez utiliser cette commande pour afficher des variables dans le domaine système que si l'utilisateur dispose du droit spécial *SERVICE.

Paramètres

Mot-clé Description Valeurs possibles Remarques
PGMVAR Variables du programme Values (jusqu'à 10 répétitions): Liste d'éléments Obligatoire, positionnel 1
Élément 1: Variable programme Valeur caractère, *CHAR
Élément 2: Variable de pointeur base Values (jusqu'à 5 répétitions): Valeur caractère
OUTFMT Format de sortie *CHAR, *HEX Facultatif
OUTPUT Sortie *, *PRINT Facultatif
PGM Programme Nom, *DFTPGM Facultatif
START Position de début sortie Entier, 1 Facultatif, positionnel 2
LEN Caractères à afficher Entier, *DCL Facultatif
RCRLVL Niveau de récursivité Entier, *LAST Facultatif

Variables du programme (PGMVAR)

Indique les variables de programme (10 au maximum) dont les valeurs doivent être affichées. Il peut s'agir des variables d'un programme de type HLL (langage évolué) ou MI (instructions machine).

Ce paramètre est obligatoire.

Elément 1 : Variable programme

*CHAR
Cette valeur spéciale peut être indiquée à la place d'un nom de variable si un pointeur de base est également indiqué. Elle présente une vue alphabétique d'un pointeur à afficher sans l'utilisation d'une variable de base.
valeur-caractère
Indiquez le nom de la variable de programme à afficher. Tout nom contenant des caractères spéciaux doit figurer entre apostrophes.

Si la variable de programme est un tableau, les indices représentant les éléments du tableau peuvent être spécifiés. Lorsqu'un nom de tableau est indiqué sans indice, tous les éléments du tableau sont enregistrés. Il est également possible de définir un sous-tableau à une dimension. Cette variable de programme ne doit pas dépasser 132 caractères. Ce nombre comprend les qualifiants, indices, blancs, parenthèses et virgules. Ce nombre comprend les qualifiants, indices, blancs, parenthèses et virgules, à l'exclusion des apostrophes lorsque des caractères spéciaux sont utilisés. Un indice peut être un entier, un numéro MI ODV (machine-interface object-definition-table-vector), un astérisque (dans le cas d'un sous-tableau à une dimension) ou encore un nom de variable numérique.

Elément 2 : Variable de pointeur base

valeur-caractère
Indiquez le nom d'une variable de pointeur de base. Dans certains langages, la variable de programme peut être basée sur une variable de pointeur. Cet ensemble de valeurs vous permet de spécifier des pointeurs de base pour la variable à enregistrer. Tout nom de pointeur de base contenant des caractères spéciaux doit figurer entre apostrophes.

Si le pointeur de base est un tableau, les indices représentant un élément du tableau doivent être précisés. Le nom d'un pointeur de base ne doit pas dépasser 132 caractères. Ce nombre comprend les qualifiants, indices, blancs imbriqués, parenthèses et virgules. Ce nombre comprend les qualifiants, indices, blancs, parenthèses et virgules, à l'exclusion des apostrophes lorsque des caractères spéciaux sont utilisés. Un indice peut être un entier, un numéro MI ODV ou encore un nom de variable numérique.

Format de sortie (OUTFMT)

Indique le format dans lequel doivent être affichées les valeurs des variables de programme. Pour certains types de variables, un descriptif sera également affichée dans un format prédéfini par le système.

*CHAR
Affiche les variables de programme en format caractères.
*HEX
Affiche les variables de programme en format hexadécimal.

Sortie (OUTPUT)

Indique si la sortie générée par la commande doit être affichée sur le poste de travail demandeur, ou imprimée avec la sortie spoule du travail.

*
La sortie est affichée dans le cas d'un travail interactif ou imprimée avec la sortie spoule du travail dans le cas d'un travail par lots.
*PRINT
Le résultat est placé dans un fichier spoule de la file d'attente en sortie du travail.

Programme (PGM)

Désigne le programme dont les variables doivent être affichées.

*DFTPGM
Les variables à afficher appartiennent au programme précédemment défini comme programme par défaut.
nom
Indiquez le nom du programme dont les variables doivent être affichées.

Position de début sortie (START)

Indique, dans le cas de variables de chaîne uniquement, la position à partir de laquelle la valeur de la variable doit être affichée. Lorsque plusieurs variables de chaîne sont définies pour le paramètre Variables du programme (PGMVAR), la même valeur de départ est utilisée pour chacune. La position de début ainsi définie correspond à une position binaire ou à un caractère, selon le type de la chaîne.

1
La variable est affichée à partir de la première position, sur une longueur définie au paramètre Caractères à afficher (LEN).
entier
Indiquez la première position de la chaîne à afficher. La valeur entrée au paramètre Position de début sortie (START) ne doit pas être supérieure à la longueur maximale des variables de chaîne indiquées. Cependant, si la longueur maximale d'une chaîne est égale à 0, la valeur 1 est admise en réponse au paramètre START. La valeur entrée pour le paramètre LEN, plus la valeur indiquée pour le paramètre START, moins un, ne doit pas dépasser la longueur maximale de chaîne. Toute variable de chaîne indiqué pour le paramètre PGMVAR est soumise à cette vérification.

Caractères à afficher (LEN)

Indique, dans le cas de variables de chaîne uniquement, la longueur de la chaîne à afficher lorsque le point d'arrêt est atteint, à partir de la position définie par le paramètre Position de début sortie START. Lorsque plusieurs variables de chaîne sont définies pour le paramètre Variables du programme (PGMVAR), la même valeur de départ est utilisée pour chacune. La longueur ainsi définie correspond au nombre de bits ou de caractères qui s'affichent, selon le type de la chaîne (caractères ou binaire).

*DCL
La variable de chaîne s'affiche jusqu'à la fin de la chaîne si elle ne dépasse pas 200 octets. Si la longueur maximale de la variable de chaîne est égale à 0, la seule valeur admise pour le paramètre LEN est *DCL.
entier
Indiquez la longueur des données à afficher. Cette valeur( ainsi que la combinaison des valeurs entrées pour les paramètres START et LEN, ne doit pas être supérieure à la longueur de la plus petite chaîne définie par la valeur du paramètre PGMVAR.

Niveau de récursivité (RCRLVL)

Indique le niveau de récursivité du programme qui contient la variable dont la valeur doit être affichée. Le niveau de récursivité 1 correspond au premier appel du programme, le niveau de récursivité 2 au deuxième appel et ainsi de suite jusqu'au dernier appel, c'est-à-dire le plus récent. Par exemple, si le programme A appelle le programme B, le programme B appelle à son tour le programme A et un nouveau niveau de récursivité est créé pour le programme A. Si le programme A, lors de son premier appel, contient la variable à afficher, la valeur 1 doit être entrée au paramètre Niveau de récursivité (RCRLVL). Certains langages évolués permettent également d'employer des procédures de récursivité.

*LAST
Affiche la valeur de la variable indiquée dans le dernier appel du programme.
entier
Indiquez le niveau de récursivité du programme contenant la variable dont la valeur doit être affichée.

Exemples

Exemple 1 : affichage des variables de programme

DSPPGMVAR   PGMVAR('&QUANT')  PGM(MYPROG)

Si nous considérons que le programme MYPROG est en mode débogage, cette commande permet d'afficher le nom et la valeur en cours de la variable CL appelée &QUANT. Son type et sa longueur sont également affichés.

Exemple 2 : affichage des variables de programme

DSPPGMVAR   PGMVAR(TOTSALES  MANHRS)  PGM(REGION)  RCRLVL(1)

Cette commande permet d'afficher les variables de programme TOTSALES et MANHRS du premier appel du programme REGION.

Messages d'erreur

Messages *ESCAPE

CPF1999
Erreurs dans la commande.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.