End of 2024 20% Discount Promotion
Only 6 days
Classroom
20/01/2025 (Monday)
Overview
Learn how to use Microsoft Dynamics NAV 2013 for: finance, manufacturing, sales, shipping, project management and services. Learn about the ERP software's many new features.
After completing this accelerated course - and gaining your Dynamics NAV 2013 Developer certification - you'll be able to:
- Use C/AL (Client / Application Language)
- Program in C/AL
- Write C/AL statements and expressions
- Debug C/AL
- Use custom controls with C/AL
- Extend Microsoft Dynamics NAV Using COM
- Use the Development Environment and designing applications
- Develop for multiuser environments
- Use multilanguage functionality
Curriculum
Course 80436A: C/Side Introduction in Microsoft Dynamics NAV 2013
Module 1: Microsoft Dynamics NAV Development Environment
This module explains fundamental aspects of Microsoft Dynamics NAV Development Environment.
Lessons
- Basic Objects in Microsoft Dynamics NAV 2013
- Object Designer Fundamentals
- Team Development Features
- The Physical and Logical Database
Lab : Designing and Running an Object
- Accessing the Object Designer
- Creating an object
After completing this module, you'll be able to:
- Present the basic object types in Microsoft Dynamics NAV2013.
- Describe fundamental aspects of Microsoft Dynamics NAVDevelopment Environment. This includes the UI, application objects, and basicmetadata concepts.
- Explain the physical and logical database structure.
- Explain the features for multi-developer environments.
Module 2: Tables
This module explains the concepts and the use of tables andtable components.
Lessons
- Tables Fundamentals
- Primary and Secondary Keys
- Table Relationships
- Special Table Fields
Lab : Create a Table
After completing this module, you'll be able to:
- Explain the concepts of tables and table components.
- Examine the concept behind primary and secondary keys, andexplain how to set them.
- Create a simple table with primary and secondary keys, andadd data to the table.
- Review the concept of table relation.
- Set table relations with a filter and condition.
- Describe the special table fields.
- Use special table fields to improve table features.
Module 3: Pages
This module explains the concepts of pages and pagecomponents.
Lessons
- Page Fundamentals
- Page Designer
- Page Types and Characteristics
Lab : Create a Card and a List Page
- Create a Card page for the Course table
- Create a List page for the Course table
After completing this module, you'll be able to:
- Explain the concepts of pages and page components.
- Describe Page Designer and Action Designer.
- Create a simple page and add basic controls to the page.
- Provide an overview of different page types and theircharacteristics.
- Discuss best practices in designing pages.
- Create a Card page, add a container, FastTabs, and fields.
- Create a List page and link it to the Card page.
- Create a main page, a Part page, and link the two pages.
Module 4: Introduction to C/AL Programming
This module explains the concepts and use of C/AL codeelements.
Lessons
- C/AL Programming
- Intrinsic Data Types
- Identifiers, Variables and Syntax
- Variable Scope
Lab : Investigate Data Types
- Data Types
- Display the Variables
After completing this module, you'll be able to:
- Describe the concepts and basic use of C/AL code elements.
- Describe the concepts of data types, simple data types andcomplex data types.
- Explain the concepts of identifiers, variables, and syntax.
- Explain the syntax of identifiers.
- Explain the scope of variables.
- Explain the initialisation of variables.
- Create a simple codeunit to demonstrate how to definevariables, assign data types, and investigate several default values that areinitialised for several data types.
Module 5: Assignment Statements and Expressions
This module explains the concepts of assignments,statements, and assignment statements.
Lessons
- Assignment Statements
- The Syntax of Statements
- Automatic Type Conversions
- Use Assignment Statements and the Symbol Menu
- Expressions, Evaluations, Terms, and Operators
- The String Operator
- Function Calls in Expressions
- Numeric Expressions
- Arithmetic Operators
- Relational and Logical Expressions
- Relational Expressions for Comparison
- Relational Expressions for Set Inclusion
- Logical Expressions
Lab : Use Logical and Relational Expressions in a Page
- Create a New Page
After completing this module, you'll be able to:
- Explain the concepts of assignment, statement, andassignment statement.
- Describe the syntax of statements and introduce thestatement separator.
- Describe automatic type conversions for string, numeric, andother data types.
- Use assignment statements and the Symbol Menu.
- Explain the concepts of expressions, terms, and operators.
- Describe the syntax of an expression.
- Describe the string operator.
- Use the string operator.
- Describe the MAXSTRLEN and the COPYSTR functions.
- Use the MAXSTRLEN and the COPYSTR functions in anexpression.
- Define numeric expressions, arithmetic operators, andoperator precedence.
- Describe the arithmetic operators, and provide examples.
- Use the arithmetic operators and examine the operatorprecedence.
- Define relational and logical operators and expressions.
- Describe the use of relational expressions for comparison.
- Describe the use of relational expressions for setinclusion.
- Describe the use of logical expressions.
- Use logical and relational expressions in a page.
Module 6: C/AL Statements
This module explains concepts of conditional statement andthe Boolean expression.
Lessons- Conditional Statement and Boolean Expressions
- The IF Statement
- The EXIT Statement
- The CASE Statement
- Compound Statements and Comments
- The Syntax of Compound Statements
- Compound Statements by Using Nested IF Statements
- The Syntax of Comments
- Practice: Nested IF
- Arrays
- The Syntax of Arrays
- The Power of Arrays
- Strings as Arrays of Characters
- Repetitive Statements
- The WITH Statement
Lab : Use Conditional and Compound Statements
After completing this module, you'll be able to:
- Define conditional statements and Boolean expressions.
- Describe the IF statement, the IF-THEN, and IF-THEN-ELSEsyntax.
- Describe the EXIT statement and code indentation.
- Describe the CASE statement and the syntax of the CASEstatement.
- Define compound statements and comments.
- Describe the syntax of compound statements with BEGIN andEND.
- Understand the concepts of nested IF statements and the ruleof correct indentation.
- Describe the syntax of comments.
- Use the IF, EXIT, CASE, and compound statements in a page.
- Test knowledge about C/AL statements.
- Define arrays and describe the components of arrays.
- Describe the syntax of arrays.
- Explain the power of arrays.
- Describe how to use strings as arrays of characters.
- Introduce repetitive statements that are available in C/AL.
- Use arrays and repetitive statements in a page.
- Describe the WITH statement, record variables, and thesyntax of the WITH statement.
Module 7: C/AL Functions
This module explains C/AL functions.
Lessons
- Functions and Parameters
- Review Built-in Functions
- Data Access Functions
- Sorting and Filtering Functions
- Data Manipulation Functions
- Working with Fields
- Using Interaction Functions
- Other Common C/AL Functions
- Create Custom Functions
- Local Functions, Variables and the EXIT Statement
Lab : Create Custom Functions
- Create Functions
- Add Action to Page
- Add Code to Functions
After completing this module, you'll be able to:
- Explain the concepts of functions and parameters.
- Explain the C/AL Symbol Menu.
- Describe the use and syntax of data access, filtering, andmanipulation functions.
- Describe the use and syntax of user interaction functions.
- Describe the use and syntax of string functions.
- Describe the use and syntax of system functions.
- Describe the use and syntax of date functions.
- Describe the use and syntax of number functions.
- Describe the use and syntax of array functions.
- Describe the use and syntax of several other importantfunctions.
- Provide an overview of the benefits of creating customfunctions.
- Explain the concepts of local functions and local variables.
- Create custom functions in a page and call the functionsfrom Actions.
Module 8: Reports
This module explains the concept of reports and reportcomponents.
Lessons
- Report Fundamentals
- Report Design Process
- Design the Data Model
- Create a Data Model
- Design the Layout
- The Request Page Designer
- Design the Request Options Page
- Grouping and Totaling
- Add Advanced Features
Lab : Create a Basic Report
- Build the report
After completing this module, you'll be able to:
- Explain the concepts of reports and report components.
- Provide an overview of different report types and theircharacteristics.
- Describe the difference between the logical and the visualdesign of reports and introduce Report Designer.
- Describe the logical design of a report.
- Create the data model for a new report by defining dataitems in the Report Dataset Designer.
- Describe the visual design of a report and introduceMicrosoft Visual Studio Report Designer.
- Design the report layout.
- Introduce Request Page Designer.
- Design the Request Options page.
- Explain the concepts of grouping and totaling in a report.
- Create a grouping and totaling for a report.
- Add advanced features to a report.
Module 9: XMLports
This module explains the fundamentals of XMLports and itscomponents.
Lessons
- XMLport Fundamentals
- Design XMLports
- Importing and Exporting Plain Text
- Using XMLports in C/AL Code
Lab : Create an XMLport to Export XML Data
- Create an XMLport for export to the XML document
Lab : Create an XMLport to Export Variable Text
- Create an XMLport for Export to the Variable Text Document
After completing this module, you'll be able to:
- Describe the fundamentals of an XMLport and its components.
- Review how to design XMLports.
- Explain the Request Page functionality.
- Describe the process of using XMLports from C/AL code.
- Create XMLports for export and import with XML format.
- Create XMLports for export and import with fixed and avariable text format.
Module 10: Codeunits
This module explains the concepts of codeunits.
Lessons
- Codeunit Fundamentals
- Design Codeunits
- Use Codeunits
- SMTP
After completing this module, you'll be able to:
- Explain the concepts of codeunits.
- Provide an overview of designing codeunits.
- Provide an overview by using codeunits.
- Define variables and functions in a codeunit.
- Use the SMTP Mail codeunit.
Module 11: Microsoft .NET Framework Interoperability
This module explains the .NET Interoperability features
Lessons
- The DotNetDataType
- Datatype Mapping and Assignment
- .NET Framework Interoperability C/AL functions
- Streaming
Lab : Use a Dictionary Object
- Declare and Instantiate a Dictionary
- Populate the dictionary
After completing this module, you'll be able to:
- Explain the .NET Interoperability features.
- Describe the concept of constructors.
- Communicate between client-side and server-side objects.
- Describe how to respond to events that are raised by .NETobjects.
- Examine mapping between C/AL and .NET data types.
- Review the most important C/AL functions for managing .NETobjects.
- Use arrays, collections, and enumerations.
- Explain how to stream data between C/AL and .NET objects
Module 12: Queries
This module introduces the query object type by explainingvarious use cases for queries: using queries in charts, in OData web services,and accessing them programmatically from C/AL.
Lessons
- Query Design
- Accessing Queries from C/AL
- Advanced Query Concepts
Lab : Using a Query from a Chart
- Creating a query
- Creating a chart
- Adding the chart to the Role Center
Lab : Using Queries in C/AL
- Create a codeunit which uses a query
After completing this module, you'll be able to:
- Present the Query Designer and its features.
- Explain the principles of the query design process.
- Show how to select, join, filter, aggregate, and order data.
- Show how to access queries from C/AL code.
- Explain how to export data from queries.
Course 80437A: C/Side Solution Development in Microsoft Dynamics NAV 2013
Module 1: Data and Process Model
This module explains the standard application functionality in Microsoft Dynamics NAV 2013 and it discusses the importance of following the same standards in all customisations. Table Types and Characteristics.
- Standard Data Model
- Standard Process Model
After completing this module, you'll be able to:
- Explain the different table types and their characteristics.
- Present the standard data model and introduce the data-related business logic.
- Present the standard process model that governs the transactions in Microsoft Dynamics NAV 2013.
Module 2: Master Tables and Pages
This module explains what is involved in solution development to meet customer requirements.
- Prerequisite Knowledge
- Participants
- Instructors and Rooms
- Seminars
Customise Resource Tables and Pages
- Customise Resource Table
- Customise Resource Card
- Customise Resource List
Creating Seminar Tables and Pages
- Append the Table Name Option in the Comment Line table
- Create the Seminar Tables
- Create the Seminar Pages
After completing this module, you'll be able to:
- Explain the master table and page standards.
- Work with table event triggers.
- Work with complex data types and their member functions.
- Explain the multilanguage functionality.
- Define the strategy for implementing Customers and Participants.
- Create the tables to manage the seminar rooms.
- Create instructor data management.
- Create seminar data management.
Module 3: Documents
This module explains the purpose and benefits in using documents to enter transactions in Microsoft Dynamics NAV 2013.
- Prerequisite Knowledge
- Registrations
- Reviewing the Table Code
Importing, Reviewing, and Completing the Seminar Registration Tables
- Import the Starter Objects
- Review the Seminar Registration Header Table
Create Seminar Registration Pages
- Import and Review the Pages
- Completing the Document Pages
After completing this module, you'll be able to:
- Import and export objects as text files.
- Support multilanguage functionality.
- Use document pages.
- Use virtual tables.
- Use temporary tables.
- Review the various types of tables.
- Review different page and table C/AL functions.
- Create additional tables and pages to maintain registrations.
Module 4: Posting
This module explains the posting routine.
- Prerequisite Knowledge
- Posting Seminar Registrations
Reviewing and Completing the Journal and Ledger Tables
- Reviewing the Import File Contents and Importing the Objects
- Reviewing the Seminar Journal Line Table
- Reviewing Other Tables
- Customise the Source Code Setup Table and Page
Creating Codeunits and Pages for Seminar Journal Posting
- Create the Seminar Jnl.-Check Line Codeunit
- Create the Seminar Jnl.-Post Line Codeunit
- Create the Seminar Ledger Entries Page
- Create the Seminar Reg.-Show Ledger Codeunit
- Create the Seminar Registers Page
Creating the Tables and Pages for Posted Registration Information
- Create the Posted Registration Tables
- Import the Posted Registration Pages
Modifying Tables, Pages, and Codeunits for Resource Posting
- Modify the Objects
Creating the Codeunits for Document Posting
- Complete the Seminar-Post Codeunit
- Enable Posting from the Seminar Registration Pages
After completing this module, you'll be able to:
- Explain the working and posting tables.
- Explain the posting routines and their relationships.
- Create journal posting routines.
- Create document posting routines.
- Present the best practices for documenting changes to existing objects.
- Program for minimum effect on the application.
Module 5: Feature Integration
This module explains the integration of custom features into standard functionality to provide a seamless and familiar experience to the users.
- Prerequisite Knowledge
- Seminar Feature Integration
- Navigate Integration
Integrating Seminar Features
- Customise Seminar Registration Master Pages
Changing Objects to Integrate with Navigate
- Customise Tables
- Customise the Navigate Page
- Customise Pages
After completing this module, you'll be able to:
- Integrate previously created Seminar Management module features with one another.
- Explain the architecture of the Navigate feature.
- Extend the Navigate functionality to enable finding posted seminar information.
- Enable easier searching for information by adding Navigate functionality to Seminar Management pages.
- Enable looking up Seminar Management information from standard application areas.
Module 6: Reporting
This module explains reporting principles.
- Prerequisite Knowledge
- Reporting Lab Overview
- Participant List Reporting
- Invoice Posting Batch Job
Creating the Seminar Participant List
- Part A: The Report Dataset
- Part B: The Report Layout
- Part C: Report Selections Table and Page
- Part D: Testing
Creating the Invoice Posting Batch Job
Module 7: Statistics
This module explains the different types of statistics in the standard application.
- Prerequisite Knowledge
- Seminar Statistics
Creating FlowFields for Sums
- Implement FlowFields for sums in the Seminar solution
Creating the Seminar Statistics Page
- Implement a Statistics Page
After completing this module, you'll be able to:
- Create a page that calculates price sums efficiently.
- Make the page available from the Seminar pages.
- Use FlowFilters to easily calculate statistics for different time periods.
Module 8: Dimensions
This module explains the importance of dimensions and their use throughout the standard application and accompany all transactional data and process.
- Prerequisite Knowledge
- Integrating Seminar Management with Dimensions
Integrating with Dimension Management
- Extending Master Data with Dimensions
- Extending Documents with Dimensions
- Extending Ledger Entries and Posting Process with Dimensions
After completing this module, you'll be able to:
- Describe Global, Shortcut, and Budget dimension types and their functions.
- List the basic rules of Dimension Setup.
- Present the dimension management data and process models.
- Implement dimensions on the master record level.
Module 9: Role Tailoring
This module explains the importance of user roles and profiles in Microsoft Dynamics NAV 2013.
- Prerequisite Knowledge
- Seminar Manager Role Center
- MenuSuite Object Type
- Seminar Management Department Page
Create the Seminar Manager Role Center
- Seminar Activity Page
- My Seminars Page
- The Role Center Page
Create Seminar Management Department Page
- Create and Design the MenuSuite
After completing this module, you'll be able to:
- Define the components of the RoleTailored user interface.
- Explain the structure, purpose, and functionality of a Role Center-type page.
- Create the Seminar Manager Role Center page.
- Describe the functionality of the Departments page and the MenuSuite object type.
- Integrate the Seminar Management department into the Departments page.
Module 10: Interfaces
This module explains how interfacing with features or applications outside Microsoft Dynamics NAV is a frequent requirement. It also describes the different types of interfacing features that are present in Microsoft Dynamics NAV.
- Prerequisite Knowledge
- Email Confirmation
Create Email Confirmations
- Import the Setup Table and Page
- Verify the Configuration
- Create the Codeunit
After completing this module, you'll be able to:
- Explain how to use Automation and OCX to perform tasks with other applications.
- Describe file handling functions to import or export data.
- Design and implement email capability.
Module 11: Web Services
This module explains what web services are and how they are used in Microsoft Dynamics NAV 2013.
- Prerequisite Knowledge
- Registration Web Service
Creating a Web Service
- Customise the Objects
- Configure and Test the Web Service
- Extend the ScheduledSeminar Web Service with an Extension Codeunit
Create a Windows Forms Application to Test the Web Service
- Create a new Windows Forms Application
After completing this module, you'll be able to:
- Describe Microsoft Dynamics NAV 2013 Web services architecture.
- Explain the protocols that Microsoft Dynamics NAV 2013 uses for Web services.
- Evaluate the benefits of Web services over other integration options in Microsoft Dynamics NAV.
- Explain how to expose codeunit, page, and query objects as Web services.
- Consume Web services from external applications.
Module 12: Testing and Debugging
This module explains testing practices and presents the test-driven development (TDD) approach followed by Microsoft.
- Prerequisite Knowledge
- Testing Seminar Management
- Debugging
Create Seminar Management Unit Tests
- Import the Testing Framework
- Create the Unit Tests
- Run Unit Tests
After completing this module, you'll be able to:
- Demonstrate the testing features of Microsoft Dynamics NAV 2013.
- Explain the test codeunits, test functions, and handler functions.
- Describe how to automate user interface testing.
- Explain the functionality and purpose of test runner codeunits.
- Develop a unit testing framework for the Seminar Management solution.
- Describe the Debugger functionality and features.
- Demonstrate the debugging process.
Module 13: Optimising for SQL Server
This module explains the SQL Server for Microsoft Dynamics NAV 2013.
- SQL Server for Microsoft Dynamics NAV
- Representation of Microsoft Dynamics NAV Tables and Indexes in SQL Server
- Collation Options
- SQL Server Query Optimiser
- Optimising a Microsoft Dynamics NAV Application
- Data Access Redesign
- C/AL Database Functions and Performance on SQL Server
- Bulk Inserts
- Locking, Blocking, and Deadlocks
- SIFT Data Storage in SQL Server
- SQL Server Profiler
Analyse Index Usage
- Use the Index Information Query to identify and disable unused indexes
Optimise C/AL Code
- Analyse and improve the C/AL code and corresponding SQL statements
After completing this module, you'll be able to:
- Explain the advantages of SQL Server for Microsoft Dynamics NAV 2013.
- Work with tables and indexes.
- Use collation options and descriptions.
- Explain SQL Server Query Optimiser.
- Explain the areas within Microsoft Dynamics NAV that can be optimised.
- Explain how the Microsoft Dynamics NAV database driver enables the Microsoft Dynamics NAV clients to communicate with SQL Server.
- Understand the performance effect of locking, blocking and deadlocks.
- Understand how SIFT data is stored in SQL Server.
Module 14: Appendix
This module contains reference information about the case study that is implemented throughout the course.
- CRONUS International Ltd.
- Functional Requirements
- Content Structure
Function Testing
- Function Testing: Master Tables and Pages
- Function Testing: Documents
- Function Testing: Posting
- Function Testing: Feature Integration
- Function Testing: Dimensions
- Function Testing: RoleTailoring
After completing this module, you'll be able to:
- Present the case study for the CRONUS International Ltd. implementation project.
- Provide test scripts for function testing of customised functionality
Exam Track
You'll sit the following exams:
- Exam MB7-702 Microsoft Dynamics NAV 2013 C/Side Development
What's Included
Microsoft Official Curriculum
- MOC 80436: C/Side Introduction in Microsoft Dynamics NAV 2013
- MOC 80437: C/Side Solution Development in Microsoft Dynamics NAV 2013
Prerequisites
In order to attend this course, you must have basic understanding of what is new in Microsoft Dynamics NAV 2013and a basic understanding of development in Microsoft Dynamics NAV 2013 and Microsoft Visual Studio.
Benefits
Seven reasons why you should sit your course with Firebrand Training
- Two options of training. Choose between residential classroom-based, or online courses
- You'll be certified fast. With us, you’ll be trained in record time
- Our course is all-inclusive. A one-off fee covers all course materials, exams**, accommodation* and meals*. No hidden extras.
- Pass the first time or train again for free. This is our guarantee. We’re confident you’ll pass your course the first time. But if not, come back within a year and only pay for accommodation, exams and incidental costs
- You’ll learn more. A day with a traditional training provider generally runs from 9 am – 5 pm, with a nice long break for lunch. With Firebrand Training you’ll get at least 12 hours/day of quality learning time, with your instructor
- You’ll learn faster. Chances are, you’ll have a different learning style to those around you. We combine visual, auditory and tactile styles to deliver the material in a way that ensures you will learn faster and more easily
- You’ll be studying with the best. We’ve been named in the Training Industry’s “Top 20 IT Training Companies of the Year” every year since 2010. As well as winning many more awards, we’ve trained and certified over 135,000 professionals
*For residential training only. Doesn't apply for online courses
**Some exceptions apply. Please refer to the Exam Track or speak with our experts
Think you are ready for the course? Take a FREE practice test to assess your knowledge! Free Practice Test