balise PARAM

Crée un paramètre d'entrée pour un script d'outil d'analyse et définit les conditions requises pour la valeur d'introduction.

Un paramètre d'entrée est un espace réservé qui permet à l'utilisateur de spécifier la valeur réelle lors de la planification ou de l'exécution d'un script d'outil d'analyse.

Syntaxe

//PARAM nom_variable type <OPTIONAL> <MULTI> <SEPARATOR valeur> <QUALIFIER valeur> <VALUES liste_valeurs> libellé
  <description>

Paramètres

Nom Description
nom_variable

Le nom de la variable qui stocke la ou les valeurs d'introduction sélectionnées ou spécifiées par l'utilisateur. Utilisez nom_variable dans le script de l'outil d'analyse pour faire référence à la valeur d'introduction.

Par exemple :

  • v_date_début
  • v_régions
  • v_fichier_entrée

Sert également d'identifiant unique du paramètre.

Remarque

Lorsqu'un script d'outil d'analyse est exécuté, la variable est créée uniquement si l'utilisateur fournit une valeur d'introduction. Si un paramètre est facultatif et que l'utilisateur l'ignore, la variable n'est pas créée.

Si la logique ultérieure du script d'outil d'analyse requiert l'existence de la variable, vous pouvez tester la présence de son existence et si elle n'existe pas, la créer et l'initialiser. Pour plus d'informations, consultez la section Conception de paramètres d'entrée facultatifs.

Caractères non pris en charge dans le paramètre nom_variable

N'insérez aucune espace dans nom_variable.

N'utilisez pas les caractères suivants dans nom_variable. Ils ne sont pas pris en charge :

` ~ ! @ # $ % ^ & * ( ) - + = { } [ ] | \ : ; ' " < > , . / ?
type

Type de données du paramètre, qui contrôle le type de valeurs d'introduction pouvant être saisies.

Les types suivants peuvent être spécifiés à l'aide de lettres en majuscules :

  • C : données de type caractère
  • N : données numériques
  • D : sous-type date du type de données DateHeure
  • DT : sous-type DateHeure du type de données DateHeure
  • T : sous-type heure du type de données DateHeure
  • L : données logiques

Remarque

Pour qu'un script d'outil d'analyse s'exécute correctement, il est nécessaire de qualifier des valeurs d'introduction de caractère.

Fonctionnement de PARAM... F

Vous pouvez aussi spécifier qu'un utilitaire de chargement de fichiers ou qu'un explorateur de fichiers Windows s'ouvre.

  • F : ouvre un utilitaire de chargement de fichiers ou un explorateur de fichiers Windows et autorise un utilisateur à sélectionner un fichier d'entrée non-Analytics pour le script d'outil d'analyse lors d'une exécution dans le Client Web d'AX ou la fenêtre App Analyse

    À la sélection, le nom du fichier est automatiquement entré sous forme de valeur d'introduction Caractère. Indiquez F uniquement. N'indiquez pas F C.

    Par exemple :

    //PARAM v_fichier_entrée F... 

Pour plus d'informations, consultez la section Spécifier ou sélectionner un fichier d'entrée non-Analytics pour un script d'outil d'analyse.

Remarque

Un type de F n'est pas pris en charge dans l'utilisation des scripts d'outil d'analyse exécutés dans Robots ou dans AX Client. Pour spécifier un fichier d'entrée pour ces environnements, utilisez la balise FILE. Pour plus d'informations, consultez la section balise FILE.

OPTIONAL

optionnel

Indique que le paramètre est facultatif et qu'il n'est pas nécessaire que l'utilisateur entre une valeur.

Pour plus d'informations, consultez la section Conception de paramètres d'entrée facultatifs.

MULTI

optionnel

Indique que le paramètre accepte plusieurs valeurs d'introduction.

Remarque

MULTI ne peut pas être utilisé si le type est L (logique) ou F (fichier).

MULTI et VALUES

MULTI peut être utilisée avec ou sans l'option VALUES :

MULTI 

VALUES 

L'utilisateur peut sélectionner une ou plusieurs valeurs dans une liste de valeurs.

MULTI 

VALUES 

L'utilisateur peut saisir manuellement une ou plusieurs valeurs.

Pour plus d'informations, consultez la section Résumé des options MULTI et VALUES.

Plusieurs valeurs d'introduction caractères

Si vous spécifiez MULTI et que le type est C (Caractère), vous pouvez aussi spécifier les options SEPARATOR et QUALIFIER pour insérer automatiquement des séparateurs (délimiteurs) et des identificateurs de texte dans une chaîne de valeurs d'introduction.

Remarque

Pour qu'un script d'outil d'analyse s'exécute correctement, il est nécessaire de délimiter et de qualifier plusieurs valeurs d'introduction caractères. Les séparateurs et identificateurs peuvent être insérés automatiquement ou manuellement par l'utilisateur.

SEPARATOR valeur

optionnel

SEPARATOR peut être uniquement utilisé lorsque MULTI est spécifié et que le type est C (caractère).

Indique qu'un séparateur caractère est inséré automatiquement entre plusieurs valeurs d'introduction caractères, créant une liste délimitée transmise au script d'outil d'analyse pour son traitement.

valeur spécifie le séparateur caractère à utiliser. Un séparateur, ou délimiteur, couramment utilisé est la virgule ,.

Si SEPARATOR est omis, une seule espace est utilisée comme séparateur par défaut. Le caractère espace ne peut pas être spécifié comme valeur.

Pour plus d'informations, consultez la section Délimitation et identification des valeurs d'introduction de caractères.

QUALIFIER valeur

optionnel

QUALIFIER peut uniquement être utilisé lorsque MULTI est spécifié et que le type est C (caractère).

Indique qu'un caractère identificateur de texte est inséré automatiquement au début et à la fin de chaque valeur d'introduction caractère dans une liste délimitée transmise au script d'outil d'analyse pour son traitement. Tout texte inclus dans les caractères d'identificateur de texte est traité comme du texte brut.

La valeur spécifie le caractère d'identificateur à utiliser. Un identificateur fréquemment utilisé est le guillemet simple '.

Si QUALIFIER est ignoré, aucun identificateur par défaut n'est utilisé. Le caractère espace ne peut pas être spécifié comme valeur.

Pour plus d'informations, consultez la section Délimitation et identification des valeurs d'introduction de caractères.

Remarque

Les paramètres d'entrée des outils d'analyse ne prennent actuellement pas en charge l'utilisation du double guillemet (") comme identificateur de texte. À la place, vous pouvez utiliser le guillemet simple ('). Spécifier un identificateur guillemet double entraînera le dysfonctionnement de la balise PARAM.

VALUES liste_valeurs

optionnel

Liste de valeurs dans laquelle l'utilisateur peut faire sa sélection lors de l'exécution du script d'outil d'analyse.

Utilisez la syntaxe suivante pour spécifier les valeurs :

VALUES |Valeur 1|Valeur 2|Valeur 3|Valeur n|

VALUES et MULTI

VALUES peut être utilisée avec ou sans l'option MULTI :

VALUES 

MULTI 

L'utilisateur peut sélectionner une ou plusieurs valeurs dans la liste de valeurs.

VALUES 

MULTI 

L'utilisateur peut sélectionner une seule valeur dans la liste de valeurs.

Pour plus d'informations, consultez la section Résumé des options MULTI et VALUES.

Format des valeurs dans liste_valeurs

Valeurs de type caractère
  • peuvent contenir des espaces et des signes de ponctuation
Valeurs numériques
  • peuvent être positives ou négatives.
  • doivent être précisées à l'aide de la notation décimale, et sans séparateur pour les milliers

    Par exemple, 1500,00 ou -1500,00

Valeurs DateHeure
  • Les valeurs de type Date doivent être indiquées à l'aide du format MM/JJ/AAAA

    Par exemple, 12/31/2014

  • Les valeurs de type DateHeure doivent être indiquées à l'aide du format MM/JJ/AAAA hh:mm:ss

    Par exemple, 12/31/2014 23:59:59

  • Les valeurs de type heure doivent être indiquées à l'aide du format hh:mm:ss

    Par exemple, 23:59:59

Valeurs logiques VALUES ne peuvent pas être utilisées si le type est L (Logique)
libellé

Libellé de l'interface utilisateur correspondant au paramètre.

Dans les applications clientes, libellé est affiché avec le champ d'entrée.

description

optionnel

Texte descriptif qui fournit des informations supplémentaires sur le paramètre.

Dans les applications clientes, la description est affichée avec le champ d'entrée.

Description peut fournir des instructions qui aident l'utilisateur. Par exemple, « Entrer la date de référence pour la période de paie ».

La description doit être entrée sur la ligne suivant la balise PARAM associée. Le texte peut être contenu sur plusieurs lignes, mais aucune ligne ne peut être sautée. Les sauts de ligne ne sont pas conservés dans le cas de l'affichage dans des applications clientes.

Exemples

Exemples basiques

Autorise l'utilisateur à éventuellement spécifier une plage de dates :

//PARAM v_date_début D OPTIONAL Date de début (facultatif)
  Entrez la date de début de l'analyse
//PARAM v_date_fin D OPTIONAL Date de fin (facultatif)
  Entrez la date de fin de l'analyse

Demande à l'utilisateur de sélectionner le nombre maximal de transactions à traiter :

//PARAM v_maxTrans N VALUES |250|500|750|1000| Transactions maximales à traiter

Demande à l'utilisateur de spécifier un ou plusieurs codes de catégories de marchands :

//PARAM v_codes C MULTI SEPARATOR , QUALIFIER ' MC Code(s) à inclure
  Spécifier un ou plusieurs codes de catégories de marchands. Appuyez sur « Entrée » après chaque code pour que chacun d'entre eux se trouve sur une ligne distincte. N'entourez pas les codes de guillemets.

Demande à l'utilisateur de sélectionner un ou plusieurs codes de catégories de marchands :

//PARAM v_codes C MULTI SEPARATOR , QUALIFIER ' VALUES |4121 Taxis/Limousines|5812 Restaurants|5813 Cafés - Boissons alcoolisées|5814 Fast foods| MC Codes à inclure
  Sélectionner un ou plusieurs codes de catégories de marchands.

Exemples avancés

Demander à un utilisateur de spécifier une plage de montants

Vous devez classer les enregistrements d'une table qui se trouvent compris entre une plage de montants minimums et maximums. Cette plage change occasionnellement ; vous fournissez donc les paramètres permettant à l'utilisateur exécutant le script d'outil d'analyse de définir la plage lors de la planification ou lors de l'exécution du script :

COMMENT
//ANALYTIC test_outil_analyse
//PARAM v_montant_min N Montant minimum
  Saisissez un montant minimum
//PARAM v_montant_max N Montant maximum
  Saisissez un montant maximum
END

CLASSIFY ON %v_ChampA% IF BETWEEN(AMOUNT; v_montant_min; v_montant_max) SUBTOTAL AMOUNT TO "Classée_%v_TableAnalyse%.FIL"

Autoriser l'utilisateur à éventuellement exclure un ou plusieurs numéros client

Vous devez classer les enregistrements d'une table, mais vous souhaitez donner à l'utilisateur la possibilité d'exclure certains clients de l'analyse.

Pour ce faire, vous fournissez un paramètre de type caractère facultatif. Votre script teste si oui ou non la valeur est fournie, et, si tel est le cas, les numéros de clients correspondants sont exclus de la commande Classer :

COMMENT
//ANALYTIC test_outil_analyse
//PARAM v_num_client C OPTIONAL MULTI SEPARATOR , QUALIFIER ' Numéros clients à exclure (facultatif)
  Indiquez un ou plusieurs numéros clients. Appuyez sur « Entrée » après chaque numéro pour que chaque numéro se trouve sur une ligne distincte. N'entourez pas les numéros de guillemets.
END

IF FTYPE("v_num_client") = "U" v_num_client = ""
GROUP IF v_num_client = ""
  CLASSIFY ON %v_ChampA% SUBTOTAL AMOUNT TO "Classée_%v_TableAnalyse%.FIL"
ELSE
  CLASSIFY ON %v_ChampA% IF NOT MATCH(CUSTNO; %v_num_client%) SUBTOTAL AMOUNT TO "Classée_%v_TableAnalyse%.FIL"
END

Autoriser l'utilisateur à sélectionner un fichier d'entrée (Client Web d'AX ou la fenêtre de l'App Analyse uniquement)

Vous distribuez une App Analyse à des collègues qui l'exécuteront dans la fenêtre App Analyse. Lorsqu'ils exécuteront le script d'outil d'analyse dans l'application, vous aimeriez leur fournir un navigateur de fichiers Windows pour sélectionner un fichier Microsoft Excel à partir duquel importer des données :

COMMENT
//ANALYTIC test_outil_analyse
//PARAM v_fichier_entrée F Fichier d'entrée
  Sélectionner un fichier d'entrée
END

IMPORT EXCEL TO Trans_Mai_brut Trans_Mai_brut.fil FROM "%v_fichier_entrée%" TABLE "Trans2_Mai$" CHARMAX 100 KEEPTITLE

Demander à l'utilisateur de spécifier un chemin de fichier d'entrée et un nom de fichier (la fenêtre App Analyse uniquement)

Vous distribuez une App Analyse à des collègues qui l'exécuteront dans la fenêtre App Analyse. Lorsqu'ils exécuteront le script d'outil d'analyse dans l'application, vous aimeriez qu'ils spécifient un chemin d'accès au fichier et un nom de fichier à utiliser comme fichier d'importation :

COMMENT
//ANALYTIC test_outil_analyse
//PARAM v_fichier_entrée C Chemin et nom du fichier d'entrée
  Entrer un chemin de fichier absolu et un nom de fichier, par exemple : C:\Users\username\Documents\ACL Data\Exemples de fichiers de données\ Trans_Mai.xls
END

IMPORT EXCEL TO Trans_Mai_brut Trans_Mai_brut.fil FROM "%v_fichier_entrée%" TABLE "Trans2_Mai$" CHARMAX 100 KEEPTITLE

Utilisation des valeurs par défaut pour des paramètres facultatifs

Vous créez un script d'outil d'analyse extrayant les enregistrements des transactions vers une table de résultats. Vous souhaitez donner à l'utilisateur exécutant le script la possibilité de fournir une plage de dates ainsi qu'une liste d'entités pour filtrer les enregistrements à extraire.

Pour ce faire, créez trois paramètres facultatifs :

  • v_date_début
  • v_date_fin
  • v_liste_entités

Dans les lignes d'ouverture du script, vous testez si ces valeurs sont définies. Si elles ne sont pas définies, vous définissez les valeurs par défaut des dates minimale et maximale ainsi qu'un indicateur par défaut à rechercher par test avec v_liste_entités.

Dans la commande EXTRACT, utilisez les valeurs pour filtrer les enregistrements :

COMMENT
//ANALYTIC test
  Ce script d'outil d'analyse teste PARAM
//RESULT TABLE t_résultats
//PARAM v_date_début D OPTIONAL Entrez la date de début
//PARAM v_date_fin D OPTIONAL Entrez la date de fin
//PARAM v_liste_entités C MULTI OPTIONAL |entité1|entité2|
END

IF NOT ISDEFINED("v_date_début") v_date_début = `19000101`
IF NOT ISDEFINED("v_date_fin") v_date_fin = `99991231`
IF NOT ISDEFINED("v_liste_entités") v_liste_entités = "'tous'"

EXTRACT FIELDS ALL TO t_résultats IF BETWEEN(date_transaction v_date_début v_date_fin) AND (MATCH(champ_entité %v_liste_entités%) OR v_liste_entités = "'tous'")

Remarques

Conception de paramètres d'entrée facultatifs

Si vous utilisez OPTIONAL avec la balise PARAM, la variable associée au paramètre d'entrée peut ou non être créée au moment de l'exécution du script d'outil d'analyse :

  • variable créée automatiquement si l'utilisateur spécifie une valeur d'introduction
  • variable non créée si l'utilisateur ignore le paramètre facultatif et qu'il ne précise pas de valeur d'introduction

Test de l'existence de la variable paramètre

Si la logique ultérieure du script d'outil d'analyse dépend de sa capacité à évaluer le contenu de la variable paramètre, y compris l'évaluation d'un état vide ou null, vous devez tester l'existence de la variable du paramètre. Si la variable paramètre n'existe pas, vous devez la créer et l'initialiser sur null.

Utilisez la commande IF avec la fonction FTYPE( ) ou la fonction ISDEFINED( ) pour effectuer le test et créer la variable si elle n'existe pas :

IF FTYPE("nom_var") = "U" nom_var = ""
IF NOT ISDEFINED("nom_var") nom_var =	""

Quand effectuer le test

Effectuez le test après l'en-tête de l'outil d'analyse et avant toute logique de script Analytics qui dépend de l'existence de la variable du paramètre.

Résumé des options MULTI et VALUES

Le tableau ci-dessous résume l'effet des options MULTI et VALUES sur la commande de saisie de l'utilisateur dans l'interface utilisateur.

Commande de saisie de l'utilisateur (Robots)

Conception des paramètres

MULTI

VALUES

Une valeur d'introduction unique saisie manuellement dans un champ

Une ou plusieurs valeurs d'introduction saisies manuellement dans un champ

Une valeur d'introduction unique sélectionnée dans une liste déroulante de valeurs

Une ou plusieurs valeurs d'introduction sélectionnées dans une liste de contrôle de valeurs

Délimitation et identification des valeurs d'introduction de caractères

Pour la bonne exécution d'un script d'outil d'analyse, s'il y a plusieurs valeurs d'introduction de caractère, elles doivent être délimitées par un séparateur et identifiées.

Éviter les identificateurs de texte imbriqués

Lorsque vous créez des paramètres d'entrée de caractère, et lorsque vous expliquez aux utilisateurs du script d'outil d'analyse comment saisir des valeurs d'introduction de caractère, vous devez veiller à éviter de créer des identificateurs de texte redondants et imbriqués (des identificateurs à l'intérieur d'identificateurs). Des identificateurs au texte redondant entraîneront un dysfonctionnement du paramètre d'entrée.

Méthodes d'insertion d'identificateurs de texte

Il existe quatre méthodes différentes permettant d'insérer des identificateurs de texte autour de valeurs d'introduction de caractère. En fonction de la méthode, un séparateur est également inséré entre les valeurs d'introduction.

Au fur et à mesure que vous développez un script d'outil d'analyse, vous devrez peut-être tester différentes méthodes pour trouver ce qui fonctionne le mieux pour les valeurs de type caractère que les utilisateurs saisiront.

Remarque

Il se peut qu'une ou plusieurs méthodes ne soient pas applicables, en fonction de votre utilisation des options MULTI et VALUES.

Chaque paramètre d'entrée ne doit utiliser qu'une seule de ces méthodes.

1 Utiliser SEPARATOR et QUALIFIER

Incluez les options SEPARATOR et QUALIFIER dans la balise PARAM.

Par exemple :

//PARAM v_régions C MULTI SEPARATOR ; QUALIFIER '

Non applicable si vous utilisez VALUES sans MULTI.

Astuce

Utilisez cette méthode à chaque fois que cela est possible. C'est celle qui demande le moins de travail et qui générera le moins d'erreurs.

2 Spécifier manuellement les séparateurs et les identificateurs

Nécessite que l'utilisateur du script d'outil d'analyse spécifie manuellement des séparateurs et des identificateurs en plus des valeurs d'introduction réelles.

Par exemple :

'Amérique du Nord';'Europe';'Asie'

Non applicable si vous utilisez VALUES avec ou sans MULTI.

3 Inclure les identificateurs dans la liste_valeurs

Incluez les identificateurs avec chaque valeur dans la liste_valeurs spécifiée avec l'option VALUES.

Par exemple :

VALUES |'Asie'|'Europe'|'Moyen Orient'|'Amérique du Nord'|

Non applicable si vous utilisez MULTI sans VALUES.

4 Insérer la variable du paramètre dans les identificateurs

Dans la syntaxe du script Analytics, insérez la variable paramètre entre des identificateurs de texte

Par exemple :

IF MATCH(REGIONS; "%v_régions%")

Utilisez cette méthode uniquement si vous utilisez VALUES sans MULTI.

 

Remarque

Les paramètres d'entrée des outils d'analyse ne prennent actuellement pas en charge l'utilisation du double guillemet (") comme identificateur de texte. Vous pouvez utiliser le guillemet simple (') plutôt que l'option QUALIFIER, dans la liste_valeurs, ou lorsque vous indiquez manuellement des identificateurs autour de valeurs d'introduction. Des guillemets doubles peuvent être utilisés en tant qu'identificateurs de texte dans le corps d'un script Analytics.

Cas d'utilisation des différentes méthodes

Le tableau ci-dessous résume quand utiliser les différentes méthodes pour insérer des identificateurs de texte.

 

MULTI 

VALUES 

MULTI 

VALUES 

MULTI 

VALUES 

Méthode 1

Utiliser les options SEPARATOR et QUALIFIER

Si elles sont utilisées, ne pas utiliser la méthode 2

Non applicable

Si elles sont utilisées, ne pas utiliser la méthode 3

Méthode 2

Spécifier manuellement les séparateurs et les identificateurs

Si elles sont utilisées, ne pas utiliser la méthode 1

Non applicable

Non applicable

Méthode 3

Inclure les identificateurs dans la liste_valeurs

Non applicable

Si elles sont utilisées, ne pas utiliser la méthode 4

Si elles sont utilisées, ne pas utiliser la méthode 1

Méthode 4

Insérer la variable du paramètre dans les identificateurs

Ne pas utiliser

Si elles sont utilisées, ne pas utiliser la méthode 3

Ne pas utiliser

Spécifier ou sélectionner un fichier d'entrée non-Analytics pour un script d'outil d'analyse

Le tableau ci-dessous résume les différentes méthodes permettant de spécifier ou de sélectionner un fichier d'entrée non-Analytics pour un script d'outil d'analyse. La méthode que vous choisissez dépend en partie de l'application qui sera utilisée pour exécuter le script d'outil d'analyse.

Méthode

Détails

Robots

Client AX

Client Web d'AX

La fenêtre App Analyse

Balise PARAM avec type de « F »

  • L'utilisateur du Client Web d'AX sélectionne le fichier d'entrée à l'aide d'un utilitaire de chargement de fichier

    Le nom du fichier est automatiquement spécifié comme valeur d'introduction. Le fichier est chargé automatiquement dans le sous-répertoire Fichiers associés approprié dans AX Serveur.

  • L'utilisateur de la fenêtre App Analyse sélectionne le fichier d'entrée à l'aide du navigateur de fichiers Windows

    Le chemin d'accès au fichier et le nom du fichier sont automatiquement spécifiés comme valeur d'introduction.

Cette méthode est la meilleure option disponible, car elle associe flexibilité, facilité d'utilisation et précision.

 

 

Balise PARAM avec type de « C »

L'utilisateur spécifie manuellement un chemin de fichier d'entrée et un nom de fichier comme valeur d'entrée.

Cette méthode offre de la flexibilité, car le chemin et le nom du fichier ne sont pas spécifiés à l'avance. Elle est toutefois laborieuse et sujette à l'erreur, car elle demande à l'utilisateur d'entrer ces valeurs manuellement.

 

 

 

balise FILE

(Pour plus d'informations, consultez la section balise FILE)

  • Robots le fichier d'entrée doit être situé dans l'onglet Entrée/Sortie du robot
  • AX Client, Client Web d'AX le fichier d'entrée doit se trouver dans le sous-répertoire Fichiers associés approprié dans AX Serveur

 

Chemin d'accès au fichier d'entrée et nom de fichier codés en dur dans le script d'analyse

Cette méthode évite d'utiliser la balise PARAM ; il s'agit toutefois de la moins flexible. Sur chaque ordinateur sur lequel le script d'outil d'analyse est exécuté, l'utilisateur doit s'assurer que le fichier d'entrée a un chemin de fichier et un nom de fichier identiques à ceux spécifiés dans le script d'outil d'analyse.