OP04 What is C/AL and Why Should I Care? Luc van Vugt, MVP – fluxxus.nl
Your presenter Luc van Vugt, Owner fluxxus.nl Contact 17 years on Dynamics NAV 6 years Blogger - Van Vugt’s dynamiXs 5 years Microsoft MVP Dynamics NAV 5 years Co-Founder and Board Member Dutch Dynamics Community 1 year Member Credentialing Committee AoDP (DynamicsPro) 1 year NAV Skills Contact lvanvugt@fluxxus.nl @lucvanvugt
Session objectives Help you answer the following questions When is C/AL needed? What can C/AL do? What have these developers been programming?
Get to level with dev experts in 45 minutes Session objectives Get to level with dev experts in 45 minutes ;-) Help you answer the following questions When is C/AL needed? What can C/AL do? What have these developers been programming? I hope :-$ This is normally a one day course!
AgenDA What is C/AL C/AL Building Blocks Readable C/AL 5
What is C/AL
Parlez-vous français? Qui?
Sprechen Sie Deutsch? Wer?
Spreekt u Nederlands? Wie?
Do you speak English? Who?
Do you speak C/AL? ?????
IF MyLanguage.GET('C/AL') THEN MESSAGE('I speak C/AL')
IF MyLanguage.GET('C/AL') THEN MESSAGE('I speak C/AL') ELSE ERROR('No speak no C/AL')
What is … C/AL
What is … ???????
What is … C/AL
Client / Application Language What is … Client / Application Language
Client / Application Language What is C/AL Client / Application Language
What is C/AL Programming language to … … make NAV do what cannot be achieved by setting properties.
What is C/AL In other words … … to implement business logic that cannot be achieved by setting properties.
C/AL Building Blocks
Long-Tall Luc C/AL Building Blocks Rocking-Chair Reading Lessons by … TAB18 - Payment Method Code field TAB23 – Name field Let’s not be sissies and just open this 150 pager COD80 (Sales-Post) and see what we can make out of that.
Let’s Read NAV Long-Tall Luc C/AL Building Blocks Rocking-Chair Reading Lessons by … Let’s Read NAV Long-Tall Luc Let’s not be sissies and just open this 150 pager COD80 (Sales-Post) and see what we can make out of that.
C/AL Building Blocks IF … THEN NOT COMMENTS BEGIN … END REPEAT … UNTIL OR / AND WITH … DO EXIT
:= NEXT FIND FINDSET GET ; C/AL Building Blocks IF … THEN NOT COMMENTS BEGIN … END REPEAT … UNTIL GET ; OR / AND FINDSET WITH … DO EXIT
MAKE C/AL Readable
Nerdy Code Readable Code Microsoft Dynamics 6/23/2018 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Development Task Create a script to make an invoice for customer number 10000 (The Cannon Group PLC) and item number 70000 (Side Panel)
Test if the Customer is Blocked Create a New Document Test if the Customer is Blocked Read Customer 10000 Save the Document to the Database Create a Sales Line Test if the Item is Blocked Select Item 70000 Save Line to Database Open the Invoice Page
Readable Code I understand the steps required in this code, and the documentation is in there, right where I need it!
Nerdy Code Phew!!!
Natural Language Programming In C/AL! Natural Language Programming Example in NAV: Codeunit 99000854 - Inventory Profile Offsetting
Q & A
Conclusion
Conclusion When is C/AL needed? What can C/AL do? What have these developers been programming?
TAKE AWAY C/AL Since we left the classic client behind actually we no longer have C/AL (Client Application Language) , but AL. It’s primarily run on the service tier.
TAKE AWAY AL
Thank you for attending Contact information Luc van Vugt, fluxxus.nl lvanvugt@fluxxus.nl @lucvanvugt
Thank you for attending Reminders: Please download the session slides from the NAVUG Congress Community or through the Congress App Please visit our Dynamics NAV help desk Monday evening in the Expo Please complete your session survey in the Congress App