Domanda

Vorrei creare un processo batch in X ++ per Microsoft Axapta 3.0 (Dynamics AX).

Come posso creare un lavoro che esegue una funzione X ++ come questa?

static void ExternalDataRead(Args _args)
{
...
}
È stato utile?

Soluzione

Ecco il minimo indispensabile per creare un processo batch in AX:

Crea un processo batch creando una nuova classe che estende la classe RunBaseBatch :

class MyBatchJob extends RunBaseBatch
{
}

Implementa il metodo astratto pack () :

public container pack()
{
    return connull();
}

Implementa il metodo astratto unpack () :

public boolean unpack(container packedClass)
{
    return true;
}

Sostituisci il metodo run () con il codice che vuoi eseguire:

public void run()
{
    ;
    ...
    info("MyBatchJob completed");
}

Aggiungi un metodo principale statico alla tua classe per creare un'istanza della tua classe e chiamare la finestra di dialogo RunBaseBatch standard:

static void main(Args _args)
{
    MyBatchJob myBatchJob = new MyBatchJob();
    ;
    if(myBatchJob.prompt())
    {
        myBatchJob.run();
    }
}

Se vuoi che il tuo lavoro batch abbia una descrizione nell'elenco batch, aggiungi un metodo statico descrizione alla tua classe:

server client static public ClassDescription description()
{
    return "My batch job";
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top