This course is intended for a partner that sells and implements the C/SIDE Introduction module to customers. The typical partner has an ERP background.
Module 1: Microsoft Dynamics NAV Development EnvironmentThis 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, students will be able to:
•Present the basic object types in Microsoft Dynamics NAV 2013.
•Describe fundamental aspects of Microsoft Dynamics NAV Development Environment. This includes the UI, application objects, and basic metadata concepts.
•Explain the physical and logical database structure.
•Explain the features for multi-developer environments.
Module 2: TablesThis module explains the concepts and the use of tables and table components.Lessons •Tables Fundamentals
•Primary and Secondary Keys
•Table Relationships
•Special Table Fields
Lab : Create a Table
After completing this module, students will be able to:
•Explain the concepts of tables and table components.
•Examine the concept behind primary and secondary keys, and explain how to set them.
•Create a simple table with primary and secondary keys, and add 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: PagesThis module explains the concepts of pages and page components.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, students will 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 their characteristics.
•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 ProgrammingThis module explains the concepts and use of C/AL code elements.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, students will be able to:
•Describe the concepts and basic use of C/AL code elements.
•Describe the concepts of data types, simple data types and complex data types.
•Explain the concepts of identifiers, variables, and syntax.
•Explain the syntax of identifiers.
•Explain the scope of variables.
•Explain the initialization of variables.
•Create a simple codeunit to demonstrate how to define variables, assign data types, and investigate several default values that are initialized for several data types.
Module 5: Assignment Statements and ExpressionsThis 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, students will be able to:
•Explain the concepts of assignment, statement, and assignment statement.
•Describe the syntax of statements and introduce the statement separator.
•Describe automatic type conversions for string, numeric, and other 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 an expression.
•Define numeric expressions, arithmetic operators, and operator precedence.
•Describe the arithmetic operators, and provide examples.
•Use the arithmetic operators and examine the operator precedence.
•Define relational and logical operators and expressions.
•Describe the use of relational expressions for comparison.
•Describe the use of relational expressions for set inclusion.
•Describe the use of logical expressions.
•Use logical and relational expressions in a page.
Module 6: C/AL StatementsThis module explains concepts of conditional statement and the 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, students will be able to:
•Define conditional statements and Boolean expressions.
•Describe the IF statement, the IF-THEN, and IF-THEN-ELSE syntax.
•Describe the EXIT statement and code indentation.
•Describe the CASE statement and the syntax of the CASE statement.
•Define compound statements and comments.
•Describe the syntax of compound statements with BEGIN and END.
•Understand the concepts of nested IF statements and the rule of 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 the syntax of the WITH statement.
Module 7: C/AL FunctionsThis 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, students will 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, and manipulation 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 important functions.
•Provide an overview of the benefits of creating custom functions.
•Explain the concepts of local functions and local variables.
•Create custom functions in a page and call the functions from Actions.
Module 8: ReportsThis module explains the concept of reports and report components.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, students will be able to:
•Explain the concepts of reports and report components.
•Provide an overview of different report types and their characteristics.
•Describe the difference between the logical and the visual design of reports and introduce Report Designer.
•Describe the logical design of a report.
•Create the data model for a new report by defining data items in the Report Dataset Designer.
•Describe the visual design of a report and introduce Microsoft 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: XMLportsThis module explains the fundamentals of XMLports and its components.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, students will 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 a variable text format.
Module 10: CodeunitsThis module explains the concepts of codeunits.Lessons •Codeunit Fundamentals
•Design Codeunits
•Use Codeunits
•SMTP
After completing this module, students will 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 InteroperabilityThis 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, students will 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 .NET objects.
•Examine mapping between C/AL and .NET data types.
•Review the most important C/AL functions for managing .NET objects.
•Use arrays, collections, and enumerations.
•Explain how to stream data between C/AL and .NET objects
Module 12: QueriesThis module introduces the query object type by explaining various 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, students will 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.
After completing this course, students will be able to:
•Present the basic object types in Microsoft Dynamics NAV 2013.
•Describe fundamental aspects of Microsoft Dynamics NAV Development Environment. This includes the UI, application objects, and basic metadata concepts.
•Explain the physical and logical database structure.
•Explain the features for multi-developer environments.
•Explain the concepts of tables and table components.
•Examine the concept behind primary and secondary keys, and explain how to set them.
•Create a simple table with primary and secondary keys, and add data to the table.
•Review the concept of table relations.
•Set table relations with a filter and condition.
•Describe special table fields.
•Use special table fields to improve table features.
•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 their characteristics.
•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 and a Part page, and link the two pages.
•Describe the concepts and basic use of C/AL code elements.
•Describe the concepts of data types, simple data types, and complex data types.
•Explain the concepts of identifiers, variables, and syntax.
•Explain the syntax of identifiers.
•Explain the scope of variables.
•Explain the initialization of variables.
•Create a simple codeunit to show how to define variables, assign data types, and investigate several default values that are initialized for several data types.
•Explain the concepts of assignment, statement, and assignment statements.
•Describe the syntax of statements and introduce the statement separator.
•Describe automatic type conversions for string, numeric, and other data types.
•Use assignment statements and the Symbol Menu.
•Understand 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 an expression.
•Define numeric expressions, arithmetic operators, and operator precedence.
•Describe the arithmetic operators, and provide examples.
•Use the arithmetic operators and examine the operator precedence.
•Define relational and logical operators and expressions.
•Describe how to use relational expressions for comparison.
•Describe how to use relational expressions for set inclusion.
•Describe how to use logical expressions.
•Use logical and relational expressions in a page.
•Define conditional statements and Boolean expressions.
•Describe the IF statement, the IF-THEN, and IF-THEN-ELSE syntax.
•Describe the EXIT statement and code indentation.
•Describe the CASE statement and the syntax of the CASE statement.
•Define compound statements and comments.
•Describe the syntax of compound statements with BEGIN and END.
•Understand the concepts of nested IF statements and the rule of 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 the syntax of the WITH statement.
•Explain the concepts of functions and parameters.
•Explain the C/AL Symbol Menu.
•Describe the use and syntax of data access, filtering, and manipulation 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 important functions.
•Provide an overview of the benefits of creating custom functions.
•Explain the concepts of local functions and local variables.
•Create custom functions in a page and call the functions from Actions.
•Explain the concepts of reports and report components.
•Provide an overview of different report types and their characteristics.
•Describe the difference between the logical and the visual design of reports and introduce Report Designer.
•Describe the logical design of a report.
•Create the data model for a new report by defining data items in the Report Dataset Designer.
•Describe the visual design of a report and introduce Microsoft 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.
•Describe the fundamentals of an XMLport and its components.
•Review how to design XMLports.
•Explain the Request page functionality.
•Describe how to use XMLports from C/AL code.
•Create XMLports for export and import with XML format.
•Create XMLports for export and import with a fixed and a variable text format.
•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.
•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 .NET objects.
•Examine mapping between C/AL and .NET data types.
•Review the most important C/AL functions for managing .NET objects.
•Use arrays, collections, and enumerations.
•Explain how to stream data between C/AL and .NET objects.
•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
•Demonstrate how to access queries from C/AL code
•Explain how to export data from queries.
Before attending this course, students must have:
•Knowledge of Microsoft Dynamics NAV 2013
•Basic knowledge of programming concepts and programming languages.
This five-day instructor-led course focuses on the capabilities and features of the Microsoft Dynamics NAV 2013 Development Environment. It explains the basic development concepts in Microsoft Dynamics NAV 2013, and provides an overview of the C/AL programming language and various object types. It also introduces new development capabilities, including reporting, queries, and .NET Framework interoperability.