Comment passer des arguments à différents scripts jsl ?Bonjour,
J'ai une base de données SQL dans laquelle nous enregistrons les données de différents clients (et chaque client dispose de nombreux outils).
Je suis en train de créer un rapport automatique pour surveiller les performances des outils à partir de la base de données SQL.
Pour un client, j'ai un long script qui fonctionne (un long JSL) qui se connecte au SQL, exécute une requête, enregistre la table de la requête, puis modifie/filtre la table pour obtenir les données dont j'ai besoin, puis dessine quelques graphiques et enregistrez les résultats dans un emplacement spécifique.
Afin de le rendre plus simple à utiliser, pour la maintenance et la mise à jour, je voudrais créer différents scripts JSL et utiliser le fichier Customer_Tool_Info.txt (voir exemple joint dans le Zip) comme fichier de configuration.
Comme nous avons beaucoup de clients, je pourrais simplement utiliser une boucle For en utilisant ce fichier de configuration pour créer tous les rapports dont nous avons besoin.
Le Customer_Tool_Info.txt contient des informations pour le client, les outils et les infos pour la connexion ODBC.
Ce que je voudrais, c'est avoir le script principal pour ouvrir Customer_Tool_Info.txt et extraire les informations nécessaires et les transmettre comme arguments pour les autres sous-scripts.
- Main_script.jsl ( Récupère les arguments à passer aux sous-scripts)
- Sous-scripts :
- Get_Data_from SQL.jmpquery
- Filter_the_Table.jsl
- Get_Charts.jsl
Est-il possible de passer des arguments dans différents scripts jsl ? comment ? J'ai essayé dans le Main_Script.jsl d'expliquer tout ce que je veux faire.
N'hésitez pas à me contacter si vous avez des questions et merci pour votre aide.
Salutations
Géof
Re : Comment passer des arguments à différents scripts jsl ?Cela fonctionne bien avec les variables globales ! MerciRe : Comment passer des arguments à différents scripts jsl ?Si vous ne souhaitez pas utiliser de variables globales, utilisez les fichiers d'inclusion pour définir les fonctions et n'incluez les fichiers qu'une seule fois, probablement au début de votre fichier principal. Ensuite, vous pouvez appeler les fonctions définies par l'utilisateur avec des paramètres. Quelque chose comme ça:
Main.jsl
--------
include("sub1.jsl");
include("sub2.jsl");
calculator(42);
reportWriter("report title");
sub1.jsl
-------
reportWriter = function({title},{i,j,k}, // i,j,k are local variable examples
write(title,"this is my report")
);
sub2.jsl
----
calculator = function({thresholdNumber},{x,y,z},
return(sqrt(thresholdNumber));
)
Re : Comment passer des arguments à différents scripts jsl ?Vous pouvez transmettre les informations à d'autres scripts JSL via des variables globales.Ceux-ci ont le préfixe "::" ; J'ajoute ag pour indiquer qu'ils sont globaux.Par exemple:
::g_my_var = "Hello";
include("my_script.jsl");