Question

J'aimerais créer un travail par lots sous X ++ pour Microsoft Axapta 3.0 (Dynamics AX).

Comment créer un travail exécutant une fonction X ++ telle que celle-ci?

static void ExternalDataRead(Args _args)
{
...
}
Était-ce utile?

La solution

Voici le strict minimum nécessaire pour créer un travail par lots dans AX:

Créez un travail par lots en créant une nouvelle classe qui étend la classe RunBaseBatch :

class MyBatchJob extends RunBaseBatch
{
}

Implémentez la méthode abstraite pack () :

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

Implémentez la méthode abstraite unpack () :

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

Remplacez la méthode run () par le code que vous souhaitez exécuter:

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

Ajoutez une méthode main statique à votre classe pour créer une instance de votre classe et appeler la boîte de dialogue standard RunBaseBatch :

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

Si vous souhaitez que votre travail par lots ait une description dans la liste, ajoutez une méthode statique description à votre classe:

server client static public ClassDescription description()
{
    return "My batch job";
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top