CRTMNU
Créer un menu
En bref
La commande CRTMNU (Créer un menu) permet de créer un objet menu, de type *DSPF (fichier écran) ou *PGM (programme).
CRTMNU se lit CRT
(Créer) + MNU.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CRTMNU MENU(…) TYPE(…)
Paramètres
-
MENUMenu obligatoire -
TYPEType de menu obligatoire -
DSPFFichier écran -
MSGFFichier de messages fichier message -
CMDLINLigne de commande -
DSPKEYAfficher touches de fonction -
PGMProgramme -
SRCFILEFichier source -
SRCMBRMembre source -
OPTIONOptions pour liste source -
INCFILEInclure fichier -
CURLIBBibliothèque en cours -
PRDLIBBibliothèque de logiciel -
CHRIDIdentificateur de caractères -
REPLACERemplacer le menu -
TEXTTexte 'descriptif' -
AUTDroits
Astuce : dans une session 5250, tapez CRTMNU 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 CRTMNU (Créer un menu) permet de créer un objet menu, de type *DSPF (fichier écran) ou *PGM (programme). La commande GO (Aller à un menu) permet d'accéder directement à un menu.
Restrictions :
- Vous devez disposer des droits *CHANGE, *READ et *ADD sur la bibliothèque où le menu doit être créé.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| MENU | Menu | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: Menu | Nom | ||
| Qualificatif 2: Biblio | Nom, *CURLIB | ||
| TYPE | Type de menu | *DSPF, *PGM, *UIM | Obligatoire, positionnel 2 |
| DSPF | Fichier écran | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier écran | Nom, *MENU | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| MSGF | fichier message | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: fichier message | Nom, *MENU | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| CMDLIN | Ligne de commande | *LONG, *SHORT, *NONE | Facultatif |
| DSPKEY | Afficher touches de fonction | *NO, *YES | Facultatif |
| PGM | Programme | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Programme | Nom, *MENU | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| SRCFILE | Fichier source | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier source | Nom, QMNUSRC | ||
| Qualificatif 2: | Nom, *LIBL, *CURLIB | ||
| SRCMBR | Membre source | Nom, *MENU | Facultatif |
| OPTION | Options pour liste source | Values (jusqu'à 3 répétitions): *SOURCE, *NOSOURCE, *SRC, *NOSRC, *NOSECLVL, *SECLVL, *NOEVENTF, *EVENTF | Facultatif |
| INCFILE | Inclure fichier | Valeurs uniques: *SRCFILE Autres valeurs: Nom d'objet qualifié |
Facultatif |
| Qualificatif 1: Inclure fichier | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| CURLIB | Bibliothèque en cours | Nom, *NOCHG, *MNULIB, *CRTDFT | Facultatif |
| PRDLIB | Bibliothèque de logiciel | Nom, *NOCHG, *NONE | Facultatif |
| CHRID | Identificateur de caractères | Entier, *DEVD, *JOBCCSID, *CHRIDCTL | Facultatif |
| REPLACE | Remplacer le menu | *YES, *NO | Facultatif |
| TEXT | Texte 'descriptif' | Valeur caractère, *SRCMBRTXT, *BLANK | Facultatif |
| AUT | Droits | Nom, *LIBCRTAUT, *CHANGE, *ALL, *USE, *EXCLUDE | Facultatif |
Menu (MENU)
Indique le menu à créer.
Ce paramètre est obligatoire.
Qualificatif 1 : Menu
- nom
- Indiquez le nom du menu.
Qualificatif 2 : Biblio
- *CURLIB
- Le nouveau menu est stocké dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit figurer le menu.
Type de menu (TYPE)
Indique le type de menu à créer.
Remarque :*DSPF doit être indiqué avec les valeurs à définir pour les paramètres DSPF (Fichier écran) et MSGF (fichier message). Le paramètre PFM (Programme) est applicable uniquement si *PGM est indiqué.
Ce paramètre est obligatoire.
- *DSPF
- Le menu créé fait appel à un fichier écran et à un fichier de messages existants.
- *PGM
- Le menu créé fait appel à un programme.
- *UIM
- Le menu créé utilise le langage de marques UIM disponible dans le fichier indiqué aux paramètres SRCFILE (Fichier source) et SRCMBR (Membre source).
Fichier écran (DSPF)
Indique le fichier écran à utiliser pour créer l'objet menu. Le fichier écran doit contenir un format d'enregistrement portant son nom : il s'agit du format de menu. Il se peut que le fichier comporte également des formats d'aide.
Les formats d'aide suivent la convention d'appellation #Hxxyy, où xx représente la première option de menu et yy la dernière à laquelle les formats d'aide s'appliquent. Par exemple, #H0306 s'applique aux options de menu 3 à 6. #H0000 désigne l'aide générale relative au menu.
Le fichier écran doit comporter une zone indicateur (mot clé INDARA) distincte et aucune description de sous-fichier.
Ce paramètre n'est applicable que si vous avez indiqué *DSPF pour le paramètre TYPE (Type de menu).
Qualificatif 1 : Fichier écran
- *MENU
- Le nom du fichier écran est identique à celui du menu indiqué pour le paramètre MENU (Menu).
- nom
- Indiquez le nom du fichier écran à utiliser.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier écran est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Désignez la bibliothèque dans laquelle figure le fichier écran.
fichier message (MSGF)
Désigne le fichier de messages contenant les commandes à lancer lorsque des options sont sélectionnées sur le menu. Les MSGID des messages de ce fichier sont au format USRxxxx, où xxxx représente le numéro d'option de menu entré à la ligne de commande.
Remarque :Si le fichier de messages à créer doit être utilisé pour des menus, ajoutez des membres de fichier de messages dans le fichier à l'aide de la commande ADDMSGD (Ajouter description de message).
Qualificatif 1 : fichier message
- *MENU
- Le nom du fichier de messages contenant les commandes à lancer est identique à celui du menu indiqué pour le paramètre MENU (Menu).
- nom
- Indique le nom du fichier de messages à utiliser.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier de messages est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Désignez la bibliothèque dans laquelle figure le fichier de messages.
Ligne de commande (CMDLIN)
Indique si la ligne de commande à afficher est longue, courte ou inexistante (ligne d'option).
- *LONG
- La longueur de la ligne de commande sera de 153 octets.
- *SHORT
- La longueur de la ligne de commande sera de 73 octets.
- *NONE
- L'écran comportera une ligne d'option de 4 octets.
Afficher touches de fonction (DSPKEY)
Indique si le libellé des touches de fonction doit apparaître en bas du menu affiché.
- *NO
- Le libellé des touches de fonction n'est pas affiché en bas de l'écran.
- *YES
- Le libellé des touches de fonction est affiché en bas de l'écran.
Programme (PGM)
Désigne le programme auquel le menu fait appel.
Trois paramètres sont fournis au programme :
- Le premier est le nom de 10 caractères de l'objet Menu qui identifie le programme à appeler.
- Le second est le nom de 10 caractères de la bibliothèque contenant l'objet Menu.
- Le troisième est un code retour binaire de deux caractères, déclaré en tant que variable dans le programme appelé. Le programme doit définir l'un des codes retour suivants :
Code Valeur
retour hexa. Description
0 0000 Appelez de nouveau
le programme (affichage du menu)
-1 FFFF Fonction de sortie demandée
-2 FFFE Fonction précédente demandée
-4 FFFC Fonction initiale demandée
(affichage du menu initial)
Qualificatif 1 : Programme
- *MENU
- Le nom du programme appelé est identique à celui du menu indiqué pour le paramètre MENU(Menu).
- nom
- Indiquez le nom du programme à appeler.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le programme est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Désignez le nom de la bibliothèque dans laquelle figure le programme.
Fichier source (SRCFILE)
Indique le fichier source contenant les instructions source de description du menu.
Qualificatif 1 : Fichier source
- QMNUSRC
- Le fichier source QMNUSRC contient les instructions source de description du menu.
- nom
- Indiquez le nom du fichier source contenant les instructions source de description du menu.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier source est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque contenant le fichier source.
Membre source (SRCMBR)
Indique le nom de membre du fichier source contenant la description du menu.
- *MENU
- Le nom du membre est identique à celui du menu indiqué pour le paramètre MENU (Menu).
- nom
- Indiquez le nom du membre du fichier source contenant la description du menu.
Options pour liste source (OPTION)
Indique les options utilisées pour la sortie générée lors de la compilation. Vous pouvez indiquer plusieurs valeurs dans l'ordre de votre choix. Si aucune valeur ou les deux valeurs de chaque groupe sont indiquées, la valeur soulignée est utilisée.
Remarque :Les valeurs soulignées de ce paramètre sont identiques aux valeurs par défaut mais elles ne sont pas réellement les valeurs par défaut. Elles ne peuvent donc pas être modifiées à l'aide de la commande CHGCMDDFT.
Option pour la liste source
- *SRC ou *SOURCE
- Une liste source est produite.
- *NOSRC ou *NOSOURCE
- Aucune liste source n'est produite, sauf si des erreurs sont détectées.
Option pour les messages de deuxième niveau
- *NOSECLVL
- Le message de deuxième niveau n'est pas fourni avec le message de premier niveau lorsque les messages sont imprimés en fin de liste.
- *SECLVL
- Le message de deuxième niveau est fourni avec le message de premier niveau lorsque les messages sont imprimés en fin de liste.
Option de création d'un fichier événements
- *NOEVENTF
- Le compilateur ne crée pas de fichier événements pour le produit Environnement développement coopératif (CODE).
- *EVENTF
- Le compilateur crée un fichier événements qui peut être utilisé par le produit CODE. Le fichier événements est créé comme membre du fichier EVFEVENT dans votre bibliothèque d'objets. Le produit CODE utilise ce fichier pour proposer un suivi d'erreurs intégré à l'éditeur CODE. Cette valeur est généralement indiquée par le produit CODE pour votre compte.
Inclure fichier (INCFILE)
Indique le fichier source contenant les membres à inclure.
Remarque :Si l'ID codé de jeu de caractères (CCSID) du fichier source est différent de celui du fichier source primaire indiqué dans le paramètre SRCFILE (Fichier source), le premier est remplacé par le second. Tous les membres source utilisés pour créer l'objet doivent avoir le même CCSID.
Valeurs uniques
- *SRCFILE
- Le fichier d'inclusion correspond au fichier indiqué pour le paramètre SRCFILE.
Qualificatif 1 : Inclure fichier
- nom
- Indiquez le nom du fichier source contenant les membres à inclure.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- Le fichier source est recherché dans la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est prise par défaut.
- nom
- Indiquez le nom de la bibliothèque contenant le fichier source.
Bibliothèque en cours (CURLIB)
Indique la bibliothèque en cours utilisée lors de l'affichage du menu.
- *NOCHG
- La bibliothèque en cours n'est pas modifiée pour le traitement de ce menu.
- *MNULIB
- La bibliothèque en cours devient la bibliothèque contenant le menu lors de son affichage.
- *CRTDFT
- Il n'y a pas de bibliothèque en cours lorsque le menu est affiché.
- nom
- Indiquez le nom de la bibliothèque à utiliser comme bibliothèque en cours lorsque le menu est affiché.
Bibliothèque de logiciel (PRDLIB)
Indique la bibliothèque de logiciel utilisée lors de l'affichage du menu.
Remarque :La bibliothèque de logiciel relative à une commande ou à un menu reste dans la liste des bibliothèques tant que la commande ou le menu est actif, sauf si cette bibliothèque est modifiée par une autre commande ou un autre menu. Une fois cette modification terminée, la bibliothèque de logiciel reprend à l'état qui lui était associé lors du démarrage de la commande ou de la bibliothèque.
- *NOCHG
- La bibliothèque de logiciel n'est pas modifiée lors de l'affichage du menu ; elle conserve la même valeur lorsque vous quittez celui-ci.
- *NONE
- La bibliothèque de logiciel figurant dans la liste des bibliothèques n'est pas utilisée lorsque le menu est affiché.
- nom
- Indiquez le nom de la bibliothèque de logiciel utilisée lorsque le menu est affiché.
Identificateur de caractères (CHRID)
Indique si l'identificateur de caractères (jeu de caractères graphiques et page de codes) de l'objet menu est remplacé par celui de l'unité lorsque le menu s'affiche.
Remarque :Ce paramètre n'est applicable que si vous avez indiqué *UIM pour le paramètre TYPE (Type de menu).
- *DEVD
- Aucune modification. Les identificateurs de caractères de l'objet menu et de l'unité sont identiques.
- *JOBCCSID
- L'identificateur de caractères de l'objet menu passe du CCSID du fichier source indiqué pour le paramètre SRCFILE (Fichier source) à la valeur de l'identificateur de caractères de l'unité.
- *CHRIDCTL
- Le système vérifie l'attribut de travail CHRIDCTL afin de déterminer la valeur spéciale (*JOBCCSID ou *DEVD) à indiquer au paramètre CHRID de ce menu.
Remplacer le menu (REPLACE)
Indique si un menu existant de même nom doit être remplacé.
Remarque :Le menu ne peut pas être remplacé s'il est en cours d'utilisation par ce travail ou un autre.
- *YES
- Le menu existant est transféré dans la bibliothèque système QRPLOBJ et remplacé par le nouveau menu.
- *NO
- Le menu existant n'est pas remplacé.
Texte 'descriptif' (TEXT)
Texte descriptif associé au menu.
- *SRCMBRTXT
- Le texte du menu est obtenu à partir du texte associé au membre du fichier source. Notez que cette valeur spéciale permet d'extraire le texte du membre du fichier source uniquement si le menu est de type *UIM. Pour les autres types de menu, il n'y a pas de texte descriptif.
- *BLANK
- Aucun texte descriptif n'est associé au menu.
- valeur-alphanumérique
- Indiquez, entre apostrophes, un texte de 50 caractères au maximum.
Droits (AUT)
Indique les droits que vous accordez aux utilisateurs qui n'ont pas de droits spécifiques sur l'objet, qui ne figurent pas sur une liste d'autorisation ou dont le profil de groupe ou les profils du groupe supplémentaire ne disposent pas de droits spécifiques sur l'objet.
- *LIBCRTAUT
- Le système détermine les droits sur l'objet à l'aide de la valeur spécifiée à l'invite Droits pour objets créés (paramètre CRTAUT) dans la commande CRTLIB pour la bibliothèque contenant l'objet à créer. Si la valeur précisée au paramètre CRTAUT est modifiée, la nouvelle valeur n'affecte pas les objets existants.
- *CHANGE
- L'utilisateur peut effectuer toutes les opérations sur l'objet, à l'exception de celles réservées au propriétaire ou contrôlées par les droits d'existence de l'objet (*OBJEXIST) et de gestion de l'objet (*OBJMGT). L'utilisateur peut réaliser des fonctions de base sur l'objet et le modifier. Le droit *CHANGE fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que les droits sur toutes les données. Si l'objet est une liste d'autorisation, vous pouvez ajouter, modifier ou supprimer des utilisateurs dans cette liste.
- *ALL
- L'utilisateur peut effectuer toutes les opérations, à l'exception de celles réservées au propriétaire ou soumises au droit de gestion de la liste d'autorisation (*AUTLMGT). L'utilisateur a un droit d'existence sur l'objet Il peut également effectuer des fonctions de base sur ce dernier, le modifier, définir son niveau de protection et en transférer la propriété.
- *USE
- L'utilisateur peut effectuer des opérations de base sur l'objet, telles que l'exécution d'un programme ou la lecture d'un fichier. Il ne peut pas le modifier. Le droit d'utilisation (*USE) fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que le droit d'exécution (*EXECUTE).
- *EXCLUDE
- L'utilisateur n'a pas accès à l'objet.
- nom
- Indiquez le nom d'une liste d'autorisation permettant de déterminer les droits sur l'objet. Les droits sur l'objet précisés dans la liste sont accordés aux utilisateurs qui figurent sur cette liste. La liste d'autorisation doit exister à la création de l'objet.
Exemples
CRTMNU MENU(ARLIB/ARPERS) TYPE(*PGM)
Cette commande permet de créer le menu ARPERS dans la bibliothèque ARLIB. Lors de son lancement, le menu appelle un programme (également appelé ARPERS).
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.