Anveo EDI Connect / Config / Rozwój / integracja / ANVEDI Job Handler
Jest to tłumaczenie automatyczne. Pierwotne stanowisko jest dostępne w angielski.

ANVEDI Job Handler

Microsoft Dynamics NAV 2013R2 posiada system planowania zadań, który pozwala na uruchamianie codeunits w określonym czasie. Anveo EDI Connect oferuje dedykowaną codeunit, która może być używana. codeunit ma numer identyfikacyjny 5327312 i nazywa się ANVEDI Job Handler.

Przykładowa konfiguracja kolejki zadań w Microsoft Dynamics 365 Business Central

Ta codeunit oferuje różne zadania i może być kontrolowana przez łańcuch parametrów. Ciąg ten opiera się na prostych zasadach, a my pokażemy Ci przykłady dla każdej z dostępnych akcji. Ogólna składnia tego parametru jest następująca:

ACTION_NAME(Parameter1=Value1, Parameter2=Value2)

Istnieją dwa parametry, które są dostępne dla większości miejsc pracy, z wyjątkiem transakcji biznesowych:

ProcessFollowing

Kontroluje, czy post-procesy są wykonywane automatycznie. Jeśli nie zostało to określone, to jest to domyślnie False.

True

Przetwarzanie wtórne powinno przebiegać później

False

Domyślna konfiguracja określa, czy będą uruchamiane post-processingi.

ProcessQueueView

Ten parametr jest opcjonalny. Domyślną wartością jest brak widoku tabeli. Parametr określa widok w tabeli dla kolejki przetwarzania EDI, który jest używany jeśli ProcessFollowing=True. Ciągiem musi być widok tabeli Microsoft Dynamics NAV 2013R2, jak WHERE(Project Code=FILTER(A*)).

Często stosowane działania

W większości przypadków, będziesz chciał skorzystać z jednej z poniższych czynności:

Otrzymywanie danych

Ta czynność spowoduje otrzymanie danych dla określonego kanału komunikacyjnego lub folderu.

RECEIVE(Channel=MY_COMM_CHANNEL, ProcessFollowing=True)
Przykładowy parametr String: Odbiór danych z kanału komunikacyjnego MY_COMM_CHANNEL

Będziesz musiał określić jeden z poniższych parametrów:

Channel

Określa ciąg filtrujący do kodu kanału komunikacyjnego. Może to być albo pełny kod, albo łańcuch filtracyjny.

Folder

Określa łańcuch filtrujący do kodu folderu transmisyjnego. Może to być albo pełny kod, albo łańcuch filtracyjny.

Wykonaj mapping

Często zdarza się, że jeśli chcesz wyeksportować dane, rozpoczynasz albo pracę z transakcją biznesową, albo NAV mapping. Ale system planowania może uruchomić każdy rodzaj mapping.

RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=EXPORT_JOB, ProcessFollowing=True)
Przykładowy parametr String: Uruchomić TEST mapping, NAV, EXPORT_JOB.
RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=*, MultipleAllowed=True, ProcessFollowing=True)
Przykładowy parametr String: Uruchom wszystkie mapowania NAV projektu TEST.

Dozwolone są następujące parametry:

ProjectFilter

Kod projektu lub łańcuch filtra w kodzie projektu.

FormatFilter

Kod formatu lub łańcuch filtra na kodzie formatu.

CodeFilter

Kod mapping lub łańcuch filtra na kodzie mapping.

MultipleAllowed

Zabezpieczenie. Czy należy wykonać wiele mapowań. Defaults to False.

True

Możliwe jest wykonanie wielu mapowań.

False

Nie można wykonać wielu mapowań.

Gromadzenie danych o transakcjach biznesowych

Jeśli posiadasz typ transakcji biznesowej z gromadzeniem danych, możesz użyć następującego ciągu parametrów:

BT_COLLECT(Code=MY_BT_TYPE)
Przykładowy parametr String: Zbierz dane jak zdefiniowano w Typie transakcji biznesowej MY_BT_TYPE.

Jest tylko jeden parametr:

Code

Kod typu transakcji biznesowej. Ten parametr nie pozwala na stosowanie filtrów.

Działania zaawansowane

Poniższe działania są bardziej wyspecjalizowane i nie są wykorzystywane tak często.

Proces wsadowy Dane o transakcjach biznesowych

BT_BATCH(Batch=MY_BATCH_CODE)
Przykładowy parametr String: Uruchomić akcję wsadową z kodem MY_BATCH_CODE.
Batch

Kod Batch. Ten parametr nie pozwala na stosowanie filtrów.

Gromadzenie i przetwarzanie wsadowe danych o transakcjach biznesowych

Jest to połączenie BT_COLLECT i BT_BATCH.

BT_COLLECT_BATCH(Code=MY_BT_TYPE, Batch=MY_BATCH_CODE)
Przykładowy parametr String: Zbierz dane z MY_BT_TYPE i wykonaj akcję wsadową z kodem MY_BATCH_CODE.
Batch

Kod Batch. Ten parametr nie pozwala na stosowanie filtrów.

Code

Kod typu transakcji biznesowej. Ten parametr nie pozwala na stosowanie filtrów.

Proces Otwarte kolejki przetwarzania

Jeśli nie uruchomisz post-processingu automatycznie, możesz skonfigurować zadania do uruchamiania pewnych otwartych akcji.

PROCESS(ProcessQueueView=WHERE(Project Code=FILTER(MY_PROJECT)))
Przykładowy parametr String: Przetwarzanie otwartych wpisów z projektu MY_PROJECT.

Można skorzystać z parametrów ProcessQueueView i ProcessFollowing.

Wyślij otwarte transmisje

Zazwyczaj wysyłanie danych odbywa się po wykonaniu mapping. Jeśli jednak chcesz wysłać otwarte pliki w określonym czasie, możesz skorzystać z pracy.

SEND(Channel=MY_CHANNEL)
Przykładowy parametr String: Wyślij otwartą transmisję MY_CHANNEL.
Channel

Określa ciąg filtrujący do kodu kanału komunikacyjnego. Może to być albo pełny kod, albo łańcuch filtracyjny.

Folder

Określa łańcuch filtrujący do kodu folderu transmisyjnego. Może to być albo pełny kod, albo łańcuch filtracyjny.

Uruchom kod niestandardowy Wywołanie zwrotne

Możesz użyć codeunitowej job handleer do uruchomienia własnego kodu.

Możesz określić tyle parametrów, ile potrzebujesz. Zalecamy użycie parametru Nazwa w celu określenia identyfikatora wywołania zwrotnego. Dostęp do parametrów można uzyskać z codeunit ANVEDI Callback. W codeunit ANVEDI Callback w funkcji CallbackRegistration można zareagować na zdarzenie OnJobCallback implementując następujący blok CASE:

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;
Przykładowy kod w Codeunit ANVEDI Callback Codeunit.

Należy pamiętać, że nazwy parametrów są konwertowane na duże litery w zmiennej ParameterDictionary. Możesz użyć następującego ciągu parametrów w kolejce zadań, aby wywołać wywołanie zwrotne:

CALLBACK(Name=Example, MyParam1=Hello, MyParam2=World)
Przykładowy parametr String: Wywołaj niestandardowy kod