Skip to main content

Posts

Showing posts with the label RunbaseBatch

To schedule your batch job

1.In the AOT, right-click the Jobs node, and then select New Job. 2.In the Editor window, enter the X++ code shown in the following example, and then save the changes. 3.In the Editor window, press F7 to compile your job, and then press F5 to run your job. Note The result of your job is that your batch is scheduled to run. X++ static void Job_ScheduleBatch2(Args _args) { BatchHeader batHeader; BatchInfo batInfo; RunBaseBatch rbbTask; str sParmCaption = "My Demonstration (b351)"; ; rbbTask = new Batch4DemoClass(); batInfo = rbbTask .batchInfo(); batInfo .parmCaption(sParmCaption); batInfo .parmGroupId(""); // The "Empty batch group". batHeader = BatchHeader ::construct(); batHeader .addTask(rbbTask); batHeader .save(); info(strFmt("'%1' batch has been scheduled.", sParmCaption)); } 4.Click the Build menu, and then click Generate Incremental CIL. This CIL build is necessary because bat...

Creating a batch class in Dynamics AX

For creating a batch class in Dynamics AX we can start from the Tutorial_RunbaseBatch class, but here is the explanation for understanding all its methods: In the classDeclaration, we declare any variable that contains user's selection or preferences (for example, the customer account for launch a customer report). Also, we declare other variables like dialog fields, auxiliar variables, etc. But, the most important feature here, is the #localmacro.CurrentList declaration. This macro helps you to define which variables you want to save for running the class in batch mode (when not user interaction is available). class Tutorial_RunbaseBatch extends RunBaseBatch { // Packed variables TransDate transDate; CustAccount custAccount; // Dialog fields DialogField dlgCustAccount; DialogField dlgTransDate; // Current version // We can have different versions for different purposes #define.CurrentVersion(1) #define.Version1(1) #loca...