Skip to main content

Posts

Showing posts with the label sysOperation Framework

AX 2012 - sysOperation Framework - Use controller class to open dialog from AX form

In my previous post on  sysOperation framework Example  I described how the sysOperation framework can be used for the batch functionality in contrast to RunBaseBatch framework. In this post I will explain how you can use sysOperation Framework  classes to open a dialog from a AX form using contract and controller classes and then run logic in Service class. In this example I added a new menu item "Example" on projProjectsListPage form which will call controller class. This example is create project transactions using service calls at the end. First we need to create a contract class which holds parameters (dialog fields value or user input). To keep it simple I only added two parameters ProjId (Project Id) and ProjContractId (Project Contract Id). That's the model part of MVC pattern and view part is automatically created by using these data member attributes. [DataContractAttribute] class  FF_ExampleContract {     ProjId ...

AX 2012 - sysOperation Framework implementation [Example]

This post demonstrates how to create batch classes using Business Operation Framework (or sysOperation). We used to use RunBaseBatch framework to implement batch functionality before this new concept of AX services was taken in place. Compensations of BOF (or sysOperation) framework over RunBaseBatch are very well explained here  http://daxmusings.codecrib.com/2011/08/from-runbase-to-sysoperation-business.html .  Key points RunBase/RunBaseBatch Vs sysOperation Frameworks The sysOperation framework is an implementation of the MVC pattern  (Model-View-Controller) Model - parameters [contract class] View - Dialog [contract class or an optional UI builder class] Controller - Process (the code that runs in the essence of pattern) The framework influence the Services framework, whereas a service in AX has a data contract with some special attributes DataMember attributes in contract class take the entered values in parameters (dialog fields) to ...