Aller au contenu

CRTJOBQ

Créer une file de travaux

À quoi ça sert

Créer une file d'attente où les travaux batch patientent avant de s'exécuter, pour séparer les flux et décider combien tournent en même temps.

Pourquoi on fait ça

Par défaut, tout ce que l'on soumet avec SBMJOB atterrit dans QBATCH, qui ne lance qu'un travail à la fois. Le soir, un apprenant soumet dix compilations : la chaîne de facturation, soumise juste après, attend derrière elles. Le lendemain matin, les factures ne sont pas parties.

En créant une file dédiée aux compilations, on les isole : elles tournent dans leur couloir, avec leur propre limite, et la facturation garde le sien. On peut aussi suspendre une file entière (pendant une sauvegarde par exemple) sans toucher aux autres.

Le cas concret, pas à pas

/* 1. Créer la file */
CRTJOBQ    JOBQ(FORMATION/COMPILQ) TEXT('Compilations des apprenants')

/* 2. La rattacher à un sous-système : 3 compilations en parallèle au maximum */
ADDJOBQE   SBSD(QSYS/QBATCH) JOBQ(FORMATION/COMPILQ) MAXACT(3) SEQNBR(50)

/* 3. Y envoyer un travail */
SBMJOB     CMD(CRTBNDRPG PGM(FORMATION/MONPGM) SRCFILE(FORMATION/QRPGLESRC)) +
             JOB(COMPIL) JOBQ(FORMATION/COMPILQ)

/* 4. Suspendre puis relancer la file (les travaux attendent, rien n'est perdu) */
HLDJOBQ    JOBQ(FORMATION/COMPILQ)
RLSJOBQ    JOBQ(FORMATION/COMPILQ)

Le piège classique

Une file créée mais rattachée à aucun sous-système actif, c'est une salle d'attente sans guichet : les travaux restent à l'état RLS dans WRKJOBQ et ne démarrent jamais. Sans l'étape 2, CRTJOBQ ne suffit pas.

Voir aussi : ADDJOBQE, WRKJOBQ, HLDJOBQ, RLSJOBQ, CHGJOBD (envoyer par défaut les travaux d'un profil dans cette file), WRKSBSD.

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

Le commande CRTJOBQ (Créer une file d'attente de travaux) permet de créer une nouvelle file d'attente de travaux. Celle-ci contient des postes correspondant aux travaux en attente de traitement par le système. Les travaux peuvent être placés en file d'attente au moyen de l'une des commandes suivantes :

  • Démarrer un lecteur de base de données (STRDBRDR)
  • Démarrer un lecteur de disquette (STRDKTRDR)
  • Démarrer un éditeur imprimante (STRPRTWTR)
  • Démarrer un éditeur disquette (STRDKTWTR)
  • Soumettre un travail (SBMJOB)
  • Soumettre des travaux à partir de la base de données (SBMDBJOB)
  • Soumettre des travaux à partir de la disquette (SBMDKTJOB)
  • Transférer un travail (TFRJOB)

Lorsque vous aurez créé une nouvelle file d'attente, vous devez ajouter à la description de sous-système adéquate le poste correspondant. Pour ce faire, utilisez la commande ADDJOBQE (Ajouter un poste file d'attente de travaux).

Paramètres

Mot-clé Description Valeurs possibles Remarques
JOBQ File d'attente de travaux Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: File d'attente de travaux Nom
Qualificatif 2: Biblio Nom, *CURLIB
TEXT Texte 'descriptif' Valeur caractère, *BLANK Facultatif
OPRCTL Contrôle par opérateur *YES, *NO Facultatif, positionnel 2
AUTCHK Droits à vérifier *OWNER, *DTAAUT Facultatif
AUT Droits Nom, *USE, *ALL, *CHANGE, *EXCLUDE, *LIBCRTAUT Facultatif

File d'attente de travaux (JOBQ)

Indique la file d'attente de travaux en cours de création.

Ce paramètre est obligatoire.

Qualificateur 1 : File d'attente de travaux

nom
Indiquez le nom que vous désirez donner à la file d'attente de travaux en cours de création.

Qualificatif 2 : Biblio

*CURLIB
La file d'attente de travaux est recherchée dans la bibliothèque en cours du travail. Si celle-ci ne figure pas dans la liste des bibliothèques, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle doit figurer la file d'attente de travaux.

Remarque :La bibliothèque temporaire QTEMP n'est pas un nom de bibliothèque admis. Les files d'attente de travaux doivent se trouver dans des bibliothèques permanentes.

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.

Contrôle par opérateur (OPRCTL)

Indique si un utilisateur disposant du droit d'exploitation des travaux est habilité à contrôler cette file d'attente.

*YES
Un utilisateur disposant du droit d'exploitation des travaux peut contrôler la file d'attente.
*NO
A moins de disposer de droits spéciaux, les utilisateurs disposant du droit d'exploitation des travaux ne peuvent pas contrôler cette file d'attente.

Droits à vérifier (AUTCHK)

Indique le type de droits permettant à l'utilisateur de contrôler la file d'attente de travaux, c'est-à-dire de la suspendre ou de la libérer. Les utilisateurs disposant de droits spéciaux peuvent également contrôler la file d'attente de travaux.

*OWNER
Le demandeur doit disposer du droit de propriété sur la file d'attente en sortie pour que le test d'autorisation sur la file d'attente aboutisse. Il dispose de ce droit s'il est propriétaire de la file d'attente, qu'il partage un profil de groupe avec le propriétaire ou qu'il exécute un programme qui adopte le droit du propriétaire.
*DTAAUT
Tout utilisateur disposant des droits d'ajout, de lecture et de suppression sur la file d'attente de travaux peut la contrôler.

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.

*USE
Le droit d'utilisation permet d'effectuer des opérations élémentaires sur la file d'attente de travaux, telles que soumettre des travaux à cette file.
*CHANGE
Le droit de modification permet à l'utilisateur de contrôler des travaux soumis par d'autres utilisateurs sous réserve que *DTAAUT ait été indiqué au paramètre AUTCHK (Droits à vérifier).
*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é.
*EXCLUDE
L'utilisateur n'a pas accès à l'objet.
*LIBCRTAUT
Les droits sur l'objet correspondent à la valeur indiquée au paramètre CRTAUT (Droits pour objets créés) de la bibliothèque dans laquelle l'objet est créé. Si cette valeur est modifiée, elle n'affectera pas les objets existants.
nom
Indiquez le nom d'une liste d'autorisation permettant de déterminer les droits sur l'objet. Les utilisateurs qui figurent dans la liste bénéficient des droits sur l'objet définis dans la liste. La liste d'autorisation doit exister lors de la création de l'objet.

Exemples

CRTJOBQ   JOBQ(DEPTA)  AUT(*EXCLUDE)
          TEXT('File d'attente spéciale pour les travaux Dept A')

Cette commande permet de créer la file d'attente de travaux DEPTA et de la placer dans la bibliothèque en cours. Le paramètre AUT(*EXCLUDE) étant défini et le paramètre OPRCTL(*YES) pris par défaut, la file d'attente de travaux est utilisée et gérée uniquement par l'utilisateur qui l'a créée et par les utilisateurs bénéficiant du droit d'exploitation des travaux (*JOBCTL). Les utilisateurs bénéficiant du droit de gestion du spoule (*SPLCTL) peuvent également intervenir sur la file d'attente.

Messages d'erreur

Messages *ESCAPE

CPF2182
Non autorisé à utiliser la bibliothèque &1.
CPF2192
L'objet &1 ne peut être créé dans la bibliothèque &3.
CPF2207
Non autorisé à utiliser objet &1 de &3 type *&2.
CPF3323
La file d'attente de travaux &1 de &2 existe déjà.
CPF3351
Bibliothèque temporaire &1 incorrecte pour file d'attente de travaux &2.
CPF3354
Bibliothèque &1 non trouvée.
CPF3356
Impossible d'allouer la bibliothèque &1.
CPF3371
Profil utilisateur QSPL endommagé ou non trouvé.
CPF9818
Objet &2 non créé dans la bibliothèque &3.

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