Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2008, 21h25   #1
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations personnelles :
Âge : 36
Localisation : Canada

Informations forums :
Inscription : juin 2008
Messages : 4
Points : 3
Points : 3
Par défaut Intercepter un sbmjob

Bonjour,

J'aimerais trouver une manière d'intercepter des jobs soumises, une fois intercepté, selon un indicateur, lancer la job réellement ou la canceller.

Est-ce que quelqu'un sait comment faire ça SVP?

Merci, HeyJude
HeyJude est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 23h27   #2
Membre régulier
 
Jean-Philippe BALLAT
Inscription : avril 2008
Messages : 62
Détails du profil
Informations personnelles :
Nom : Jean-Philippe BALLAT
Âge : 48

Informations forums :
Inscription : avril 2008
Messages : 62
Points : 71
Points : 71
Par défaut Intercepter un W soumis

Bonsoir,

1.Tu peux gerer dans ton CL qui est executé en batch une Dtaara.
En debut de job 1......et remise à 0 en fin de job

Tu fait une ptit liste (Dtaara (En exécution ou arret) avec des options
de gestion (Start...Stop...)

/*-------------------------------------------------------------------*/

2.Un pti CLP CHKSBM avec par input nom du job
fait :

1.splf des jobs qui tourne ds &sbs
OVRPRTF FILE(QPDSPSBJ) TOFILE(*FILE) HOLD(*YES)
WRKSBSJOB SBS(&SBS) OUTPUT(*PRINT)
MONMSG MSGID(CPF1003) EXEC(DO)
/* Le sous-système n'est pas actif */
CHGVAR VAR(&MSGDTA) VALUE(&SBS *BCAT 'n''est pas +
Actif !')
......
2.copie du resultat ds bd
CPY: CPYSPLF FILE(QPDSPSBJ) TOFILE(CHKSBJS) SPLNBR(*LAST) +
MBROPT(*REPLACE)


3. CALL PGM(CHKSBJD) PARM(&SBS &JOB &RTNCD1 &RTNCD2)
Check enreg pour le w demande


Cela peux te donner des idées !!!


Cordialement,
Jean-Philippe
BALLAT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 23h30   #3
Membre confirmé
 
Avatar de Green Hornet
 
Homme
Inscription : février 2004
Messages : 204
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : février 2004
Messages : 204
Points : 219
Points : 219
un job soumis démarre automatiquement sauf si :

- la JOBQ dans laquelle il est soumis est occupée par un autre job dans le cas de JOBQ mono-job
- la JOBQ est suspendue

donc je ne vois pas comment tu pourrais intercepté un job en cours de traitement, dans ce cas précis tu ne peux intervenir manuellement ou via programme qu'en :

- suspendant la JOBQ
- suspendant ou arrêtant le job
- intervenir sur la priorité d'exécution du JOB

attention à ne pas confondre JOB et thread, ces derniers offrant la possibilité de se suspendre en attendant le traitement d'un autre thread

pour un job soumis tu peux faire la même chose mais en programmation en utilisant des DTAARA ou des fichiers pour suspendre ou stopper des traitements
Green Hornet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 23h36   #4
Membre régulier
 
Jean-Philippe BALLAT
Inscription : avril 2008
Messages : 62
Détails du profil
Informations personnelles :
Nom : Jean-Philippe BALLAT
Âge : 48

Informations forums :
Inscription : avril 2008
Messages : 62
Points : 71
Points : 71
Par défaut W soumis

Hi !!

Yes !!

En effet un sbmjob marche tjrs...
Donc en effet pourquoi de poser la question....???????

Merci donc de nous exposer ton problème....

On ne pense pas nécessairement à tous les aléas et prbs ds environnement de Production...

Cordialement,
JP
BALLAT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 09h18   #5
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 821
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 42
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 821
Points : 1 041
Points : 1 041
Par défaut Programme d'Exit

Tu peux utiliser le programme d'exit (WRKREGINF) : QIBM_QWT_JOBNOTIFY
Dès qu'un nouveau travail est lancé sur le système, il ajoute une entrée dans une DTAQ.
M'enfin, celà n'empêchera pas son execution sauf si la JOBQ est suspendue.
Dans ce cas, tu fais un prog, éxécuté en tâche de fond qui récupère les entrées de la DTAQ. Ainsi tu sauras conaîtras les travaux soumis et pourras éventuellement changer de JOBQ pour un travail ou éventuellement faire un ENDJOB
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 14h01   #6
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations personnelles :
Âge : 36
Localisation : Canada

Informations forums :
Inscription : juin 2008
Messages : 4
Points : 3
Points : 3
Bonjour,

OK, plus en profondeur. J'ai fait ce que je dis aux utilisateurs de ne pas faire, demander une solution au lieu d'expliquer le problème ... oops:

Je dois avoir ma machine de prod et ma machine de back up opérationnelle sur tout. Je ne veux pas avoir une procédure du tonnère qui consiste à activer des triggers, activer le scédulleur, etc ... le jour ou je devrai alterner mes machines pour des tests ou pour vrai.

Nous utilisons le scédulleur du 400 pour soumettre nos jobs la nuit. Je voudrais que mes scédulleur sur les 2 machines fonctionne, mais que sur la machine back up, les jobs soient arrêtées. Je ne veux pas modifier tout les programmes pour lire une dtaara car il y en a pas mal. Même chose pour les triggers. Puisque nous répliquons les données d'une machine à l'autre, je ne veux pas que les triggers inscrivent des données puis que les données soient répliquées ensuite. Etc ...

Bref, voilà pourquoi je veux intercepter des jobs soumises. Si les jobs ne sont pas soumises sur la machine de prod, elles doivent être cancellées.

Merci pour les idées, d'autres seraient bienvenue.

Hey Jude
HeyJude est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2008, 14h47   #7
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 821
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 42
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 821
Points : 1 041
Points : 1 041
Les jobs sur ta machine de backup sont lancés forcément dans une JOBQ.
Holde tout simplement la jobq (WRKJOBQ puis option 3).
Cette solution t'as déjà été proposée par Green Hornet.
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2008, 21h31   #8
Invité de passage
 
Inscription : juin 2008
Messages : 4
Détails du profil
Informations personnelles :
Âge : 36
Localisation : Canada

Informations forums :
Inscription : juin 2008
Messages : 4
Points : 3
Points : 3
Par défaut Résolu

Hey bien, mon boss ne veut pas holder les jobq ... il faut quand même pas que ce soit trop facile, sinon je vais m'endormir ;-)) Même chose pour ajouter des lignes dans tout les CLP, ce serait long, pis tannant avec les OCL 36.

Mais, bonne nouvelle, grace à QIBM_QWT_JOBNOTIFY, j'ai réussi à trapper les jobs soumises partout, et à les laisser rouler si elles sont sur ma machine de production, et à les canceller si elles sont sur ma machine de back up !! Ca fonctionne numéro 1.

Merci beaucoup de m'avoir fait découvrir les points de sortie IBM, je ne connaissais rien à cela mais je sens que ça va me servir beaucoup dans les prochaines semaines...

Merci beaucoup de votre aide à tous !

Julie
HeyJude est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h44.


 
 
 
 
Partenaires

Hébergement Web