Modification des écrans pour soumettre les tâches à la file d'arrière-plan

Procédez comme suit pour inclure une tâche qui s'exécute en arrière-plan sur un écran.

L'application lance les états en tant que tâches d'arrière-plan placées dans une file d'attente pour être exécutées dans un ordre défini. Vous pouvez également définir d'autres tâches à exécuter en arrière-plan. Le service TaskMan analyse la liste des tâches d'arrière-plan actives et exécute les nouvelles tâches enregistrées dans la file d'attente avec le statut PRET.

Pour plus d'informations sur TaskMan, reportez-vous au manuel Guide d'administration ou au manuel Creating and Customizing Reports.

  1. Pour paramétrer l'écran dans lequel vous souhaitez que la tâche de fond s'exécute :
    1. Ajoutez à l'écran un composant nommé BackgroundQueue, de type ObjMenuItem. Sur l'onglet Comportement, ajoutez RunBackgroundQueue en tant qu'événement principal.
    2. Créez un événement RunBackgroundQueue de type Exécuter l'écran en tant que fils modal. Les paramètres de l'événement doivent se présenter comme dans l'exemple suivant, où GenerateReport est le nom de l'événement Exécuter tâche d'arrière-plan de l'écran :

      BackgroundQueue( SETVARVALUES(BGTaskName=V(BGTaskName), RunTaskEvent=GenerateReport) )

    3. Ajoutez des paramètres à la fin de la chaîne de paramètres de l'événement Exécuter tâche d'arrière-plan qui soumet la tâche :

      TASKSTATUS(V(BGTaskStatus))TASKNUMBER(BGTaskNumber)

      Utilisez ces mots-clés et paramètres :

      • TASKSTATUS est un paramètre d'entrée facultatif pour BGTaskSubmit. Si le mot-clé TASKSTATUS est manquant ou si sa valeur est autre que EN SUSP., la tâche est insérée dans la table ActiveBGTasks avec le statut PRET et elle sera exécutée par le Gestionnaire de tâches. Si TASKSTATUS a la valeur EN SUSP., la tâche est entrée dans la table ActiveBGTasks avec le statut EN SUSP. Le Gestionnaire de tâches ignore tout enregistrement de cette table doté d'un statut autre que PRET ou EN EXEC.
      • TASKNUMBER est un mot-clé facultatif utilisé pour indiquer un nom de variable contenant le TaskNumber (numéro de tâche) généré lorsqu'un enregistrement est inséré dans la table ActiveBGTasks.
      • Vous pouvez inclure des mots-clés de substitution qui seront remplacés par les valeurs appropriées après soumission de la tâche au gestionnaire des tâches Task Manager.
  2. Pour créer une tâche d'arrière-plan :
    1. Créez un nouvel enregistrement sur l'écran Déf Tâche d'arrière-plan.
    2. Indiquez un nom de tâche, par exemple, RunCustomerOrderReport, et une description.
    3. Indiquez un nom de fichier exécutable :
      • Pour un état, indiquez le nom de l'état (par exemple, CommandeClient) dans le premier champ "exécutable" et le type d'exécutable (RPT) dans le second champ. La définition de l'état (fichier .RPT) pour cet état doit être placé dans le dossier TaskMan\Reports sur le serveur sur lequel TaskMan et un module de génération d'états sont installés.
      • Pour une procédure enregistrée, indiquez le nom de la procédure dans le premier champ et sélectionnez SP dans le second champ.
      • Pour un programme exécutable, indiquez le nom et le chemin du programme (par exemple, c:\Infor\monprog) dans le premier champ et sélectionnez EXE dans le second champ.

        Indiquez le chemin complet ou utilisez un chemin relatif au répertoire contenant TaskMan sur le serveur. Par exemple, si vous avez un programme exécutable nommé MonProg.exe qui réside dans monrépertoire/monsousrépertoire sous le répertoire Infor TaskMan, vous indiquez monrépertoire/monsousrépertoire/MonProg.

        Si vous souhaitez que le gestionnaire de tâches TaskMan gère les connexions de l'exécutable à une base de données, cette dernière doit être identifiée auprès du gestionnaire des tâches TaskMan à l'aide de l'utilitaire de configuration du gestionnaire des tâches TaskMan, et l'exécutable doit utiliser les mots-clés de substitution B~ pour établir la connexion. Sinon, l'exécutable gère lui-même toutes ses connexions à la base de données.

      • Pour une méthode IDO, indiquez le nom de la méthode (dans le format IDO.Method - par exemple : MonIDProg.SLSites.MaMéthodeTest) dans le champ Nom exécutable et sélectionnez IDOMTH dans le champ Type exécutable.

        Pour les paramètres de tâche, utilisez une liste de paramètres séparés par des virgules qui correspondent aux paramètres de la méthode IDO. Vous pouvez soit utiliser des valeurs simples (par exemple, "MonParamètre1, MonParamètre2") ou une syntaxe ~ LIT ~ si un espace est significatif (par exemple, "   MonParamètre1, MonParamètre2   ").

        Lors du traitement de tâches du type IDOMTH, TaskMan exige une configuration du même nom que le site. Sur l'ordinateur sur lequel TaskMan est en cours d'exécution (généralement le serveur d'utilitaires), vous devez créer une configuration dont le nom corresponde à celui du site de base de données, s'il n'en existe pas déjà une.

    4. Cliquez sur les boutons de l'écran pour spécifier des options d'édition ou des tâches exclues.
    5. Sauvegardez l'enregistrement.
  3. Appelez votre nouvelle tâche d'arrière-plan en tant que gestionnaire d'événement à partir de l'écran.
  4. Vous pouvez afficher les tâches en cours d'exécution en ouvrant l'écran Tâches d'arrière-plan actives.

Après achèvement de la tâche par le gestionnaire de tâches, même s'il a échoué, vous pouvez afficher les détails relatifs à son exécution dans l'écran Historique tâches arr.-plan. Ces détails comprennent les informations suivantes :

  • Désignation tâche
  • Statut
  • Utilisateur ayant soumis la tâche
  • Messages déclenchés par la tâche
Rubriques liées