Anveo EDI Connect / Config / Automatisierung / ANVEDI Job Handler
Diese Seite wurde automatisch übersetzt. Ursprünglich wurde der Inhalt auf Englisch verfasst.

ANVEDI Job Handler

Microsoft Dynamics NAV 2017 verfügt über ein Job Scheduling System, mit dem Sie Codeunits zu bestimmten Zeiten ausführen können. Anveo EDI Connect bietet eine spezielle Codeunit an, die verwendet werden kann. Die Codeunit hat die ID 5327312 und heißt ANVEDI Job Handler.

Beispiel für die Einrichtung einer Auftragswarteschlange in Microsoft Dynamics 365 Business Central

Diese Codeunit bietet verschiedene Aufgaben und kann über den Parameter string gesteuert werden. Diese Zeichenfolge folgt einfachen Regeln und wir zeigen Ihnen Beispiele für jede der verfügbaren Aktionen. Die allgemeine Syntax für diesen Parameter lautet:

ACTION_NAME(Parameter1=Value1, Parameter2=Value2)

Es gibt zwei Parameter, die für die meisten Aufträge zur Verfügung stehen, außer für Geschäftsvorgänge:

ProcessFollowing

Steuert, ob Nachbearbeitungen automatisch ausgeführt werden. Der Standardwert ist False, wenn nicht angegeben.

True

Die Nachbearbeitung sollte anschließend erfolgen

False

Die Standardeinstellungen bestimmen, ob Nachbearbeitungen durchgeführt werden.

ProcessQueueView

Dieser Parameter ist optional. Der Standardwert ist keine Tabellenansicht. Dieser Parameter gibt eine Sicht auf die Tabelle für die EDI-Verarbeitungswarteschlange an, die verwendet wird, wenn ProcessFollowing=True. Die Zeichenfolge muss eine Microsoft Dynamics NAV 2017-Tabellensicht sein, z. B. WHERE(Project Code=FILTER(A*)).

Häufig verwendete Aktionen

In den meisten Fällen werden Sie eine der folgenden Aktionen durchführen wollen:

Wartung

Anveo EDI Conect verfügt über eine integrierte Wiederholungsfunktion für vorübergehende Probleme, wie z. B. einen nicht erreichbaren Server. Sie können das Wiederholungsintervall usw. festlegen. in Mappings und Kommunikationskanälen, aber Sie müssen einen Auftrag erstellen, um sie zu verarbeiten. Um einen solchen Job zu konfigurieren, wählen Sie unsere Codeunit in der Job-Warteschlange (ANVEDI Job Handler, ID 5327312) und setzen den Parameterstring auf MAINTENANCE(). Zurzeit gibt es keine Konfigurationsmöglichkeiten.

Planen Sie den Auftrag so, dass er regelmäßig ausgeführt wird, ohne andere EDI-Prozesse zu beeinträchtigen. Abhängig von Ihrer Dynamics-Version können Sie die Kategorie jopb-Warteschlange verwenden, um jeweils nur einen Auftrag in einer Kategorie auszuführen. Wenn es nichts zu tun gibt, wird die Arbeit fast sofort beendet.

Empfangen von Daten

Diese Aktion empfängt Daten für einen bestimmten Kommunikationskanal oder Ordner.

RECEIVE(Channel=MY_COMM_CHANNEL, ProcessFollowing=True)
Beispiel Parameter String: Empfangen von Daten vom Kommunikationskanal MY_COMM_CHANNEL

Sie müssen einen der folgenden Parameter angeben:

Channel

Gibt eine Filterzeichenfolge für den Code des Kommunikationskanals an. Dies kann entweder der vollständige Code oder eine Filterzeichenfolge sein.

Folder

Gibt eine Filterzeichenfolge für den Code des Übertragungsordners an. Dies kann entweder der vollständige Code oder eine Filterzeichenfolge sein.

Führen Sie eine Mapping

Wenn Sie Daten exportieren möchten, beginnen Sie häufig entweder mit einem Geschäftsvorfall oder einem NAV Mapping. Aber das Planungssystem kann jede Art von Mapping durchführen.

RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=EXPORT_JOB, ProcessFollowing=True)
Beispiel Parameter String: Führen Sie den Mapping TEST, NAV, EXPORT_JOB aus.
RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=*, MultipleAllowed=True, ProcessFollowing=True)
Beispiel Parameter String: Alle NAV-Zuordnungen des Projekts TEST ausführen.

Die zulässigen Parameter sind:

ProjectFilter

Der Projektcode oder eine Filterzeichenfolge für den Projektcode.

FormatFilter

Der Formatcode oder eine Filterzeichenfolge für den Formatcode.

CodeFilter

Der Mapping oder eine Filterzeichenfolge des Mapping.

MultipleAllowed

Sicherheitsmerkmal. Ob mehrere Mappings ausgeführt werden sollen. Der Standardwert ist False.

True

Es können mehrere Mappings ausgeführt werden.

False

Mehrere Mappings können nicht ausgeführt werden.

Sammeln von Geschäftsvorgangsdaten

Wenn Sie eine Geschäftsvorgangsart mit Datenerfassung haben, können Sie den folgenden Parameterstring verwenden:

BT_COLLECT(Code=MY_BT_TYPE)
Beispiel Parameter String: Sammeln Sie die Daten wie in der Geschäftsvorgangsart MY_BT_TYPE definiert.

Es gibt nur einen Parameter:

Code

Der Code der Geschäftsvorgangsart. Dieser Parameter erlaubt keine Filter.

Wartung

Wenn Sie die automatische Wiederholungsfunktion der Mappings oder Kommunikationskanäle nutzen möchten, müssen Sie einen einfachen Wartungsjob einrichten. Dieser Job ist wirklich schnell, wenn es nichts zu tun gibt, und kann recht häufig ausgeführt werden. Bitte beachten Sie, dass der Auftrag mindestens so oft ausgeführt werden muss, wie Sie Aktionen wiederholen möchten.

MAINTENANCE()
Beispiel Parameter String: Automatische Prozesse wie Wiederholungsversuche ausführen.

Der Auftrag hat keine Parameter.

Erweiterte Aktionen

Die folgenden Aktionen sind etwas spezieller und werden nicht so häufig verwendet.

Stapelverarbeitung von Geschäftsvorgangsdaten

BT_BATCH(Batch=MY_BATCH_CODE)
Beispiel Parameter String: Führen Sie die Batch-Aktion mit dem Code MY_BATCH_CODE aus.
Batch

Der Code des Batch. Dieser Parameter erlaubt keine Filter.

Erfassung und Stapelverarbeitung von Geschäftsvorgangsdaten

Dies ist eine Kombination aus BT_COLLECT und BT_BATCH.

BT_COLLECT_BATCH(Code=MY_BT_TYPE, Batch=MY_BATCH_CODE)
Beispiel Parameter String: Sammeln Sie Daten aus MY_BT_TYPE und führen Sie die Batch-Aktion mit dem Code MY_BATCH_CODE aus.
Batch

Der Code des Batch. Dieser Parameter erlaubt keine Filter.

Code

Der Code der Geschäftsvorgangsart. Dieser Parameter erlaubt keine Filter.

Offene Verarbeitungswarteschlangen verarbeiten

Wenn Sie Nachbearbeitungen nicht automatisch durchführen, können Sie Aufträge zur Ausführung bestimmter offener Aktionen einrichten.

PROCESS(ProcessQueueView=WHERE(Project Code=FILTER(MY_PROJECT)))
Beispiel Parameter String: Offene Einträge aus dem Projekt MY_PROJECT verarbeiten.

Sie können die Parameter ProcessQueueView und ProcessFollowing verwenden.

Offene Übertragungen senden

Das Senden von Daten erfolgt in der Regel im Anschluss an die Mapping. Wenn Sie jedoch offene Dateien zu einem bestimmten Zeitpunkt versenden wollen, können Sie einen Auftrag verwenden.

SEND(Channel=MY_CHANNEL)
Beispiel Parameter String: Senden der offenen Übertragung von MY_CHANNEL.
Channel

Gibt eine Filterzeichenfolge für den Code des Kommunikationskanals an. Dies kann entweder der vollständige Code oder eine Filterzeichenfolge sein.

Folder

Gibt eine Filterzeichenfolge für den Code des Übertragungsordners an. Dies kann entweder der vollständige Code oder eine Filterzeichenfolge sein.

Benutzerdefinierten Code ausführen Callback

Sie können die Codeunit verwenden, um Ihren eigenen Code auszuführen.

Sie können so viele Parameter angeben, wie Sie benötigen. Es wird empfohlen, einen Parameter Name zu verwenden, um einen Rückrufbezeichner anzugeben. Sie können auf die Parameter über die Codeunit ANVEDI Callback zugreifen. In der Codeunit ANVEDI Callback in der Funktion CallbackRegistration können Sie auf das Ereignis OnJobCallback reagieren, indem Sie den folgenden CASE-Block implementieren:

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;
Beispielcode in ANVEDI Callback Codeunit.

Bitte beachten Sie, dass die Parameternamen in der Variablen ParameterDictionary in Großbuchstaben umgewandelt werden. Sie können den folgenden Parameterstring in der Auftragswarteschlange verwenden, um den Callback aufzurufen:

CALLBACK(Name=Example, MyParam1=Hello, MyParam2=World)
Beispiel Parameter String: Aufruf des benutzerdefinierten Codes