|
Prerequisites
Before attending this course, students must:
|
.
|
Have completed Microsoft Axapta Development III: X++ Advanced
|
|
.
|
Be familiar with the development tool suite
|
|
.
|
Be able to make changes to the Data Dictionary including best
practices with regards to design and implementation
|
|
.
|
Be able to create and implement forms
|
|
.
|
Be able to manipulate data within forms, including building
queries, display and edit methods,
|
|
.
|
Be able to create and implement classes
|
|
.
|
Understand the main concepts of Object Oriented Design (OOD),
including inheritance, overriding & overloading, polymorphism, constructors
and static methods.
|
|
.
|
Be familiar with Exception handling
|
|
.
|
Be familiar with foundation classes
|
|
.
|
Be familiar with the RunBase set of classes
|
|
.
|
Have a basic knowledge of the application
|
Microsoft Certified Professional Exams
No Microsoft Certified Professional exams are associated with
this course currently.
Course Materials
The student materials includes a comprehensive workbook,
exercises and solutions, and other necessary items for this class.
Course Outline
Introduction
This chapter gives students a general overview of Microsoft
Axapta Development IV: X++ Application Integration course.
Main Topics
|
.
|
About this class
|
|
.
|
What you will learn
|
|
.
|
Pre-requisites
|
After completing this chapter, students should be:
|
.
|
Aware of the course structure
|
Chapter 1: Case Study
This chapter outlines the case study that will be undertaken
throughout the course. As the different technical and application specific
areas are taught, the POS module is developed. This chapter introduces the
initial basic design from which the student will build the module, and the
students contribute to their own final design.
Main Topics
|
.
|
Introduction to Point-of-Sales Module
|
|
.
|
POS Module basic design
|
Labs
|
.
|
Create basic design elements
|
After completing this chapter, students should:
|
.
|
Understand some of the components that would be needed for a
POS module
|
|
.
|
Have a basic POS module, on which to build during the course
|
Chapter 2: Development Guidelines
This chapter covers some advanced X++ functions that are used
frequently in the application, and that the student may not be familiar with.
Main Topics
|
.
|
Data Migration
|
|
.
|
InitFrom
|
|
.
|
Parm Tables
|
|
.
|
RecordSortedList
|
|
.
|
RecordInsertList
|
|
.
|
Field Reference by Field Id
|
|
.
|
Orig()
|
|
.
|
ChangeCompany
|
|
.
|
Editor Scripts
|
Labs
|
.
|
Field initialized on salesLine from inventTable
|
|
.
|
Performance test for RecordInsertList
|
|
.
|
Editor script to comment selected block
|
After completing this chapter, students should be able to:
|
.
|
Make informed decisions about the method used during data
migration
|
|
.
|
Understand the reasons for using InitFrom
<tablename> methods
|
|
.
|
Use ParmId and ParmTables
|
|
.
|
Use RecordSortedList and RecordInsertList
|
|
.
|
Reference fields using the field id.
|
|
.
|
Refer to records before they were updated using Orig()
|
|
.
|
Temporarily jump to another company with your code
|
|
.
|
Use and modify editor scripts
|
Chapter 3: Number Sequences
Number sequences are created and used by all programmers
regularly, and so should be used correctly. This chapter highlights the correct
way to create a new number sequence and how to use a number sequence in code.
It also explores the more advanced options available.
Main Topics
|
.
|
Technical Overview
|
|
.
|
Tables
|
|
.
|
Classes
|
|
.
|
Assigning a new number
|
|
.
|
Continuous Number Sequences
|
|
.
|
Formatting
|
|
.
|
Pre-Allocation
|
|
.
|
Clean Up
|
|
.
|
Form Handler
|
|
.
|
NumberSeqReference
|
Lab
|
.
|
Create a new number sequence
|
|
.
|
Use NumberSeqFormHandler in POS form
|
After completing this chapter, students should:
|
.
|
Gain an overview of how number sequences are used in the
application
|
|
.
|
Understand how the number sequence API works
|
|
.
|
Know how to use the number sequence API within your code
|
|
.
|
Be able to make decisions about how to implement use of the
number sequence API within your code.
|
|
.
|
Know where to find examples of its use in Microsoft Axapta
|
Chapter 4: PrintJobSettings
PrintJobSettings are used to control and retrieve settings when
writing to a printer. This chapter details how to use these correctly.
Main Topics
|
.
|
Setting Print Options
|
|
.
|
Retrieving Print Options
|
|
.
|
Pack \ Unpack
|
Lab
|
.
|
Enable print options to be saved per POS register
|
|
.
|
Print a receipt to the correct printer according to the logged
in register
|
|
.
|
Print a receipt with no user options
|
After completing this chapter, students should be able to:
|
.
|
Control printing within code
|
|
.
|
Retrieve specific information on a print job
|
|
.
|
Save printer settings for use at a later time
|
|
.
|
Retrieve previously saved printer settings
|
Chapter 5: COM
This chapter gives some simple examples of using COM to
interface to other applications from Microsoft Axapta, and to Microsoft Axapta
from other applications.
Main Topics
|
.
|
Finding Help
|
|
.
|
Word
|
|
.
|
Excel
|
|
.
|
Outlook
|
|
.
|
Microsoft Axapta Business Connector
|
|
.
|
.NET
|
Lab
|
.
|
Create an interface to a C# .NET Front end to the POS module
|
|
.
|
Print word documents to a specified printer.
|
After completing this chapter, students should be able to:
|
.
|
Use a number of commonly available COM objects
|
|
.
|
Find more information on a specific COM object
|
|
.
|
Access the Microsoft Axapta database from an external program
|
|
.
|
Execute Microsoft Axapta business logic from an external
program
|
Chapter 6: XML
This chapter explores the use of XML within Microsoft Axapta.
It gives the student an idea of some of the possibilities available with XML
and gives examples of where XML is used today.
Main Topics
|
.
|
Creating XML files
|
|
.
|
Reading XML files
|
|
.
|
Schemas
|
Lab
|
.
|
Enable print options to be saved per POS register
|
|
.
|
Print a receipt to the correct printer according to the logged
in register
|
|
.
|
Print a receipt with no user options
|
After completing this chapter, students should be able to:
|
.
|
Create basic XML files from Microsoft Axapta data
|
|
.
|
Read basic XML files into Microsoft Axapta
|
Chapter 7: ActiveX
In this chapter the student learns how to add Active-X
controls, how to manipulate them and how to find more information about how to
use other active-x controls
Main Topics
Lab
|
.
|
Add a web browser to the vendor table
|
|
.
|
Display a different error page
|
After completing this chapter, students should be able to:
|
.
|
Use ActiveX control in Microsoft Axapta
|
|
.
|
Understand the possibilities of using ActiveX controls
|
|
.
|
Find more information on using specific ActiveX controls
|
Chapter 8: DLL
This chapter discusses DLL's. It describes what they are, how
they are created and how to use them in Axapta.
Main Topics
|
.
|
Creating a DLL
|
|
.
|
Implementing DLL's in Axapta
|
|
.
|
ChartFX
|
Lab
|
.
|
Create a graph of customer balance over time
|
After completing this chapter, students should be able to:
|
.
|
Understand what DLL's are and what they can be used for
|
|
.
|
Find more information about individual DLL's
|
|
.
|
Understand how and where the use of DLL's has been implemented
in Microsoft Axapta.
|
|
.
|
Write Microsoft Axapta methods to make using DLL's easier
|
Chapter 9: Ledger
This chapter helps the student understand two methods of
posting transactions to the General Ledger. Due to the many varied situations
that this could occur, there are a number of ways to approach this.
Main Topics
|
.
|
LedgerVoucher
|
|
.
|
Instantiation of LedgerVoucher
|
|
.
|
Instantiation of LedgerVoucherObject
|
|
.
|
Registering the LedgerVoucherObject with the LedgerVoucher
|
|
.
|
Instantiation of LedgerVoucherTransObject
|
|
.
|
Providing the transaction text
|
|
.
|
Registering the LedgerVoucherTransObject with the LedgerVoucher
|
|
.
|
Finalizing the posting
|
|
.
|
LedgerJournal
|
|
.
|
Creating the Journal
|
|
.
|
Creating Lines
|
|
.
|
Posting Journals
|
Lab
|
.
|
Write an End of Day routine for the POS Module
|
|
.
|
Import opening balances into ledger
|
After completing this chapter, students should be able to:
|
.
|
Understand the concepts behind the two main methods of posting
transactions to the general ledger
|
|
.
|
Determine which is the best method to use in the different
situations faced while making modifications
|
|
.
|
Make decisions regarding voucher numbers, currency, transaction
types etc.
|
Chapter 10: Trade
The most common area for modifications in Microsoft Axapta is
the sales and purchase updates. This chapter explores the FormLetter
constructs, and takes the students throught the code. There are also an number
of journals associated with these modules and the are also be discussed.
Main Topics
|
.
|
TableType and LineType
|
|
.
|
Posting and Printing Document Updates
|
|
.
|
Posting Transactions
|
|
.
|
Settlement
|
|
.
|
Trade Agreement
|
Lab
|
.
|
Post payments to AR
|
|
.
|
Post the sales order invoice when posting payments
|
|
.
|
Settle invoice and payment transactions
|
|
.
|
Calculate a special offer campaign price
|
After completing this chapter, students should be able to:
|
.
|
Understand how SalesTableType, SalesLineType, PurchTableType
and PurchLineType are used
|
|
.
|
Create sales and purchase orders correctly from within code
|
|
.
|
Follow the flow of sales and purchase order updates
|
|
.
|
Make modifications to the order update process
|
|
.
|
Post customer and vendor transactions from within code
|
|
.
|
Settle customer and vendor transactions
|
|
.
|
Understand how trade agreement prices and discounts are
calculated.
|
Chapter 11: Inventory
This chapter explores both ways in which to post inventory
transactions, and also how to manipulate inventory dimension during both
posting and when retrieving data. Inventory dimension are discussed in detail
and once the student has seen examples of how to use them, they will understand
the concept easily.
Main Topics
|
.
|
Inventory Journals
|
|
.
|
Creating an Inventory Journal
|
|
.
|
Creating the Journal Header
|
|
.
|
Creating Lines
|
|
.
|
Posting Journals
|
|
.
|
Inventory Dimensions
|
|
.
|
InventMovement
|
|
.
|
InventUpdate
|
|
.
|
InventUpd_Reservation
|
|
.
|
InventSum
|
|
.
|
InventAdj
|
Lab
|
.
|
Add inventory dimensions to the POS form
|
|
.
|
Display quantity on hand on POS form
|
|
.
|
Create a reservation classification function
|
After completing this chapter, students should be able to:
|
.
|
Create and post inventory journals
|
|
.
|
Understand the concept behind inventory dimensions
|
|
.
|
Use inventory dimensions correctly and efficiently
|
|
.
|
Understand the concept behind inventSum
|
|
.
|
Use inventSum correctly and efficiently
|
|
.
|
Create and update inventory transactions through standard
classes
|
|
.
|
Retrieve inventory data using inventSum and inventory
dimensions.
|
|
.
|
Understand the concept behind inventory adjustments
|
|
.
|
Follow the flow of the routines used to make adjustments,
recalculate and close inventory.
|
Chapter 12: Production
This chapter introduces the student to the workings of the
production module. The update of production order status is introduced as well
as the requirement calculation
Main Topics
|
.
|
ProdMulti
|
|
.
|
ProdStatusType
|
|
.
|
ProdUpd
|
|
.
|
Scheduling
|
|
.
|
Requirement Calculation
|
Lab
|
.
|
Initialise a field on the BOM journal lines from the production
order
|
|
.
|
Initialise a field on production table from sales lines, in
requirement calculation
|
After completing this chapter, students should be able to:
|
.
|
Understand how updates to single and multiple production orders
are performed
|
|
.
|
Understand how the production order status is controlled
|
|
.
|
Know where updates to the production order status are made
|
|
.
|
Understand how scheduling of production orders takes place
|
|
.
|
Make modifications to production order updates
|
Chapter 13: Project
This chapter introduces the project module and some of the
basic constructs within it. The student will learn to create the different
types of journals, how invoice proposals are created and how invoices are
posted.
Main Topics
|
.
|
Design
|
|
.
|
Transactions
|
|
.
|
Forecast
|
|
.
|
Invoice Proposal
|
|
.
|
Invoice
|
|
.
|
ProjTrans Class
|
|
.
|
Posting Transactions
|
|
.
|
Invoice Proposal
|
|
.
|
Invoice
|
Lab
|
.
|
Stamp timesheets with a warranty item
|
|
.
|
Enable an invoice proposal to be put on hold
|
After completing this chapter, students should be able to:
|
.
|
Understand the structure and design of the project module
|
|
.
|
Post transactions to the project module
|
|
.
|
Make modifications to the project invoice proposal procedure
|
|
.
|
Make modifications to the project invoice procedure
|
Chapter 14: Commerce Gateway
In this chapter the student will learn about how Axapta
communicates with a BizTalk server, and will look at creating inter-company
sales and purchase orders
Main Topics
|
.
|
AxInternalBase
|
|
.
|
Document Value Conversions
|
|
.
|
Biztalk
|
|
.
|
Send XML
|
|
.
|
Receive XML
|
|
.
|
Inter-Company
|
Lab
|
.
|
Add a proposed delivery date
|
|
.
|
Create reference table records in another company
|
After completing this chapter, students should be able to:
|
.
|
Understand how Microsoft Axapta handles differences in document
values between two different companies.
|
|
.
|
Follow the flow of code when Microsoft Axapta creates XML
documents for Microsoft Biztalk to send to other companies
|
|
.
|
Understand how a document placed into an asp page can create a
sales order in Microsoft Axapta
|
|
.
|
Make modifications to the inter-company process.
|
Appendix A: Solutions
This Appendix contains all the answers to the chapter
exercises, Test Your Knowledge, and Test Your Skills sections.
|