Aller au contenu

Commande CL IBM i (AS/400)

CRTCLS

Créer une classe

En bref

La commande Créer une classe permet à l'utilisateur de créer un objet de classe et d'indiquer les attributs que cette dernière contient.

CRTCLS se lit CRT (Créer) + CLS. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CRTCLS CLS(…)

Paramètres

  • CLS Classe obligatoire
  • RUNPTY Priorité d'exécution
  • TIMESLICE Tranche de temps
  • PURGE Admis à sortir de mémoire
  • DFTWAIT Temps d'attente par défaut
  • CPUTIME Temps maximal unité traitement
  • MAXTMPSTG Mémoire temporaire maximale
  • MAXTHD Nombre max unités exécution
  • TEXT Texte 'descriptif'
  • AUT Droits

Astuce : dans une session 5250, tapez CRTCLS 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 Créer une classe permet à l'utilisateur de créer un objet de classe et d'indiquer les attributs que cette dernière contient. La classe détermine les attributs de traitement des travaux pour lesquels elle est utilisée. La classe associée à un travail est définie dans le poste de routage de description de sous-système utilisé pour démarrer le travail. Si le travail comporte plusieurs phases d'activation, la classe utilisée à chacune des phases est indiquée dans le poste de routage utilisé pour démarrer la phase d'activation.

Paramètres

Mot-clé Description Valeurs possibles Remarques
CLS Classe Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Classe Nom
Qualificatif 2: Biblio Nom, *CURLIB
RUNPTY Priorité d'exécution 1-99, 50 Facultatif
TIMESLICE Tranche de temps 0-9999999, 2000 Facultatif
PURGE Admis à sortir de mémoire *YES, *NO Facultatif
DFTWAIT Temps d'attente par défaut 0-9999999, 30, *NOMAX Facultatif
CPUTIME Temps maximal unité traitement 1-9999999, *NOMAX Facultatif
MAXTMPSTG Mémoire temporaire maximale 1-2147483647, *NOMAX Facultatif
MAXTHD Nombre max unités exécution 1-32767, *NOMAX Facultatif
TEXT Texte 'descriptif' Valeur caractère, *BLANK Facultatif
AUT Droits Nom, *LIBCRTAUT, *CHANGE, *ALL, *USE, *EXCLUDE Facultatif

Classe (CLS)

Indique le nom et la bibliothèque utilisés pour la classe.

Ce paramètre est obligatoire.

Qualificatif 1 : Classe

nom
Indiquez le nom de la classe.

Qualificatif 2 : Biblio

*CURLIB
La classe est créée dans la bibliothèque en cours de l'unité d'exécution. Si celle-ci n'est indiquée, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle se trouve la classe.

Priorité d'exécution (RUNPTY)

Indique la priorité d'exécution des travaux qui utilisent la classe. Il s'agit d'une valeur comprise entre 1 (niveau de priorité le plus élevé) et 99 (niveau le plus bas) correspondant à la priorité d'un travail par rapport à d'autres travaux actifs sur l'unité de traitement. Pour les travaux multitâches, la priorité d'exécution représente la plus haute priorité d'exécution admise pour une unité d'exécution contenu dans un travail. Des unités d'exécution peuvent être associées à une priorité plus basse.

Cette valeur représente l'importance relative (et non pas absolue) du travail. Par exemple, un travail dont la priorité d'exécution est de 25 n'est pas deux fois plus important qu'un travail dont la priorité d'exécution est de 50.

50
Les travaux utilisant cette classe ont une priorité d'exécution égale à 50.
1-99
Indiquez la priorité d'exécution des travaux utilisant cette classe.

Tranche de temps (TIMESLICE)

Indique la période de temps processeur maximal, en millisecondes, à accorder à chacune des unités d'exécution d'un travail utilisant cette classe avant que d'autres unités d'exécution de ce travail ou d'autres travaux puissent être exécutées. Cette tranche de temps définit la période nécessaire à une unité d'exécution au sein d'un travail pour effectuer un certain volume de traitement. Une fois la tranche de temps écoulée, l'unité d'exécution peut être mise à l'état inactif, ce qui permet à d'autres unités d'exécution d'être actives dans le pool de mémoire.

2000
Un temps d'exécution maximal de 2000 millisecondes est attribué à chaque unité d'exécution dès qu'elle peut être exécutée.
0-9999999
Indiquez la période maximale, en millisecondes, attribuée à chaque unité d'exécution d'un travail utilisant cette classe pour être exécuté.

Remarque :Bien qu'il soit possible d'indiquer une valeur inférieure à 8, la durée minimale d'exécution d'un traitement par le système est de 8 millisecondes. Si vous affichez les attributs d'exécution d'un travail, vous constaterez que la tranche de temps n'est jamais inférieure à 8.

Admis à sortir de mémoire (PURGE)

Indique si le travail peut être transféré de la mémoire principale à la mémoire secondaire au terme d'une tranche de temps ou bien à l'occasion d'une longue attente (attente de la réponse d'un utilisateur de poste de travail, par exemple). Le système d'exploitation n'utilise plus ce paramètre.

*YES
Le travail peut être transféré de la mémoire principale à la mémoire secondaire. Toutefois, un travail à unités d'exécution multiples ne peut jamais être purgé de la mémoire principale.
*NO
Le travail ne peut pas être transféré de la mémoire principale à la mémoire secondaire. Toutefois, lorsque de la mémoire principale est nécessaire, les pages appartenant à une unité d'exécution de ce travail peuvent être transférées en mémoire secondaire. Ainsi, lorsqu'une unité d'exécution de ce travail s'exécute de nouveau, ses pages sont rechargées en mémoire principale au fur et à mesure des besoins.

Temps d'attente par défaut (DFTWAIT)

Indique le temps maximal par défaut (en secondes) pendant lequel une unité d'exécution d'un travail attend qu'une instruction système, telle l'instruction machine LOCK, obtienne une ressource. Ce temps d'attente par défaut est utilisé si aucun autre temps d'attente n'est indiqué. En général, il s'agit du temps pendant lequel l'utilisateur du système veut attendre avant de mettre fin à la demande. Si le temps d'attente pour l'exécution d'une instruction est dépassé, un message d'erreur s'affiche, à moins qu'il ne soit géré par la commande MONMSG (Intercepter message).

30
Le temps maximal d'exécution d'une instruction est fixé à 30 secondes.
*NOMAX
Aucun temps d'attente maximal n'a été défini.
0-9999999
Indiquez le temps d'attente maximum requis (en secondes) pour que l'instruction obtienne une ressource.

Temps maximal unité traitement (CPUTIME)

Indique le temps UC maximal (en millisecondes) alloué au travail. Si ce dernier est composé de plusieurs phases d'activation, chacune d'elles dispose de ce temps UC maximal. En cas de dépassement du temps maximum, le travail est suspendu.

*NOMAX
Le temps UC n'est pas limité.
1-9999999
Indiquez le temps UC maximal (en millisecondes).

Mémoire temporaire maximale (MAXTMPSTG)

Indique le volume maximal de mémoire temporaire (secondaire) (en mégaoctets) utilisable par le travail. Si ce dernier est composé de plusieurs phases d'activation, il s'agit de la mémoire secondaire maximale pouvant être utilisée par une phase d'activation. Cette mémoire temporaire fournit les ressources nécessaires au programme lui-même et aux objets internes du système créés implicitement pour prendre en charge le travail. (Elle n'inclut pas la mémoire des objets de la bibliothèque QTEMP.) En cas de dépassement du volume de mémoire temporaire maximal, le travail est suspendu. Ce paramètre ne s'applique pas à l'utilisation de la mémoire secondaire permanente gérée par le profil utilisateur.

*NOMAX
La capacité maximale admise par le système est utilisée.
1-2147483647
Indiquez la quantité maximale de mémoire temporaire (en mégaoctets) utilisable.

Nombre max unités exécution (MAXTHD)

Nombre maximal d'unités d'exécution pouvant être exécutées par un travail à un moment donné. Si plusieurs unités d'exécution sont démarrées simultanément, cette valeur peut être dépassée. Dans ce cas, les unités d'exécution en surnombre pourront s'exécuter jusqu'à la fin de leur traitement. En revanche, aucune nouvelle unité d'exécution ne pourra être démarrée tant que le nombre d'unités d'exécution du travail ne sera pas redescendu en dessous de la valeur maximale.

*NOMAX
Il n'existe aucun nombre maximal d'unités d'exécution.
1-32767
Indiquez le nombre d'unités d'exécution pour un travail.

Remarque :Selon les ressources utilisées par les unités d'exécution et celles disponibles sur le système, il se peut que le démarrage d'unités d'exécution supplémentaires soit impossible avant que la valeur maximale ne soit atteinte.

Texte 'descriptif' (TEXT)

Texte décrivant brièvement l'objet.

*BLANK
Aucun texte n'est indiqué.
'descriptif'
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 droit sur l'objet provient de la valeur indiquée pour le paramètre CRTAUT (Droits pour objets créés) de la bibliothèque dans laquelle l'objet est créé. Si la valeur indiquée pour le 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

CRTCLS   CLS(CLASS1)  RUNPTY(60)  TIMESLICE(900)
         TEXT('Cette classe pour tous travaux par lots du Dépt 4836')

Cette commande permet de créer une classe appelée CLASS1. Cette classe est stockée dans la bibliothèque en cours spécifiée pour le travail. Le texte utilisateur 'Cette classe pour tous travaux par lots du Dépt 4836' donne une description de la classe. Les attributs de cette classe fournissent une priorité d'exécution de 60 et une tranche de temps de 900 millisecondes. Si le travail n'est pas terminé au bout de la tranche de temps accordée, il pourra être déplacé hors de la mémoire principale jusqu'à ce qu'une nouvelle tranche de temps lui soit attribuée. Les valeurs par défaut des autres paramètres sont utilisées.

Messages d'erreur

Messages *ESCAPE

CPF1027
Vous n'êtes pas autorisé à utiliser la bibliothèque &1.
CPF1039
Bibliothèque &1 non trouvée pour la classe.
CPF1064
La classe &1 existe déjà dans la bibliothèque &2.
CPF1067
Impossible d'allouer la bibliothèque &1.
CPF2108
Objet &1, type *&3, non ajouté à la bibliothèque &2.
CPF2283
La liste d'autorisation &1 n'existe pas.
CPF9802
Non autorisé à l'objet &2 de &3.
CPF9899
Erreur lors du traitement de la commande.

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