PGM
Programme
En bref
La commande PGM (Programme) est utilisée dans un fichier source CL pour identifier le début d'un programme CL ou d'une procédure CL à compiler, et pour indiquer les paramètres que cette procédure doit recevoir après compilation.
Syntaxe minimale
PGM
Paramètres
-
PARMNoms variables CL paramètres
Astuce : dans une session 5250, tapez PGM 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 :
- Programme batch (*BPGM)
- Programme interactif (*IPGM)
La commande PGM (Programme) est utilisée dans un fichier source CL pour identifier le début d'un programme CL ou d'une procédure CL à compiler, et pour indiquer les paramètres que cette procédure doit recevoir après compilation. Lorsqu'elle est utilisée, la commande PGM doit être la première commande du fichier source. Si aucune commande PGM n'est définie, le système en utilise une par défaut (sans paramètres). Le nom du programme CL ou de la procédure CL est indiqué dans la commande CL utilisée pour compiler le fichier source CL.
La commande PGM indique également les paramètres à transmettre, le cas échéant, à la procédure si celle-ci est appelée par un autre programme. Pour plus d'informations sur la transmission des constantes, reportez-vous à la description du paramètre PARM pour la commande CALL (Appeler).
Si le fichier source du programme CL ou de la procédure CL est compilé pour créer un objet programme (*PGM), ce programme peut être appelé à l'aide d'une commande CALL (Appeler) ou TFRCTL (Transférer contrôle à pgm) ou par un poste de routage défini dans une description de sous-système. Lorsque le programme est appelé par une commande CALL ou TFRCTL, les paramètres indiqués peuvent lui être transmis.
En cas d'appel de procédure, les paramètres définis dans cette commande doivent être transmis à la procédure, avec les mêmes type, longueur et ordre. Chaque paramètre peut avoir une valeur numérique ou alphanumérique, ou une valeur sous forme de variable CL. Une fois reçue, chacune de ces valeurs est associée à un nom de variable CL différent. Celui-ci doit avoir été défini dans le fichier source CL à l'aide d'une commande DCL (Déclarer une variable CL) avant la compilation de la procédure. Vous pouvez transmettre jusqu'à 255 paramètres.
Les programmes et les procédures ILE ne détecteront pas les non-concordances de paramètres entre le programme (ou la procédure) appelant et le programme (ou la procédure) appelé. Si la procédure appelante fournit un nombre de paramètres supérieur à celui attendu par la procédure appelée, cette dernière ignore les paramètres excédentaires. Si la procédure appelante fournit un nombre de paramètres inférieur à celui indiqué dans la commande PGM des procédures appelées, les résultats risquent d'être imprévisibles.
Restrictions: Cette commande est valide uniquement dans un programme CL ou une procédure CL ILE.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| PARM | Noms variables CL paramètres | Values (jusqu'à 255 répétitions): CL variable name | Facultatif, positionnel 1 |
Noms variables CL paramètres (PARM)
Indique une ou plusieurs variables CL devant recevoir les valeurs de paramètres passées à la procédure. Indiquez un nom de variable CL pour chacune de ces valeurs ; une perluète (&) doit précéder ce nom.
Aucun paramètre n'admet de valeur indéfinie (*N). Les valeurs de paramètres sont associées aux variables du paramètre PARM dans l'ordre dans lequel elles sont indiquées dans les commandes CALL ou TFRCTL. Le type et la longueur de chacune des valeurs transmises doivent concorder dans les programmes appelant et récepteur. Cependant, dans le cas de constantes alphanumériques, le programme récepteur peut indiquer une longueur inférieure. La chaîne alphanumérique est alors tronquée à cette longueur. Pour plus d'informations sur la transmission de chacun des types de données, reportez-vous à la description du paramètre PARM de la commande CALL.
Remarque :Si une valeur de paramètre doit être modifiée par un programme CL ou une procédure CL, ou indiquée comme variable d'une commande CL, elle doit figurer en mémoire inscriptible. Par exemple, en C ou C++, des chaînes peuvent être en lecture seule. Si une chaîne en lecture seule est transmise sous forme de paramètre à un programme CL ou à une procédure CL ILE, et que ce programme ou cette procédure tente de modifier la valeur ou l'utilise comme variable dans une commande CL, le programme CL ou la procédure CL ILE échoue.
- nom-variable-CL
- Indiquez le nom de la variable CL destinataire de la valeur transmise à partir du programme appelant. Vous pouvez indiquer jusqu'à 255 variables.
Exemples
Exemple 1 : Procédure CL sans aucun paramètre
PGM : ENDPGM
Cette commande PGM est la première commande d'un fichier source CL pour un programme CL ou une procédure CL ILE ne comportant aucun paramètre.
Exemple 2 : Procédure CL comportant deux paramètres
PGM PARM(&X &Y)
Il s'agit de la première commande d'un fichier source CL pour un programme CL ou une procédure CL ILE comportant deux paramètres, &X et &Y, dont les valeurs ont été attribuées par la procédure ou le programme appelant.
Exemple 3 : Procédure CL comportant deux paramètres à position fixe
PGM (&PARM1 &PARM2)
Il s'agit de la première commande d'un fichier source CL pour un programme CL ou une procédure CL ILE indiquant deux paramètres à position fixe, &PARM1 et &PARM2. Lorsque cette procédure est appelée, la procédure ou le programme appelant transmet des valeurs de paramètre à utiliser pour &PARM1 et &PARM2.
Messages d'erreur
Aucun
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.