Le lanceur de fonctions ACE

Introduction

Ce document vous décrit le fonctionnement et l’utilisation du lanceur de fonctions (exécutable « Lanceur.exe »), outil qui vous permet, depuis une page HTML ou votre bureau et sans passer par le menu principal d’ACE, d’activer une fonction ACE.

Le lanceur procède en plusieurs étapes.

Fonctionnement

Lecture des paramètres

Tous les paramétres de la fonction sont testés dans la premiere phase de la fonction. Si un paramétre est incorrect ou manquant, la fonction s’arrête immédiatement.

Liste des paramètres à passer à la fonction :

· « nosplash » : option facultative qui permet de désactiver l’affichage de la « splash window ». Cette désactivation est prioritaire par rapport à la désactivation par la clé définié dans le fichier « Generix.ini ».
  • Numéro de société (obligatoire). Permet au lanceur de se connecter à la société désirée.
  • code de l’agent (obligatoire). Permet de verifier l’habilitation de l’agent.
  • mot de passe de l’agent (obligatoire). S’il n’est pas précisé, un message vous invite à le saisir.
  • Code de la fonction (obligatoire).
  • Chapitre ou groupe (facultatif).
  • Paramètre applicatif (facultatif). Il doit être interprété par le code applicatif des fonctions et permet notamment de précharger la valeur de certains champs.

Pour renseigner ce paramètre (« param_app »), il faut obligatoirement que le paramètre chapitre ou groupe soit renseigné, même à blanc.

Pour executer le lanceur, placez vous dans le repertoire où se situe le fichier « Generix.ini ». Puis tapez la commande complete :

lanceur.exe [nosplash] codsoc codagent mdp nom_fonction chap option param_app

Exemples :

lanceur.exe 0022 BERNIE PENICH GBAV

Lance la fonction de gestion des barèmes de vente (GBAV) sur la société 22 pour l’agent Bernie dont le mot de passe est « PENICH ».

lanceur.exe 0022 BERNIE PENICH GSUI PURGE

Pour le même agent et la même société, lance la fonction GSUI du chapitre PURGE.

Connexion au serveur de traitement

Pour pouvoir créer et vérifier les données nécessaires au lancement de la fonction, le lanceur à besoin d’un serveur BDD pour effectuer la connexion à la base de donnée. Pour cela, nous sommes passés par une connexion standard d’un interactif, qui se deconnecte dès la fin du lancement de la fonction. Nous avons donc sur le poste client une zone PINTER qui se renseigne temporairement avant de se detruire. Nous trouvons dans cette zone le nom de la fonction lanceur « Lanceur » et sa description.

Le lanceur est fait de façon à se deconnecter avant la connexion de la fonction. Ce qui fait que l’on ne mobilise qu’une seul zone interactive lors du lancement d’une fonction par le lanceur. Comme on utilise les zones PINTER et TINTER, on peut lancer simultanément autant de lanceurs que de fonctions interactives possibles sur le poste.

Création du fichier PIP

Les binaires ACE s’execute grâce à un fichier PIP bien renseigné. Donc le lanceur, via une version modifiée de u_genpip, crée un fichier PIP.

Pour cela on se sert des connexions créées dans l’étape précédente.

Contrairement au menu CS, c’est dans cette phase que l’on se positionne sur la bonne société. C’est aussi dans cette phase que la notion d’habilitation est vue.

Lancement de la fonction

C’est la phase la plus simple du lanceur. On utilise uts_active comme dans le menunt et grâce au fichier PIP créer précedemment le binaire va se réferencer et s’initialiser correctement.

Deconnexion du lanceur

La déconnexion du lanceur doit déréferencer les zones PINTER et TINTER du lanceur. Le SPVR local doit bien sûr rester. La déconnexion etant plus rapide que la connexion, le nombre de fonction lançable par le lanceur est identique au nombre de fonction lançable par le menunt.

La gestion des erreurs

Le lanceur de fonction peut être confronté à de nombreuses erreurs. On retrouve 2 types d’erreurs, les erreurs System et les erreurs liées à l’application.

Le premier type d ‘erreur concerne les erreurs lées à la connexion, il apparaisse à l’utilisateur via une message box, et un descriptif des erreurs dans le superviseur.log

Message d’erreurs possible :

Ut_erreur_sans_bdd_gere -> problèmes de connexion

Le deuxième type d’erreurs est liée aux paramètre passé au lanceur. L’information est donc donnée uniquement par message box à l’utilisateur.

Liste des erreurs retournée :
  • Fonction, chapitre, groupe inexistant, si erreur sur la fonction, chapitre ou groupe.
  • Fonction, Chapitre ou Groupe HORS SERVICE si tentative d’appel à une fonction, un chapitre ou un groupe hors service.

  • Société inexistante si société non trouvé dans la tableau ut_soc.
  • Utilisateur inexistant si l’utilisateur entrée n’est pas référencé dans la base.
  • Erreur de mot de passe si le mot de passe entré est erroné.
  • Fonction innaccésible si l’utilisateur n’a pas les droits d’execution sur la fonction.

Référencement dans la mémoire partagée :

On renseigne la zone PINTER. Le renseignement se fait juste apres l’appele de ut_initinter, on ne passe donc pas par aucun rel. Le but est de référencer au mieux et au plus simple le lanceur, qui n’est que temporaire. C’est pour cela que l’on effectue aucun acces à la base pour remplir les zones de mémoires partagés. On renseigne donc uniquement : cod_agent, la version, le nom du lanceur : Ariane, sa description et le nom de l’executable lancé. Ci-dessous un exemple de réferencement du lanceur, suivit d’une fonction standard lancée par ce même lanceur.