Pages Traitement
Si vous êtes développeur et concepteur d'objets, vous pouvez ajouter une logique fonctionnelle à vos objets dans leurs pages Traitement, en utilisantLangage de script Automation Engine. Tous les objets exécutables disposent d'au moins une page Traitement. Certains types d'objets ont des pages pré-, post- et post-traitement enfant supplémentaires.
Remarques :
- Les scripts sont traités soit au moment de l'activation de l'objet, soit au moment de son démarrage, selon les paramètres de la Page Attributs de l'objet.
- Si l'objet possède plusieurs pages Traitement, veillez à l'ordre selon lequel les pages sont traitées. Pour plus d'informations, voir Traitement du script.
- Chaque page Traitement peut contenir jusqu'à 32 767 lignes. Cependant, la génération du script est interrompue si le script génère plus de 1000 lignes JCL. Si votre script génère plus de lignes JCL, vous pouvez modifier ce seuil via l'instruction de script :PUT_ATT, attribut MAX_JCL_LINES.
- Les conditions spécifiques que vous pouvez définir dans votre script dépendent du type d'objet.
Cette rubrique contient les sujets suivants :
La page Traitement est disponible dans tous les objets exécutables.
Les jobs JMX, PeopleSoft, SAP et SQL vous permettent de créer des scripts de deux manières :
- En écrivant le code dans l'éditeur de script
- En ajoutant des commandes prédéfinies et prêtes à l'emploi dans la vue Formulaires.
Pour plus d'informations, voir :
Informations spécifiques à la plateforme
-
Fonctions spéciales pour Guardian/NSK
Pour toute information sur les fonctions spéciales proposées pour le traitement automatique des requêtes de saisie, voir Traitement automatisé des invites de saisie.
-
JCL pour z/OS
Le JCL est spécifié ici. Aucune carte de job (saisie au travers des attributs) ni carte de fin ne doit être spécifiée ici.
-
JCL SAP interprété par l'agent SAP
Il n'y a pas de JCL dans SAP. C'est la raison pour laquelle Automation Engine en fournit un qui est interprété par l'agent SAP et converti afin de traiter les instructions pour le système cible. Pour plus d'informations, voir Généralités sur le JCL SAP ainsi que Formulaires SAP.
-
Activer un interpréteur pour Windows et Unix
Vous pouvez aussi saisir un script à utiliser avec un interpréteur externe. Pour activer l'interprétation de ce script, utilisez :BEGIN_EXT_INTERPRETERS... :END_EXT_INTERPRETERS.
Les fichiers binaires de l'objet Stockage peuvent être joints et transférés à l'agent Windows, via la fonction de script :ATTACH_RES.
Pour pouvoir utiliser ces fonctions, vous devez configurer les variables UC_EXT_INTERPRETERS_* - Enregistrer les interpréteurs externes et :REGISTER_VARIABLE.
-
Exemples de BAT et Powershell Windows
Le script BAT Windows ci-dessous écrit la sortie du répertoire C:\Temp dans un fichier et vérifie si la commande a été exécutée avec succès. Si la commande ne se termine pas avec succès, le job se terminera par le code retour de la commande dir :
dir C:\temp /S >> C:\temp\test.txt
@set retcode=%errorlevel%
@if NOT %ERRORLEVEL% == 0 goto :retcodeLe script Powershell Windows ci-dessous récupère le contenu du répertoire C:\Temp et écrit la sortie dans un fichier. Ensuite, le code d'erreur de Powershell sera vérifié et si n'est pas égal à 0, le job s'interrompt avec $LastExitCode, qui correspond à %ERRORLEVEL% dans le script CMD.EXE/.BAT.
Get-ChildItem C:\Temp > C:\Temp\test.txt
if( $LastExitCode -ne 0 )
{ __uc_return $LastExitCode }
La fonction __uc_return peut être utilisée pour terminer les jobs Powershell. Cela fonctionne uniquement si le type de job Windows est défini à Interpréteur, mais pas en utilisant les nouvelles fonctions :BEGIN_EXT_INTERPRETERS... :END_EXT_INTERPRETERS.
Voir aussi Configurer des objets Include pour des appels d'interpréteurs externes.
Uniquement disponible pour les objets Job (JOBS). Saisissez ici les instructions préparant le job à l'exécution, dans la page Pré-traitement. Utilisez, par exemple, l'instruction :PUT_ATT pour définir des attributs tels que l'agent pour le job.
Les pages Pré-traitement et Traitement sont traitées simultanément.
Les instructions de pré-traitement étant exécutées dans l'en-tête du job, vous pouvez ajouter des instructions qui s'exécuteront avant que le messager de jobs n'intervienne dans l'exécution. Pour plus d'informations sur le messager de jobs, voir Messager de jobs de l'agent.
Conseil : Vous pouvez utiliser l'instruction de script :INC_SCRIPT pour insérer le contenu de cette page, sur n'importe quelle autre page Traitement.
Informations complémentaires pour z/OS
La page Pré-traitement vous permet de définir toutes les commandes JCL (ex. : JCLLIB, JOBCAT, JOBLIB, OUTPUT etc. ) devant être définies après la carte du job, mais avant la première étape du script.
Pour que le moniteur d'événements prenne en compte les étapes de la page Pré-traitement, la première étape doit avoir le même nom que le système Automation Engine. Sinon les étapes du job de pré-traitement interrompues n'affecteront pas le statut de fin du job Automation Engine.
Exemple
Dans l'exemple, le nom du système Automation Engine est UC4PROD.
Page Pré-traitement
//JOBLIB DD DISP=SHR,DSN=.....
// DD DISP=SHR,DSN=....
//UC4PROD EXEC PGM=modname
Page Traitement
//STEP01 EXEC PGM=IEFBR14
//STEP01 EXEC PGM=IEBGENER
Proposé pour les objets Job (JOBS) uniquement : les scripts de la page Post-traitement sont traités une fois le job terminé. Ces scripts sont traités lorsque le job se termine normalement ou partiellement, comme c'est le cas lorsqu'il est interrompu. Les commandes de post-traitement vous permettent d'influencer la façon dont un job doit se terminer.
Conseils :
- Utilisez l'instruction de script :RSET pour transférer des variables de script entre les pages Traitement et Post-traitement. Cette instruction de script renvoie la valeur ayant été attribuée à la variable de script dans la page Traitement.
- Utilisez l'instruction de script :MODIFY_STATE pour modifier la terminaison définitive d'un job. Cette instruction de script vous permet de modifier le statut et le code retour du job fourni par le messager de job dans la terminaison.
- Utilisez l'instruction de script PREP_PROCESS_REPORT de la page Post-traitement pour analyser les rapports. Vous pouvez ensuite définir, par exemple, un statut ENDED_NOT_OK pour un job, même s'il s'est terminé normalement d'un point de vue technique.
Remarques :
- Les scripts de post-traitement ne peuvent pas inclure de lignes JCL.
- Les commandes de post-traitement ne sont PAS exécutées dans les cas où le statut d'une tâche est ENDED_LOST.
- Les instructions de script suivantes ne peuvent pas être utilisées dans la page Post traitement :
- :PUT_ATT : définir des attributs pour la génération du job n'est pas pertinent.
- :EXIT : interrompre le traitement du script avec un code retour > "0" n'est pas autorisé.
- :STOP : interrompre le traitement du script n'est pas autorisé.
Les jobs SAP et PeopleSoft possèdent une page Post-traitement enfant supplémentaire. En effet, ils contiennent généralement des instructions qui lancent plusieurs processus (sous-jobs) dans les systèmes cibles. Cette structure de job est répliquée dans Interface Web Automic. Le job SAP ou PeopleSoft que vous créez dans Automation Engine est le parent de ces sous-jobs (processus enfants) et leur sert de conteneur.
Le script que vous saisissez dans la page Post-traitement enfant est traité immédiatement après que chaque traitement enfant soit terminé.
Voir aussi :