> Tech > Accéder à  l’exemple QTEMP d’un autre job

Accéder à  l’exemple QTEMP d’un autre job

Tech - Par iTPro - Publié le 24 juin 2010
email

Depuis longtemps, les utilisateurs iSeries demandent de pouvoir accéder au QTEMP d’un autre job. Grâce à l’interruption de job de la V5R4, vous pouvez contrôler un job sans le fardeau que constituent les files d’attente de messages/données, le traçage des jobs, ou autres programmes de support.

bold; »>Préparation du système. Comme décrit précédemment, le système, par défaut, n’autorise pas les programmes de sortie définis par l’utilisateur à interrompre des jobs. Pour autoriser l’interruption des jobs, il faut changer la valeur système QALWJOBITP en 1 ou 2 :

CHGSYSVAL SYSVAL(QALWJOBITP) VALUE (‘1’)

Programme de sortie. Le programme exemple EXECCMD que l’on voit dans la figure 1 est un programme de sortie défini par l’utilisateur qui exécute une commande entrée. Ici, la commande liste le contenu du QTEMP d’un job. Bien que, pour exécuter cet exemple, une file d’attente de messages ou de données ne soit pas nécessaire, vous pouvez en établir une pour permettre au programme de communiquer avec le monde extérieur.

Après avoir compilé le programme, ajoutez-le au point de sortie QIBM_QWC_JOBITPPGM, de la manière suivante :

ADDEXITPGM EXITPNT(QIBM_QWC_JOBITPPGM)
FORMAT(JITP0100)
PGMNBR(*LOW)
PGM(YOURLIB/EXECCMD)
REPLACE(*NO)

Interrompre un job. Tout d’abord, selon l’état d’interruption de job du job cible, il vous faudra peut-être appeler le QWCCJITP dans le job cible pour autoriser les interruptions :

CALL PGM(QWCCJITP) PARM(‘ ‘ ‘1’ X’000000000000000′)

Ensuite, appelez QWCJBITP pour interrompre le job cible, pour exécuter le programme de sortie défini par l’utilisateur spécifié. Comme l’API QWCJBITP est pilotée par format, avec des données caractères et binaires, le meilleur moyen d’utiliser l’API est de créer un programme qui l’appelle.

Le programme exemple JBITP (figure 2) appelle l’API QWCJBITP. Ce programme collecte le nom du job cible entièrement qualifié, le nom du programme de sortie entièrement qualifié, et les données du programme.

Le programme JBITP est maintenant prêt à appeler l’API QWCJBITP pour interrompre un autre job. Pour cet exemple, nous avons le job BUSYJOB pour l’utilisateur JOHNDOE avec le numéro 999999 :

CALL PGM(YOURLIB/JBITP)
PARM(‘EXECCMD ‘ ‘YOURLIB ‘ ‘BUSYJOB ‘ ‘JOHNDOE ‘ ‘999999’ ‘DSPOBJD
OBJ(QTEMP/*ALL) OBJTYPE(*ALL) 37)

A partir du job source, nous pouvons accéder à toute sortie, y compris les fichiers spools, associée au job cible.

Téléchargez gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 24 juin 2010