web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Answered

What is the major class and what is the optional class in SysOperationFramework in Ax 2012

(0) ShareShare
ReportReport
Posted on by 632

Dear Friends,

Please tell me the name of major classes and optional classes in SysOperationFramework in Ax 2012.

Thanks & Regards,

Rahul

I have the same question (0)
  • nmaenpaa Profile Picture
    101,166 Moderator on at

    Check this white paper: www.microsoft.com/.../details.aspx

  • guk1964 Profile Picture
    10,888 on at

    The key objects of the framework are :

    • Service:  Developers should not  add the business logic in controller classes, which violates the Single responsibility principle. The programmers  made a way to separate the operation i.e. create a service class. The Service class extends from the SysOperationServiceBase class and contains the business logic for the batch operation . This class  should contain all the business logic. When constructing your controller, indicate which class holds the operation that the controller will trigger.

    • Data Contract: Data contract class is the model class use to define attributes for batch operations. These attributes are provided by the user, in a dialog. A DataContractAttribute attribute is needed for the class and the properties methods requires a DataMemberAttribute attribute. It’s nothing more than a model class with a few attributes in it. You can extend theSysOperationDataContractBase base class  to define our labels, groups, sizes and types of  parameters.

    • Controller: Controller class extends from the SysOperationServiceController class, which will give you all of the methods you need. It  is the class that orchestrates the whole operation. The controller class holds information about the operation, such as: when it should show a progress form, when it should show the dialog, and its execution mode – asynchronous or not.

    • UI Builder: The UI builder class is an optional class for the SysOperation framework, which  acts like the view part of the pattern. Use it if to add extra behavior to the dialog that AX constructs dynamically. If you are happy with the Ax dialog AX shows when you run your operation, then you don't need this class. UI Builder class extends from SysOperationAutomaticUIBuilder class and is used for adding custom behavior to dialog / dialog fields dynamically constructed by the SysOperation framework. It will provide you a set of methods to work with the dialog’s design, but more usually add extra behavior, or customize a lookup inside the postBuild method.

  • Rahul.p Profile Picture
    632 on at

    Thanks for your reply:

    I got it.

    1. Contract class, Controller class and Service Class is major class.

    2. UI Builder Class is optional class.

    Could you tell me can we use DP class also for write our logic in SysOperationFramework?

  • Martin Dráb Profile Picture
    239,108 Most Valuable Professional on at

    It all depends on your definition of "major" and "optional". I would argue that these terms aren't even mutual exclusive.

    For instance:

    • You don't have to implement your own controller but there always will be one (you can use the standard controller if you don't need any specialize behavior). Therefore a controller is non-optional but writing a new one is optional.
    • Contract class isn't strictly necessary, although it's very important in many cases. Therefore it's optional but it may be consider major.
    • You can create a dialog without a custom UI builder class, because there is a default UI builder. People often don't realize that there is a UI builde involved, but in fact there must be something doing the magic.

    If you mean Data Provider classes, notice that they're use by the reporting framework which is a specialization of SysOperationFramework (e.g. SrsReportRunController extends SysOperationController).

  • Rahul.p Profile Picture
    632 on at

    Could you tell can we use DP class also?

    Because DP class is extend "SRSReportDataProviderBase".

  • Verified answer
    Martin Dráb Profile Picture
    239,108 Most Valuable Professional on at

    RDP classes are used to provide data for reports; they're not a part of the SysOperation framework.

    As I explained in my previous reply, the reporting framework is based on the SysOperation framework, but that's used for executing reports. Things like data provider classes belong to the business logic executed by the framework, not to the framework itself.

    I don't know your definition of "to use DP class", but if you know understand how it works, you should be able to answer your question by yourself.

  • Rahul.p Profile Picture
    632 on at

    Thank's for your reply Martin Dráb.

    I got the point.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Meet the Microsoft Dynamics 365 Contact Center Champions

We are thrilled to have these Champions in our Community!

Congratulations to the March Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Giorgio Bonacorsi Profile Picture

Giorgio Bonacorsi 733

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 461 Super User 2026 Season 1

#3
Syed Haris Shah Profile Picture

Syed Haris Shah 278 Super User 2026 Season 1

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans