Microsoft Axapta 3.0 (Dynamics AX) の X++ でバッチ ジョブを作成したいと考えています。
このような X++ 関数を実行するジョブを作成するにはどうすればよいですか?
static void ExternalDataRead(Args _args)
{
...
}
AXでバッチジョブを作成するために最低限必要なものは次のとおりです。
クラスを拡張する新しいクラスを作成して、バッチジョブを作成しますRunBaseBatch
。
class MyBatchJob extends RunBaseBatch
{
}
抽象メソッドを実装しますpack()
:
public container pack()
{
return connull();
}
抽象メソッドを実装しますunpack()
:
public boolean unpack(container packedClass)
{
return true;
}
実行するコードでメソッドをオーバーライドしrun()
ます。
public void run()
{
;
...
info("MyBatchJob completed");
}
クラスに静的main
メソッドを追加して、クラスのインスタンスを作成し、標準RunBaseBatch
ダイアログを呼び出します。
static void main(Args _args)
{
MyBatchJob myBatchJob = new MyBatchJob();
;
if(myBatchJob.prompt())
{
myBatchJob.run();
}
}
バッチジョブのバッチリストに説明を含める場合は、静的description
メソッドをクラスに追加します。
server client static public ClassDescription description()
{
return "My batch job";
}