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 27/11/2009, 14h52   #1
Nouveau Membre du Club
 
Femme Françoise SPIECART
Responsable de service informatique
Inscription : décembre 2007
Messages : 35
Détails du profil
Informations personnelles :
Nom : Femme Françoise SPIECART

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Industrie

Informations forums :
Inscription : décembre 2007
Messages : 35
Points : 27
Points : 27
Par défaut Automatisation des traitements

Bonjour,
Comment puis-je faire (sans l'achat d'un produit) pour lancer un traitement 2 fois par jour ou toutes les 2 heures par exemple
Merci
fspiecart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2009, 15h18   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2009, 15h19   #3
Invité de passage
 
Inscription : août 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 6
Points : 3
Points : 3
Ajoute une tache via F6 dans ton planning des travaux. (wrkjobscde)
USERAF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2009, 15h24   #4
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 816
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 41
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 816
Points : 1 035
Points : 1 035
Euh, OK pour le deux fois par jour, deux entrées dans le scheduler (si on peut appeler ça comme ça).

Deux fois par heure, il faut que ton traitement se relance lui même à une heure planifiée dans le SBMJOB.
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2009, 10h08   #5
Membre régulier
 
Inscription : novembre 2007
Messages : 85
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2007
Messages : 85
Points : 73
Points : 73
Bonjour.
Tu peux aussi faire en sorte qu'il reste toujours actif et utiliser la commande DLYJOB dans un programme CLP.

Ex:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PGM
DCL &Heure *char 6

BCL:
/* mon traitement */
CALL xxxxxx

/* Attente 2h */
DLYJOB 120

/* Si on dépasse 20h par exemple on arrete le job */
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&HEURE)
IF COND(&HEURE *GE 200000) THEN(GOTO FIN)
GOTO BCL

FIN:
ENDPGM
Je me sert de ce genre de procédure en montant un sous-système dédié, une jobq dédiée et éventuellement un pool mémoire dédié selon la nécessité de priorisé ou non le traitement.

Dernière modification par Hédhili Jaïdane ; 30/11/2009 à 13h46. Motif: Balise Code
lva30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2009, 17h25   #6
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
120 secondes font 2 minutes et pas 2 heures, donc attention.

Cependant, ce CL s'arrêtera brutalement si une commande ENDJOB, ENDSBS ou PWRDWNSYS en mode contrôlé survient. Aussi, voici une façon de le vérifier et d'arrêter le programme proprement en utilisant les "signaux" que l'OS met à notre disposition.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
BCL:
/* mon traitement */
CALL xxxxxx

/* Je boucle 1440 fois en testant toutes les +
   5 secondes si un arrêt a été demandé +
       ( 1440 x 5 ) = 7200 secondes = 2 h */
DOFOR VAR(&I) FROM(1) TO(1440)  
  DLYJOB DLY(5)               
  RTVJOBA ENDSTS(&ENDSTS)      
  IF (&ENDSTS *EQ '1') GOTO CANCELJOB           
ENDDO

GOTO BCL

CANCELJOB : RETURN
ENDJOB, ENDSBS ou PWRDWNSYS en mode contrôlé envoient un signal à l'OS pour lui préciser qu'un arrêt vient d'être demandée. Dans le CL je récupère ce statut (&ENDSTS) pour en connaître la valeur.

En fait, ces signaux sont courants sous Unix. Ils sont intéressants car ils interrompent un job qui est en cours de traitement en appelant une procédure et, quand cette procédure est terminée, le job suspendu est réactivé et poursuit son traitement là où il s'était arrêté.

Dernière modification par Mercure ; 01/12/2009 à 16h09. Motif: Correction durée en secondes
Mercure 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 +1. Il est actuellement 14h41.


 
 
 
 
Partenaires

Hébergement Web