Aller au contenu

STRPGMMNU

Démarrer le menu programmeur

En bref

La commande STRPGMMNU (Démarrer le menu programmeur) permet d'afficher le menu programmeur.

STRPGMMNU se lit STR (Démarrer) + PGMMNU. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

STRPGMMNU

Paramètres

Astuce : dans une session 5250, tapez STRPGMMNU 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 : Environnements interactifs (*INTERACT *IPGM *IREXX *EXEC)
Compatible multitâche : Non

La commande STRPGMMNU (Démarrer le menu programmeur) permet d'afficher le menu programmeur. Vous pouvez l'utiliser à la place de la fonction CALL QPGMMENU afin de paramétrer l'affichage du menu programmeur.

REMARQUES :

  1. Il est possible d'appeler un programme d'exit utilisateur plutôt que de soumettre un travail lorsque l'option 3 est sélectionnée.
  2. Les quatre premiers paramètres contrôlent les valeurs par défaut visibles lorsque le menu s'affiche pour la première fois.

Le manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/, contient des informations complémentaires sur l'utilisation du menu programmeur.

Paramètres

Mot-clé Description Valeurs possibles Remarques
SRCFILE Fichier source Nom, *DFT Facultatif, positionnel 1
SRCLIB Bibliothèque source Nom, *LIBL, *CURLIB Facultatif, positionnel 2
OBJLIB Bibliothèque objet Nom, *DFT, *CURLIB Facultatif, positionnel 3
JOBD Description de travail Nom, *USRPRF Facultatif, positionnel 4
ALWUSRCHG Modifications admises *YES, *NO Facultatif
EXITPGM Programme exit option 3 Valeurs uniques: *NONE
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Programme exit option 3 Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
DLTOPT Option de suppression *DLT, *PROMPT, *NODLT Facultatif

Fichier source (SRCFILE)

Indique un fichier source existant contenant les membres à mettre à jour ou auquel les nouveaux membres doivent être ajoutés.

*DFT
Il s'agit de la valeur par défaut pour le type indiqué sur le menu. Cette zone est à blanc lorsqu'elle est affichée sur le clavier-écran.
nom
Indique le nom du fichier source à mettre à jour.

Bibliothèque source (SRCLIB)

Indique la bibliothèque dans laquelle est recherché le fichier source.

*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 définie dans la liste des bibliothèques, QGPL est prise par défaut.
nom
Indique la bibliothèque dans laquelle est situé le fichier source.

Bibliothèque objet (OBJLIB)

Indique la bibliothèque devant contenir l'objet.

*DFT
Cette zone est à blanc. La bibliothèque utilisée dépend de l'option choisie.
*CURLIB
La bibliothèque en cours du travail est celle qui doit contenir l'objet.
nom
Indique le nom de bibliothèque devant contenir l'objet créé.

Description de travail (JOBD)

Indique la description de travail utilisée pour le travail soumis.

*USRPRF
La description du travail définie dans le profil de l'utilisateur de la commande STRPGMMNU est utilisée pour le travail.
nom
Entrez le nom de la description de travail à utiliser. Celle-ci figure dans la liste des bibliothèques utilisée pour ce travail.

Modifications admises (ALWUSRCHG)

Indique si les zones d'affichage mentionnées dans les paramètres précédents de cette commande peuvent être modifiées par l'utilisateur.

*YES
Les zones de l'écran peuvent être modifiées.
*NO
Les zones de l'écran ne peuvent pas être modifiées.

Programme exit option 3 (EXITPGM)

Indique le programme écrit par l'utilisateur appelé en tant que programme d'exit au lieu de soumettre un travail par lots lorsque l'option 3 du menu est sélectionnée. Ce programme reçoit alors des paramètres transmis par le menu Programmeur. Vous trouverez des informations complémentaires sur le paramètre EXITPGM dans le manuel Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Valeurs uniques

*NONE
Aucun programme utilisateur n'est appelé ; un travail par lots est soumis. Lorsque *NONE est spécifié, *DLT doit l'être pour le paramètre Option de suppression (DLTOPT).

Qualificatif 1 : Programme exit option 3

nom
Indique le nom du programme appelé lorsque l'option 3 est sélectionnée au lieu de soumettre la commande de création en tant que travail par lots. Lorsqu'une valeur est associée à ce paramètre, le texte figurant sur le menu correspondant à l'option 3 indique le nom et la bibliothèque du programme.

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 pour le travail. Si celle-ci n'est pas définie dans la liste des bibliothèques, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque contenant le programme.

Option de suppression (DLTOPT)

Indique la marche à suivre lorsque :

  • Un nom de programme est indiqué au paramètre Programme exit option 3 (EXITPGM).
  • L'utilisateur choisit l'option 3 du menu programmeur.
  • Un objet de même nom et de même type que celui à créer existe déjà dans la bibliothèque indiquée sur le menu.

Quelle que soit la valeur spécifiée, le système transmet un paramètre (provenant des paramètres transmis à partir du menu programmeur) au programme d'exit qui indique si l'objet existe.

*DLT
Cette valeur doit être indiquée si *NONE est spécifié au paramètre EXITPGM. Si un programme d'exit est indiqué pour le paramètre EXITPGM, que l'objet à créer avec l'option 3 existe et que l'utilisateur appuie sur la touche Entrée, un message apparaît ; appuyez sur F11 pour continuer. Le système supprime ou remplace alors l'objet avant d'appeler le programme spécifié par le programme d'exit. Il s'agit de la fonction normale du menu programmeur lorsque aucun programme d'exit n'est spécifié.

REMARQUES :

  1. Lorsque la valeur *DLT est spécifiée, l'objet est supprimé ou remplacé avant que le travail soit soumis ou que le programme d'exit utilisateur soit appelé.
  2. Si le type de la source est l'un des types indiqués ci-après, l'objet est remplacé et non supprimé (un programme d'exit doit être utilisé pour supprimer plutôt que remplacer).

            BAS       C         CBL
            CBL36     CLP       DSPF
            DSPF36    FTN       ICFF
            MNU36     MSGF36    PAS
            PLI       PRTF      RPG
            RPG36     RPT36
    

*PROMPT
L'objet n'est ni supprimé, ni remplacé par le système, mais ce dernier vous invite à confirmer votre demande de suppression. Si l'objet existe et que l'utilisateur appuie sur la touche Entrée, un message s'affiche. Appuyez sur la touche F11 pour continuer ; le système ne supprime pas l'objet. L'utilisateur confirme si l'objet est à supprimer ou à remplacer, mais la suppression reste contrôlée par le programme d'exit.
*NODLT
Le programme utilisateur est appelé sans prise en compte de la présence de l'objet.
Figure : Tableau 1. Opérations exécutées par le système lorsqu'un programme d'exit est appelé

!-----------+----------+---------+------------!
! DLTOBJ    ! F11      ! Objet   ! Valeur     !
! Spécifié  ! Requis   ! Suppr.  ! Transmis   !
!           !          !         ! au prog.   !
!           !          !         ! d'exit     !
!-----------+----------+---------+------------!
! Si l'objet                     !            !
! existait                       !            !
! lors de la                     !            !
! sélection                      !            !
! de l'option 3                  !            !
!                                !            !
!--------------------------------+------------!
! *DLT      ! Oui      ! Oui     ! 1          !
!-----------+----------+---------+------------!
! *PROMPT   ! Oui      ! Non     ! 0          !
!-----------+----------+---------+------------!
! *NODLT    ! Non      ! Non     ! 0          !
!-----------+----------+---------+------------!
! Si l'objet                     !            !
! n'existait                     !            !
! pas lors de                    !            !
! sélection                      !            !
! de l'option 3                  !            !
!                                !            !
!--------------------------------+------------!
! *DLT      ! Non      ! ---     ! 2          !
!-----------+----------+---------+------------!
! *PROMPT   ! Non      ! ---     ! 2          !
!-----------+----------+---------+------------!
! *NODLT    ! Non      ! ---     ! 2          !
!-----------+----------+---------+------------!

Exemples

Exemple 1 : Affichage du menu Programmeur

STRPGMMNU

Cette commande affiche le menu Programmeur avec les valeurs par défaut de tous les paramètres. Cela équivaut à entrer CALL QPGMMENU.

Exemple 2: Protection des valeurs contre les modifications

STRPGMMNU   SRCFILE(YOURFILE)  SRCLIB(YOURLIB)  OBJLIB(YOURLIB)
            JOB(YOURJOBD)  ALWUSRCHG(*NO)

Cette commande interdit toute modification des valeurs du menu par rapport celles indiquées sur la commande.

Exemple 3 : Appel d'un programme d'exit

STRPGMMNU   EXITPGM(OPT3PGM)  DLTOPT(*PROMPT)

Cette commande appelle le programme d'exit OPT3PGM plutôt que de soumettre un travail par lots lorsque l'option 3 est indiquée. Si l'objet existe déjà, DLTOPT(*PROMPT) demande à l'utilisateur d'appuyer sur la touche F11 ; l'objet n'est cependant pas supprimé.

Exemple 4 : Réception de paramètres

La portion suivante d'un programme CL est un exemple de la façon dont ces paramètres peuvent être reçus par un programme d'exit utilisateur. Si le type spécifié fait partie de la liste, l'objet n'est pas supprimé. La commande de création associée à REPLACE(*YES) est transmise au programme d'exit. La valeur transmise est 0.

PGM   PARM(&OPTION &PARM &TYPE &PARM2 &SRCFILE  +
           &SRCLIB &OBJLIB &JOBD &RQSLEN &RQSDTA512  +
           &F4 &F11 &EXIST)
/* Les valeurs suivantes sont transmises telles   */
/* quelles au menu Programmeur.                   */
DCL   VAR(&OPTION)   TYPE(*CHAR)  LEN(2)
DCL   VAR(&PARM)     TYPE(*CHAR)  LEN(10)
DCL   VAR(&TYPE)     TYPE(*CHAR)  LEN(10)
DCL   VAR(&PARM2)    TYPE(*CHAR)  LEN(21)
DCL   VAR(&SRCFILE)  TYPE(*CHAR)  LEN(10)
DCL   VAR(&SRCLIB)   TYPE(*CHAR)  LEN(10)
DCL   VAR(&OBJLIB)   TYPE(*CHAR)  LEN(10)
DCL   VAR(&JOBD)     TYPE(*CHAR)  LEN(10)
/* Les valeurs suivantes sont dérivées par QPGMMENU */
/* des information entrées dans les zones ci-dessus */
/* et des touches F.                                */
/* NUMBER OF BYTES OF REQUEST DATA */
DCL   VAR(&RQSLEN)  TYPE(*DEC)  LEN(3 0)
/* DATA FOR RRQSDTA PARAMETER OF SBMJOB COMMAND. */
DCL   VAR(&RQSDTA512)  TYPE(*CHAR)  LEN(512)
/* F4 WAS PRESSED, '1', OTHERWISE '0'.   */
DCL   VAR(&F4)  TYPE(*CHAR)  LEN(1)
/* F11 WAS PRESSED, '1', OTHERWISE '0'.     */
DCL   VAR(&F11)  TYPE(*CHAR)  LEN(1)
/* OBJECT EXISTS- '0 OBJECT WAS DELETED- '1'
OR OBJECT DID NOT EXIST -'2'*/
DCL   VAR(&EXIST)  TYPE(*CHAR)  LEN(1)

Vous trouverez plus d'informations, ainsi que des exemples d'association de la commande STRPGMMNU et du paramètre EXITPGM dans le manuel CL Programming de l'Information Center.

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