|
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
Materials
The student kit includes a comprehensive workbook and other necessary
materials for this class.
The following
is provided in the student kit:
• Development
III: Advanced X++ Course Manual
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 Monitoring
• Method Trace
• Development Warnings
• SQL Trace
• Query Time Limit
• Deadlocks
• Database Trace
• Code Profiler
Application
upgrade
• Upgrade
project
• 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 methods, data sources, design)
• Kernel classes and object model
• 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
Appendix
A: Solutions
This Appendix
contains all the answers to the chapter exercises, Test Your Knowledge,
and Test Your Skills sections.
Suggested
Reading
It is required
that students as a part of the prerequisites have a knowledge level on
the following subjects as described in this literature:
Object oriented
analysis and design
• Inside
Microsoft Dynamics AX 4.0, Arthur Greef, Michael Fruergaard Pontoppidan,
Lars Dragheim Olsen; ISBN: 0-7356-2257-4
• Object-Oriented Modeling and Design, James Rumbaugh, Michael Blaha,
William Premerlani, Frederick Eddy, William Lorensen; Prentice Hall International
Editions; ISBN: 0-13-630054-5
Database
design and SQL
For more
information or to give feedback, send e-mail to info@OneApex.com or call
949-597-2100
|