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
Ad

More Related Content

What's hot (8)

MIS - Controlling module
MIS - Controlling module MIS - Controlling module
MIS - Controlling module
Web Creatix
 
Chart patterns final handout
Chart patterns   final handoutChart patterns   final handout
Chart patterns final handout
wijitha gayan
 
Tdi Forex Trading System
Tdi Forex Trading System Tdi Forex Trading System
Tdi Forex Trading System
123123sn
 
The day trader's bible, wyckoff
The day trader's bible, wyckoffThe day trader's bible, wyckoff
The day trader's bible, wyckoff
Mòhãmêd Ñúshráth
 
BIG BOOK OF CHART PATTERNS.pdf
BIG BOOK OF CHART PATTERNS.pdfBIG BOOK OF CHART PATTERNS.pdf
BIG BOOK OF CHART PATTERNS.pdf
JustscribblemeForfun
 
GBIH| Gold Trading | Session 1- April-6
GBIH| Gold Trading | Session  1- April-6GBIH| Gold Trading | Session  1- April-6
GBIH| Gold Trading | Session 1- April-6
GBIHSupport
 
Elliot wave analysis lectures @intan 1998
Elliot wave analysis lectures @intan 1998Elliot wave analysis lectures @intan 1998
Elliot wave analysis lectures @intan 1998
Arifin Abdul Latif
 
SAP S/4HANA - Transform Procurement with SAP S/4HANA
SAP S/4HANA - Transform Procurement with SAP S/4HANASAP S/4HANA - Transform Procurement with SAP S/4HANA
SAP S/4HANA - Transform Procurement with SAP S/4HANA
Ainul Hossain Tushar
 
MIS - Controlling module
MIS - Controlling module MIS - Controlling module
MIS - Controlling module
Web Creatix
 
Chart patterns final handout
Chart patterns   final handoutChart patterns   final handout
Chart patterns final handout
wijitha gayan
 
Tdi Forex Trading System
Tdi Forex Trading System Tdi Forex Trading System
Tdi Forex Trading System
123123sn
 
GBIH| Gold Trading | Session 1- April-6
GBIH| Gold Trading | Session  1- April-6GBIH| Gold Trading | Session  1- April-6
GBIH| Gold Trading | Session 1- April-6
GBIHSupport
 
Elliot wave analysis lectures @intan 1998
Elliot wave analysis lectures @intan 1998Elliot wave analysis lectures @intan 1998
Elliot wave analysis lectures @intan 1998
Arifin Abdul Latif
 
SAP S/4HANA - Transform Procurement with SAP S/4HANA
SAP S/4HANA - Transform Procurement with SAP S/4HANASAP S/4HANA - Transform Procurement with SAP S/4HANA
SAP S/4HANA - Transform Procurement with SAP S/4HANA
Ainul Hossain Tushar
 

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
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
 
Naidu sap sd
Naidu sap sdNaidu sap sd
Naidu sap sd
prateek1201
 
SAP SD configuration
SAP SD configuration SAP SD configuration
SAP SD configuration
Kishore Reddy Kuppili
 
Sap sd notes
Sap sd notesSap sd notes
Sap sd notes
Mohit2385
 
Sap SD configuration-guide
Sap SD configuration-guideSap SD configuration-guide
Sap SD configuration-guide
techgurusuresh
 
Sun surya srinivass naidu letast
Sun surya srinivass naidu letast Sun surya srinivass naidu letast
Sun surya srinivass naidu letast
Veeru Maddineni
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
Justin 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 Day2
Daniel Egan
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
piyushchawala
 
uppada_kishore_resume (1)
uppada_kishore_resume (1)uppada_kishore_resume (1)
uppada_kishore_resume (1)
kishore reddy uppada
 
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!
 
Venkatesh SFDC Resume
Venkatesh SFDC ResumeVenkatesh SFDC Resume
Venkatesh SFDC Resume
nuthakki venkatesh
 
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
 
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
 
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 notes
Sap sd notesSap sd notes
Sap sd notes
Mohit2385
 
Sap SD configuration-guide
Sap SD configuration-guideSap SD configuration-guide
Sap SD configuration-guide
techgurusuresh
 
Sun surya srinivass naidu letast
Sun surya srinivass naidu letast Sun surya srinivass naidu letast
Sun surya srinivass naidu letast
Veeru Maddineni
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
Justin 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 Day2
Daniel 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!
 
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
 
Ad

More from Roberto Stefanetti (20)

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
 
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
 
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
 
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
 
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
 
Ad

Recently uploaded (20)

Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 

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