Éléments de script et syntaxe

Les éléments et la syntaxe de Langage de script Automation Engine sont cohérents avec d'autres langages de script qui vous sont familiers. Écrivez les instructions avec des commandes, des fonctions et des variables et incluez des commentaires. Vous pouvez combiner Langage de script Automation Engine avec les commandes de vos applications et systèmes d'exploitation cibles. Voir Travailler avec l'éditeur de script pour toute information sur la mise en surbrillance et la terminaison de la syntaxe.

Cette rubrique contient les sujets suivants :

Instructions de script

Les instructions constituent l'unité de base des scripts et contiennent généralement une commande.

Les instructions correctement formatées s'affichent en bleu dans l'éditeur de script.

Exemple

L'instruction de script ci-dessous affiche le texte “Automation Engine” dans le rapport d'activation lorsque l'objet est traité :

:PRINT "Automation Engine"

Pour continuer une instruction à la ligne suivante, mettez un trait de soulignement en fin de ligne et commencez la ligne suivante par deux points.

Exemple

L'instruction ci-dessous est interprétée comme une seule instruction de script :

:SCRIPT LINE SCRIPT LINE SCRIPT LINE SCRIPT LINE SCRIPT LINE_

:CONTINUED SCRIPT LINE

Fonctions de script

Les fonctions vous permettent de manipuler les données du système. Les fonctions de script renvoient des codes retour, ce qui les distinguent des instructions de script.

Lorsque vous utilisez des fonctions de script, respectez les règles suivantes :

Les fonctions correctement formatées s'affichent en rouge dans l'éditeur de script.

Syntaxe

L'instruction ci-dessous définit la valeur d'une variable en tant que somme de deux nombres.

:SET&SUM# = ADD(2,2)

Paramètres

De nombreuses fonctions de script fonctionnent de manière autonome, mais certaines fonctions n'ont un sens que lorsqu'elles sont utilisées en combinaison avec d'autres éléments de script.

Exemple

La fonction de script PREP_PROCESS_FILE génère une séquence de données à partir du contenu d'un fichier texte. Le code retour est une référence. La fonction GET_PROCESS_LINE lit toutes les lignes du fichier texte, mais a besoin du descripteur récupéré par PREP_PROCESS_FILE.

Codes retour des fonctions

Les codes retour peuvent être de simples caractères, des chaînes de caractères ou des nombres. Les nombres comportent toujours 16 chiffres commençant par des zéros non significatifs. Ces zéros n'affectent pas les traitements ultérieurs du nombre, tels que les opérations de calcul.

Syntaxe

Les lignes de script ci-après appliquent une variable à la somme de deux valeurs et affichent le nombre résultant.

:SET&SUM# = ADD(2,2)

:PRINT&SUM#

Paramètres

Voici le résultat qui s'affiche :

0000000000000004

Conseil : Vous pouvez utiliser une fonction de script pour supprimer les zéros non significatifs dans le résultat. Pour plus d'informations, voir FORMAT.

Les codes retour peuvent également contenir un numéro d'erreur. Pour plus d'informations sur les codes retour voir les explications détaillées sur chaque élément de script dans Référence du script Automation Engine et Traitement des erreurs dans les scripts.

Variables de script

Les variables de scripts vous permettent de définir et transmettre des valeurs dans les scripts. Les variables de scripts peuvent contenir des chiffres, des chaînes de caractères, des dates et des heures. La valeur d'une variable est valide jusqu'à ce que le script ait été traité. Les variables correctement formatées s'affichent en violet dans l'éditeur de script.

Définir et appliquer des variables dans les scripts

Pour déclarer et affecter des valeurs à des variables dans vos scripts, utilisez les instructions de script suivantes :

Remarque : La valeur affectée à une variable de script n'a pas de limite. Certains éléments de script, tels que :ADD_COMMENT, tronquent la valeur parce que le champ cible a une limite.

Pour plus d'informations : Éléments de script pour variables et objets VARA

Exemples

L'instruction suivante déclare une variable en tant que chaîne de caractères.

:DEFINE &FILE#, string

Les lignes de script suivantes déclarent la variable en tant que chaîne de caractères et définissent le texte de cette chaîne de caractères.

:DEFINE &FILE#, string
:
SET &FILE# = "temp.txt"

:DEFINE&STRING#, string

:DEFINE &SIGNED#, signed

:
DEFINE &UNSIGNED#, unsigned


:DEFINE&FLOAT#, float

:SET&STRING#= "1234abc"
:SET &SIGNED#= -5
:
SET &UNSIGNED#= 24
:SET &FLOAT#= -0.50

Nom des variables de script

Lorsque vous définissez des variables de script, respectez les règles de nommage des variables. Pour plus d'informations, voir Noms des variables.

Les noms des variables étant contextuels, vous pouvez définir plusieurs variables dans différents objets ayant le même nom, à condition qu'elles soient utilisées dans des contextes distincts. Les variables ne peuvent pas partager les mêmes caractères initiaux dans le même contexte.

Conseil : Terminez les noms de variables par un # pour les délimiter et éviter les problèmes avec des noms similaires. Par exemple, les variables &VALUE# et &VALUES# peuvent être utilisées dans le même contexte, alors que &VALUE et &VALUES ne le peuvent pas.

Tableaux

Les tableaux vous permettent d'enregistrer plusieurs valeurs différentes dans une variable. Pour déclarer une variable en tant que tableau, incluez des paramètres de tableaux dans l'instruction :DEFINE. Chaque valeur du tableau est accessible via un index.

Exemple

Le script ci-dessous déclare une variable en tant que tableau de 10 valeurs et spécifie la valeur de l'index 5 :

:DEFINE&ARR#, unsigned, 10

:SET&ARR#[5] = 20

Remarque : Les champs de tableaux n'ayant pas encore été initialisés affichent la valeur par défaut "" si le type de données est une chaîne de caractères ou 0 pour les types de données numériques.

Conseils :

Utiliser d'autres types de variables dans les scripts

Les scripts vous permettent d'appeler différents types de variables utilisés dans Automation Engine pour récupérer et enregistrer les valeurs conservées dans les variables. Divers éléments de script vous permettent de récupérer et de modifier des variables.

Pour plus d'informations :

Paramètres de script

Ecrivez les paramètres des éléments de script entre parenthèses. Utilisez des virgules pour séparer les paramètres. Les éléments de script sont évalués dans l'ordre dans lequel ils sont listés.

Exemple

Dans la ligne de script ci-dessous, les paramètres de la fonction sont écrits entre parenthèses.

:SET&SUM# = ADD(2,2)

Remarques :

Exemple

La fonction ci-dessous crée un objet, a deux paramètre obligatoires (Type d'objet et Nom d'objet) et deux paramètres optionnels (Dossier et Titre).

CREATE_OBJECT (Object Type, Object Name, [Folder], [Title] )

Si vous ne voulez pas spécifier de valeur pour un paramètre optionnel, n'écrivez rien ou un espace entre virgules.

Exemple

L'instruction ci-dessous ne spécifie pas de dossier, puisqu'il n'y a rien entre la deuxième et la troisième virgule.

:SET&RET# = CREATE_OBJECT("CALE","FIRM.CALENDAR2018",,"Company calendar for 2018")

Si vous spécifiez des valeurs pour tous les paramètres obligatoires, mais que vous ne voulez pas inclure de valeurs pour les paramètres optionnels restants, vous n'avez pas besoin de saisir des virgules pour les paramètres optionnels restants.

Exemple

L'instruction ci-dessous crée un objet sans spécifier de dossier, ni de titre, et vous pouvez simplement fermer les parenthèses après le dernier paramètre obligatoire.

:SET&RET# = CREATE_OBJECT("CALE","FIRM.CALENDAR2018")

Paramètres mot-clés

Vous devez écrire les paramètres mots-clés exactement comme spécifié. Dans notre documentation, les paramètres mots-clés sont en gras. Comme pour les paramètres, les mots-clés optionnels sont écrits entre crochets.

Exemple

Dans la fonction ci-dessous, VERSION est un mot-clé.

SYS_INFO (component,VERSION, [ type ], [component name])

Les mots-clés optionnels sont écrits entre crochets.

Exemple

Dans la fonction de script ci-dessous, FORCED est un mot-clé optionnel.

MODIFY_TASK (RunID, Status [, FORCED])

Certains paramètres mots-clés peuvent être écrits sous forme longue ou abrégée. Dans ce cas, le paramètre mot-clé est documenté avec le texte optionnel de sa forme longue entre crochets [ ].

Exemple

Le paramètre mot-clé STR_SUBSTITUTE_VAR est référencé en tant que STR_SUB[STITUTE]_VAR. Vous pouvez écrire STR_SUBSTITUTE_VAR ou STR_SUB_VAR, au choix.

Constantes de script

Les constantes chaînes de caractères sont écrites entre guillemets simples (') ou doubles ("). Vous pouvez écrire n'importe quelle chaîne littérale, par exemple pour écrire un texte particulier.

Exemple

"Automation Engine"

Un littéral de script peut également contenir des variables de script remplacées par la valeur correspondante lorsque la ligne de script contenant le littéral est traitée.

Exemple

Les lignes de script suivantes affichent la chaîne de caractères "Heure" suivie de l'heure système.

:SET &TIME# = SYS_TIME("HH:MM:SS")

:
PRINT "Time &TIME#"

Affichage :

Time 10:30:05

Les noms AE n'ont pas besoin d'être écrits entre guillemets simples ou doubles, sauf s'ils commencent par un nombre. Écrivez les noms AE suivants sans guillemet s'ils ne commencent pas par un nombre :

Remarque : Utilisez les guillemets si le nom AE commence par un nombre.

Exemple

:SET &STATUS# = SYS_HOST_ALIVE(WIN01)

## <nombre> est une combinaison réservée. Si cette chaîne de caractères est utilisée dans un littéral de script, le texte est ajouté au message dont le numéro a été indiqué par <nombre>.
Exemple

L'instruction suivante affiche un message.

:PRINT "##1800" ou :PRINT ##1800

Voici le message qui s'affiche :

2011-06-15 13:01:51 - U0020408 ENDED_NOT_OK  - aborted.|

La chaîne de caractères <![[ ]]> génère une erreur si vous l'utilisez dans des constantes de script et que vous ne pouvez pas enregistrer l'objet. Si vous avez besoin d'utiliser cette chaîne de caractères, employez l'une des approches suivantes pour éviter cette erreur :

Écrivez un commentaire incluant ces caractères et utilisez-le lorsque vous avez besoin de ces caractères.

Exemple

!<![[ ]]>

:PRINT '<![[ ]]>'

L'erreur ne se produit que lorsque les caractères sont utilisés les uns après les autres. Au lieu de cela, vous pouvez composer une chaîne de caractères en combinant les éléments.

Exemple

Utilisez une variable de script dans une constante de script pour créer la chaîne de caractères souhaitée.

: SET &VAR# = "]]"

: PRINT'<![[ &VAR#>'

Exemple

Utilisez l'élément de script STR_CAT pour relier deux chaînes de caractères et créer la chaîne de caractères souhaitée.

: SET &VAR# = STR_CAT ("<![[ ]]",">")

: PRINT &VAR#

Éditer des chaînes de caractères par le script

Le langage de script Automation Engine propose divers éléments de script vous permettant d'éditer des chaînes. Vous pouvez concaténer des chaînes, récupérer ou supprimer des parties de chaînes, et remplacer tout ou une partie des chaînes. Pour plus d'informations, voir Éléments de script pour éditer des chaînes de caractères.

Commentaires

Toute ligne commençant par un point d'exclamation est interprétée comme un commentaire et n'a pas d'impact sur le traitement. Utilisez des commentaires pour informer les autres utilisateurs sur les effets des différentes parties de votre script et faciliter ainsi la maintenance ultérieure.

Exemple

!I can write anything I like here

Les commentaires correctement formatés s'affichent en vert dans l'éditeur de script.

Lignes de données et langage JCL

(Objets Job uniquement) Les lignes ne commençant ni par un point d'exclamation (!), ni par deux points (:) sont interprétées comme des lignes de données. Les lignes de données contiennent des commandes dans le langage JCL du système cible. Lorsque vous insérez du JCL, assurez-vous d'utiliser les commandes et la syntaxe du JCL de votre système cible, car c'est là qu'elles seront interprétées. Vous pouvez également utiliser une instruction de script pour déclarer explicitement une ligne de script en tant que ligne de données. Pour plus d'informations, voir :DATA.

Les jobs de solutions commerciales d'entreprises (PeopleSoft, SAP et Siebel), contiennent des fonctions spéciales, Langage de script Automation Engine propose des éléments JCL spécifiques à ces systèmes. Pour plus d'informations, voir Référence du script Job Control Language.

Exemple

Les lignes de données suivantes utilisent une commande Windows pour copier un fichier vers un répertoire.

copy test.txt c:\temp

Si une ligne de données commence par deux points (:), vous devez la déclarer explicitement comme une ligne de données, via l'instruction de script :DATA.

Exemple

La ligne de données suivante utilise la même commande Windows que dans l'exemple précédent, mais est explicitement déclarée.

:DATAcopy test.text c:\temp

Remarque : Si vous insérez une variable et que votre ligne de données requiert une esperluette avant la variable, assurez-vous d'écrire deux esperluettes. Une fois le script traité, la variable de script et l'esperluette contenue dans son nom sont remplacées par la valeur affectée à la variable. Si vous utilisez une esperluette sans nom de variable valide après, la ligne de commande ne change pas.

Voir aussi :

voiraussi

Logique fonctionnelle avec les scripts

Écrire des scripts

Éléments de script triés par fonction

Liste alphabétique des instructions de scripts et fonctions