Aller au contenu

CPROBJ

Comprimer un objet

En bref

La commande CPROBJ (Comprimer un objet) permet de comprimer des programmes, groupes de panneaux, menus, fichiers écran, fichiers imprimante, modules et programmes de service.

CPROBJ se lit CPR (Compresser) + OBJ. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CPROBJ OBJ(…) OBJTYPE(…)

Paramètres

  • OBJ Objet obligatoire
  • OBJTYPE Type d'objet obligatoire
  • DAYS Nb jours d'inutilisation
  • PGMOPT Option de programme

Astuce : dans une session 5250, tapez CPROBJ 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 CPROBJ (Comprimer un objet) permet de comprimer des programmes, groupes de panneaux, menus, fichiers écran, fichiers imprimante, modules et programmes de service.

  • Les objets comprimés occupent moins de place en mémoire que ceux qui ne le sont pas. Lorsqu'un objet ou un programme comprimé est respectivement utilisé ou appelé, l'utilisateur dispose automatiquement d'une version décomprimée de l'objet.
  • Les objets décomprimés utilisent la mémoire système qui leur est allouée et sont à l'état final, prêts à être utilisés.
  • Un objet décomprimé provisoirement correspond à une copie provisoirement décomprimée d'un objet comprimé. Le système alloue l'espace mémoire nécessaire aux copies provisoires tant que l'utilisateur ou le système n'indique pas que cette mémoire doit être récupérée.

    La mémoire temporaire est automatiquement récupérée lorsque :

    • la commande RCLTMPSTG est exécutée
    • l'IPL suivant est lancé
    • l'objet est utilisé suffisamment souvent pour que le système le décomprime définitivement

    Lorsqu'un objet est définitivement décomprimé, sa version comprimée est supprimée ainsi que toutes les formes temporaires de l'objet ; cependant, les versions comprimées sont conservées intactes tant que les objets sont décomprimés provisoirement.

Restrictions :

  1. L'utilisateur doit disposer du droit de gestion de l'objet (*OBJMGT) ainsi que du droit d'exécution (*EXECUTE) sur la bibliothèque de l'objet.
  2. Pour éviter une fin anormale du programme, celui-ci ne doit pas être comprimé alors qu'il est en cours d'exécution dans le système.
  3. Avant de comprimer un programme système, l'utilisateur doit arrêter tous les sous-systèmes actifs.
  4. Les programmes sans valeur de validation correcte ne sont pas comprimés.
  5. Les objets dont le format est incompatible avec l'implémentation de machine en cours et ne disposant pas de l'observabilité nécessaire pour une nouvelle conversion ne seront pas comprimés.
  6. Les objets sauvegardés avec libération de mémoire ne peuvent être ni comprimés, ni décomprimés.

Paramètres

Mot-clé Description Valeurs possibles Remarques
OBJ Objet Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Objet Nom générique, nom, *ALL
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB, *ALL, *ALLUSR, *USRLIBL
OBJTYPE Type d'objet Values (jusqu'à 6 répétitions): *ALL, *FILE, *MENU, *MODULE, *PGM, *PNLGRP, *SRVPGM Obligatoire, positionnel 2
DAYS Nb jours d'inutilisation 1-366, *NONE Facultatif
PGMOPT Option de programme *ALL, *OBS Facultatif

Objet (OBJ)

Indique le nom et la bibliothèque de l'objet à comprimer.

Ce paramètre est obligatoire.

Les valeurs possibles sont les suivantes :

*ALL
Tous les objets de la bibliothèque indiquée dont le type figure en regard de l'invite Type d'objet (paramètre OBJTYPE) sont comprimés.
nom-objet-générique*
Indiquez le nom générique de l'objet à comprimer. Un nom générique est une chaîne d'un ou plusieurs caractères suivis d'un astérisque (*).
nom-objet
Indiquez le nom de l'objet à comprimer.

Pour la bibliothèque, les valeurs possibles sont :

*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.
*USRLIBL
S'il existe un poste de bibliothèque en cours dans la liste des bibliothèques de l'unité d'exécution en cours, la recherche porte sur celle-ci ainsi que sur les bibliothèques de la partie utilisateur de la liste des bibliothèques. Dans le cas contraire, la recherche porte uniquement sur les bibliothèques de la partie utilisateur de la liste des bibliothèques.
*CURLIB
La recherche s'effectue uniquement dans la bibliothèque en cours. Si celle-ci n'est pas définie dans la liste des bibliothèques, QGPL est prise par défaut.
*ALL
La recherche porte sur toutes les bibliothèques du système, y compris QSYS.
*ALLUSR
La recherche porte sur toutes les bibliothèques utilisateur. La recherche porte sur toutes les bibliothèques dont le nom ne commence pas par la lettre Q, à l'exception des bibliothèques suivantes :

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

Bien que les bibliothèques Qxxx suivantes soient fournies par IBM, elles contiennent généralement des données utilisateur qui sont fréquemment modifiées. Par conséquent, ces bibliothèques sont considérées comme des bibliothèques utilisateur et sont donc recherchées :

QDSNX       QRCLxxxxx   QUSRDIRDB   QUSRVI
QGPL        QSRVAGT     QUSRIJS     QUSRVxRxMx
QGPL38      QSYS2       QUSRINFSKR  QWQCENT
QMGTC       QSYS2xxxxx  QUSRNOTES   QWQREPOS
QMGTC2      QS36F       QUSROND
QMPGDATA    QUSER38     QUSRPOSGS
QMQMDATA    QUSRADSM    QUSRPOSSA
QMQMPROC    QUSRBRM     QUSRPYMSVR
QPFRDATA    QUSRDIRCF   QUSRRDARS
QRCL        QUSRDIRCL   QUSRSYS

  1. 'xxxxx' représente le numéro de l'ASP principal.
  2. L'utilisateur peut créer une bibliothèque de nom différent, au format QUSRVxRxMx, pour chacune des éditions précédentes prises en charge par IBM, afin d'y stocker les commandes utilisateur à compiler dans un programme CL pour une édition précédente. En ce qui concerne la bibliothèque utilisateur QUSRVxRxMx, VxRxMx correspond à une version, édition et niveau de modification précédents encore admis par IBM.
nom-bibliothèque
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.

Type d'objet (OBJTYPE)

Indique le type de l'objet à comprimer. Vous pouvez indiquer *ALL, ou l'une ou plusieurs des autres valeurs possibles.

Ce paramètre est obligatoire.

Ce paramètre admet des valeurs multiples.

Les valeurs possibles sont les suivantes :

*ALL
Tous les menus, groupes de panneaux, fichiers écran et imprimante, programmes, modules et programmes de service dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*FILE
Les fichiers écran et imprimante dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*MENU
Les menus dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*MODULE
Les modules dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*PNLGRP
Les groupes de panneaux dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*PGM
Les programmes dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.
*SRVPGM
Les programmes de service dont le nom et la bibliothèque figurent en regard de l'invite Objet (paramètre OBJ) sont comprimés.

Nb jours d'inutilisation (DAYS)

Indique le nombre de jours pendant lesquels l'objet n'a pas été utilisé ou modifié. S'il n'a pas été utilisé ou modifié pendant un nombre de jours supérieur à celui indiqué, il est comprimé. Dans le cas contraire, il reste décomprimé.

Les valeurs possibles sont les suivantes :

*NONE
L'objet est comprimé, quel que soit le nombre de jours pendant lesquels il n'a pas été utilisé ou modifié.
1-366
Indiquez le nombre de jours. Les valeurs admises sont comprises entre 1 et 366.

Option de programme (PGMOPT)

Indique si la totalité du programme ou du programme de service ou seulement les informations observables sont comprimées.

Pour plus d'informations sur les informations observables, reportez-vous à l'aide sur les commandes CHGPGM et CHGSRVPGM.

Les valeurs possibles sont les suivantes :

*ALL
La totalité du programme ou du programme de service (flot d'instructions et informations observables) est comprimée.
*OBS
Seules les informations observables sont comprimées.

Exemples

CPROBJ   OBJ(QGPL/*ALL)  OBJTYPE(*FILE)

Cette commande permet de compresser tous les fichiers écran et imprimante dans la bibliothèque QGPL.

Messages d'erreur

Messages *ESCAPE

CPF2110
Bibliothèque &1 non trouvée.
CPF2113
Impossible d'allouer la bibliothèque &1.
CPF2176
Bibliothèque &1 endommagée.
CPF3B01
Impossible de comprimer/décomprimer l'objet &1 de &2.
CPF3B02
Impossible de comprimer/décomprimer le fichier &1 de &2.
CPF3B03
Aucun objet comprimé.
CPF3B04
&1 objets comprimés ; &3 non comprimés ; &8 non compris.
CPF3B08
Impossible d'allouer objet &1 de &2.
CPF3B09
Tous les sous-systèmes ne sont pas arrêtés.
CPF3B10
Compression de l'objet &1 de &2 type *&3 impossible.
CPF3B11
Compression de l'objet &1 de &2 type *&3 impossible.
CPF8108
Fichier unité ou sauvegarde &4 de &9 endommagé.
CPF812E
Module &4 de &9 endommagé.
CPF8129
Programme &4 de &9 endommagé.
CPF813D
Programme de service &4 de &9 endommagé.
CPF8150
Groupe de panneaux &4 de &9 endommagé.
CPF8151
Menu &4 de &9 endommagé.
CPF9570
Erreur lors de l'accès aux données de débogage ou lors de leur création.
CPF9802
Non autorisé à l'objet &2 de &3.
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.
CPF9807
Une ou plusieurs bibliothèques de la liste ont été supprimées.
CPF9808
Allocation impossible pour une ou plusieurs bibliothèques de la liste.
CPF9811
Programme &1 non trouvé dans la bibliothèque &2.
CPF9812
Fichier &1 non trouvé dans la bibliothèque &2.
CPF9821
Non autorisé au programme &1 de &2.
CPF9822
Non autorisé au fichier &1 de &2.
CPF9838
Limite mémoire du profil utilisateur dépassée.

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