This post is machine-translated. The original post in german language can be found here.

SysOperation-Framework: Force Batch Processing

If you want to make sure that a function implemented via the SysOperation-framework is always executed via batch processing, you can set the SysOperationExecutionMode to ScheduledBatch (e.g. via the MenuItem of the controller - see here).

If this is a function that requires a user dialog, however, the problem is that the "Batch" tab is displayed by default and, for example, the "Batch" check box is not activated there.

Of course you can activate this checkbox by including a call to parmBatchExecute() in the UIBuilder:

public void build()

    this.controller().batchInfo().parmBatchExecute(this.controller().parmExecutionMode() == SysOperationExecutionMode::ScheduledBatch);

However, one still has the problem that the user could deactivate the checkbox in the firm conviction that this would not send the function to batch processing.

If you want to prevent this, you can overwrite the method postRun() of the UIBuilder as follows:

public void postRun()

This looks as follows in the dialog. Now the user can see that the function is executed in batch.

Screenshot Dialog

Alternatively you could deactivate the whole register Batch in the postRun(), but then you cannot specify a batch processing group anymore:

public void postRun()
    SysOperationDialog sysOperationDialog;
    DialogTabPage dialogTabPage;
    FormRun formRun;


    sysOperationDialog = this.dialog() as SysOperationDialog;

    formRun = sysOperationDialog.formRun();
    dialogTabPage = sysOperationDialog.batchDialogTabPage();


It would look like this:

Screenshot Dialog

These post applies to following version:
Dynamics AX 2012

Add comment


Posts of the actual month
Februar 2024
© 2006-2024 Heinz Schweda | Imprint | Contact | German version | Mobile version
In order to provide you with better service, this site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.