| |
Development III in Microsoft Dynamics AX
4.0
Course 8645; Instructor-Led
Prerequisites
It is required that students have general knowledge on the
following subjects:
• Object Oriented Analysis, Design and Programming
• Database Design and SQL
Please refer to the section Suggested Reading to obtain
references covering the subjects above.
It is required that students have completed:
• Development II: Introduction to X++
It is assumed that the student has been working with development
in Microsoft Dynamics AX and has gained some experience
on the topics covered by Development I & II.
Microsoft Certified Professional Exams
No Microsoft Certified Professional exams are associated with
this course currently.
Course Outline
Chapter 1: Development Environment and Tools
This chapter gives a comprehensive foundation for the use
of the development environment and integrated tools.
Topics
Development environment
• Files (Client, Application, Server)
• Transfer of modifications to test environment
• AOS Setup
Application architecture
• X-references
• Application hierarchy browser
• Microsoft Visio
Performance/monitoring
• Debugger
• System Monit
• Method Trace
• Development Warnings
• SQL Trace
• Query Time Limit
• Deadlocks
• Database Trace
• Code Profiler
Application upgrade
• Compare tool
Lab • Use the tools to analyze the structures
of the standard application.
• Find the bottleneck in a specific function in the standard
application
• Make an upgrade of a project containing a few modified application
objects.
After completing this module, students will be able
to:
• make a transfer of modifications from the development
environment to test or live environment
• browse, examine, analyze and understand the structures
of the standard application
• use the monitoring tools and interpret the related reporting
• understand the upgrade of modifications from one version
or service pack to another version or service pack
Chapter 2: Fetching Data
This chapter focuses on fetching data from the database.
The goal is to make optimal communication with the database
with respect to performance. In addition, the student will
have knowledge in how to use temporary tables.
Topics
• Query (Structure, Properties)
• Cost based optimizer
• while select (Syntax, Qualifiers, Field lists, Join, Placeholders/Literals)
• Caching
• Locking
• Temporary tables
Labs
• Build a query in the AOT and with X++
• Create a fetch using a query and a while select
• Improve performance by implementing display-method caching
• Reduction of locking
• Use of multiple instances of a temporary table.
After completing this module, students will be able
to:
• program optimal database access
• understand the concept of literals and placeholders
• understand the caching mechanisms in Microsoft Dynamics
AX
• use temporary tables in classes, forms, and reports
Chapter 3: Classes
This chapter shows how to create and modify classes and
methods, according to Best Practices using object oriented
concepts.
Topics
Object Oriented implementation in Microsoft Dynamics AX
Most important differences from the standard application
and C#, VB.NET and Java examples
• Classdeclaration
• Variables
• Data members
• Methods (qualifiers, parameters and return value)
• Overriding/Overloading
• Access modifiers
• Types of Microsoft Dynamics AX Classes (Examples in parenthesis)
Application classes
• Basic functionality (Dialog)
• Wrapping of general routines (NumberSequence)
• Form support classes (LedgerJournalEngine)
• Table "polymorphism" (SalesTableType)
• API to the modules (LedgerVoucher, CustVoucher)
• Batch processing (RunBase)
Kernel classes
• Tools (Binary, DialogBox, RecordSortedList)
• Application objects (FormDataSource, QueryBuildRange,..)
• Integration (COM, ODBC, IO)
• System classes (xApplication, xCompany, xInfo)
• Runbase framework
• Args-objects
Labs
• Design an abstract class
• Design and implementation of an interface.
• Implementation of accessor methods
• Implementation of foundation classes
• Use of kernel classes to access metadata
• Implementation of exception handling
• Design and implement a new class hierarchy using polymorphism.
• Create a new class using the Runbase-framework.
• Modify the class LedgerExchAdj to include a query and
to initialize the query from the current selected account
in the form.
After completing this module, students will be able
to:
• understand the implementation of the object oriented concept
in Microsoft Dynamics AX
• create a new class according to Best Practice
• understand and implement a solution using polymorphism
• use the RunBase-framework to create new batch processes
• transfer information using the args-object
Chapter 4: Forms
This chapter discusses how to create and modify advanced
forms.
Topics
• Architecture
• AOT (general methods, datasource, design)
• Kernel classes and object model
• Properties
• Best practice (Initializing via args, Design, Validation
/ Modification)
• Placement of code (Priority: Table, Support class, Datasource,
Design)
• Top ten methods to use
• Handles to the objects in forms
• Interaction between form and RunBase classes
• Queries. Synchronizing (Active/Passive), Joins, Modify
by code (Filtering, Sorting, Aggregation)
• Special controls in short (ActiveX, List view, Table,
Tree, Window)
• Special forms (Lookup, Wizard)
• Activate a form from X++ using ClassFactory
Labs
• Modify the form with customer transactions to toggle between
active and passive synchronizing.
• Create a form with ledger transactions to include dynamic
modification of filtering.
• Modify the employee form to include a web browser control.
• Create a lookup form to select an item which includes
a picture of the item.
After completing this module, students will be able
to:
• understand the structure of a form and the underlying
kernel classes
• make decisions of where to place the code
• use the top-ten methods in forms
• dynamically modify the fetch of data
Chapter 5: Reports
This shows how to fetch data into reports based on queries
or X++ code.
Topics
• Architecture
• AOT (general methodsobject model
, data sources, design)
• Kernel classes and
• Top ten methods to use
• Handles to the objects in reports
• The RunBaseReportStd framework
• Fetch data by Query and X++
• Templates / Autodesign / Design
• Use of temporary tables for consolidation
• Calculation on (sub)totals
• Report Wizard
Labs
• Create a report using aggregate functions.
• Create a report using a temporary table to consolidate
date from multiple sources.
• Create a report which dynamically modifies of some controls.
• Create a report with calculations on totals.
After completing this module, students will be able to:
• understand the structure of a report and the underlying
kernel classes
• make decisions of where to place the code
• implement a dialog using the RunBaseReportStd framework
• understand the principles of fetching data in a reports
• make dynamically changes to the design
• use temporary tables for consolidation
|
|