Anveo EDI Connect / Config / Automazione / ANVEDI Job Handler
Questa è una traduzione automatica. Il messaggio originale è disponibile in Inglese.

ANVEDI Job Handler

Microsoft Dynamics NAV 2013R2 dispone di un sistema di programmazione dei lavori che consente di eseguire le codeunits in determinati momenti. Anveo EDI Connect offre un’codeunit dedicata che può essere utilizzata. L’codeunit ha l’ID 5327312 e si chiama ANVEDI Job Handler.

Esempio di impostazione della coda di lavoro in Microsoft Dynamics 365 Business Central

Questa codeunit offre diversi lavori e può essere controllata dalla stringa di parametri. Questa stringa segue regole semplici e vi mostreremo degli esempi per ciascuna delle azioni disponibili. La sintassi generale di questo parametro è:

ACTION_NAME(Parameter1=Value1, Parameter2=Value2)

Per la maggior parte dei lavori, ad eccezione delle Transazioni commerciali, sono disponibili due parametri:

ProcessFollowing

Controlla se le post-elaborazioni vengono eseguite automaticamente. L’impostazione predefinita è False, se non specificata.

True

La post-elaborazione dovrebbe essere eseguita dopo

False

L’impostazione predefinita determina l’esecuzione delle post-elaborazioni.

ProcessQueueView

Questo parametro è opzionale. Il valore predefinito è nessuna vista tabella. Questo parametro specifica una vista sulla tabella della coda di elaborazione EDI che viene utilizzata se ProcessFollowing=True. La stringa deve essere una vista della tabella Microsoft Dynamics NAV 2013R2, come WHERE(Project Code=FILTER(A*))

Azioni utilizzate di frequente

Nella maggior parte dei casi, si desidera utilizzare una delle seguenti azioni:

Manutenzione

Anveo EDI Conect dispone di una funzionalità integrata di riprova per problemi temporanei, come ad esempio un server irraggiungibile. È possibile impostare l’intervallo di riprova, ecc. nelle mappature e nei canali di comunicazione, ma è necessario creare un lavoro per gestirli. Per configurare un lavoro di questo tipo, selezionare l’codeunit del nostro gestore di lavori nella coda dei lavori (ANVEDI Job Handler, ID 5327312) e impostare la stringa dei parametri su MAINTENANCE(). Al momento non ci sono opzioni di configurazione.

Programmare l’esecuzione regolare del lavoro senza interferire con altri processi EDI. A seconda della versione di Dynamics in uso, è possibile utilizzare la categoria jopb queue per eseguire un solo lavoro di una categoria alla volta. Se non c’è nulla da fare, il lavoro terminerà quasi subito.

Ricezione dei dati

Questa azione riceve i dati per un canale di comunicazione o una cartella specificati.

RECEIVE(Channel=MY_COMM_CHANNEL, ProcessFollowing=True)
Esempio Parametro Stringa: Ricezione di dati dal canale di comunicazione MY_COMM_CHANNEL

È necessario specificare uno dei seguenti parametri:

Channel

Specifica una stringa di filtro per il codice del canale di comunicazione. Può essere il codice completo o una stringa di filtro.

Folder

Specifica una stringa di filtro per il codice della cartella di trasmissione. Può essere il codice completo o una stringa di filtro.

Eseguire una mapping

Spesso, se si desidera esportare i dati, si inizia con un lavoro di transazione commerciale o con una mapping NAV. Ma il sistema di schedulazione può eseguire qualsiasi tipo di mapping.

RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=EXPORT_JOB, ProcessFollowing=True)
Esempio di stringa di parametri: Eseguire il TEST mapping, NAV, EXPORT_JOB.
RUN(ProjectFilter=TEST, FormatFilter=NAV, CodeFilter=*, MultipleAllowed=True, ProcessFollowing=True)
Esempio di stringa di parametri: Esegue tutte le mappature NAV del progetto TEST.

I parametri consentiti sono:

ProjectFilter

Il codice del progetto o una stringa di filtro sul codice del progetto.

FormatFilter

Il codice di formato o una stringa di filtro sul codice di formato.

CodeFilter

Il codice mapping o una stringa di filtro sul codice mapping.

MultipleAllowed

Caratteristiche di sicurezza. Se devono essere eseguite più mappature. L’impostazione predefinita è False.

True

È possibile eseguire più mappature.

False

Non è possibile eseguire più mappature.

Raccogliere i dati delle transazioni commerciali

Se si dispone di un tipo di transazione commerciale con raccolta dati, è possibile utilizzare la seguente stringa di parametri:

BT_COLLECT(Code=MY_BT_TYPE)
Esempio di stringa di parametri: Raccogliere i dati come definiti nel tipo di transazione aziendale MY_BT_TYPE.

Esiste un solo parametro:

Code

Il codice del tipo di transazione commerciale. Questo parametro non ammette filtri.

Manutenzione

Se si desidera utilizzare la funzionalità di riprova automatica delle mappature o dei canali di comunicazione, è necessario impostare un semplice lavoro di manutenzione. Questo lavoro è molto veloce perché non c’è nulla da fare e può essere eseguito con una certa frequenza. Tenere presente che il lavoro deve essere eseguito almeno con la frequenza con cui si desidera riprovare le azioni.

MAINTENANCE()
Esempio di parametro Stringa: Eseguire processi automatici come i tentativi.

Il lavoro non ha parametri.

Azioni avanzate

Le azioni seguenti sono più specializzate e non vengono utilizzate di frequente.

Elaborazione in batch dei dati delle transazioni commerciali

BT_BATCH(Batch=MY_BATCH_CODE)
Esempio di stringa di parametri: Eseguire l’azione batch con il codice MY_BATCH_CODE.
Batch

Il codice del Batch. Questo parametro non ammette filtri.

Raccogliere ed elaborare in batch i dati delle transazioni aziendali

Si tratta di una combinazione di BT_COLLECT e BT_BATCH.

BT_COLLECT_BATCH(Code=MY_BT_TYPE, Batch=MY_BATCH_CODE)
Esempio di stringa di parametri: Raccogliere i dati da MY_BT_TYPE ed eseguire l’azione batch con il codice MY_BATCH_CODE.
Batch

Il codice del Batch. Questo parametro non ammette filtri.

Code

Il codice del tipo di transazione commerciale. Questo parametro non ammette filtri.

Processo Code di elaborazione aperte

Se non si eseguono automaticamente le post-elaborazioni, è possibile impostare dei lavori per eseguire determinate azioni aperte.

PROCESS(ProcessQueueView=WHERE(Project Code=FILTER(MY_PROJECT)))
Esempio di stringa di parametri: Elabora le voci aperte del progetto MY_PROJECT.

È possibile utilizzare i parametri ProcessQueueView e ProcessFollowing.

Inviare trasmissioni aperte

Di solito l’invio dei dati avviene come fase successiva all’esecuzione di mapping. Tuttavia, se si desidera inviare i file aperti a una certa ora, è possibile utilizzare un lavoro.

SEND(Channel=MY_CHANNEL)
Esempio Parametro Stringa: Invia la trasmissione aperta di MY_CHANNEL.
Channel

Specifica una stringa di filtro per il codice del canale di comunicazione. Può essere il codice completo o una stringa di filtro.

Folder

Specifica una stringa di filtro per il codice della cartella di trasmissione. Può essere il codice completo o una stringa di filtro.

Eseguire il callback del codice personalizzato

È possibile utilizzare l’codeunit del gestore di lavori per eseguire il codice personalizzato.

È possibile specificare tutti i parametri necessari. Si consiglia di utilizzare il parametro Name per specificare l’identificatore del callback. È possibile accedere ai parametri dall’codeunit ANVEDI Callback. Nell’codeunit ANVEDI Callback nella funzione CallbackRegistration è possibile reagire all’evento OnJobCallback implementando il seguente blocco 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;
Codice di esempio nell’Codeunit ANVEDI Callback.

Si noti che i nomi dei parametri sono convertiti in maiuscolo nella variabile ParameterDictionary. È possibile utilizzare la seguente stringa di parametri nella coda di lavoro per chiamare il callback:

CALLBACK(Name=Example, MyParam1=Hello, MyParam2=World)
Esempio di stringa di parametri: Chiama codice personalizzato