如何在Axapta 3.0中创建X ++批处理作业?

Enr*_*oma 4 x++ axapta

我想在X ++ for Microsoft Axapta 3.0(Dynamics AX)中创建批处理作业.

如何创建一个执行像这样的X ++函数的作业?

static void ExternalDataRead(Args _args)
{
...
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*ker 8

这是在AX中创建批处理作业所需的最低限度:

通过创建扩展RunBaseBatch该类的新类来创建批处理作业:

class MyBatchJob extends RunBaseBatch
{
}
Run Code Online (Sandbox Code Playgroud)

实现抽象方法pack():

public container pack()
{
    return connull();
}
Run Code Online (Sandbox Code Playgroud)

实现抽象方法unpack():

public boolean unpack(container packedClass)
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

run()使用要执行的代码覆盖方法:

public void run()
{
    ;
    ...
    info("MyBatchJob completed");
}
Run Code Online (Sandbox Code Playgroud)

main在类中添加静态方法以创建类的实例并调用标准RunBaseBatch对话框:

static void main(Args _args)
{
    MyBatchJob myBatchJob = new MyBatchJob();
    ;
    if(myBatchJob.prompt())
    {
        myBatchJob.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您希望批处理作业在批处理列表中有描述,请description向您的类添加静态方法:

server client static public ClassDescription description()
{
    return "My batch job";
}
Run Code Online (Sandbox Code Playgroud)