Utilisation de variables dans ACLScript

Lorsque vous rédigez un script dans Analytics, vous devez souvent tenir compte de valeurs qui changent ou varient. Par exemple :

  • Configuration du scriptVous recherchez une méthode simple pour personnaliser les valeurs de la logique d’un script, comme les noms des tables ou des champs, sans avoir à mettre à jour chaque occurrence d’une valeur

  • Saisie de l'utilisateurLorsque les utilisateurs exécutent un script, ils souhaitent personnaliser les valeurs d’entrée comme les plages de dates ou les montants des seuils

  • Stockage temporaireLa logique d’un script doit stocker temporairement une valeur qui est continuellement mise à jour au fur et à mesure que le script progresse, comme un compteur ou un sous-total

Pour ce faire, et à d'autres fins, vous utilisez des variables.

Qu'est-ce qu'une variable ?

Vous pouvez considérer une variable comme un conteneur nommé qui contient ou stocke une valeur susceptible de changer. La valeur peut changer, mais le nom de la variable ne change pas. En tant que rédacteur du script, vous utilisez le nom de variable fixe dans toute la logique du script. Lorsque le script s'exécute, il ne traite pas le nom de la variable. Au contraire, il accède à chaque valeur actuellement contenue dans la variable et la traite.

Dans l'exemple ci-dessous, v_start_date et v_end_date sont des noms de variables et les dates sont les valeurs contenues par les variables.

L'avantage des variables

Dans un script, vous pouvez utiliser des variables plutôt que des valeurs littérales. En remplaçant les noms de tables, les noms de champs, les valeurs de texte, les nombres et les dates réelles par des variables qui font référence à ces éléments, vous augmentez considérablement la flexibilité de votre script. Au lieu d'écrire un script qui ne fonctionne que dans une situation très spécifique, vous pouvez écrire un script qui peut être utilisé dans un nombre illimité de situations.

Comment et où les variables peuvent-elles être utilisées ?

Tout comme les éléments littéraux auxquels elles font référence, les variables peuvent être créées, renommées, mises à jour, supprimées, utilisées dans des calculs et diverses expressions, exportées et extraites. Autrement dit, elles peuvent être utilisées à n'importe quel emplacement où l'élément littéral serait valable.

Comment créer une variable ?

Vous créez une variable à l'aide d'une commande Analytics - la commande ASSIGN, ou l'une de plusieurs autres commandes. En général, vous incluez cette commande dans un script, mais vous pouvez également créer une variable manuellement en entrant la commande ASSIGN dans la ligne de commande Analytics.

Exemple

Vous voulez qu'un script possède une plage de dates personnalisable, vous créez donc des variables de Date de début et de Date de fin.

Dans l'exemple ci-dessous, une variable portant le nom v_start_date contient actuellement la valeur date `20210101` et une variable portant le nom v_end_date contient actuellement la valeur date `20210331`.

Vous pouvez utiliser ces deux variables pour stocker les dates de début et de fin qu'un utilisateur spécifie. Dans la logique du script, vous spécifiez v_start_date et v_end_date partout où les dates sont requises, mais lorsque le script s'exécute, il utilise les dates réelles spécifiées par l'utilisateur.

ASSIGN v_start_date = `20210101`
ASSIGN v_end_date = `20210331`

Astuce

Vous pouvez créer l'une de ces variables en copiant la commande ASSIGN et ses paramètres sur la ligne de commande Analytics et en appuyant sur Entrée. Dans le Navigateur, ouvrez l'onglet Variables pour voir le résultat.

Si la zone de texte de la Ligne de commande n'est pas visible, sélectionnez Fenêtre > Ligne de commande.

Afficher des variables dans un projet Analytics

Lorsque vous utilisez des variables, il est extrêmement utile de pouvoir voir les variables qui existent dans un projet Analytics, ainsi que leurs valeurs actuelles. Deux méthodes vous permettent d'afficher les variables et leurs valeurs :

  • l'onglet Variables

  • la commande DISPLAY VARIABLES

L'onglet Variables

L'onglet Variables, dans le Navigateur, permet de suivre la création des variables et l'affectation des valeurs aux variables en temps réel. L'onglet en lecture seule affiche les noms, types de données et valeurs actuelles de toutes les variables dans un projet Analytics. Les noms sont indiqués par ordre alphabétique.

Si vous parcourez un script ligne par ligne, toute variable définie dans le script ou générée par le système apparaît dans l'onglet Variables au moment de sa création. Si la variable existe déjà, la valeur est mise à jour de façon dynamique, en fonction de la logique du script. (Dans l'Éditeur de script, utilisez l'option Étape pour parcourir un script.)

La possibilité d'observer exactement les modifications apportées aux variables de script, au fur et à mesure qu'elles se produisent, est un outil de diagnostic important. Cette fonctionnalité vous permet de repérer les erreurs de script qui pourraient être difficiles à localiser en examinant uniquement la syntaxe du script.

Si vous exécutez un script, toutes les modifications associées aux variables s'affichent dans l'onglet Variables lorsqu'un point d'arrêt est atteint ou lorsque le script se termine.

La commande DISPLAY VARIABLES

La commande DISPLAY VARIABLES affiche les noms, les types de données et les valeurs actuelles de toutes les variables d'un projet Analytics. Les noms sont classés dans l'ordre inversement chronologique, en fonction de la date de création ou de la dernière mise à jour de la variable.

DISPLAY variable_name renvoie les informations associées à une seule variable.

Vous pouvez utiliser la commande DISPLAY VARIABLES de deux manières différentes :

  • État actuel des variables du projetSaisissez DISPLAY VARIABLES dans la ligne de commande et appuyez sur Entrée.

    Toutes les variables du projet et leurs valeurs actuelles sont affichées à l'écran dans l'ordre inversement chronologique.

  • État des variables du projet à différents points d’un scriptAjoutez DISPLAY VARIABLES à un script au point ou aux points du script où vous voulez capturer l’état des variables du projet. Vous pouvez également utiliser un point d'arrêt à cette fin, à la différence qu'un point d'arrêt interrompt l'exécution du script alors que la commande DISPLAY VARIABLES ne le fait pas.

    Une fois le script terminé, double-cliquez sur l'entrée DISPLAY VARIABLES correspondante dans le journal des commandes. L'état des variables du projet au point du script que vous avez spécifié est affiché à l'écran dans un ordre inversement chronologique.

Note

Vous ne pouvez pas utiliser la commande DISPLAY VARIABLES dans une commande GROUP.

Huit choses à savoir sur les variables ACLScript

Si vous connaissez d'autres langages de programmation ou de rédaction de script, vous connaissez déjà les variables et leurs nombreuses utilisations. Les principales caractéristiques des variables ACLScript sont décrites ci-dessous.

Si vous êtes novice en matière de scripts et de variables, les informations ci-dessous prendront tout leur sens lorsque vous commencerez à travailler avec des variables.

1.  Une variable est créée automatiquement lorsque vous affectez une valeur

2.  Il existe différentes méthodes de création d'une variable

3.  Le type de données d'une variable est automatiquement spécifié

4.  Les noms des variables sont flexibles, avec certaines restrictions

5.  Une variable a un champ d'application global

6.  Une variable persiste jusqu'à la fermeture du projet Analytics

7.  Une variable peut être explicitement supprimée

8.  Variables système créées automatiquement par certaines commandes Analytics

1.  Une variable est créée automatiquement lorsque vous affectez une valeur

Une variable est créée (déclarée) automatiquement lorsque vous attribuez une valeur initiale à la variable nommée. L'attribution d'une valeur initiale à une variable est également appelée initialisation d'une variable.

Dans l'exemple ci-dessous, la variable v_input_table est créée automatiquement lorsque vous utilisez la commande ASSIGN pour attribuer la valeur "Ap_Trans" à la variable. Autrement dit, la création de la variable et l'attribution d'une valeur à cette variable (déclaration et initialisation) se font en une seule et même étape.

ASSIGN v_input_table = "Ap_Trans"

A quel moment et où faut-il créer une variable ?

Vous pouvez créer une variable n'importe où dans un script à condition que la création de la variable précède sa première utilisation.

Une bonne pratique consiste à créer toutes les variables d'entrée utilisateur et les variables de configuration du script au début du script. Avec cette méthode, un utilisateur peut saisir toutes les valeurs d'entrée requises au début d'un script, puis laisser le script s'exécuter. Vous pouvez également être sûr que toutes les variables de configuration de script requises se trouvent à un emplacement unique et organisé au début d'un script.

Les variables qui ne nécessitent aucune saisie de l'utilisateur ni de configuration préalable peuvent être créées au moment où elles sont requises dans un script.

Si nécessaire, vous pouvez attribuer une valeur vide à une variable de type caractère ou DateHeure afin que la variable existe, mais qu'elle soit initialement vide.

ASSIGN v_input_table = ""
ASSIGN v_all_field_list = BLANKS(20000)
ASSIGN v_start_date = `19000101`

2.  Il existe différentes méthodes de création d'une variable

La façon dont vous créez une variable dépend de l'utilisation que vous comptez en faire.

Utilisation Méthode de création

Configuration du script

Stockage temporaire

Autres utilisations dans le cadre d'un script

 

Commande ASSIGN

Dans un script, utilisez la Commande ASSIGN sur une ligne distincte pour déclarer et initialiser une variable. Le type de données d'une valeur affectée dicte le type de données de la variable.

Note

Il est recommandé d'indiquer explicitement le mot-clé ASSIGN pour faciliter la lecture et la compréhension des scripts. Toutefois, vous pouvez omettre le mot-clé ASSIGN et indiquer simplement :

variable_name = variable_value

Saisie de l'utilisateur

Commande ACCEPT

Créez une boîte de dialogue de base invitant de manière interactive les utilisateurs à saisir une ou plusieurs valeurs d'introduction de script à l'aide de la Commande ACCEPT. Chaque valeur d'introduction, peu importe ce qu'elle représente, est stockée dans une variable nommée de type caractère.

Voir aussi Création de scripts interactifs.

Commande DIALOG

Créez une boîte de dialogue plus avancée invitant de manière interactive les utilisateurs à saisir une ou plusieurs valeurs d'introduction de script à l'aide de la Commande DIALOG et du Générateur de boîte de dialogue associé. Chaque valeur d'introduction est stockée dans une variable nommée. La plupart des options d'entrée utilisent une variable de type caractère.

En plus des options fournies par la commande ACCEPT, la commande DIALOG vous offre des options supplémentaires telles que des cases à cocher, des boutons d'option et des listes déroulantes.

Voir aussi Création de scripts interactifs.

Balises PARAM, TABLE et FIELD

Pour les entrées utilisateur dans les scripts qui s'exécutent dans Robots, créez un en-tête d'outil d'analyse et utilisez la Balise PARAM, la Balise TABLE ou la Balise FIELD.

La balise PARAM est la seule méthode de création de variable qui nécessite de spécifier explicitement un type de données pour la variable associée.

Les balises TABLE et FIELD stockent les valeurs d'entrée dans une variable de type caractère.

Saisie des informations d'identification

Commande PASSWORD

Utilisez la Commande PASSWORD pour créer une boîte de dialogue qui demande de manière interactive aux utilisateurs un mot de passe, un jeton ou d'autres informations sensibles. La commande PASSWORD permet une saisie sécurisée des données et un stockage crypté de la valeur des informations d'identification à un emplacement mémoire protégé.

Dans le cadre du traitement sécurisé des informations d'identification, la variable contenant les informations sensibles n'est pas affichée et ne peut pas être directement gérée.

Voir aussi Création de scripts interactifs.

Vous pouvez également utiliser la commande SET PASSWORD pour spécifier directement un mot de passe sans avoir à demander l'intervention de l'utilisateur. Cependant, le mot de passe apparaît en texte clair dans le script.

Balise Mot de passe

Pour la saisie des informations d'identification dans les scripts qui s'exécutent dans Robots, créez un en-tête d'outil d'analyse et utilisez la balise PASSWORD .

3.  Le type de données d'une variable est automatiquement spécifié

Lorsque vous utilisez la commande ASSIGN, le type de données de la valeur affectée à une variable dicte le type de données de la variable. Ce processus est connu sous le nom de typage implicite. Dans la plupart des cas, vous ne spécifiez pas explicitement le type de données des variables dans Analytics.

Astuce

Faites attention aux types de données des variables dans les scripts que vous rédigez. Une cause fréquente d'erreurs de script est une inadéquation entre le type de données d'une variable et la manière dont vous utilisez cette variable. Pour de plus amples informations, consultez la section L'importance du type de données d'une variable.

Types de valeurs que vous pouvez attribuer à une variable

Vous pouvez affecter une valeur littérale à une variable ou vous pouvez affecter un champ à une variable et la variable est initialisée avec la valeur du champ dans l'enregistrement actuellement sélectionné. Vous pouvez également affecter la valeur actuelle d'une variable à une autre variable.

Types de données des valeurs

Dans Analytics, chaque valeur de données est l'un des types de données (ou catégories) suivants :

  • Caractère

  • Numérique

  • DateHeure

  • Logique

Le type de données d'une valeur est établi de l'une des manières suivantes :

  • Valeur littéraleLe type de données d’une valeur littérale est établi par la présence ou l’absence de qualificateurs entourant la valeur et par les caractères alphanumériques qui la composent.

  • ChampLe type de données des valeurs d’un champ est établi par le type de données du champ.

  • VariableLe type de données de la variable "de" et la valeur qu’elle contient sont déjà définis et deviennent le type de données de la variable "à". En général, bien que rien ne vous en empêche, vous ne modifiez pas les types de données des variables une fois que vous les avez créées.

Exemples d'utilisation de la commande ASSIGN pour créer des variables de différents types de données

Note

Lorsque vous utilisez la commande ACCEPT pour créer une variable ou la plupart des options de la commande DIALOG, la variable a un type de données caractère, quel que soit le type de valeur qu'elle contient.

Type de données de la variable et valeur Exemple

Caractère

Une valeur de type caractère peut inclure des caractères alphanumériques et des caractères spéciaux.

Les valeurs littérales de caractère doivent être entourées de guillemets simples ou doubles.

Si une valeur de type caractère contient des guillemets, utilisez cette méthode :

  • Si le message contient des guillemets doubles, entourez la valeur complète de guillemets simples.
  • Si le message contient des guillemets simples, entourez la valeur complète de guillemets doubles.

Exemple de type caractère

Affecte la valeur de caractère "Vendor_number" à la variable v_input_table.

ASSIGN v_table_entrée = "Numéro_fournisseur"

Affecte la valeur du champ caractère Vendor_number de l'enregistrement actuellement sélectionné à la variable v_identifier.

ASSIGN v_identifiant = Numéro_fournisseur

Note

Il est important de comprendre la différence entre l'attribution d'un nom de champ qualifié et non qualifié à une variable.

L'attribution de "Vendor_number" permet d'attribuer la chaîne de caractères réelle qui constitue le nom du champ.

L'attribution de Vendor_number permet d'attribuer l'une des valeurs contenues dans le champ Vendor_number.

Numérique

Une valeur numérique peut inclure les chiffres de 0 à 9, un séparateur décimal et un signe négatif.

Une valeur numérique littérale ne doit pas être entourée de qualificateurs.

Exemple numérique

Affecte la valeur numérique 1000 à la variable v_min_amount.

ASSIGN v_montant_min = 1000

Affecte la valeur du champ numérique Invoice_Amount de l'enregistrement actuellement sélectionné à la variable v_running_total.

ASSIGN v_running_total = Invoice_Amount

DateHeure

Une valeur DateHeure peut être une date, une heure ou une DateHeure. La valeur doit utiliser un format pris en charge par Analytics.

Pour plus d'informations sur les cartes formats DateHeure pris en charge, consultez la section Format des valeurs littérales DateHeure.

Les valeurs dateheure littérales doivent être encadrées par des `backquotes`(guillemets inverses) (` `).

Note

Analytics prend également en charge les valeurs de type DateHeure qui utilisent le type de données caractère. Pour de plus amples informations, consultez la section Précisions au sujet des valeurs DateHeure.

Exemple DateHeure

Affecte la valeur date `20210101` à la variable v_start_date.

ASSIGN v_date_début = `20210101`

Affecte à la variable v_date la valeur du champ Invoice_Date de l'enregistrement actuellement sélectionné.

ASSIGN v_date = Invoice_Date

Logique

Une valeur logique peut être soit T soit F.

Une valeur logique littérale ne doit pas être entourée de qualificateurs.

Exemple logique

Affecte la valeur logique T à la variable v_Q1.

ASSIGN v_T1 = T

Affecte la valeur du champ logique Approved de l'enregistrement actuellement sélectionné à la variable v_approved.

ASSIGN v_approved = Approved

4.  Les noms des variables sont flexibles, avec certaines restrictions

Dans la plupart des cas, vous pouvez nommer une variable de la manière la plus adaptée à votre objectif.

Conventions volontaires

Ces conventions volontaires facilitent la lecture et la compréhension des scripts :

  • Donnez aux variables des noms descriptifs facilement compréhensibles qui se rapportent directement aux rôles qu'elles jouent dans un script. Un nom clairement descriptif mais légèrement plus long est préférable à un nom plus court et moins clair qui ne précise pas l'objectif de la variable.

  • Adoptez une convention de dénomination générale, par exemple en faisant précéder chaque nom de variable de v_.

Restrictions imposées

Analytics impose ces restrictions sur les noms de variables :

  • Longueur maximale31 caractères

  • Caractères validesCaractères alphanumériques et le caractère de soulignement (_). Le nom ne peut pas contenir de caractères spéciaux ni d'espaces et il ne peut pas commencer par un chiffre

    Note

    N'utilisez pas de caractères n'existant pas en anglais, comme é, dans les noms des variables qui seront utilisées pour la substitution de variables. Les noms de variables contenant des caractères non anglais provoqueront l'échec de la substitution de variables.

    Les versions de cette rubrique d'aide dans une langue autre que l'anglais, telle que la version française, peuvent présenter des noms de variables comportant des caractères accentués. Dans un script réel, évitez d'utiliser des caractères accentués dans un nom de variable qui sera utilisé dans une substitution de variable.

  • UnicitéLes noms de variables doivent être uniques au sein d’un projet Analytics car les variables fonctionnent globalement dans tout le projet

Les noms des variables ne sont pas sensibles à la casse. Dans ACLScript, v_start_date et v_Start_Date sont la même variable.

5.  Une variable a un champ d'application global

Une variable créée dans un script Analytics est disponible pour toutes les parties suivantes du script. Elle est également disponible pour tous les autres scripts du projet Analytics. Ce comportement est utile si vous voulez utiliser une variable dans un script enfant qui est définie dans un script parent.

ACLScript ne prend pas en charge la définition d'un champ d'application local des variables.

6.  Une variable persiste jusqu'à la fermeture du projet Analytics

Une variable reste en mémoire dans votre ordinateur jusqu'à ce que vous la supprimiez explicitement ou jusqu'à ce que le projet Analytics la contenant soit fermé.

Si vous voulez qu'une variable persiste après la fermeture d'un projet et qu'elle soit disponible lorsque vous rouvrez le projet, vous pouvez créer une variable permanente. Faites précéder le nom de la variable d'un trait de soulignement pour créer une variable permanente. Par exemple : _v_start_date. La variable y la valeur qu'elle contient persistent. La seule façon de se débarrasser d'une variable permanente est de la supprimer explicitement.

Note

Les variables permanentes ne sont pas prises en charge dans les scripts qui s'exécutent dans Robots.

7.  Une variable peut être explicitement supprimée

Pour supprimer explicitement une ou plusieurs variables actuelles, vous pouvez utiliser le bouton Supprimer dans l’onglet Variables, ou bien la commande DELETE.

Supprimer des variables en utilisant le bouton Supprimer

Pour supprimer explicitement une, plusieurs ou toutes les variables d’un projet Analytics, utilisez le bouton Supprimer situé en haut de l’onglet Variables dans le Navigateur.

  1. Dans le Navigateur, ouvrez l'onglet Variables.

  2. Effectuez l’une des actions suivantes :

    • Pour supprimer toutes les variables, cliquez sur Supprimer .

    • Pour supprimer des variables spécifiques, sélectionnez les variables concernées et cliquez sur Supprimer .

      Utilisez la combinaison Ctrl+clic pour sélectionner plusieurs variables non adjacentes.

  3. Cliquez sur Oui dans la boîte de dialogue de confirmation.

    Les variables sont supprimées.

Supprimer des variables en utilisant la commande DELETE

Pour supprimer explicitement une ou toutes les variables d'un projet Analytics, utilisez la commande DELETE dans la ligne de commande ou dans un script.

Pour supprimer explicitement une variable particulière :

DELETE variable_name OK

Pour supprimer explicitement toutes les variables :

DELETE ALL OK

Qu'est-ce qui est supprimé ?

Lorsque vous supprimez une variable, vous supprimez uniquement le conteneur nommé et la valeur qu'il contient de la mémoire de votre ordinateur.

La suppression d'une variable n'affecte pas les éléments liés à cette variable dans un script. Vous pouvez rétablir la variable en mémoire en exécutant manuellement la commande ASSIGN dans la ligne de commande ou en exécutant le script contenant l'affectation de la variable.

La suppression d'une variable et de sa valeur n'affecte pas non plus les éléments auxquels la valeur fait référence et qui ont une existence en dehors de la variable, comme une table Analytics.

Exemple

Les deux exemples ci-dessous illustrent comment une variable, et l'élément auquel elle fait référence, sont des entités distinctes. La suppression de l'un n'affecte pas l'autre.

Note

Les exemples utilisent la substitution de variable pour substituer le contenu de la variable au nom de la variable.

Dans le premier exemple, la suppression de la variable v_test_table supprime la valeur de la variable "Running_totals" mais ne supprime pas la table Running_totals proprement dite.

ASSIGN v_table_test = "Totaux_cumulés"

COMMENT Exécution réussie
OPEN %v_table_test%

COMMENT Supprimer la variable
DELETE v_table_test OK

COMMENT Exécution réussie
OPEN Totaux_cumulés

Dans le deuxième exemple, la suppression de la table Running_totals réelle n'a aucun effet sur la variable v_test_table, bien que la valeur de la variable se réfère maintenant à une table qui n'existe pas.

ASSIGN v_test_table = "Running_totals"

COMMENT Executes successfully
OPEN %v_test_table%

COMMENT Delete the table referred to by the variable
DELETE FORMAT %v_test_table% OK

COMMENT Fails with the error "Table 'Running_totals' invalid"
OPEN %v_test_table%

8.  Variables système créées automatiquement par certaines commandes Analytics

Lorsque vous exécutez certaines commandes Analytics, les variables système sont créées automatiquement. Par exemple, la commande COUNT génère la variable COUNTn, qui contient le nombre d'enregistrements comptabilisés. Vous pouvez utiliser ces variables et les valeurs qu'elles contiennent dans les parties suivantes d'un script.

Par exemple, ce script se termine automatiquement si l'utilisateur sélectionne une table qui ne contient aucun enregistrement :

ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table
OPEN %v_input_table%
COUNT
PAUSE "The table you selected contains no records. The script will terminate." IF COUNT1 = 0
ESCAPE IF COUNT1 = 0
DO SCRIPT summarize_transactions

Pour plus d’informations, consultez la section Variables système créées via des commandes Analytics.

L'importance du type de données d'une variable

Lorsqu'une commande ou une fonction Analytics fait référence à une variable, le type de données de la variable doit correspondre au type de données accepté par la commande ou la fonction. Si les types de données ne correspondent pas, vous obtenez une erreur et le traitement de la commande ou de la fonction échoue.

Pour éviter une erreur dans ces situations, vous pouvez utiliser les fonctions Analytics pour convertir la valeur stockée d'une variable en un type de données utilisable. Par exemple, cette expression convertit une date stockée dans une variable de caractère en un type de données DateHeure :

CTOD(v_character_date)

Cette expression convertit un nombre stocké dans une variable de caractère en un type de données numériques :

VALUE(v_character_number, 2)

Pour en savoir plus, voir Fonctions de conversion.

Note

Les dates et les nombres sont stockés dans des variables de type caractère s'ils sont fournis par l'utilisateur. Pour en savoir plus, voir Il existe différentes méthodes de création d'une variable.

Précisions au sujet des valeurs DateHeure

Dans Analytics, vous pouvez traiter des valeurs de type DateTime qui utilisent soit le type de données DateTime soit le type de données caractère. En général, le type de données associé aux valeurs de type DateHeure est basé sur la nature des données lorsque vous les importez dans Analytics.

Quelle est la conséquence pour les variables qui contiennent des valeurs de date, heure ou DateHeure ? Autrement dit, vous devez connaître le type de données des données sous-jacentes avec lesquelles vous travaillez. La syntaxe de votre script doit être différente en fonction du type de données utilisé.

Exemple

Les deux exemples ci-dessous montrent la syntaxe permettant de filtrer un champ date à partir d'une plage de dates fournie par l'utilisateur.

  • Dans le premier exemple, le champ date utilise un type de données DateHeure.

  • Dans le deuxième exemple, le champ date utilise un type de données de type caractère.

  • Dans les deux exemples, les variables v_start_date et v_end_date utilisent le type de données caractère car elles ont été créées à l'aide de la commande ACCEPT ou de la commande DIALOG.

Dans le premier exemple, vous devez utiliser la fonction CTOD( ) pour convertir les valeurs de la plage de dates du type de données caractère au type de données DateHeure. (CTOD est l'abréviation de "Character to Date".) Vous devez effectuer cette conversion de manière à ce que le type de données des valeurs de la plage de dates corresponde au type de données du champ date.

SET FILTER TO BETWEEN(champ_date_dateheure; CTOD(v_date_début); CTOD(v_date_fin))

Dans le deuxième exemple, vous n'effectuez aucune conversion des valeurs de la plage de dates car elles correspondent déjà au type de données du champ date de type caractère. Si vous les convertissez, elles ne correspondent plus et vous obtenez une erreur de script.

SET FILTER TO BETWEEN(character_date_field, v_start_date, v_end_date)

Variable de substitution

Lorsque vous utilisez une variable de type caractère comme entrée pour une commande ou une fonction Analytics, vous devez substituer la valeur de la variable au nom de la variable. Si vous n'effectuez pas cette substitution, la commande ou la fonction tente d'opérer sur le nom réel de la variable plutôt que sur la valeur contenue dans la variable et une erreur se produit.

La substitution de variable est la méthode permettant de substituer la valeur contenue dans une variable de type caractère au nom de la variable. Pour utiliser la substitution de variable, vous devez entourer le nom de la variable de type caractère du symbole pourcentage (%). Par exemple, %v_input_table% récupère le nom réel de la table stockée dans v_input_table et le substitue au nom de la variable.

Étant donné que les entrées de l'utilisateur dans un script sont le plus souvent stockées dans une variable de type caractère, la substitution de variable est souvent utilisée pour incorporer les entrées de l'utilisateur dans la logique du script.

Note

La substitution de variable est uniquement destinée à être utilisée avec des variables de type caractère qui contiennent des valeurs représentant des données de type caractère. Un résultat peu fiable ou une erreur peut se produire si vous utilisez la substitution de variable avec des variables d'autres types de données ou avec des variables de type caractère qui contiennent des valeurs représentant un nombre, une DateHeure ou une valeur logique.

Exemple

Vous voulez un script qui permette à un utilisateur de sélectionner une table d'entrée. Le script ouvre ensuite la table sélectionnée par l'utilisateur. Vous utilisez la substitution de variable avec la commande OPEN afin que la commande agisse sur le nom de table correct.

Lorsque vous spécifiez OPEN %v_input_table%, ce que le script voit réellement est :

OPEN Name_of_table_selected_by_user

ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table
OPEN %v_input_table%

Si vous n'utilisez pas la substitution de variable dans cet exemple, le script échouera très probablement parce que la commande OPEN essaie d'ouvrir une table appelée v_input_table et qu'aucune table de ce nom n'existe.

ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table
OPEN v_input_table

L'utilisation de la substitution de variable peut être délicate

Certaines situations peuvent donner l'impression de nécessiter une substitution de variable, mais en réalité la substitution de variable provoque une erreur.

Prenons l'un des exemples présentés précédemment :

SET FILTER TO BETWEEN(character_date_field, v_start_date, v_end_date)

Dans cet exemple, vous comparez des valeurs de date stockées sous forme de données de type caractère à la fois dans les variables et dans le champ. L'utilisation de la substitution de variable avec les variables devrait donc fonctionner :

SET FILTER TO BETWEEN(character_date_field, %v_start_date%, %v_end_date%)

Pourquoi la substitution de variable provoque-t-elle une erreur dans cette situation ? La réponse est que la substitution de variable est absolument littérale. Pour résoudre l'erreur, recherchez les valeurs précises stockées dans les variables, substituez-les manuellement dans l'expression et examinez l'expression qui apparaît. Par exemple :

SET FILTER TO BETWEEN(character_date_field, 20000101, 20001231)

Cette expression compare des dates qui utilisent des données de type caractère avec des nombres qui, après substitution, utilisent un type de données numérique, ce qui constitue une non-correspondance entre types de données.

Comme vous avez spécifié un champ de type caractère avec BETWEEN( ), la fonction interprète automatiquement les valeurs v_start_date et v_end_date comme des valeurs de type caractère et il n'est pas nécessaire d'utiliser la substitution de variable.

Pour de plus amples informations, consultez la section Dépannage.

Une exception à la règle

Dans certains cas, vous pouvez utiliser sans problème la substitution de variable avec une variable numérique. L'avantage est que la valeur de la variable numérique est capturée dans le journal, ce qui peut être utile pour le dépannage.

Les deux exemples ci-dessous assignent la valeur de la variable numérique COUNT1 à la variable numérique v_counter. Cependant, dans le premier exemple, la valeur réelle attribuée n'est pas capturée dans le journal. Dans le deuxième exemple, la valeur réelle est capturée.

COMMENT log entry: ASSIGN v_counter = COUNT1
ASSIGN v_counter = COUNT1
COMMENT log entry: ASSIGN v_counter = 500
ASSIGN v_counter = %COUNT1%

Gestion manuelle des variables

Vous pouvez gérer manuellement les variables à l'aide de la boîte de dialogue Variables disponible dans le menu principal d'Analytics. Vous pouvez créer, renommer, dupliquer ou supprimer des variables ou bien mettre à jour les valeurs des variables.

Toute maintenance que vous effectuez n'affecte que l'instance actuelle de la variable en mémoire. Par exemple, si vous renommez une variable, vous ne renommez que l'instance de la variable en mémoire. Vous ne renommez pas la variable dans un script.

Note

La possibilité de gérer manuellement les variables via l'interface utilisateur peut être pratique dans certains cas. La gestion manuelle n'offre aucune fonctionnalité supplémentaire par rapport à la gestion des variables à l'aide de commandes.

La plupart des rédacteurs de scripts travaillent avec des variables exclusivement dans l'éditeur de scripts et les fonctions associées telles que la ligne de commande et l'onglet Variables.

  1. Dans le menu principal Analytics, sélectionnez Modifier > Variables.

    La boîte de dialogue Variables s'ouvre et affiche la liste de toutes les variables système et définies par l'utilisateur du projet. Les variables système sont celles créées automatiquement par les commandes.

  2. Effectuez l’une des opérations suivantes :
    Créer une nouvelle variable
    1. Cliquez sur Nouveau pour ouvrir le Générateur d'expression.

    2. Dans la zone de texte Expression, saisissez la valeur ou l'expression à attribuer à la variable.

      Les valeurs littérales doivent utiliser le format et les qualificateurs qui conviennent (lorsqu'ils sont requis). Pour plus d'informations, voir Le type de données d'une variable est automatiquement spécifié.

    3. Facultatif. Cliquez sur Vérifier pour vérifier la validité de la valeur ou de l'expression.

    4. Saisissez le nom de la variable dans la zone de texte Enregistrer sous.

      Pour plus d’informations, consultez :

    5. Cliquez sur OK.

      La variable est créée et apparaît dans l'onglet Variables.

    Mettre à jour la valeur d'une variable
    1. Sélectionnez une variable dans la liste et cliquez sur OK pour ouvrir le Générateur d'expression.

    2. Dans la zone de texte Expression, mettez à jour la valeur ou l'expression attribuée à la variable.

      Les valeurs littérales doivent utiliser le format et les qualificateurs qui conviennent (lorsqu'ils sont requis). Pour plus d'informations, voir Le type de données d'une variable est automatiquement spécifié.

    3. Facultatif. Cliquez sur Vérifier pour vérifier la validité de la valeur ou de l'expression.

    4. Cliquez sur OK.

      La valeur attribuée à la variable est mise à jour dans la mémoire de votre ordinateur.

    Renommer une variable
    1. Sélectionner une variable dans la liste et cliquer sur Renommer.

    2. Dans la zone de texte Renommer, saisissez un nouveau nom, puis cliquez sur OK.

      La variable est renommée dans la mémoire de votre ordinateur.

    3. Cliquez sur Annuler pour fermer la boîte de dialogue Variables.

    Dupliquer une variable
    1. Sélectionnez une variable dans la liste, puis cliquez sur Doublon.

      La variable et sa valeur sont dupliquées dans la mémoire de votre ordinateur. Un suffixe numérique est ajouté au nom de la variable dupliquée.

    2. Effectuez l’une des actions suivantes :

      • Cliquez sur Terminer pour fermer la boîte de dialogue Variables.

      • Cliquez sur OK pour mettre à jour la valeur ou l'expression affectée à la variable.

    Supprimer une variable
    1. Sélectionnez une variable dans la liste.

    2. Facultatif. Appuyez sur Maj tout en cliquant ou sur Ctrl tout en cliquant pour sélectionner plusieurs variables à supprimer.

    3. Cliquez sur Supprimer.

    4. Re-cliquez sur Supprimer à nouveau.

      La ou les variables sont supprimées de la mémoire de votre ordinateur.

    5. Cliquez sur Terminer pour fermer la boîte de dialogue Variables.

Exemples d'utilisation de variables

Variables pour la configuration de script

Vous voulez créer un script qui calcule les montants de la TVA, avec la possibilité de gérer des taux deTVA qui changent périodiquement.

Variables requises

Pour permettre la configuration de différents taux d'imposition et d'une plage de dates, vous utilisez la Commande ASSIGN pour créer l'ensemble de variables suivant.

Nom de variable La variable contient
v_tax_1 Le premier taux de TVA
v_tax_2 Le deuxième taux de TVA
v_tax_2_start La date à laquelle le deuxième taux de TVA entre en vigueur
v_tax_2_end La date à laquelle le deuxième taux de TVA prend fin ou la date actuelle si le taux de TVA est toujours en vigueur.

Le script

COMMENT Create and initialize variables for sales tax rates and a date range
COMMENT If required, you can extend the script by adding additional tax rate and date range variables
ASSIGN v_tax_1 = 0.05
ASSIGN v_tax_2 = 0.06
ASSIGN v_tax_2_start = `20210701`
ASSIGN v_tax_2_end = `20211231`

COMMENT Create a conditional computed field that uses different sales tax rates for two different periods
DEFINE FIELD sales_tax COMPUTED

Invoice_Amount * v_tax_2 IF BETWEEN(Invoice_Date, v_tax_2_start, v_tax_2_end)
Invoice_Amount * v_tax_1

Les variables créées et initialisées dans l'onglet Variables

Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.

Comme la commande ASSIGN crée les variables, le type de données des valeurs attribuées dicte le type de données des variables. Dans cet exemple, il y a deux variables numériques et deux variables de type DateHeure.

Variables pour les entrées utilisateur.

Vous voulez créer un script qui permet à un utilisateur de sélectionner n'importe quelle table dans un projet Analytics, de filtrer les enregistrements de la table en fonction d'une plage numérique et d'une plage de dates ainsi que de sortir les enregistrements filtrés dans une nouvelle table.

Variables requises

Pour capturer l'entrée de l'utilisateur pour le script, vous utilisez la Commande ACCEPT pour créer l'ensemble de variables suivant.

Nom de variable La variable contient
v_input_table Le nom de la table Analytics à utiliser comme entrée
v_output_table Le nom de la table de sortie Analytics pour les enregistrements filtrés
v_numeric_field Le champ numérique de la table d'entrée à utiliser avec la plage numérique
v_min_amount La valeur extrême inférieure de la plage numérique
v_max_amount La valeur extrême supérieure de la plage numérique
v_date_field Le champ date dans la table d'entrée à utiliser avec la plage de dates
v_start_date La date la plus ancienne de la plage de dates
v_end_date La date la plus récente de la plage de dates

Considérations relatives à la rédaction des scripts

Comme vous utilisez la commande ACCEPT pour inviter de façon interactive les utilisateurs à saisir des valeurs de script, chaque valeur d'entrée est stockée dans une variable de type caractère nommée même si la valeur représente un nombre ou une date. Pour ce faire, vous devez utiliser les fonctions Analytics à certains endroits du script pour convertir la valeur de la variable dans le type de données requis par la logique du script.

Par exemple :

  • La fonction VALUE( ) convertit le nombre stocké dans v_min_amount d'un type de données caractère en un type de données numérique :

    VALUE(v_min_amount, 2)
  • La fonction CTOD( ) convertit la date stockée dans v_start_date d'un type de données caractère en un type de données DateHeure.

    CTOD(v_start_date)

Vous devez effectuer ces conversions de type de données parce que les valeurs de ces variables sont comparées aux valeurs des champs qui utilisent un type de données numérique ou DateHeure.

Vous devez également utiliser la substitution de variable pour accéder aux noms réels des tables et des champs stockés dans certaines variables.

Par exemple :

OPEN %v_input_table%

Le script

COMMENT Create a dialog box to prompt the user for an input table and an output table
ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table, "Specify an output table name (no spaces):" TO v_output_table

COMMENT Open the input table selected by the user
OPEN %v_input_table%

COMMENT Create a dialog box to prompt the user for a numeric field and a numeric range
ACCEPT "Select a numeric field to filter by:" FIELDS "N" TO v_numeric_field, "Specify a minumum amount:" TO v_min_amount, "Specify a maximum amount:" TO v_max_amount

COMMENT Create a dialog box to prompt the user for a date field and a date range
ACCEPT "Select a date field to filter by:" FIELDS "D" TO v_date_field, "Specify a start date (YYYYMMDD):" TO v_start_date, "Specify an end date (YYYYMMDD):" TO v_end_date

COMMENT Filter the input table based on the user's numeric and date ranges
SET FILTER TO BETWEEN(%v_numeric_field%, VALUE(v_min_amount, 2), VALUE(v_max_amount, 2)) AND BETWEEN(%v_date_field%, CTOD(v_start_date), CTOD(v_end_date))

COMMENT Extract the filtered set of records to the output table specified by the user
EXTRACT RECORD TO %v_output_table%

COMMENT Open the output table with the filtered records
OPEN %v_output_table%

Les variables créées et initialisées dans l'onglet Variables

Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.

Comme la commande ACCEPT crée les variables, celles-ci utilisent le type de données caractère même si la valeur de la variable représente un nombre ou une date.

WRITE1 est une variable système. Dans cette situation, la valeur représente le nombre d'enregistrements dans la table de sortie (v_output_table). Pour plus d’informations, consultez la section Variables système créées via des commandes Analytics.

Valeurs par défaut pour les variables d'entrée de l'utilisateur.

Vous pouvez pré-remplir une valeur par défaut dans un champ d'entrée utilisateur au lieu de présenter un champ vide à l'utilisateur. Une valeur par défaut permet d'économiser des efforts et de réduire les erreurs en affichant le format correct pour une valeur d'entrée.

Pour spécifier une valeur par défaut, vous devez d'abord utiliser la Commande ASSIGN pour initialiser une variable avec la valeur par défaut. Vous utilisez ensuite la Commande ACCEPT avec le même nom de variable pour permettre à l'utilisateur de remplacer facultativement la valeur par défaut.

Cet exemple est le même que celui de Variables pour les entrées utilisateur. ci-dessus, avec l'ajout d'une section préliminaire pour initialiser les variables avec des valeurs par défaut pour les plages numériques et de dates.

Initialisation des variables avec des valeurs par défaut

Pour initialiser des variables avec des valeurs par défaut, vous utilisez la commande ASSIGN pour créer les variables suivantes.

Nom de variable La variable contient
v_min_amount La valeur extrême inférieure de la plage numérique
v_max_amount La valeur extrême supérieure de la plage numérique
v_number_of_months La durée de la plage de dates calculée en mois
v_end_date La date la plus récente de la plage de dates (calculée)
v_start_date La date la plus ancienne de la plage de dates (calculée)

Considérations relatives à la rédaction des scripts

Étant donné que vous remplissez au préalable des valeurs par défaut dans des champs créés par la commande ACCEPT, ces valeurs doivent utiliser le type de données caractère. Si vous tentez de pré-remplir des valeurs d'un autre type de données, les valeurs n'apparaissent pas.

Pour ce faire, vous devrez peut-être utiliser les fonctions Analytics pour convertir les valeurs par défaut en le type de données caractères. (Plus tard dans le script, vous pouvez utiliser d'autres fonctions pour retransformer les valeurs des variables dans le type de données requis par la logique du script)

Par exemple :

  • La fonction STRING( ) convertit le nombre 5000 en une chaîne de caractères qui est ensuite stockée dans la variable v_min_amount :

    ASSIGN v_min_amount = STRING(5000, 4)
  • La fonction DATE( ) convertit la date de fin calculée en une chaîne de caractères qui est ensuite stockée dans la variable v_end_date :

    ASSIGN v_end_date = ALLTRIM(DATE(EOMONTH(TODAY(),-1)))

Calcul de la plage de dates

Le calcul de la plage de dates fixe la plage par défaut sur les 12 mois complets précédant la date actuelle. Pour modifier la durée de la plage, mettez à jour la valeur attribuée à la variable v_number_of_months. Pour en savoir plus sur la fonction utilisée pour calculer la plage de dates, voir Fonction EOMONTH( ).

Le script

COMMENT Set the date format for the duration of the Analytics session
SET DATE "YYYYMMDD"

COMMENT Specify default values for the bottom and top ends of the numeric range
ASSIGN v_min_amount = STRING(5000, 4)
ASSIGN v_max_amount = STRING(100000, 6)

COMMENT Specify the length of the calculated date range in months
ASSIGN v_number_of_months = 12

COMMENT Calculate the start and end dates of the default date range based on the current date and the length specified by v_number_of_months
ASSIGN v_end_date = ALLTRIM(DATE(EOMONTH(TODAY(),-1)))
ASSIGN v_start_date = ALLTRIM(DATE(EOMONTH(CTOD(v_end_date), -v_number_of_months) + 1))

COMMENT Create a dialog box to prompt the user for an input table and an output table
ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table, "Specify an output table name (no spaces):" TO v_output_table

COMMENT Open the input table selected by the user
OPEN %v_input_table%

COMMENT Create a dialog box to prompt the user for a numeric field and a numeric range
ACCEPT "Select a numeric field to filter by:" FIELDS "N" TO v_numeric_field, "Specify a minumum amount:" TO v_min_amount, "Specify a maximum amount:" TO v_max_amount

COMMENT Create a dialog box to prompt the user for a date field and a date range
ACCEPT "Select a date field to filter by:" FIELDS "D" TO v_date_field, "Specify a start date (YYYYMMDD):" TO v_start_date, "Specify an end date (YYYYMMDD):" TO v_end_date

COMMENT Filter the input table based on the user's numeric and date ranges
SET FILTER TO BETWEEN(%v_numeric_field%, VALUE(v_min_amount, 2), VALUE(v_max_amount, 2)) AND BETWEEN(%v_date_field%, CTOD(v_start_date), CTOD(v_end_date))

COMMENT Extract the filtered set of records to the output table specified by the user
EXTRACT RECORD TO %v_output_table%

COMMENT Open the output table with the filtered records
OPEN %v_output_table%

Variables destinées au stockage temporaire

Vous voulez créer un script qui calcule un sous-total basé sur les valeurs d'un champ numérique. Le sous-total commence à zéro (0.00) pour chaque valeur unique dans un champ identifiant

Variables requises

Le script utilise des variables à trois fins différentes :

  • la saisie utilisateur

  • le stockage temporaire des valeurs

  • la configuration de scripts

Saisie de l'utilisateur

Pour capturer l'entrée de l'utilisateur pour le script, vous utilisez la Commande ACCEPT pour créer l'ensemble de variables suivant.

Nom de variable La variable contient
v_input_table Le nom de la table Analytics à utiliser comme entrée
v_output_table Le nom de la table de sortie Analytics pour les sous-totaux
v_id_field Le champ de la table d'entrée contenant des valeurs d'identifiant telles que les identifiants des clients ou des fournisseurs
v_numeric_field Le champ numérique de la table d'entrée à utiliser pour le calcul de sous-totaux
Stockage temporaire des valeurs et configuration des scripts

Pour permettre le stockage temporaire de valeurs pendant que le script traite la table d'entrée enregistrement par enregistrement, vous utilisez la Commande ASSIGN pour créer, et aussi mettre à jour, les deux variables suivantes. Si nécessaire, vous pouvez configurer un point de départ pour le sous-total autre que zéro (0.00).

Nom de variable La variable contient
v_id_value La valeur de l'identifiant dans l'enregistrement que le script est en train de traiter
v_running_total

La valeur du sous-total dans l'enregistrement que le script est en train de traiter

Le script

COMMENT
Allow overwriting of files without displaying a confirmation dialog box
END
SET SAFETY OFF

COMMENT
Create a dialog box to prompt the user for an input table and an output table
END
ACCEPT "Select an input table:" FIELDS "xf" TO v_input_table, "Specify an output table name (no spaces):" TO v_output_table
OPEN %v_input_table%

COMMENT
Create a dialog box to prompt the user for a character identifier field
END
ACCEPT "Select a character identifier field:" FIELDS "C" TO v_id_field

COMMENT
Create a dialog box to prompt the user for a numeric field
END
ACCEPT "Select a numeric field:" FIELDS "N" TO v_numeric_field

COMMENT
Index (sort) the table on the character identifier field
END
INDEX ON %v_id_field% TO "ID_field_sorted"
SET INDEX TO "ID_field_sorted"

COMMENT
Assign the current value in the character identifier field to the v_id_value variable.
When v_input_table is first opened, the current value is the first value in the field. Subsequently, the current value depends on the record currently being processed by the script.
END
ASSIGN v_id_value = %v_id_field%

COMMENT
Set the start value for the running total to zero (0.00)
END
ASSIGN v_running_total = 0.00

COMMENT
Process the table record by record. For each unique identifier, calculate a running total for the numeric field.
END
GROUP IF v_id_value = %v_id_field%
  ASSIGN v_running_total = v_running_total + %v_numeric_field%
  EXTRACT %v_id_field% %v_numeric_field% v_running_total AS "%v_numeric_field% running total" TO %v_output_table%
ELSE
  ASSIGN v_id_value = %v_id_field%
  ASSIGN v_running_total = 0.00
  ASSIGN v_running_total = v_running_total + %v_numeric_field%
  EXTRACT %v_id_field% %v_numeric_field% v_running_total AS "%v_numeric_field% running total" TO %v_output_table%
END

COMMENT Open the output table with the calculated running totals
OPEN %v_output_table%

COMMENT Restore the default behavior of displaying a confirmation dialog box before overwriting files
SET SAFETY ON

Les variables créées et initialisées dans l'onglet Variables

Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.

Les variables créées par la commande ACCEPT utilisent le type de données caractère. Les variables créées par la commande ASSIGN (v_id_value, v_running_total) utilisent le type de données de la valeur attribuée.

Les valeurs attribuées à v_id_value et v_running_total sont continuellement mises à jour au fur et à mesure de la progression du script. L'onglet Variables affiche leurs valeurs finales avant la fin du script.

Pour plus d'informations sur les variables système (WRITEn) et leur modèle de numérotation, consultez la section Variables système numérotées de façon incrémentielle.

Dépannage

L'utilisation de variables dans un script révèle deux catégories générales d'erreurs courantes :

  • Résultats inattendusLe script s’exécute jusqu’au bout mais l’analyse qui inclut des variables ne produit pas les résultats escomptés.

  • Problème de type de donnéesLe script échoue avec une erreur liée au type de données telle que "Non-concordance des types d’expression" ou "Expression caractère requise".

Résultats inattendus

Pour le premier type d'erreur, essayez cette méthode de dépannage :

  1. Dans le Navigateur, ouvrez l'onglet Variables.

  2. Dans la ligne de commande Analytics, entrez DELETE ALL OK pour supprimer toutes les variables existantes.

    Si la zone de texte de la Ligne de commande n'est pas visible, sélectionnez Fenêtre > Ligne de commande.

  3. Dans l'éditeur de script, utilisez l'option Étape pour parcourir le script ligne par ligne et suivre la création de chaque variable et de chaque valeur assignée dans l'onglet Variables.

    Vous pouvez découvrir que la valeur affectée à une variable n'est pas celle que vous vouliez et que la logique de votre script doit être ajustée. Pour de plus amples informations, consultez la section Test et débogage de scripts.

Note

Vous ne pouvez pas suivre par étape le contenu des commandes multilignes comme GROUP, LOOP ou DEFINE FIELD . . . COMPUTED. Pour tester la logique du script dans cette situation, copiez temporairement la logique du script sans la syntaxe de commande environnante dans un script distinct.

Problème de type de données

Lorsque vous développez des scripts utilisant des variables, il est possible que vous rencontriez des erreurs dues à des types de données non correspondants. Les erreurs sont notamment probables si vous combinez des fonctions de conversion et de substitution de variable dans la même expression.

Il est normal de rencontrer des erreurs. Pour les surmonter, il faut tester différentes approches et garder ces principes à l'esprit :

  • Faites très attention aux types de données dans chaque élément d'une expression. Tous les types de données d'une expression sont-ils alignés comme l'exige ACLScript ?

  • Rappelez-vous que la substitution de variable est absolument littérale. Si vous pensez que la substitution de variable est à l'origine d'une erreur, recherchez la valeur précise stockée dans une variable et substituez manuellement cette valeur dans l'expression. Cette simple étape de résolution peut révéler le problème.

  • L'insertion de la commande DISPLAY VARIABLES à différents endroits dans un script vous permet de capturer l'état ponctuel des variables du projet.

  • Le fait de parcourir un script ligne par ligne et de définir des points d'arrêt peut considérablement faciliter la résolution du problème. Pour de plus amples informations, consultez la section Test et débogage de scripts.