Create BatchJob with RunBaseBatch in X++


13/05/2020- duocnt    1027 Views    

NỘI DUNG.

  1. Tạo table chứa dữ liệu mỗi lần BatchJob chạy.
  2. Tạo class BatchJobTmp extends RunBaseBatch và các phương thức cần thiết.
  3. Tạo ActionMenu để gọi class batchjob.
  4. Start Service "Microsoft Dynamics 365 Unified Operations: Batch Management Service".
  5. Tạo Batch Group.
  6. Gọi class và thiết lập các thông số cho BatchJob trong "Run in the background".
  7. Kiểm tra trạng thái của BatchJob.
  8. Kiểm tra dữ liệu sau khi BatchJob chạy.



THỰC HIỆN.

1 . Tạo table chứa dữ liệu mỗi lần BatchJob run.

 - Tạo table batchjobdatatmp với 1 field kiểu dữ liệu là UtcDateTime. 

 - Đặt name cho Field là RunAt.

2 . Tạo class BatchJobTmp extends RunBaseBatch và các phương thức cần thiết.

class BatchJobTmp extends RunBaseBatch
{
    server static BatchJobTmp construct()
    {
        return new  BatchJobTmp();
    }
 
    public static ClassDescription description()
    {
        return "Trial BatchJob";
    }
 
    ///<summary>
    ///
    ///</summary>
    public void run()
    {
        super();
        utcdatetime _runat;
        BatchJobDataTmp _tmp;
 
        _runat =   DateTimeUtil::getSystemDateTime();
        _tmp.RunAt  =  _runat;
        _tmp.insert();
    }
 
    public static void main(Args _args)
    {
        BatchJobTmp batchProcess = BatchJobTmp::construct();
        if(batchProcess.prompt())
        {
            batchProcess.run();
        }
    }
}

3 . Tạo ActionMenu để gọi class BatchJobTmp.


4 . Start Service "Microsoft Dynamics 365 Unified Operations: Batch Management Service".


5 . Tạo Batch Group.





6 . Gọi class BatchJobTmp và thiết lập các thông số cho BatchJob trong "Run in the background".

 - Trong ví dụ này, sẽ thiết lập cho BatchJob chạy 5 lần mỗi 2 phút.





7 . Kiểm tra trạng thái của BatchJob.

 - Khi BathJob chưa thực hiện xong theo số lần thực hiện đã setup ở trên, status của BatchJob sẽ là "Waiting".

 - Chọn BatchJob và click vào "Batch job history" để xem lịch sử chạy Batchjob.



 - Khi BatchJob đã thực hiện xong hết số lần như setup, status sẽ chuyển thành "Ended"

8 . Kiểm tra dữ liệu sau khi BatchJob chạy.

 - Với code bên trên, mỗi lần batchjob chạy sẽ lấy ngày và giờ hiện tại, insert vào table BatchJobDataTmp.

 - select * From BatchJobDataTmp

 - Khảo sát dữ liệu từ SQL Server, table BatchJobDataTmp được insert vào 5 dòng dữ liệu và mỗi dòng dữ liệu được insert vào cách nhau 2 phút.

Góp ý kiến

;
;