Anveo EDI Connect / Config / Automatisation / ANVEDI Job Handler
C'est une traduction automatique. Le message original est disponible en Anglais.

ANVEDI Job Handler

Microsoft Dynamics 365 Business Central dispose d’un système de planification des tâches qui vous permet d’exécuter des codeunits à certaines heures. Anveo EDI Connect propose une codeunit dédiée qui peut être utilisée. L’codeunit porte l’identifiant 5327312 et s’appelle ANVEDI Job Handler.

Exemple de configuration de la file d’attente des travaux dans Microsoft Dynamics 365 Business Central

Cette codeunit offre différents emplois et peut être contrôlée par la chaîne de paramètres. Cette chaîne suit des règles simples et nous vous montrerons des exemples pour chacune des actions disponibles. La syntaxe générale de ce paramètre est la suivante :

ACTION_NAME(Parameter1=Value1, Parameter2=Value2)

Deux paramètres sont disponibles pour la plupart des travaux, à l’exception des transactions commerciales :

ProcessFollowing

Contrôle si les post-traitements sont exécutés automatiquement. La valeur par défaut est False, si elle n’est pas spécifiée.

True

Le post-traitement doit être exécuté après

False

La configuration par défaut déterminera si les post-traitements seront exécutés.

ProcessQueueView

Ce paramètre est facultatif. La valeur par défaut est l’absence de vue du tableau. Ce paramètre spécifie une vue sur la table pour la file d’attente de traitement EDI qui est utilisée si ProcessFollowing=True. La chaîne doit être une vue de table Microsoft Dynamics 365 Business Central, comme WHERE(Project Code=FILTER(A*)).

Actions fréquemment utilisées

La plupart du temps, vous voudrez utiliser l’une des actions suivantes :

Réception des données

Cette action permet de recevoir des données pour un canal de communication ou un dossier spécifié.

RECEIVE(Channel=MY_COMM_CHANNEL, ProcessFollowing=True)
Exemple Paramètre Chaîne : Recevoir des données du canal de communication MY_COMM_CHANNEL

Vous devrez spécifier l’un des paramètres suivants :

Channel

Spécifie une chaîne de filtrage pour le code du canal de communication. Il peut s’agir du code complet ou d’une chaîne de filtrage.

Folder

Spécifie une chaîne de filtrage pour le code du dossier de transmission. Il peut s’agir du code complet ou d’une chaîne de filtrage.

Exécuter un mapping

Souvent, si vous souhaitez exporter des données, vous commencez par un job de transaction commerciale ou un NAV mapping. Mais le système de planification peut exécuter n’importe quel type de mapping.

RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=EXPORT_JOB, ProcessFollowing=True)
Exemple de chaîne de paramètres : Exécuter le mapping TEST, NAV, EXPORT_JOB.
RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=*, MultipleAllowed=True, ProcessFollowing=True)
Exemple Chaîne de paramètres : Exécuter tous les mappages NAV du projet TEST.

Les paramètres autorisés sont les suivants :

ProjectFilter

Le code du projet ou une chaîne de filtre sur le code du projet.

FormatFilter

Le code de format ou une chaîne de filtre sur le code de format.

CodeFilter

Le code mapping ou une chaîne de filtre sur le code mapping.

MultipleAllowed

Dispositif de sécurité. Si plusieurs mappages doivent être exécutés. La valeur par défaut est False.

True

Plusieurs mappings peuvent être exécutés.

False

Il n’est pas possible d’exécuter plusieurs mappings.

Collecte de données sur les transactions commerciales

Si vous avez un type de transaction commerciale avec collecte de données, vous pouvez utiliser la chaîne de paramètres suivante :

BT_COLLECT(Code=MY_BT_TYPE)
Exemple de chaîne de paramètres : Recueille les données définies dans le type de transaction commerciale MY_BT_TYPE.

Il n’y a qu’un seul paramètre :

Code

Le code du type de transaction commerciale. Ce paramètre n’autorise pas les filtres.

Maintenance

Si vous souhaitez utiliser la fonctionnalité de réessai automatique des mappages ou des canaux de communication, vous devez mettre en place une simple tâche de maintenance. Ce travail est très rapide lorsqu’il n’y a rien à faire et peut être exécuté assez fréquemment. Il faut tenir compte du fait que la tâche doit être exécutée au moins aussi souvent que vous souhaitez réessayer des actions.

MAINTENANCE()
Exemple Chaîne de paramètres : Exécuter des processus automatiques tels que des tentatives.

Le travail n’a pas de paramètres.

Actions avancées

Les actions suivantes sont plus spécialisées et ne sont pas utilisées très fréquemment.

Traitement par lots des données de transactions commerciales

BT_BATCH(Batch=MY_BATCH_CODE)
Exemple de chaîne de paramètres : Exécuter l’action par lot avec le code MY_BATCH_CODE.
Batch

Le code du Batch. Ce paramètre n’autorise pas les filtres.

Collecte et traitement par lots des données relatives aux transactions commerciales

Il s’agit d’une combinaison de BT_COLLECT et BT_BATCH.

BT_COLLECT_BATCH(Code=MY_BT_TYPE, Batch=MY_BATCH_CODE)
Exemple de chaîne de paramètres : Collecte des données de MY_BT_TYPE et exécution de l’action par lots avec le code MY_BATCH_CODE.
Batch

Le code du Batch. Ce paramètre n’autorise pas les filtres.

Code

Le code du type d’opération commerciale. Ce paramètre n’autorise pas les filtres.

Traitement des files d’attente de traitement en cours

Si vous n’exécutez pas les post-traitements automatiquement, vous pouvez configurer des tâches pour exécuter certaines actions ouvertes.

PROCESS(ProcessQueueView=WHERE(Project Code=FILTER(MY_PROJECT)))
Exemple Chaîne de paramètres : Traiter les entrées ouvertes du projet MY_PROJECT.

Vous pouvez utiliser les paramètres ProcessQueueView et ProcessFollowing.

Envoi de transmissions ouvertes

En général, l’envoi de données est effectué après l’exécution de l’opération mapping. Si vous souhaitez toutefois envoyer des fichiers ouverts à un moment donné, vous pouvez utiliser un job.

SEND(Channel=MY_CHANNEL)
Exemple Paramètre Chaîne : Envoyer la transmission ouverte de MY_CHANNEL.
Channel

Spécifie une chaîne de filtrage pour le code du canal de communication. Il peut s’agir du code complet ou d’une chaîne de filtrage.

Folder

Spécifie une chaîne de filtrage pour le code du dossier de transmission. Il peut s’agir du code complet ou d’une chaîne de filtrage.

Exécuter le code personnalisé Callback

Vous pouvez utiliser le gestionnaire de tâches codeunit pour exécuter votre code personnalisé.

Vous pouvez spécifier autant de paramètres que nécessaire. Il est recommandé d’utiliser le paramètre Name pour spécifier un identifiant de rappel. Vous pouvez accéder aux paramètres à partir de l’codeunit ANVEDI Callback. Dans l’codeunit ANVEDI Callback, dans la fonction CallbackRegistration, vous pouvez réagir à l’événement OnJobCallback en mettant en œuvre le bloc CASE suivant :

CallbackSupport.OnJobCallback(ParameterDictionary):
  BEGIN
    IF NOT ParameterDictionary.GETBYKEY('NAME', Tmp) THEN
      ERROR(Text001);

    Name := Tmp;
    CASE UPPERCASE(Name) OF
      'Example':
        BEGIN
          IF NOT ParameterDictionary.GETBYKEY('MYPARAM1', Tmp) THEN
            ERROR(Text001);
         MyParam1 := tmp;

         IF NOT ParameterDictionary.GETBYKEY('MYPARAM2', Tmp) THEN
           ERROR(Text001);
         MyParam2 := tmp;

        // Do something with the parameters MyParam1 and MyParam2
     END;
  ELSE
    ERROR(Text002, Name);
  END;
END;
Exemple de code dans l’Codeunit rappel ANVEDI.

Veuillez noter que les noms des paramètres sont convertis en majuscules dans la variable ParameterDictionary. Vous pouvez utiliser la chaîne de paramètres suivante dans la file d’attente des travaux pour appeler la fonction de rappel :

CALLBACK(Name=Example, MyParam1=Hello, MyParam2=World)
Exemple de chaîne de paramètres : Appeler le code personnalisé