Seul manque encore l'automatisation des lancement chaque minute. Peut être que le serveur de Query - qui prend déjà en charge l'envoi des mails - se verra-t-il dans le futur attribuer cette tâche ?
L'interface Web
Au niveau de la demande Opération, l’utilisateur peut préciser une fréquence et une date de première exécution du traitement batch.L’activation (par soumission de la demande) provoque:
- Le déclenchement du script OPER,
- Le programme BOB va « archiver » le script habillé de la chaîne à exécuter dans l’information ZO2S du dossier de demande,
- Et « verrouiller » la demande opération qui n'est alors plus modifiable.
L’utilisateur peut consulter la liste des traitements « activés » voire en déprogrammer.
L’exécution du traitement est déléguée à l’exploitant qui doit exécuter la chaîne RBB à fréquence régulière.
La chaîne RBB
La chaîne (script subbb) soumet TOUS les traitements dont la date d’activation dépasse la date système,Pour lister les traitements en attente, passez par l'interface ou exécutez la requête suivante :
SELECT NUDOSS, TEDMAC, TIDMAC FROM ZO00
WHERE TEDMAC <> 'N' AND TESOUD = '1'
ORDER BY TIDMAC,TEDMAC
Les étapes de la soumission sont les suivantes :
- subbb lance RBB (chaîne générée avec un processus Opération),
- Le programme BOD en boucle :
- Ecrit pour la première demande trouvée la chaîne stockée en ZO2S dans $TMP/T120JS."$nupro"
- Lance OPE2 (via XSNDJOB et job)
- OPE2 exécute la chaîne définitive en arrière plan,
- BOD reprend la main. En cas d’activation « périodique » il recalcule et met à jour automatiquement la date de la prochaine exécution dans la demande ZO,
- puis passe à la demande suivante.
Pour que tout fonctionne de manière transparente il est nécessaire d'automatiser l'exécution régulière de la chaîne RBB (par exemple par crontab). Au vu du fonctionnement standard, la fréquence d'exécution doit être la minute.
Si vous souhaitez les espacer plus (10 ou 30 minutes par exemple), je pense préférable de modifier OPE2 pour que les traitements se déclenchent en avant plan (ce qui évite la concurrence de traitements incompatibles ou dépendants) :
nohup ksh $TMP/JS."$NUMJOB" > $TMP/"$JOBLOG" 2>&1 &
CODE_RETOUR=$?
PID=$!
devient alors
ksh $TMP/JS."$NUMJOB" > $TMP/"$JOBLOG" 2>&1
CODE_RETOUR=$?
PID=$$
A noter : La chaîne RBB est compatible avec les enchaînements NRC.