ENDJOB
Arrêter un travail
En bref
La commande ENDJOB (Arrêter un travail) arrête un travail donné, ainsi que tous les fichiers en entrée associés.
ENDJOB se lit END
(Arrêter) + JOB.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
ENDJOB JOB(…)
Paramètres
-
JOBTravail obligatoire -
OPTIONType d'arrêt -
DELAYDélai d'arrêt contrôlé -
SPLFILESuppression fichiers spoule -
LOGLMTMaximum postes dans historique -
ADLINTJOBSTrav interactifs additionnels -
DUPJOBOPTOption pour travaux dupliqués
Astuce : dans une session 5250, tapez ENDJOB 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 ENDJOB (Arrêter un travail) arrête un travail donné, ainsi que tous les fichiers en entrée associés. Le travail peut être actif, en file d'attente de travaux ou déjà terminé.
Vous pouvez indiquer un délai permettant au programme d'application de contrôler le traitement de fin de travail. Si aucun délai n'est indiqué ou si le ménage ne peut s'effectuer dans le délai imparti, le système exécute un traitement de fin de travail minimal qui peut comprendre :
- la fermeture des fichiers base de données,
- l'envoi de l'historique du travail dans une file d'attente en sortie,
- le ménage des objets internes du système d'exploitation,
- l'affichage de l'écran d'arrêt du travail (pour les travaux interactifs).
- l'achèvement du traitement du contrôle de validation.
Avant de mettre fin au travail, vous devez vérifier qu'aucune unité d'oeuvre logique n'est en attente par suite d'une opération de validation à deux phases. Si c'est le cas, la valeur de l'option de validation Action si ENDJOB peut avoir un effet important sur le traitement de ENDJOB. Par exemple, si l'option de validation Action si ENDJOB a pour valeur par défaut ATTENTE, ce travail sera mis en attente et n'achèvera pas le traitement tant que l'opération de contrôle de validation ne sera pas terminée. Cela permet d'assurer l'intégrité des bases de données sur tous les systèmes connexes. Pour obtenir des instructions spécifiques sur la manière de déterminer ces conditions, et pour connaître toutes les conséquences liées à l'arrêt d'un travail dans ces conditions, reportez-vous au manuel Backup and Recovery.
Restrictions : L'émetteur de la commande doit utiliser un profil utilisateur identique à celui de l'utilisateur du travail à arrêter ou un profil utilisateur disposant du droit spécial d'exploitation des travaux (*JOBCTM). Cette restriction est renforcée même lorsque le travail en cours s'arrête.
L'identité de l'utilisateur du travail correspond au nom du profil utilisateur permettant d'identifier un travail par rapport aux autres travaux. Pour plus d'informations à ce sujet, reportez-vous au manuel 'Work Management'.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| JOB | Travail | Valeurs uniques: * Autres valeurs: Nom de travail qualifié |
Obligatoire, positionnel 1 |
| Qualificatif 1: Travail | Nom | ||
| Qualificatif 2: Utilisat | Nom | ||
| Qualificatif 3: Numéro | 000000-999999 | ||
| OPTION | Type d'arrêt | *CNTRLD, *IMMED | Facultatif, positionnel 2 |
| DELAY | Délai d'arrêt contrôlé | 1-999999, 30 | Facultatif, positionnel 3 |
| SPLFILE | Suppression fichiers spoule | *NO, *YES | Facultatif, positionnel 4 |
| LOGLMT | Maximum postes dans historique | Entier, *SAME, *NOMAX | Facultatif |
| ADLINTJOBS | Trav interactifs additionnels | *NONE, *GRPJOB, *ALL | Facultatif |
| DUPJOBOPT | Option pour travaux dupliqués | *SELECT, *MSG | Facultatif |
Travail (JOB)
Indique le nom qualifié du travail à arrêter.
Ce paramètre est requis.
Valeurs uniques
- *
- Le travail à partir duquel cette commande est exécutée s'arrête. Le fait de spécifier cette valeur est la seule façon d'arrêter le travail en cours.
Qualificatif 1 : Travail
- nom
- Indiquez le nom du travail.
Qualificatif 2 : Utilisat
- nom
- Indiquez le nom de l'utilisateur qui identifie le profil utilisateur sous lequel le travail s'exécute.
Qualificatif 3 : Numéro
- 000000-999999
- Indiquez le numéro de travail attribué par le système.
Remarque :Si aucun nom d'utilisateur ou numéro de travail n'est indiqué, le système recherche les noms de tous les travaux en cours. S'il trouve plus d'une occurrence du nom spécifié, un nom de travail qualifié doit être indiqué explicitement ou via l'écran de sélection. Pour en savoir plus, reportez-vous au paramètre DUPJOBOPT (Option pour travaux dupliqués).
Type d'arrêt (OPTION)
Indique si le travail s'arrête immédiatement ou de façon contrôlée afin de permettre au programme d'application d'effectuer un traitement de fin de travail. Dans les deux cas, le système exécute certaines opérations de ménage du travail.
- *CNTRLD
- Le travail est arrêté de façon contrôlée. Le programme peut alors procéder à l'apurement des données (traitement de fin de travail). Lorsqu'un travail arrêté comporte une procédure de traitement de signaux pour le signal asynchrone SIGTERM, ce dernier est généré pour ce travail. L'application dispose du temps indiqué au paramètre DELAY pour effectuer le ménage avant la fin du travail.
- *IMMED
- Le travail est arrêté immédiatement et le système effectue le ménage de fin de travail. La durée de ce ménage peut durer de quelques instants à quelques minutes. Lorsqu'un travail arrêté comporte une procédure de traitement de signaux pour le signal asynchrone SIGTERM, ce dernier est généré pour ce travail et la valeur système QENDJOBLMT définit le temps maximal. A l'exception de l'opération de traitement du signal SIGTERM, le programme en cours n'est pas autorisé à effectuer des opérations de ménage.
Remarque :La valeur *IMMED peut générer des résultats inattendus si les données ont été partiellement mises à jour. Cette valeur doit être utilisée uniquement en cas d'échec de l'arrêt contrôlé.
Remarque :Si un gestionnaire de signaux SIGTERM est en cours d'exécution lors de l'arrêt immédiat d'un travail, vous pouvez utiliser la commande ENDJOB avec OPTION(*IMMED) pour arrêter le gestionnaire. Cette procédure n'est admise que si le gestionnaire de signaux SIGTERM s'exécute depuis au moins deux minutes.
Délai d'arrêt contrôlé (DELAY)
Délai (en secondes) dont dispose le travail pour effectuer le ménage lors d'un arrêt contrôlé. Si le ménage n'est pas terminé à la fin de ce délai, le travail est arrêté immédiatement. (Seul le ménage système est effectué.)
Le temps d'attente est calculé à partir du moment où le travail devient actif s'il était suspendu pour l'une des raisons suivantes :
- L'option 1 du menu Appel système a été sélectionnée.
- Le travail est suspendu par la commande HLDJOB (Suspendre un travail).
- Le travail est transféré à l'aide de la commande TFRSECJOB (Transférer à session alternée).
- Le travail est transféré à l'aide de la commande TFRGRPJOB (Transférer à travail de groupe).
Remarque :Ce paramètre est admis uniquement lorsque OPTION(*CNTRLD) est indiqué.
- 30
- Un délai de 30 secondes maximum est accordé pour procéder aux opérations de fin de travail avant son arrêt.
- 1-999999
- Indiquez le temps d'attente maximal (en secondes) avant l'arrêt du travail.
Suppression fichiers spoule (SPLFILE)
Indique si les fichiers spoule en sortie créés par ce travail sont conservés pour le traitement normal ou supprimés. Quelque soit l'option choisie, les historiques de travail sont conservés.
- *NO
- Les fichiers de sortie du travail sont conservés pour édition. Lorsque le travail est arrêté, l'attribut de travail SPLFACN détermine si les fichiers spoule sont détachés du travail ou conservés avec celui-ci.
- *YES
- Le système supprime les fichiers spoule en sortie créés par le travail arrêté et placés dans les files d'attente en sortie, dans l'espace de nom de la bibliothèque pour l'unité d'exécution qui lance la commande. L'historique est conservé. Si le travail a déjà été arrêté et que l'opération de fichier spoule pour le travail est de détacher les fichiers spoule, la commande ENDJOB ne trouvera pas le travail et les fichiers spoule ne seront pas supprimés.
Maximum postes dans historique (LOGLMT)
Indique le nombre maximal de postes de la file d'attente de messages du travail qui peuvent être enregistrés dans l'historique, pour le travail en cours d'arrêt. Ce paramètre permet de limiter le nombre de messages du fichier imprimante de l'historique (QPJOBLOG).
La valeur indiquée à ce paramètre peut modifier la limite de consignation des messages du travail, même si celui-ci est déjà en cours d'arrêt ou arrêté. Voici quelques exemples de procédures de modification de la limite de consignation des messages :
- Si la valeur indiquée est supérieure au nombre de messages consignés au moment de l'exécution de la commande, la consignation des messages se poursuit jusqu'à ce que la nouvelle limite indiquée soit atteinte.
- Si la valeur indiquée est inférieure au nombre de messages déjà consignés dans le fichier spoule, un message signalant que la limite a été atteinte est immédiatement placé à la fin du fichier spoule. Les messages restant de la file d'attente ne sont pas pris en compte.
- Si 0 (zéro) est indiqué avant la consignation de messages dans le fichier spoule, aucun historique du travail n'est généré pour le travail en cours d'arrêt. Si le travail est déjà arrêté et que l'historique n'a pas encore été généré, celui-ci est supprimé, quelle que soit la valeur de l'attribut de travail LOGOUTPUT. Pour en savoir plus sur la suppression des historiques de travail en instance, reportez-vous aux informations concernant l'API QWTRMVJL.
- *SAME
- La valeur définie précédemment reste inchangée. Le système utilise la valeur *NOMAX, si aucune limite de consignation des messages n'a été définie pour ce travail dans une précédente commande.
- *NOMAX
- Tous les messages de la file d'attente de messages du travail doivent être consignés dans l'historique.
- nombre-entier
- Indiquez le nombre maximal de messages à consigner dans l'historique du travail.
Trav interactifs additionnels (ADLINTJOBS)
Indique si les travaux interactifs additionnels, associés au travail indiqué dans le paramètre JOB (Travail) sont arrêtés.
- *NONE
- Seul le travail indiqué dans la paramètre JOB est arrêté.
- *GRPJOB
- Si le travail indiqué dans le paramètre JOB est un travail de groupe, tous les travaux associés au groupe sont arrêtés. S'il ne s'agit pas d'un travail de groupe, le travail indiqué dans le paramètre JOB est arrêté.
- *ALL
- Tous les travaux interactifs exécutés sur le poste de travail associé au travail indiqué dans le paramètre JOB sont arrêtés (y compris les travaux de groupe et les travaux alternés).
Option pour travaux dupliqués (DUPJOBOPT)
Indique l'action effectuée lorsque des travaux en double sont détectés par cette commande.
- *SELECT
- L'écran de sélection s'affiche lorsque des travaux en double sont détectés lors d'une session interactive. Sinon, un message est émis.
- *MSG
- Un message est émis lorsque des travaux dupliqués sont détectés.
Exemples
Exemple 1 : Arrêt immédiat d'un travail
ENDJOB JOB(JOB1) OPTION(*IMMED) SPLFILE(*YES)
Cette commande permet d'arrêter immédiatement un travail appelé JOB1. La sortie spoule générée par le travail est supprimée. L'historique du travail est sauvegardé.
Exemple 2: Sauvegarde de la sortie spoule
ENDJOB JOB(001234/XYZ/JOB2) OPTION(*CNTRLD)
DELAY(50) SPLFILE(*NO)
Cette commande permet d'arrêter un travail appelé 001234/XYZ/JOB2. La sortie spoule est sauvegardée pour édition. Le travail dispose de 50 secondes pour effectuer toutes les routines de ménage. Il s'arrête immédiatement à l'issue de ce délai.
Exemple 3: Suppression d'un historique de travail en instance
ENDJOB JOB(543210/ABCDE/JOB3) LOGLMT(0)
Cette commande permet de supprimer l'historique en instance du travail terminé 543210/ABCDE/JOB3. Le résultat de cette commande est identique à l'exécution de l'API QWTRMVJL.
Exemple 4: Arrêt du travail en cours
ENDJOB JOB(*) OPTION(*IMMED)
Cette commande permet d'arrêter le travail dans lequel la commande est émise. Pour sortir d'une procédure de gestion d'un signal SIGTERM après le nettoyage obligatoire, arrêtez immédiatement le travail en cours. Le contrôle peut être renvoyé à l'utilisateur ayant émis la commande même si l'option *IMMED a été utilisée. Pour gérer cette situation, le programme ayant émis cette commande doit renvoyer le contrôle.
Messages d'erreur
Messages *ESCAPE
- CPF1317
- Aucune réponse du sous-système pour le travail &3/&2/&1.
- CPF1321
- Travail &3/&2/&1 non trouvé.
- CPF1332
- Fin des noms dupliqués.
- CPF1340
- Fonction de contrôle de travail non effectuée.
- CPF1341
- Lecteur/éditeur &3/&2/&1 non admis comme nom de travail.
- CPF1342
- Le nom du travail en cours n'est pas admis dans cette commande.
- CPF1343
- Type du travail &3/&2/&1 incorrect pour la fonction.
- CPF1344
- Vous n'êtes pas autorisé à contrôler le travail &3/&2/&1.
- CPF1351
- Erreur dans le sous-système pour le travail &3/&2/&1.
- CPF1352
- Fonction non exécutée. &3/&2/&1 en transition.
- CPF135D
- ENDJOB OPTION(*IMMED) non admise actuellement.
- CPF1360
- &3/&2/&1 déjà arrêté par ENDJOBABN.
- CPF1361
- Travail &3/&2/&1 déjà en cours d'arrêt avec option *IMMED.
- CPF1362
- Travail &3/&2/&1 terminé.
- CPF1363
- Travail &3/&2/&1 déjà en cours d'arrêt avec option *CNTRLD.
- CPF8172
- Bloc de contrôle du spoule endommagé pour travail &10/&9/&8.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.