In this post, you can learn about the following: 1. Batch Server Configuration Learn about how to set maximum no. of threads and their scheduling. Indicating which AOS instances are batch servers and which are load balancers. 2. Batch Group Configuration Learn how to configure batch groups. Select AOS instances available for your batch job. 2.... Continue Reading →
AX 2012: Batch Groups
To configure a batch group, navigate to: System Administration → Setup → Batch Group 1. On the batch group form, click on the New button to create a new batch group. 2. Give it a suitable name and description. 3. Switch to Batch Servers tab to view available servers for batch processing. 4. Shift the desired servers... Continue Reading →
AX 2012: How to view batch jobs running
After triggering the batch job, go to System Administration > Inquiries > Batch jobs and open Batch jobs form. Here you can see your batch job queued for execution. If you want to expedite running your batch job, you can change the status to Withhold of jobs queued to run before your job. To change... Continue Reading →
AX 2012: Batch Server Configuration
To configure an AOS instance as a batch server go to System Administration > Setup > System and open Server Configuration form. Select the AOS instance to configure from the grid on the left. Check Is batch server to specify this instance as a batch server. Expand the fast tab Batch Server Schedule. Mention the Maximum... Continue Reading →
AX 2012: Access Denied: SysOperationServiceController
Recently I came across the following exception while executing a batch job via a menu item. The batch job has been written using the SysOperation Framework. Exception: Resolution: To fix this, please follow the steps below: Create Code Permission Link it with the menu item Code Permission: Create a new code permission under AOT >... Continue Reading →
AX 2012: How to debug batch jobs and service operations?
All the batch jobs and service operations now run in the managed code (IL) and therefore breakpoints set in x++ do not get hit as expected! Instead you should be setting breakpoints in the IL code in Visual Studio. Here are the steps you would be following to do so: 1. Open Visual Studio as... Continue Reading →
AX 2012: crossCompany delete_from
Although we cannot use crossCompany keyword with delete_from command, we can still achieve the same functionality with some performance overhead as follows: static void JobCCDel( Args _args ) { Table21 tab21a, tab21b; ttsBegin; while select crossCompany minof(ratingNum), dataAreaId from tab21a group by dataAreaId { changeCompany(tab21a.dataAreaId) { tab21b = null; delete_from tab21b where tab21b.ratingNum == tab21a.ratingNum;... Continue Reading →
AX 2012: crossCompany update_recordset
Although we cannot use crossCompany keyword with update_recordset command, we can still acheive the same functionality with some performance overhead as follows: static void JobCCForUpdMethod(Args _args) { Table21 tab21; ttsBegin; while select forUpdate crossCompany countOfReviews from tab21 { changeCompany(tab21.dataAreaId) { tab21.countOfReviews = tab21.countOfReviews + 2; tab21.update(); } } ttsCommit; }
AX 2012: crossCompany insert_recordset
Although we cannot use crossCompany keyword with insert_recordset command, we can still achieve the same functionality with some performance overhead as follows: static void JobCCIns(Args _args) { Table21 tab21; Table22 tab22; ttsBegin; while select crossCompany actionDate, name, dataAreaId from tab21 where tab21.actionDate > str2Date('1998-01-22', 321) { changeCompany(tab21.dataAreaId) { tab22 = null; tab22.actionDate = tab21.actionDate; tab22.name... Continue Reading →
AX 2012: Display methods – Different datasources – Same control
AX developers always come across a requirement of showing data from different datasources on the same control though these datasources should be related to each other. The solution to this requirement is to define display methods on the table which you choose to be the control datasource. Display methods are very handy for showing data... Continue Reading →