Creare un Batch in Dynamics AX

Tutto quello che c’è da sapere per creare un batch in Microsoft Dynamics AX 4.

Prima di mostrarti come creare un batch è doveroso effettuare una piccola premessa per capire innanzitutto che cosa sono e a che cosa servono.

Un batch non è altro che una classe che viene eseguita automaticamente e con una determinata frequenza impostata dall’utente su un server Batch. Essi, quindi, sono molto utili ad esempio per la stampa di report, l’invio di documenti in formato elettronico ai clienti e molto altro. L’esecuzione di queste classi in automatico su un server permette, oltre a “sollevare” l’utente dalla gestione manuale, di non rallentare il computer/server durante la normale giornata lavorativa.

In Microsoft Dynamics AX 4 l’elaborazione avviene in maniera sequenziale, cioè un batch non parte fin tanto che quello in esecuzione non termina.

Inoltre, è molto utile creare dei gruppi batch in modo tale da dividere le classi a seconda del compito da esse svolte.

Per creare correttamente un batch è necessario:

  • Creare una nuova classe aggiungendo l’estensione RunBaseBatch
  • Creare all’interno della classe alcuni metodi standard
  • Impostare la frequenza di ripetizione del processo
  • Assegnare la classe ad un gruppo

Nell’esempio qui sotto riportato andremmo a creare una classe denominata BatchTest ed andremmo a sovrascrivere alcuni metodi standard come segue:

1. ClassDeclaration

//Aggiunto il valore extends RunBase Batch per permettere l'esecuzione della classe in batch
class BatchTest extends RunBaseBatch
{
    #define.CurrentVersion(1)
    #define.Version1(1)
}

2. Pack

public container pack()
{
    return [#CurrentVersion];
}

3. Unpack

public boolean unpack(container packedClass)
{
    Version version = RunBase::getVersion(packedClass);
    ;
    return true;
}

4. Construct

server static BatchTest construct()
{
    return new BatchTest();
}

5. Description

static ClassDescription description()
{
    //Nome visualizzato nella form per il lancio della classe
    return "Classe da mettere in batch";
}

 

6. Main

static void main(Args args)
{
    //Creo un oggetto della mia classe
    BatchTest BatchTest = BatchTest::construct();
    ;
    //Faccio uscire la maschera prima di lanciare il run
    if (BatchTest.prompt())
        BatchTest.run();
}

7. Run

void run()
{
    //All'interno di questo metodo andremmo a scrivere il nostro codice
    //cioè quello che la classe dovrà effettuare
}

Come impostare la ricorrenza ed associarlo ad un gruppo.

Completata la creazione di classe ora possiamo lanciarla. Ecco come si presenta la form per la selezione dei parametri della nostra classe BatchTest.

Creare un Batch - Batch

Per metterla correttamente in batch occorre:

  • Selezionare il campo Elaborazione batch
  • Selezionare un Gruppo batch
  • Impostare una Ricorrenza. Qui di seguito tutte le possibile frequenze impostabili

Creare un Batch - Ricorrenza

  • Cliccare Ok

Da quel momento in avanti la classe girerà nel server batch con la ricorrenza impostata

Codice scritto e testato per la versione 4 di Microsoft Dynamics AX.

Potrebbe interessarti anche:


 

Condividi con i tuoi amici

Articoli Correlati

Informazioni su Andrea Faion 408 Articoli
FAION ANDREA. Ho 35 anni e sono diplomato in informatica presso l'ITIS Kennedy di Pordenone. Da sempre appassionato a tutto ciò che concerne il mondo dell'informatica.

Commenta per primo

Lascia un commento