Come creare un processo batch X ++ in Axapta 3.0?
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)
{
...
}
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";
}