Aller au contenu

CHGPGM

Modifier un programme

En bref

La commande CHGPGM (Modifier un programme) permet de modifier les attributs d'un programme sans recourir à une nouvelle compilation.

CHGPGM se lit CHG (Modifier) + PGM. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CHGPGM PGM(…)

Paramètres

  • PGM Programme obligatoire
  • OPTIMIZE Optimisation du programme
  • USRPRF Profil utilisateur
  • USEADPAUT Utiliser droits adoptés
  • RMVOBS Enlever infos observables
  • PRFDTA Données de profilage
  • FRCCRT Recréation programme forcée
  • TEXT Texte 'descriptif'
  • LICOPT Options microcode sous licence
  • NBRTHD Nombre d'unités d'exécution Number of threads
  • ENBPFRCOL Collecte performance possible
  • TERASPACE Espace mémoire à téraoctets
  • STGMDL Modèle d'espace mémoire

Astuce : dans une session 5250, tapez CHGPGM 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 CHGPGM (Modifier un programme) permet de modifier les attributs d'un programme sans recourir à une nouvelle compilation. L'utilisateur peut également forcer la recréation d'un programme même si les attributs indiqués sont identiques aux attributs en cours.

Remarque :Si vous exécutez la commande CHGPGM sur des programmes OPM avec table de correspondance de répertoire (DMT) créés en V3R6M0 et que toutes les informations d'observabilité sont retirées, cette table est supprimée de l'objet programme. Un message s'affiche pour indiquer que la modification a été exécutée.

Restrictions :

  • Vous devez disposer des droits de gestion d'objet (*OBJMGT) et d'utilisation (*USE) pour le programme à modifier.
  • Vous devez au moins disposer des droits *USE pour la bibliothèque dans laquelle se trouve le programme à modifier. Vous devez également disposer des droits de suppression (*DLT) et d'ajout (*ADD) sur la bibliothèque pour pouvoir modifier la valeur de l'attribut d'optimisation (paramètre OPTIMIZE), de collecte des performances (paramètre ENBPFRCOL), de données de profilage (paramètre PRFDTA), d'options de microcode sous licence (paramètre LICOPT) et d'activation d'espace mémoire à téraoctets (paramètre TERASPACE), ou pour pouvoir forcer une recréation du programme par FRCCRT(*YES).
  • Pour pouvoir modifier l'attribut de profil utilisateur (paramètre USRPRF) ou l'attribut d'utilisation des droits adoptés (paramètre USEADPAUT), vous-même ou l'un de vos profils de groupe devez être soit propriétaire du programme, soit détenteur des droits spéciaux sur tous les objets (*ALLOBJ) ainsi que des droits spéciaux de l'administrateur de la sécurité (*SECADM).
  • Les programmes des bibliothèques QSYS et QGDDM ne peuvent pas être modifiés, excepté sauf si vous vous limitez au retrait des informations d'observabilité (paramètre RMVOBS).
  • D'autres travaux exécutant le programme peuvent échouer soit si la recréation d'un programme est forcée par FRCCRT(*YES), soit si l'un des paramètres suivants est modifié : Optimisation du programme (OPTIMIZE),Utiliser droits adoptés (USEADPAUT),Collecte performance possible (ENBPFRCOL),Données de profilage (PRFDTA),Profil utilisateur (USRPRF),Options microcode sous licence (LICOPT),Espace mémoire à téraoctets (TERASPACE) ou Modèle d'espace mémoire (STGMDL).

Paramètres

Mot-clé Description Valeurs possibles Remarques
PGM Programme Nom d'objet qualifié Obligatoire, clé, positionnel 1
Qualificatif 1: Programme Nom générique, nom, *ALL
Qualificatif 2: Biblio Nom, *USRLIBL
OPTIMIZE Optimisation du programme *SAME, *YES, *FULL, *BASIC, *NONE, 40, 30, 20, 10, *NO Facultatif
USRPRF Profil utilisateur *SAME, *USER, *OWNER Facultatif
USEADPAUT Utiliser droits adoptés *SAME, *YES, *NO Facultatif
RMVOBS Enlever infos observables Valeurs uniques: *SAME, *ALL, *NONE
Autres valeurs (jusqu'à 4 répétitions): *CRTDTA, *DBGDTA, *BLKORD, *PRCORD
Facultatif
PRFDTA Données de profilage *SAME, *NOCOL, *COL, *CLR, *APYBLKORD, *APYPRCORD, *APYALL Facultatif
FRCCRT Recréation programme forcée *NO, *YES, *NOCRT Facultatif
TEXT Texte 'descriptif' Valeur caractère, *SAME, *BLANK Facultatif
LICOPT Options microcode sous licence Valeurs uniques: *SAME, *NONE
Autres valeurs: Liste d'éléments
Facultatif
Élément 1: Options Valeur caractère
Élément 2: Action *REPLACE, *ADD
NBRTHD Nombre d'unités d'exécutionNumber of threads 1-256, 1, *CALC Facultatif
ENBPFRCOL Collecte performance possible Valeurs uniques: *SAME, *NONE, *PEP
Autres valeurs: Liste d'éléments
Facultatif
Élément 1: Niveau de collecte *FULL, *ENTRYEXIT
Élément 2: Procédures *ALLPRC, *NONLEAF
TERASPACE Espace mémoire à téraoctets *NO, *YES, *SAME Facultatif
STGMDL Modèle d'espace mémoire *SAME, *INHERIT Facultatif

Programme (PGM)

Indique un ou plusieurs programmes dont les attributs sont à modifier. *USRLIBL ne peut pas être indiqué ou pris par défaut en tant que qualificatif de bibliothèque lorsque le qualificatif de programme est un nom générique ou *ALL.

Ce paramètre est obligatoire.

Qualificatif 1 : Programme

nom
Indiquez le nom du programme dont les attributs sont à modifier.
nom-générique
Indiquez le nom générique de tous les programmes dont les attributs sont à modifier. Ainsi, la totalité des programmes répondant à cette valeur de recherche générique sera sélectionnée. Un nom générique peut se présenter sous la forme d'une chaîne d'un ou plusieurs caractères suivis d'un astérisque (*).
*ALL
Tous les programmes de la bibliothèque indiquée sur lesquels vous disposez de droits (à l'exception des droits d'exclusion *EXCLUDE) sont sélectionnés en vue d'être modifiés.

Qualificatif 2 : Biblio

*USRLIBL
Le premier programme trouvé dans la liste des bibliothèques utilisateur est modifié.
nom
Indiquez le nom de la bibliothèque contenant le programme.

Optimisation du programme (OPTIMIZE)

Indique si le programme doit être optimisé (en supprimant les instructions redondantes). Si vous modifiez le niveau d'optimisation en cours d'un programme ILE (Integrated Language Environment), ce dernier est recréé par le système avec le nouveau niveau d'optimisation.

Le programme doit être recréé pour pouvoir modifier le niveau d'optimisation. Pour être admissibles à l'opération de recréation, les programmes OPM doivent être caractérisés par une observabilité complète et les programmes ILE doivent comporter toutes les données de création, lesquelles doivent être observables. Pour savoir si un programme est observable ou comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme).

*SAME
Les attributs d'optimisation du programme ne changent pas.
*YES
Le programme est au niveau d'optimisation le plus élevé pour l'édition et le langage pour lesquels il a été créé (édition indiquée au paramètre TGTRLS lors de la création du programme). Dans la plupart des cas, les programmes optimisés utilisent plus efficacement les ressources du système. Pour les programmes ILE, l'indication de OPTIMIZE(YES) produit le même effet que OPTIMIZE(40).
*NO
Le programme n'est pas optimisé. A ce niveau, lors du débogage de programmes ILE, les variables peuvent être affichées et modifiées.
40
Ce niveau comprend toutes les optimisations effectuées au niveau d'optimisation 30 (*FULL). En outre, il comprend l'optimisation désactivant le traçage d'appel et d'instruction. Le traçage des modules créés à ce niveau d'optimisation ne peut donc pas être effectué. Le fait d'indiquer la valeur OPTIMIZE(40) pour les programmes OPM revient à spécifier la valeur OPTIMIZE(*YES).
*FULL ou 30
Une optimisation supplémentaire est appliquée, outre celle effectuée au niveau d'optimisation 20 (*BASIC). Lors du débogage du programme, les variables peuvent être affichées, mais ne peuvent pas être modifiées. Toutefois, la valeur affichée pour la variable lors du débogage peut différer de la valeur en cours de cette dernière. La valeur OPTIMIZE(*FULL) pour le programme OPM n'a aucun effet ; un message de diagnostic est envoyé.
*BASIC ou 20
Une optimisation est effectuée sur les programmes ILE. Lors du débogage de ces programmes à ce niveau d'optimisation, les variables peuvent être affichées, mais la valeur qui leur est associée peut être différente de la valeur en cours. Les variables peuvent également être modifiées, mais leur utilisation peut générer des résultats inattendus. Lorsque OPTIMIZE(*BASIC) est indiqué pour les programmes OPM, un message d'information est envoyé et l'optimisation n'est pas effectuée.
*NONE ou 10
Valeur identique à *NO.

Profil utilisateur (USRPRF)

Indique si le contrôle des droits effectué pendant l'exécution du programme ne concerne que l'utilisateur de ce programme (*USER) ou bien à la fois l'utilisateur et le propriétaire (*OWNER). Les droits mentionnés dans le profil utilisateur ou bien dans le profil utilisateur et dans le profil propriétaire servent à contrôler l'utilisation des objets par le programme, y compris les droits du programme sur chaque objet.

Pour pouvoir modifier l'attribut de profil utilisateur, vous-même ou l'un de vos profils de groupe devez être soit propriétaire du programme, soit détenteur des droits spéciaux sur tous les objets (*ALLOBJ) ainsi que des droits spéciaux de l'administrateur de la sécurité (*SECADM).

Le programme doit être recréé pour pouvoir modifier le profil utilisateur. Pour être admissibles à l'opération de recréation, les programmes OPM doivent être caractérisés par une observabilité complète et les programmes ILE doivent comporter toutes les données de création, lesquelles doivent être observables. Pour savoir si un programme est observable ou comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme).

*SAME
L'attribut du profil utilisateur ne change pas.
*USER
Le programme s'exécute sous le profil de l'utilisateur qui l'a démarré.
*OWNER
Le programme est exécuté avec les profils de son propriétaire et de son utilisateur. L'ensemble des droits sur les objets des deux profils est utilisé pour rechercher les objets et y accéder lors de l'exécution du programme. Les droits du profil de groupe du profil du propriétaire ne sont pas inclus.

Utiliser droits adoptés (USEADPAUT)

Indique si les droits adoptés provenant de programmes précédents de la liste d'appel seront utilisés ou non par ce programme.

Pour pouvoir modifier l'attribut d'utilisation des droits adoptés, vous-même ou l'un de vos profils de groupe devez être soit propriétaire du programme, soit détenteur des droits spéciaux sur tous les objets (*ALLOBJ) ainsi que des droits spéciaux de l'administrateur de la sécurité (*SECADM).

Le programme doit être recréé pour qu'il soit possible de modifier l'attribut de droits adoptés. Pour être admissibles à l'opération de recréation, les programmes OPM doivent être caractérisés par une observabilité complète et les programmes ILE doivent comporter toutes les données de création, lesquelles doivent être observables. Pour savoir si un programme est observable ou comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme).

*SAME
Cet attribut ne change pas.
*YES
Les droits adoptés provenant de niveaux d'appel précédents seront utilisés lors de l'exécution de ce programme. *NO est utilisé si une liste d'autorisation est indiquée pour la valeur système QUSEADPAUT alors que l'utilisateur ne dispose pas de droits sur cette liste.
*NO
Les droits adoptés provenant de niveaux d'appel précédents ne seront pas utilisés lors de l'exécution de ce programme.

Enlever infos observables (RMVOBS)

Indique les informations d'observabilité du programme à retirer.

*SAME
Les informations d'observabilité du programme ne sont pas enlevées.
*ALL
Toutes les informations d'observabilité du programme sont enlevées, dans la mesure du possible. Si le programme requiert les informations d'observabilité pour le contrôle de son fonctionnement, ces informations ne sont pas enlevées.

REMARQUES :

  1. Si les données de profilage d'ordre de bloc ont été précédemment appliquées à ce programme ILE, l'attribution de la valeur *ALL au paramètre RMVOBS enlève la propriété d'observabilité *BLKORD.
  2. Le retrait de la propriété d'observabilité aux programmes OPM compilés avec OPTION(*LSTDBG) n'enlève pas complètement les informations de débogage. Pour les enlever toutes, recompilez le programme avec le paramètre OPTION(*NOLSTDBG).

Voir aussi les remarques concernant la valeur spéciale *CRTDTA.

*NONE
Aucune information d'observabilité du programme n'est enlevée.
*DBGDTA
Les informations de débogage sont supprimées du programme ILE. Ces informations sont nécessaires pour permettre la mise au point du programme. Lorsque RMVOBS(*DBGDTA) est indiqué pour les programmes OPM, un message d'information est envoyé et l'opération n'est pas effectuée.
*CRTDTA
L'observabilité des données de création est enlevée d'un programme ILE. Cette observabilité est nécessaire pour recréer le programme à l'aide de la commande CHGPGM ou pour modifier les attributs de programme via l'un quelconque des paramètres de commande OPTIMIZE, USRPRF, USEADPAUT, ENBPFRCOL, PRFDTA, LICOPT, TERASPACE ou STGMDL. Lorsque RMVOBS(*CRTDTA) est indiqué pour les programmes OPM, un message d'information est envoyé et l'opération n'est pas effectuée.

REMARQUES :

  1. *CRTDTA ne peut pas être spécifié si le programme ILE est activé pour la collecte de données de profilage.
  2. Des données de création (observables ou non) sont requises pour convertir des programmes pour le passage d'une technologie à une autre (par exemple, de CISC à RISC).
  3. Certains programmes conservent des données de création non observables même lorsque les données observables sont enlevées. Les programmes OPM créés pour l'édition V5R1M0 ou une édition ultérieure (paramètre TGTRLS lors de la création du programme), contiendront des données de création non observables même si l'observabilité de *ALL est enlevé. Les programmes ILE créés uniquement à partir de modules conçus pour l'édition V5R1M0 ou une édition ultérieure contiendront toujours des données de création non observables, même si l'observabilité de *ALL ou de *CRTDTA est enlevée.
  4. Si le programme a été créé pour une édition antérieure à V5R1M0 ou si ce programme contient des modules liés créés pour une édition antérieure à V5R1M0, l'observabilité de *ALL ou de *CRTDTA ne peut pas être enlevée.
  5. Dans le cas de programmes CL OPM créés avec ALWRTVSRC(*YES) et des programmes ILE contenant des modules CL liés créés avec ALWRTVSRC(*YES), le source CL correspondant peut être extrait à l'aide de la commande RTVCLSRC (Extraire un source CL), même après retrait de l'observabilité de *ALL ou de *CRTDTA.
*BLKORD
Les données de profilage par ordre de procédure sont enlevées du programme ILE. Un message d'information est généré et aucune observabilité n'est supprimée lorsque RMVOBS(*BLKORD) est spécifié pour les programmes OPM.
*PRCORD
Les données de profilage par ordre de procédure sont enlevées du programme ILE. Un message d'information est généré et aucune observabilité n'est enlevée lorsque RMVOBS(*PRCORD) est spécifié pour les programmes OPM.

Données de profilage (PRFDTA)

Indique l'attribut de données de profilage de programme pour les programmes ILE. Le profilage de programme est une technique d'optimisation évoluée qui permet de réorganiser les procédures et le code des procédures à partir de données statistiques (données de profilage). Un message d'information est envoyé et *SAME est utilisé si une valeur autre que celle-ci est spécifiée au paramètre PRFDTA pour les programmes OPM.

Le programme doit être recréé pour pouvoir modifier l'attribut de données de profilage. Pour être admissible à l'opération de recréation, le programme doit comporter toutes les données de création lesquelles doivent être observables. Pour savoir si le programme comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme).

*SAME
La valeur reste inchangée.
*NOCOL
La collecte des données de profilage n'est pas activée et les données de profilage ne sont pas appliquées.
*COL
La collecte des données de profilage est activée pour les modules admissibles.

Remarque :Le fait de spécifier *COL enlève toutes les données de profilage appliquées si celles-ci sont appliquées au programme ILE.

*CLR
Toutes les données de profilage collectées précédemment sont supprimées. Le programme reste activé pour la collecte de données de profilage.
*APYBLKORD
Les données de profilage d'ordre de bloc sont appliquées à chaque module lié à ce programme ILE précédemment activé pour la collecte de données de profilage. La collecte des données de profilage n'est plus activée.
*APYPRCORD
Les données de profilage d'ordre de bloc et d'ordre des procédures sont appliquées. La collecte des données de profilage n'est plus activée.
*APYALL
Les données de profilage d'ordre de bloc et d'ordre des procédures sont appliquées. La collecte des données de profilage n'est plus activée.

Recréation programme forcée (FRCCRT)

Indique si une recréation du programme est forcée.

Pour être admissibles à l'opération de recréation, les programmes OPM doivent être caractérisés par une observabilité complète et les programmes ILE doivent comporter toutes les données de création observables. Pour savoir si un programme est observable ou comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme). La commande CHGPGM ne permet pas d'utiliser des données de création non observables.

*NO
La recréation du programme n'est pas forcée, excepté si l'un des paramètres suivants à été modifié : Optimisation du programme (OPTIMIZE), Utiliser droits adoptés (USEADPAUT), Collecte performance possible (ENBPFRCOL), Données de profilage (PRFDTA), Profil utilisateur (USRPRF), Options microcode sous licence (LICOPT), Espace mémoire à téraoctets (TERASPACE) ou Modèle d'espace mémoire (STGMDL). Cette option permet au système de déterminer si une modification est nécessaire.
*YES
La recréation du programme est forcée.
*NOCRT
Aucune recréation de programme n'est effectuée. Si vous tentez de modifier un attribut d'un programme nécessitant implicitement la recréation de celui-ci, un message d'erreur est émis et aucun attribut du programme n'est modifié. La modification de l'un des paramètres suivants peut entraîner la recréation du programme : Optimisation du programme (OPTIMIZE), Utiliser droits adoptés (USEADPAUT), Collecte performance possible (ENBPFRCOL), Données de profilage (PRFDTA), Profil utilisateur (USRPRF), Options microcode sous licence (LICOPT), Espace mémoire à téraoctets (TERASPACE) ou Modèle d'espace mémoire (STGMDL).

Texte 'descriptif' (TEXT)

Texte décrivant brièvement l'objet.

*SAME
Le texte reste inchangé.
*BLANK
Aucun texte n'est indiqué.
'descriptif'
Indiquez un texte, entre guillemets simples, comportant 50 caractères au maximum.

Options microcode sous licence (LICOPT)

Indique les options de compilation individuelles. Ce paramètre est destiné au programmeur expérimenté qui est à même d'évaluer les avantages et les inconvénients de chaque option de compilateur sélectionnée. Indiquer une valeur autre que *SAME pour les options du microcode sous licence d'un programme ILE entraîne la recréation de ce dernier par le système.

Le programme doit être recréé pour pouvoir modifier les options de microcode sous licence. Pour être admissible à l'opération de recréation, le programme doit comporter toutes les données de création lesquelles doivent être observables. Pour savoir si le programme comporte toutes les données de création, lancez la commande DSPPGM (Afficher un programme).

Remarque : Pour plus d'informations sur les options LICOPT, reportez-vous au manuel ILE Concepts, SC41-5606

Elément 1 : Options

*SAME
Si l'objet programme est recréé, les options de compilation LICOPT existantes sont utilisées pour cette opération. Sinon, les options de compilation LICOPT restent inchangées.
*NONE
La recréation du programme est forcée et aucune option LICOPT n'est utilisée.
valeur-alphanumérique
Indique une ou plusieurs options de compilation LICOPT. Indiquer une autre valeur pour les options du microcode sous licence d'un programme ILE entraîne la recréation de ce dernier par le système.

Elément 2 : Action

*REPLACE
Les options du microcode sous licence existantes pour les modules liés sont remplacées par les valeurs spécifiées.
*ADD
Les options du microcode sous licence spécifiées sont ajoutées à la fin de la chaîne d'options existante pour chaque module lié. En cas de conflit entre les valeurs d'option du microcode sous licence, la dernière valeur spécifiée prend la priorité sur les autres.

Nombre d'unités d'exécution (NBRTHD)Number of threads (NBRTHD)

Indique le nombre maximal d'unités d'exécution à utiliser pour recréer les modules liés. Si vous indiquez un nombre supérieur à 1, la commande peut tirer parti des cycles de CPU disponibles, en particulier sur un système multiprocesseur.

1
Une unité d'exécution unique est utilisée lors de la création de modules liés.
*CALC
Le système calcule un nombre maximal d'unités d'exécution raisonnable à utiliser pour ne pas employer trop de ressources. Généralement, il s'agit d'une ou de deux unités d'exécution pour chaque processeur disponible.
1-256
Indiquez le nombre maximal d'unités d'exécution à utiliser.

Collecte performance possible (ENBPFRCOL)

Ce paramètre est obsolète.

Espace mémoire à téraoctets (TERASPACE)

Indique si l'objet programme est activé pour fonctionner avec la mémoire de l'espace mémoire à téraoctets. Cela inclut la mémoire de l'espace mémoire à téraoctets allouée par l'objet module et les paramètres transmis à partir d'un autre programme activé pour l'espace mémoire à téraoctets et les objets programme de service.

Si le programme modifié a été créé pour TGTRLS(V6R1M0) ou version supérieure, le programme est activé pour l'espace mémoire à téraoctets quelle que soit la valeur indiquée pour ce paramètre. Si le programme modifié a été créé pour une édition antérieure à l'édition V6R1M0, la valeur TERASPACE définie est stockée dans le programme et est utilisée lorsque le programme est ramené à une édition antérieure à l'édition V6R1M0. Cependant, à partir de l'édition VR6R1M0, le programme est activé pour l'espace mémoire à téraoctets.

Si le programme modifié possède une valeur d'édition cible (TGTRLS) antérieure à l'édition V6R1M0, l'indication d'une valeur différente de la valeur d'attribut TERASPACE actuelle entraîne la recréation du programme et le stockage de la valeur indiquée dans les informations de modèle objet.

*SAME
La valeur du paramètre TERASPACE reste inchangée.
*NO
Si le programme a été créé pour une édition antérieure à V6R1M0, l'intégration de l'espace mémoire à téraoctets prend la valeur No. Dans le cas d'un programme ILE, l'intégration de l'espace mémoire à téraoctets pour les modules liés admissibles prend également la valeur No. Pour pouvoir être passé à TERASPACE(*NO), le module lié doit être un modèle d'espace adressable unique.
*YES
Si le programme a été créé pour une édition antérieure à l'édition V6R1M0, l'activation de l'espace mémoire à téraoctets prend la valeur Oui. Dans le cas d'un programme ILE, l'activation de l'espace mémoire à téraoctets pour les modules liées prend la valeur Yes. L'édition du module lié doit être égale ou supérieure à V4R4M0, avec passage à la valeur TERASPACE(*YES).

Modèle d'espace mémoire (STGMDL)

Indique l'attribut de modèle d'espace mémoire du programme.

*SAME
Le modèle d'espace mémoire du programme reste inchangé.
*INHERIT
Le programme peut utiliser soit un modèle d'espace adressable unique, soit un espace mémoire à téraoctets. Le type de mémoire utilisé dépend du type de mémoire requis par l'appelant.

Restrictions :

  1. Le programme doit être un programme lié ILE (Integrated Language Environment).
  2. L'attribut de groupe d'activation du programme doit être *CALLER.
  3. Le modèle d'espace mémoire en cours pour le programme ne peut pas être *TERASPACE.
  4. L'édition cible du programme doit être V6R1M0 ou une édition ultérieure.
  5. L'édition cible de tous les modules liés au sein du programme doit être V5R1M0 ou une édition ultérieure.

Exemples

Exemple 1 : Optimisation d'un programme

CHGPGM   PGM(PROG1/SERVICE)  OPTIMIZE(*YES)  USRPRF(*OWNER)

Le programme SERVICE situé dans la bibliothèque PROG1 est optimisé et le profil utilisateur sous lequel il est traité est modifié pour inclure celui du propriétaire du programme. Ce programme est recréé uniquement si les attributs indiqués sont différents de ceux du programme en cours.

Exemple 2 : Modification du texte dans un programme

CHGPGM   PGM(*USRLIBL/KNUTE)  TEXT('Description de programme')

Cette commande modifie le texte du programme KNUTE. La section utilisateur de la liste des bibliothèques est utilisée pour trouver le programme.

Exemple 3 : Optimisation de programmes multiples

CHGPGM   PGM(PROG1/ABC*)  OPTIMIZE(*YES)

Tous les programmes de la bibliothèque PROG1 dont les noms commencent par ABC, sont portés à leur niveau maximal d'optimisation.

Exemple 4 : Modification de texte de programmes multiples

CHGPGM   PGM(PROG2/*ALL)  TEXT('Texte générique')

Cette commande modifie le texte de tous les programmes de la bibliothèque PROG2 en 'Texte générique'.

Exemple 5 : Activation de la collecte des données de profilage

CHGPGM   PGM(PROG1/PROFPGM)  PRFDTA(*COL)

Cette commande active la collecte des données de profilage pour le programme PROFPGM situé dans la bibliothèque PROG1. Si ce programme détient des données de profilage validées avant l'émission de cette commande, toutes ces données sont alors retirées.

Exemple 6 : Application des données de profilage

CHGPGM   PGM(PROG1/PROFPGM)  PRFDTA(*APYALL)

Cette commande valide la demande de bloc et les données de profilage de la demande de procédure dans le programme PROFPGM situé dans la bibliothèque PROG1. La collecte des données de profilage n'est plus activée pour le programme PROFPGM situé dans la bibliothèque PROG1.

Messages d'erreur

Messages *ESCAPE

CPF0540
Valeur *USRLIBL non admise avec nom générique ou *ALL.
CPF0541
Le programme &1 n'est pas modifié dans la bibliothèque &2.
CPF0542
Le programme &1 de la bibliothèque &2 n'est pas modifié.
CPF0543
Utilisateur &3 non autorisé à modifier &1.
CPF0544
Les programmes des bibliothèques QSYS et QGDDM ne peuvent pas être modifiés.
CPF0545
Aucun programme n'a été modifié.
CPF0546
&1 modifiés. &2 ne nécessitaient pas de modification. &3 non modifiés.
CPF0547
Impossible de supprimer les informations observables.
CPF0549
Utilisateur &3 non autorisé à modifier &1.
CPF223C
Non autorisé à modifier attribut USEADPAUT pour &1 de &2 type *&3.
CPF223E
Echec de la vérification des droits sur l'attribut d'utilisation de droits adoptés.
CPF5D0A
Impossible de supprimer l'observabilité de l'objet &1, type *&3.
CPF5D40
*&3 &2/&1 ne peut pas être STGMDL(*INHERIT).
CPF9803
Impossible d'allouer l'objet &2 de la bibliothèque &3.
CPF9804
Objet &2 dans bibliothèque &3 endommagé.
CPF9806
Impossible d'exécuter fonction pour objet &2 de &3.
CPF9810
Bibliothèque &1 non trouvée.
CPF9811
Programme &1 non trouvé dans la bibliothèque &2.
CPF9818
Objet &2 non créé dans la bibliothèque &3.
CPF9819
Objet &2 non créé dans la bibliothèque &3.
CPF9820
Non autorisé à utiliser la bibliothèque &1.
CPF9821
Non autorisé au programme &1 de &2.
CPF9830
Allocation de la bibliothèque &1 impossible.

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