:GENERATE
Utilisez les instructions :GENERATE pour contrôler le mode de traitement des lignes de script pendant l'exécution. Cette instruction vous permet de déterminer les lignes de script à traiter lorsque vous avez défini des points de reprise ou la casse des lignes de script.
Reprendre des objets exécutables
Le mode de génération d'une instruction :GENERATE détermine le mode de traitement des lignes de script pendant l'exécution du script lors de la reprise d'un objet exécutable. Le mode de génération que vous définissez reste valide jusqu'au traitement de l'une des instructions suivantes :
- prochaine instruction :GENERATE contenant un des trois modes de génération
- prochaine instruction :RESTART
Lors de la reprise d'un objet sans l'instruction :GENERATE, les lignes de script traitées sont toutes celles se trouvant jusqu'à la première instruction :RESTART, ainsi que celles se trouvant après le point de reprise indiqué.
Majuscules et minuscules
À l'exception des variables de script, le texte des lignes de données reste généralement intact et est transféré tel quel dans le système cible. Les variables sont fournies avec des valeurs (en format modifié) lors de l'activation d'un objet contenant ces scripts. Pour plus d'informations, voir Lignes de données et langage JCL.
Certains systèmes cibles requièrent un certain format de lignes de données. Ainsi, le système d'exploitation BS2000 ne traite que les instructions JCL (Job Control Language) en majuscules. Les commandes de ce système cible doivent être formatées dans Automation Engine. Utilisez l'instruction :GENERATE et ses modes de génération pour transmettre les restrictions de certains systèmes lors de l'écriture des scripts.
Syntaxe
:GEN[ERATE] generation mode
Paramètres
- :GENERATE
Détermine le mode de traitement des lignes de script pendant l'exécution - generation mode
Paramètres de traitement des lignes de script
Valeurs autorisées pour les reprises :- ON_RESTART_ALWAYS
Les lignes de script sont toujours exécutées, indépendamment du point de reprise - ON_RESTART_CHECK
Les lignes de script ne sont pas exécutées lorsqu'elles se trouvent avant le point de reprise - ON_RESTART_NEVER
Les lignes de script ne sont jamais exécutées, indépendamment du point de reprise
- UPPER_CASE
Convertit le texte de toutes les lignes DATA en majuscules - LOWER_CASE
Convertit le texte de toutes les lignes DATA en minuscules - CASE_UNCHANGED
Rétablit l'état initial de la casse (lettres minuscules et majuscules)
- ON_RESTART_ALWAYS
Exemples
Dans l'exemple suivant, les instructions :RESTART définissent 3 points de reprise. Les instructions :GENERATE avec des modes de génération différents, définissent les lignes de script à traiter lors de la reprise de l'objet :
:PRINT "Script start"
:RESTART R1
:PRINT "Point R1"
:GENERATE
ON_RESTART_ALWAYS
:PRINT "ON_RESTART_ALWAYS"
:GENERATE
ON_RESTART_CHECK
:RESTART R2
:PRINT "Point R2"
:RESTART R3
:PRINT "Point R3"
:GENERATE
ON_RESTART_NEVER
:PRINT "Script end"
Lorsque l'objet reprend au point de reprise R1, les lignes suivantes sont écrites dans le rapport d'activation :
2005-01-31 12:17:05 - U0020408 Script start
2005-01-31 12:17:05 - U0020408 Point R1
2005-01-31 12:17:05 - U0020408 ON_RESTART_ALWAYS
2005-01-31 12:17:05 - U0020408 Point R2
2005-01-31 12:17:05 - U0020408 Point R3
Lorsque l'objet reprend au point de reprise R2, les lignes suivantes sont écrites dans le rapport d'activation :
2005-01-31 12:17:23 - U0020408 Script start
2005-01-31 12:17:23 - U0020408 ON_RESTART_ALWAYS
2005-01-31 12:17:23 - U0020408 Point R2
2005-01-31 12:17:23 - U0020408 Point R3
Lorsque l'objet reprend au point de reprise R3, les lignes suivantes sont écrites dans le rapport d'activation :
2005-01-31 12:17:48 - U0020408 Script start
2005-01-31 12:17:48 - U0020408 ON_RESTART_ALWAYS
2005-01-31 12:17:48 - U0020408 Point R3
Dans l'exemple suivant, l'instruction :GENERATE convertit le texte d'une ligne de données en majuscules :
:GEN UPPER_CASE
fs $AE.
Voir aussi :