Tuesday, March 4, 2014

Class Structure Of FormLetter Framework In Microsoft Dynamics Ax 2012

 Class Structure
Of
FormLetter Framework
In
Microsoft Dynamics Ax 2012


v  There are very strong changes made by Microsoft in formletter framework for Dynamics Ax 2012. This change creates several new class hierarchies in formletter framework for Dynamics Ax 2012. FormLetter class of Microsoft Dynamics Ax 2009 has been divided in eight base classes in Dynamics Ax 2012 like...

Ø  FormletterServiceController
§  It’s a class which is comes in interaction which posting form and it is executed at client end. It’s gathered the information for posting operation and passes that information to ‘formLetterService’ class using contract class.
§  It’s a parent class for class like ‘salesFormLetter’and ‘purchFormLetter’.
Ø  FormLetterContract
§  It’s a data contract class for formletter framework in dynamics ax 2012.
§  Its work as intermediary class between ‘formLetterServiceController’ class and ‘formLetterService’ class, its pass the information for posting operation from ‘formLetterServicesController’ class to ‘formLetterServices’ Class.
§  Parm methods are used that class to set and get the data.
§  This class has same class hierarchy structure like ‘formLetterServiceController’ class; ‘formLetterContract’ is parent class of ‘salesFormLetterContract’ and ‘purchFormLetterContract’ classes.

Ø  FormLetterParmData
§ It is use to create and maintain data for posting operation such as pickingList andpackingSlip.
§ It stores the data for posting in various parm tables like ‘salesParmUpdate’ table, ‘salesParmTable’ table.
§ The class has hierarchy like ‘formLetterParmData’ is parent class of ‘salesFormLetterParmData’ and ‘purchFormLetterParmData’.
§  And have one child class for each document type like ‘salesFormLetterParmDataPickingList
§  This class has three public API:
·         Create Data      : which create data used in posting.
·         ReSelect           : which recreate data based on selected specQty.
·         ReArrange      : which rearrange data based on summery update.

Ø  FormLetterService
§  This class is use to control the posting flow of journals. Its bound with server and executes in IL
§  This class is very important for posting functionality. Run method of this class post every document in Dynamics Ax 2012.
§  Its call the class used to create the data for posting, create, post and print the journal.
§  The class has services operation class for each and every document type for posting.

Ø  FormLetterProvider
§  The ‘FormletterProvider’ class can be used to provide module specific data to each of the other class hierarchies.
§  It has one child class for each module like ‘salesFormLetterProvider’.

Ø  FormLetterJournalCreate
§ ‘FormLetterJournalCreate’ is responsible to create the header level data as well as line level data for each and every journal in Dynamics Ax 2012.
§  And same as ‘formLetterParmData’ class, there are one child class for each document type like ‘salesPickingListJournalCreate’ class.

Ø  FormLetterJournalPost
§‘FormLetterJournalPost’ class is used to post each Journal created by ‘formLetterJournalCreate’ class.
§  There is also one class for each document type same as ‘formLetterJournalCreate’ class like ‘salesPickingListJournalPost’.
§  The class is initiated by run method of ‘formLetterService’ class and verified that each and every journal is created and passed in.

Ø  FormLetterJournalPrint
§  This class is used to control the printing operation of one and more journal document in Dynamics Ax 2012.
§  Same as ‘formLetterJournalCreate’ and ‘formLetterJournalPost’ classes, its also have one class for each document type.

      
Ø  Class Diagram of  formLetter framework of Microsoft Dynamics Ax 2012



v  If you want build a customized posting functionality in Microsoft Dynamics Ax 2012 then you have to make following new set of classes…

Ø  The below is the class which is used specifically for picking list

§  SalesFormLetter_PickingList
§  salesFormLetterPickingListContract
§  salesFormLetterParmDataPickingList
§  SalesEditLinesForm_PickingList
§  SalesEditLinesForm_PickingListTrans
§  SalesQuantity_PickingList
§  SalesSummeryFields_PickingList
§  SalesPickingListJournalCreate
§  salesPickingListJournalPost
§  salesPickingListJournalPrint
§ taxUnrealizedPickingList
§  salesPickingListController
§  salesPickingListContract

Note: The above methods are for picking list, if you want to build the customized posting then you have to build all new classes same as above.

v  There are some common classes which are used in all type of posting; you have to modify each class and every method in respect of your customized posting functionality.

§  formLetterServices
§  formLetterParmData
§  formLetterJournalPost
§  formLetterJournalCreate
§  salesFormLetter
§  salesFormLetterParmData
§  salesFormLetterContract
§  salesEditLinesForm
§  salesQuantity
§  salesSummeryFields
§  salesTableForm
§  salesLineType
§  salesTableType
§  salesTableListPageInteraction
§  salesTableCanBeUpdatedContract
§  salesTableCheckIfUpdatedContract
§  salesTableInteractionHelper
§  salesTableInteraction
§  inventQualityManagementCreatehandler

No comments:

Post a Comment