fr en

Récuperer des informations sur les JOB avec QSYS2.GET_JOB_INFO
QSYS2.JOB_INFO
QSYS2.ACTIVE_JOB_INFO

Objectifs :

Il est facile depuis le 5250 de visualiser des informations sur les JOBs avec les commandes WRKACTJOB, WRKUSRJOB, RTVJOBA…
Mais ces informations peuvent aussi être récupérées avec SQL et les fonctions QSYS2 :

  • QSYS2.GET_JOB_INFO
  • QSYS2.JOB_INFO
  • QSYS2.ACTIVE_JOB_INFO

Ces informations peuvent donc aussi être récupérées par des programmes en SQL EMBEDDED.
Ce qui est particulièrement utile pour superviser, contrôler, synchroniser des traitements par exemple…

QSYS2.GET_JOB_INFO

QSYS2.GET_JOB_INFO permet de récupérer le statut d’un JOB.

SELECT V_JOB_STATUS FROM TABLE(QSYS2.GET_JOB_INFO(‘numéro de job/user du job/nom du job’));

Retourne :

  • *ACTIVE si le job est actif
  • *OUTQ si le job est terminé
  •  *JOBQ si le job est en attente de lancement dans une JOBQ

QSYS2.JOB_INFO

QSYS2.JOB_INFO permet de récupérer les informations des JOBs des utilisateurs comme avec la commande WRKUSRJOB.

Pour récupérer les informations des JOBs de l’utilisateur en cours :

SELECT * FROM TABLE (QSYS2.JOB_INFO());

Les principales informations à récupérer sont :

SELECT JOB_NAME,               — Nom Complet du JOB Numéro/User/Nom
JOB_NAME_SHORT,               — Nom du JOB
JOB_USER,                             — Utilisateur du JOB
JOB_NUMBER,                       — Numéro du JOB
JOB_STATUS,                          — Statut du JOB
JOB_TYPE,                              — Type de JOB 
JOB_TYPE_ENHANCED,         — Libellé Type du JOB 
JOB_SUBSYSTEM,                  — Sous Système du JOB
JOB_DATE,                             — Date du JOB
SUBMITTER_JOB_NAME,       — JOB ayant soulis le JOB
JOB_DESCRIPTION_LIBRARY,— Bibliothèque de la JOBD du JOB
JOB_DESCRIPTION,               — Nom de la JOBD du JOB
JOB_QUEUE_LIBRARY,           — Bibliothèque de JOBQ du JOB
JOB_QUEUE_NAME,              — Nom de la JOBQ du JOB 
OUTPUT_QUEUE_LIBRARY,   — Bibliothèque de l’OUTQ du JOB
OUTPUT_QUEUE_NAME,       — Nom de l’OUTQ du JOB
CCSID,                                   — CCSID du JOB
LANGUAGE_ID,                     — Langue du JOB
DATE_FORMAT,                     — Format Date du JOB
DATE_SEPARATOR,                — Séparateur des dates du JOB
TIME_SEPARATOR                 — Séparateur des heurs du JOB
FROM TABLE (
QSYS2.JOB_INFO());

Pour récupérer les informations des JOBs d’un autre utilisateur :

SELECT * FROM TABLE(QSYS2.JOB_INFO(
                      JOB_USER_FILTER => ‘mon_utilisateur’));

Pour récupérer les informations des JOBs de tous les utilisateurs :

SELECT * FROM TABLE(QSYS2.JOB_INFO(
                       JOB_SUBMITTER_FILTER => ‘*USER’,
                       JOB_USER_FILTER => ‘*ALL’
                    ));

QSYS2.ACTIVE_JOB_INFO

QSYS2.ACTIVE_JOB_INFO permet de récupérer les informations des JOBs actifs comme avec la commande WRKACTJOB.

Pour récupérer les informations de tous les JOBs actifs :

SELECT * FROM TABLE (QSYS2.ACTIVE_JOB_INFO());

Pour récupérer les informations du JOB en cours :

Select * FROM TABLE (QSYS2.ACTIVE_JOB_INFO(JOB_NAME_FILTER => ‘*’));

Pour récupérer les informations de tous les JOBs actifs dans un sous système donné :

SELECT * FROM TABLE (QSYS2.ACTIVE_JOB_INFO(SUBSYSTEM_LIST_FILTER => ‘mon_sous_système’)); 

Pour récupérer les informations d’un JOB donné  :

SELECT * FROM TABLE (QSYS2.ACTIVE_JOB_INFO(JOB_NAME_FILTER => ‘nom_du_JOB’)); 

SELECT * FROM TABLE (QSYS2.ACTIVE_JOB_INFO(JOB_NAME_FILTER => ‘nom_du_JOB’))
WHERE JOB_USER = ‘utilisateur_du_JOB’
AND JOB_NUMBER = numéro_du_JOB;

Les principales informations à récupérer sont :
SELECT
JOB_NAME,                             — Nom Complet du JOB Numéro/User/Nom
JOB_NAME_SHORT,                — Nom du JOB
JOB_USER,                               —  Utilisateur du JOB
JOB_NUMBER,                         — Numéro du JOB
SUBSYSTEM,                            — Sous système du JOB
SUBSYSTEM_LIBRARY_NAME,  — Bibliothèque du sous système du JOB
JOB_STATUS,                            — Statut du JOB
JOB_DESCRIPTION_LIBRARY,   — Bibliothèque de la JOBD du JOB
JOB_DESCRIPTION,                 — JOBD du JOB
JOB_QUEUE_LIBRARY,             — Bibliothèque de la JOBQ du JOB
JOB_QUEUE,                            — JOBQ du JOB
OUTPUT_QUEUE_LIBRARY,      — Bibliothèque de l’OUTQ du JOB
OUTPUT_QUEUE,                     — OUTQ du JOB
CCSID,                                      — CCSID du JOB
LANGUAGE_ID,                         — Langue du JOB
DATE_FORMAT,                         — Format des dates du JOB
DATE_SEPARATOR,                    — Séparateur des dates du JOB
TIME_SEPARATOR                     — Séparateur des heures du JOB
FROM TABLE (QSYS2.ACTIVE_JOB_INFO(JOB_NAME_FILTER => ‘nom_du_job’));