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
-
PGMVARVariables du programme obligatoire -
OUTFMTFormat de sortie -
OUTPUTSortie -
PGMProgramme -
STARTPosition de début sortie -
LENCaractères à afficher -
RCRLVLNiveau 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 | 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.
- 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.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.