SlideShare a Scribd company logo
RobertoStefanetti,
MVP BusinessSolutions- NAV
MicrosoftEducationInfluencer
Topics
Development Environments Comparison
OLD Development
Environment
NEW Development
Environment
C/SIDE
+
C/AL
VS Code
+
AL
Object
Designer
.FOB
.TXT
C/SIDE
VS Code Editor
.APP
Powershell /
VS Code
C/SIDE & C/AL
What is “C/SIDE” and “C/AL”
Stands for:
 C/SIDE - Client/Server Integrated Development Environment
 C/AL - Client/Server Application Language
C/AL is the programming language that used within the development environment for Microsoft
Dynamics NAV, and the development environment is called as C/SIDE.
C/AL is a database specific programming language and it primarily used to retrieve, insert, and
modify the records in the dynamics NAV Database. C/AL is extended from the PASCAL language
and original C/AL compiler was written by Michael Nielsen.
When changing the NAV application according to the requirements, developer does not change
the executable s (.exe files), but the "Objects". Dynamics NAV database contain definitions of the each
object and each object contain business logic to run the ERP application.
https://en.wikipedia.org/wiki/C/AL
C/SIDE+C/AL = Old Development Environment
C/SIDE + Object Designer
FINSQL.EXE > Show Objects > Objects: in OBJECT TABLE
C/AL
C/AL editor > Show Business Logic > Code: blob field in
OBJECT TABLE
Programming in C/AL
This section describes where to write C/AL code and how to reuse code.
For more information about how to use system-defined variables, see System-Defined Variables.
For more information about the most frequently used C/AL functions, see Essential C/AL Functions.
Where to Write C/AL Code
Almost every object in Microsoft Dynamics NAV contains triggers where you can add your C/AL code. Triggers exist for the following
objects:
 Tables
Table fields
Pages, including request pages
Reports
Data items
XMLports
Queries
You can initiate the execution of your C/AL code from the following:
 Actions
Menu items
Any object that has an instantiation of the object that contains C/AL code. An example of an instantiation is a variable declaration.
https://msdn.microsoft.com/en-us/library/dd355277(v=nav.90).aspx
Essentials in C/AL
Essentials in C/AL
 Although there are more than 100 functions in C/AL, there are several functions that you will use more
often than the others. This does not mean that the rest of the functions are obsolete or that you will never
use them. However, it does mean that if you are very familiar with this small set of essential functions, you
will be able to accomplish many tasks when you are programming in C/AL. When you want to add more
specialized functionality to your applications, you can learn about more of the functions.
 The topics in this section describe the most common C/AL functions. For more details about all of the C/AL
functions, see C/AL Functions.
FUNCTIONS
 GET, FIND, and NEXT Functions
SETCURRENTKEY, SETRANGE, SETFILTER, GETRANGEMIN, and GETRANGEMAX Functions
INSERT, MODIFY, MODIFYALL, DELETE, and DELETEALL Functions
LOCKTABLE Function
CALCFIELDS, CALCSUMS,FIELDERROR, FIELDNAME, INIT, TESTFIELD, and VALIDATE Functions
Progress Windows, MESSAGE, ERROR, and CONFIRM Functions
STRMENU Function
C/SIDE Replace: Modern Development Environment
http://aka.ms/navdeveloperpreview
https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of-development-tools-for-dynamics-nav/
https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/
VS Code+AL = New Development Environment
VS Code (Visual Studio Code)
CODE.EXE > Show Projects > Objects: Files
AL
AL Extension for VS Code > Show Business Logic > Code:
text inside “.AL” file
http://aka.ms/navdeveloperpreview
https://code.visualstudio.com/
VS Code: Open Source, Cross Platform, Git
“VS Code: Open source, cross-platform, multi-language
development environment that puts writing code at its center”
https://code.visualstudio.com/
AL Language extension
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-dev-overview
https://robertostefanettinavblog.com/2016/11/29/microsoft-al-al-language-code-samples-for-developing-extensions/
Programming in AL
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al
AL is the programming language that is used for manipulating data (such as retrieving,
inserting and modifying records) in a Dynamics 365 for Financials database, and controlling
the execution of the various application objects, such as pages, reports, or codeunits.
With AL, you can create business rules to ensure that the data which is stored in the
database is meaningful and consistent with the way customers do business.
Through AL programming, you can:
Add new data or transfer data from one table to another, for example, from a journal table to
a ledger table. Combine data from multiple tables into one report or display it on one form
or page.
Where to write AL code
Almost every object in Dynamics 365 for Financials contains triggers where you can add your
AL code. Triggers exist for the following objects:
Tables, Table fields, Pages, Reports, Data items, XMLports, Queries
AL Methods
https://docs.microsoft.com/it-it/dynamics-nav/developer/methods/devenv-al-method-reference
https://docs.microsoft.com/it-it/dynamics-nav/developer/devenv-essential-al-methods
The AL methods in this section are grouped according to the data type that they support or
according to a category. Each data type topic contains a description of the data type.
Properties
Triggers
Essential AL Methods
Programming in AL
Developing Extensions
HTTP, JSON, TextBuilder, and XML API
Although there are hundreds of methods in AL, there are several methods that you will use
more often than the others. This does not mean that the rest of the methods are obsolete or
that you will never use them. However, it does mean that if you are very familiar with this
small set of essential methods, you will be able to accomplish many tasks when you are
programming in AL. The topics in this section describe the most common AL methods. For
more details about all of the AL methods, see AL Method Reference.
AL Language on Marketplace
https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al#review-details
https://robertostefanettinavblog.com/2017/08/31/vs-code-al-extensions-part-i/
https://robertostefanettinavblog.com/2016/11/29/microsoft-al-al-language-code-samples-for-
developing-extensions/
C/SIDE Vs VS Code
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview
Differences in the Development Environments C/SIDE Vs AL Development Env (VS Code)
Coming from the Dynamics NAV Development Environment and C/SIDE, there are some
differences and optimizations that you should familiarize yourself with. The following
sections go through these changes.
C/SIDE VS Code
Keyword Uppercase Keyword Lowercase
.NET Support Native Web Services Types
Object Designer Real-time compiling
Symbol Menu Option Member
File Support File Upload from Stream
Translations in Objects Where Used
Object Designer VS Vs Code Editor
Object Designer VS Code Editor
https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview
https://github.com/Microsoft/AL
AL - Details
AL https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al
Formatting, syntax highlighting and rich IntelliSense
Support for and snippets to define Codeunits, Pages, Page Extensions, Tables, Table Extensions,
XMLPorts, and Reports
Support for reference by symbols (Shift+F12) to jump to all instances of a specific symbol
Added support for using HTTP and JSON types to access Azure functions and other Web Services
Ability to define a dependency on another extension by listing it in the app.json configuration file
Autogeneration of app.json and launch.json project files
.FOB Vs .APP
Differences between .FOB and .APP Files
.FOB Files .APP Files
PACKAGE: “.FOB” : Financials Objects, standard old
objects package
PACKAGE: “.APP”: Based on Extensions (v. 2.0 - Vs Code)
 .al file, app.json, launch.json
Source code visible in C/SIDE NO
Include standard Objects and standard Code can be
changed
NO
Imported in NAV : C/SIDE Powershell, VS Code
Extensions of standard objects and include additional
business logic for solutions
RobertoStefanetti,
MVP BusinessSolutions- NAV
MicrosoftEducationInfluencer

More Related Content

What's hot

Fred Kofman on Managing Conflict
Fred Kofman on Managing ConflictFred Kofman on Managing Conflict
Fred Kofman on Managing Conflict
LinkedIn Learning Solutions
 
Agile vs Waterfall
Agile vs WaterfallAgile vs Waterfall
Agile vs Waterfall
Ahmed Abdel Rahman
 
Integrated Project and Solution Delivery And Business Engagement Model
Integrated Project and Solution Delivery And Business Engagement ModelIntegrated Project and Solution Delivery And Business Engagement Model
Integrated Project and Solution Delivery And Business Engagement Model
Alan McSweeney
 
Business Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second editionBusiness Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second edition
Gregor Polančič
 
19 productivity hacks to get stuff done
19 productivity hacks to get stuff done19 productivity hacks to get stuff done
19 productivity hacks to get stuff done
Vartika Kashyap
 
Kaizen for the Retail and POS Industry
Kaizen for the Retail and POS Industry Kaizen for the Retail and POS Industry
Kaizen for the Retail and POS Industry
Hilary Corna
 
Oracle Product Hub Cloud:​ A True Enterprise Product Master Solution​
Oracle Product Hub Cloud:​  A True Enterprise Product Master Solution​Oracle Product Hub Cloud:​  A True Enterprise Product Master Solution​
Oracle Product Hub Cloud:​ A True Enterprise Product Master Solution​
KPIT
 
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
camunda services GmbH
 
Resilient Functional Service Design
Resilient Functional Service DesignResilient Functional Service Design
Resilient Functional Service Design
Uwe Friedrichsen
 
Problem solving
Problem solvingProblem solving
Problem solving
Mona AlZeer
 
Time Management Training
Time Management TrainingTime Management Training
Time Management Training
Rachel Macklin
 
Business Process Automation Solutions Powerpoint Presentation Slides
Business Process Automation Solutions Powerpoint Presentation SlidesBusiness Process Automation Solutions Powerpoint Presentation Slides
Business Process Automation Solutions Powerpoint Presentation Slides
SlideTeam
 
Simplicity
SimplicitySimplicity
Simplicity
João Paulo Alves
 
11 Tips On Problem Solving Skills – Overcome Difficulties
11 Tips On Problem Solving Skills – Overcome Difficulties11 Tips On Problem Solving Skills – Overcome Difficulties
11 Tips On Problem Solving Skills – Overcome Difficulties
VKool Magazine - VKool.com
 
11 Inspirational Quotes from the Top CEOs of the Modern Business World
11 Inspirational Quotes from the Top CEOs of the Modern Business World11 Inspirational Quotes from the Top CEOs of the Modern Business World
11 Inspirational Quotes from the Top CEOs of the Modern Business World
Matt Burke
 
Jira 101
Jira 101Jira 101
Jira 101
Panji Gautama
 
Priority Management
Priority ManagementPriority Management
Priority Management
Barbara Nixon
 
An SDLC for SharePoint
An SDLC for SharePointAn SDLC for SharePoint
An SDLC for SharePoint
gvaughan
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
Uwe Friedrichsen
 

What's hot (20)

Fred Kofman on Managing Conflict
Fred Kofman on Managing ConflictFred Kofman on Managing Conflict
Fred Kofman on Managing Conflict
 
Agile vs Waterfall
Agile vs WaterfallAgile vs Waterfall
Agile vs Waterfall
 
Integrated Project and Solution Delivery And Business Engagement Model
Integrated Project and Solution Delivery And Business Engagement ModelIntegrated Project and Solution Delivery And Business Engagement Model
Integrated Project and Solution Delivery And Business Engagement Model
 
Business Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second editionBusiness Process Modeling with BPMN 2.0 - Second edition
Business Process Modeling with BPMN 2.0 - Second edition
 
Kanban Vs Scrum
Kanban Vs ScrumKanban Vs Scrum
Kanban Vs Scrum
 
19 productivity hacks to get stuff done
19 productivity hacks to get stuff done19 productivity hacks to get stuff done
19 productivity hacks to get stuff done
 
Kaizen for the Retail and POS Industry
Kaizen for the Retail and POS Industry Kaizen for the Retail and POS Industry
Kaizen for the Retail and POS Industry
 
Oracle Product Hub Cloud:​ A True Enterprise Product Master Solution​
Oracle Product Hub Cloud:​  A True Enterprise Product Master Solution​Oracle Product Hub Cloud:​  A True Enterprise Product Master Solution​
Oracle Product Hub Cloud:​ A True Enterprise Product Master Solution​
 
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
Camunda Day Amsterdam 2019: Workflow Automation in Microservices Architecture...
 
Resilient Functional Service Design
Resilient Functional Service DesignResilient Functional Service Design
Resilient Functional Service Design
 
Problem solving
Problem solvingProblem solving
Problem solving
 
Time Management Training
Time Management TrainingTime Management Training
Time Management Training
 
Business Process Automation Solutions Powerpoint Presentation Slides
Business Process Automation Solutions Powerpoint Presentation SlidesBusiness Process Automation Solutions Powerpoint Presentation Slides
Business Process Automation Solutions Powerpoint Presentation Slides
 
Simplicity
SimplicitySimplicity
Simplicity
 
11 Tips On Problem Solving Skills – Overcome Difficulties
11 Tips On Problem Solving Skills – Overcome Difficulties11 Tips On Problem Solving Skills – Overcome Difficulties
11 Tips On Problem Solving Skills – Overcome Difficulties
 
11 Inspirational Quotes from the Top CEOs of the Modern Business World
11 Inspirational Quotes from the Top CEOs of the Modern Business World11 Inspirational Quotes from the Top CEOs of the Modern Business World
11 Inspirational Quotes from the Top CEOs of the Modern Business World
 
Jira 101
Jira 101Jira 101
Jira 101
 
Priority Management
Priority ManagementPriority Management
Priority Management
 
An SDLC for SharePoint
An SDLC for SharePointAn SDLC for SharePoint
An SDLC for SharePoint
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
 

Similar to C/SIDE-C/AL Vs VS Code-AL

Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business CentralMicrosoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business Central
Roberto Stefanetti
 
Pega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first lookPega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first look
Anjan Sarma
 
UI Testing Pattern
UI Testing PatternUI Testing Pattern
UI Testing Pattern
David Harrison
 
Jerry Tian Resume AX 2012
Jerry Tian Resume AX 2012Jerry Tian Resume AX 2012
Jerry Tian Resume AX 2012
Jerry Tian
 
SAP SD CONFIGURATION GUIDE
SAP SD CONFIGURATION GUIDE SAP SD CONFIGURATION GUIDE
SAP SD CONFIGURATION GUIDE
Suresh Veluru
 
SAP SD configuration
SAP SD configuration SAP SD configuration
SAP SD configuration
Kishore Reddy Kuppili
 
Sun surya srinivass naidu letast
Sun surya srinivass naidu letast Sun surya srinivass naidu letast
Sun surya srinivass naidu letast
Veeru Maddineni
 
Sap SD configuration-guide
Sap SD configuration-guideSap SD configuration-guide
Sap SD configuration-guide
techgurusuresh
 
Sap sd notes
Sap sd notesSap sd notes
Sap sd notes
Mohit2385
 
Naidu sap sd
Naidu sap sdNaidu sap sd
Naidu sap sd
prateek1201
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports ReviewJustin R. Rue
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
Chetna Purohit
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions piyushchawala
 
Getting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer FoundationGetting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer Foundation
Edureka!
 
Nw2004s What Is New
Nw2004s What Is NewNw2004s What Is New
Nw2004s What Is New
Guang Ying Yuan
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
Karthik Reddy
 

Similar to C/SIDE-C/AL Vs VS Code-AL (20)

Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business CentralMicrosoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business Central
 
Pega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first lookPega systems vs siebel CRM capabilities - A first look
Pega systems vs siebel CRM capabilities - A first look
 
UI Testing Pattern
UI Testing PatternUI Testing Pattern
UI Testing Pattern
 
Jerry Tian Resume AX 2012
Jerry Tian Resume AX 2012Jerry Tian Resume AX 2012
Jerry Tian Resume AX 2012
 
SAP SD CONFIGURATION GUIDE
SAP SD CONFIGURATION GUIDE SAP SD CONFIGURATION GUIDE
SAP SD CONFIGURATION GUIDE
 
SAP SD configuration
SAP SD configuration SAP SD configuration
SAP SD configuration
 
Sun surya srinivass naidu letast
Sun surya srinivass naidu letast Sun surya srinivass naidu letast
Sun surya srinivass naidu letast
 
Sap SD configuration-guide
Sap SD configuration-guideSap SD configuration-guide
Sap SD configuration-guide
 
Sap sd notes
Sap sd notesSap sd notes
Sap sd notes
 
Naidu sap sd
Naidu sap sdNaidu sap sd
Naidu sap sd
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
uppada_kishore_resume (1)
uppada_kishore_resume (1)uppada_kishore_resume (1)
uppada_kishore_resume (1)
 
Getting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer FoundationGetting Started with Salesforce Admin and Developer Foundation
Getting Started with Salesforce Admin and Developer Foundation
 
Venkatesh SFDC Resume
Venkatesh SFDC ResumeVenkatesh SFDC Resume
Venkatesh SFDC Resume
 
Nw2004s What Is New
Nw2004s What Is NewNw2004s What Is New
Nw2004s What Is New
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 

More from Roberto Stefanetti

Microsoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al CloudMicrosoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al Cloud
Roberto Stefanetti
 
Dynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast TracksDynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast Tracks
Roberto Stefanetti
 
Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base
Roberto Stefanetti
 
Microsoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITAMicrosoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITA
Roberto Stefanetti
 
Business Central CRM Module (ITA)
Business Central CRM Module (ITA)Business Central CRM Module (ITA)
Business Central CRM Module (ITA)
Roberto Stefanetti
 
MSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaSMSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaS
Roberto Stefanetti
 
Dynamics NAV Concetti Base
Dynamics NAV Concetti BaseDynamics NAV Concetti Base
Dynamics NAV Concetti Base
Roberto Stefanetti
 
Microsoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 releaseMicrosoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 release
Roberto Stefanetti
 
Python for dummies
Python for dummiesPython for dummies
Python for dummies
Roberto Stefanetti
 
Implementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-PremiseImplementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-Premise
Roberto Stefanetti
 
Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018
Roberto Stefanetti
 
NAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, MilanNAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, Milan
Roberto Stefanetti
 
GDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & LinksGDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & Links
Roberto Stefanetti
 
ForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAVForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAV
Roberto Stefanetti
 
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
Roberto Stefanetti
 
NAV 2018 What's New
NAV 2018 What's NewNAV 2018 What's New
NAV 2018 What's New
Roberto Stefanetti
 
MRP and Planning Overview
MRP and Planning OverviewMRP and Planning Overview
MRP and Planning Overview
Roberto Stefanetti
 
VS Code and Modern Development Environment Preview
VS Code and Modern Development Environment PreviewVS Code and Modern Development Environment Preview
VS Code and Modern Development Environment Preview
Roberto Stefanetti
 
NAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting ModuleNAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting Module
Roberto Stefanetti
 
Document Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addonDocument Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addon
Roberto Stefanetti
 

More from Roberto Stefanetti (20)

Microsoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al CloudMicrosoft Azure - Passaggio al Cloud
Microsoft Azure - Passaggio al Cloud
 
Dynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast TracksDynamics 365 Business Central Wave 2 - Fast Tracks
Dynamics 365 Business Central Wave 2 - Fast Tracks
 
Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base Microsoft Power BI - Concetti base
Microsoft Power BI - Concetti base
 
Microsoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITAMicrosoft Dynamics 365 Business Central - ITA
Microsoft Dynamics 365 Business Central - ITA
 
Business Central CRM Module (ITA)
Business Central CRM Module (ITA)Business Central CRM Module (ITA)
Business Central CRM Module (ITA)
 
MSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaSMSDYN365 Business Central On-premise Vs Cloud SaaS
MSDYN365 Business Central On-premise Vs Cloud SaaS
 
Dynamics NAV Concetti Base
Dynamics NAV Concetti BaseDynamics NAV Concetti Base
Dynamics NAV Concetti Base
 
Microsoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 releaseMicrosoft Dynamics 365 Business Central April'19 release
Microsoft Dynamics 365 Business Central April'19 release
 
Python for dummies
Python for dummiesPython for dummies
Python for dummies
 
Implementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-PremiseImplementing Microsoft Dynamics 356 Business Central On-Premise
Implementing Microsoft Dynamics 356 Business Central On-Premise
 
Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018Microsoft Dynamics 365 Business Central - Overview October 2018
Microsoft Dynamics 365 Business Central - Overview October 2018
 
NAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, MilanNAV 2018 What's new, December 14, 2017, Milan
NAV 2018 What's new, December 14, 2017, Milan
 
GDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & LinksGDPR Microsoft Strategies - Topics & Links
GDPR Microsoft Strategies - Topics & Links
 
ForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAVForNAV la nostra soluzione per i reports con Dynamics NAV
ForNAV la nostra soluzione per i reports con Dynamics NAV
 
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
NAV 2018 and NAV New Technology - Fast Tracks - 14 dicembre 2017
 
NAV 2018 What's New
NAV 2018 What's NewNAV 2018 What's New
NAV 2018 What's New
 
MRP and Planning Overview
MRP and Planning OverviewMRP and Planning Overview
MRP and Planning Overview
 
VS Code and Modern Development Environment Preview
VS Code and Modern Development Environment PreviewVS Code and Modern Development Environment Preview
VS Code and Modern Development Environment Preview
 
NAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting ModuleNAV 2013 Cost Accounting Module
NAV 2013 Cost Accounting Module
 
Document Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addonDocument Management Systems con GLOBE e Dynamics NAV addon
Document Management Systems con GLOBE e Dynamics NAV addon
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

C/SIDE-C/AL Vs VS Code-AL

  • 3. Development Environments Comparison OLD Development Environment NEW Development Environment C/SIDE + C/AL VS Code + AL Object Designer .FOB .TXT C/SIDE VS Code Editor .APP Powershell / VS Code
  • 4. C/SIDE & C/AL What is “C/SIDE” and “C/AL” Stands for:  C/SIDE - Client/Server Integrated Development Environment  C/AL - Client/Server Application Language C/AL is the programming language that used within the development environment for Microsoft Dynamics NAV, and the development environment is called as C/SIDE. C/AL is a database specific programming language and it primarily used to retrieve, insert, and modify the records in the dynamics NAV Database. C/AL is extended from the PASCAL language and original C/AL compiler was written by Michael Nielsen. When changing the NAV application according to the requirements, developer does not change the executable s (.exe files), but the "Objects". Dynamics NAV database contain definitions of the each object and each object contain business logic to run the ERP application. https://en.wikipedia.org/wiki/C/AL
  • 5. C/SIDE+C/AL = Old Development Environment C/SIDE + Object Designer FINSQL.EXE > Show Objects > Objects: in OBJECT TABLE C/AL C/AL editor > Show Business Logic > Code: blob field in OBJECT TABLE
  • 6. Programming in C/AL This section describes where to write C/AL code and how to reuse code. For more information about how to use system-defined variables, see System-Defined Variables. For more information about the most frequently used C/AL functions, see Essential C/AL Functions. Where to Write C/AL Code Almost every object in Microsoft Dynamics NAV contains triggers where you can add your C/AL code. Triggers exist for the following objects:  Tables Table fields Pages, including request pages Reports Data items XMLports Queries You can initiate the execution of your C/AL code from the following:  Actions Menu items Any object that has an instantiation of the object that contains C/AL code. An example of an instantiation is a variable declaration. https://msdn.microsoft.com/en-us/library/dd355277(v=nav.90).aspx
  • 7. Essentials in C/AL Essentials in C/AL  Although there are more than 100 functions in C/AL, there are several functions that you will use more often than the others. This does not mean that the rest of the functions are obsolete or that you will never use them. However, it does mean that if you are very familiar with this small set of essential functions, you will be able to accomplish many tasks when you are programming in C/AL. When you want to add more specialized functionality to your applications, you can learn about more of the functions.  The topics in this section describe the most common C/AL functions. For more details about all of the C/AL functions, see C/AL Functions. FUNCTIONS  GET, FIND, and NEXT Functions SETCURRENTKEY, SETRANGE, SETFILTER, GETRANGEMIN, and GETRANGEMAX Functions INSERT, MODIFY, MODIFYALL, DELETE, and DELETEALL Functions LOCKTABLE Function CALCFIELDS, CALCSUMS,FIELDERROR, FIELDNAME, INIT, TESTFIELD, and VALIDATE Functions Progress Windows, MESSAGE, ERROR, and CONFIRM Functions STRMENU Function
  • 8. C/SIDE Replace: Modern Development Environment http://aka.ms/navdeveloperpreview https://blogs.msdn.microsoft.com/nav/2016/12/20/announcing-the-preview-of-development-tools-for-dynamics-nav/ https://robertostefanettinavblog.com/2017/07/13/nav-development-preview-updated-documentation/
  • 9. VS Code+AL = New Development Environment VS Code (Visual Studio Code) CODE.EXE > Show Projects > Objects: Files AL AL Extension for VS Code > Show Business Logic > Code: text inside “.AL” file http://aka.ms/navdeveloperpreview https://code.visualstudio.com/
  • 10. VS Code: Open Source, Cross Platform, Git “VS Code: Open source, cross-platform, multi-language development environment that puts writing code at its center” https://code.visualstudio.com/
  • 12. Programming in AL https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-programming-in-al AL is the programming language that is used for manipulating data (such as retrieving, inserting and modifying records) in a Dynamics 365 for Financials database, and controlling the execution of the various application objects, such as pages, reports, or codeunits. With AL, you can create business rules to ensure that the data which is stored in the database is meaningful and consistent with the way customers do business. Through AL programming, you can: Add new data or transfer data from one table to another, for example, from a journal table to a ledger table. Combine data from multiple tables into one report or display it on one form or page. Where to write AL code Almost every object in Dynamics 365 for Financials contains triggers where you can add your AL code. Triggers exist for the following objects: Tables, Table fields, Pages, Reports, Data items, XMLports, Queries
  • 13. AL Methods https://docs.microsoft.com/it-it/dynamics-nav/developer/methods/devenv-al-method-reference https://docs.microsoft.com/it-it/dynamics-nav/developer/devenv-essential-al-methods The AL methods in this section are grouped according to the data type that they support or according to a category. Each data type topic contains a description of the data type. Properties Triggers Essential AL Methods Programming in AL Developing Extensions HTTP, JSON, TextBuilder, and XML API Although there are hundreds of methods in AL, there are several methods that you will use more often than the others. This does not mean that the rest of the methods are obsolete or that you will never use them. However, it does mean that if you are very familiar with this small set of essential methods, you will be able to accomplish many tasks when you are programming in AL. The topics in this section describe the most common AL methods. For more details about all of the AL methods, see AL Method Reference.
  • 14. AL Language on Marketplace https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al#review-details https://robertostefanettinavblog.com/2017/08/31/vs-code-al-extensions-part-i/ https://robertostefanettinavblog.com/2016/11/29/microsoft-al-al-language-code-samples-for- developing-extensions/
  • 15. C/SIDE Vs VS Code https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview Differences in the Development Environments C/SIDE Vs AL Development Env (VS Code) Coming from the Dynamics NAV Development Environment and C/SIDE, there are some differences and optimizations that you should familiarize yourself with. The following sections go through these changes. C/SIDE VS Code Keyword Uppercase Keyword Lowercase .NET Support Native Web Services Types Object Designer Real-time compiling Symbol Menu Option Member File Support File Upload from Stream Translations in Objects Where Used
  • 16. Object Designer VS Vs Code Editor Object Designer VS Code Editor https://msdn.microsoft.com/en-us/dynamics-nav/developer/devenv-reference-overview https://github.com/Microsoft/AL
  • 17. AL - Details AL https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al Formatting, syntax highlighting and rich IntelliSense Support for and snippets to define Codeunits, Pages, Page Extensions, Tables, Table Extensions, XMLPorts, and Reports Support for reference by symbols (Shift+F12) to jump to all instances of a specific symbol Added support for using HTTP and JSON types to access Azure functions and other Web Services Ability to define a dependency on another extension by listing it in the app.json configuration file Autogeneration of app.json and launch.json project files
  • 18. .FOB Vs .APP Differences between .FOB and .APP Files .FOB Files .APP Files PACKAGE: “.FOB” : Financials Objects, standard old objects package PACKAGE: “.APP”: Based on Extensions (v. 2.0 - Vs Code)  .al file, app.json, launch.json Source code visible in C/SIDE NO Include standard Objects and standard Code can be changed NO Imported in NAV : C/SIDE Powershell, VS Code Extensions of standard objects and include additional business logic for solutions