Dynamics AX Knowledge

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

需求:用户每天有多个主计划,要求在晚上自动运行

Axapta里面设定:

1,在MP->Setup->Plans->Master Plans里面建立多个主计划名称MP1,MP2

2,在Basic->Setup->Batch->Batch Groups里面建立多个组BG1,BG2

3,在MP->Periodic->Master Scheduling,使General:Mster Plan=MP1,Batch:Batch Processing enabled, batch group=BG1,其他参数根据需要去设定。这样可以将当前的主计划插入到Basic->Batch List-User.中。可以依照此,增加多个主计划到batch list-user中。

4,建立一个ERP帐号,001,对应一个网络帐号AD01,001权限要对,AD01是一个域帐号,用于自动登录。

服务器上设定(AX使用两层)

5,建立一个batch file, BF01.bat,内容如下:就是打开AX客户端的脚本,并传递参数BG01.

"C:\Program Files\Navision\Axapta Client\Bin\ax32.exe" "C:\DailyBatchJob\AX_2Tier.axc" -startupcmd=BG01

同样建立BF02.bat,传递参数BG02.

6,建立Schedule Tasks: ST1,让其运行BF01.bat,运行帐号是AD01,并要求密码保持与001的一致,设定好schedule和AD01对bat文件的权限。同样可以建立好ST2运行BF02.bat.

7,在AX SysStartupCmd Class的construct方法增加一个case      

case 'BG01', 'BG02':
            return new BGSysStartupCmdBatchRun(s,parm);

8,在AX 增加一个类 class BGSysStartupCmdBatchRun extends SysStartupCmd

void infoRun()
{
     HDM_batchRun batchRunHDMC = new HDM_batchRun();
     ;

        batchRunHDMC.parmGroupId(startupCmd); //Should ensure batch command is same as batch group
        if (batchRunHDMC.do())
        {
            info("yes");

        } else
        {
            info("no");
        }
     infolog.shutDown(true);

}

 9,HDM_batchRun Class如附件

posted on 2009-03-10 14:12  Jacky Xu  阅读(503)  评论(0编辑  收藏  举报