Item description for Programming Microsoft Dynamics NAV by David Studebaker...
Created especially for experienced programmers with no previous knowledge of NAV development, this book is for people who want to learn as quickly as possible to create, modify or maintain NAV applications.
Microsoft Dynamics(tm) NAV (formerly known as Navision) is a well established Enterprise Resource Planning (ERP) application, part of the Microsoft Dynamics(tm) family.
Renowned for its challenging learning curve, Dynamics NAV is a complex piece of software with a unique design structure and, for developers learning to modify or enhance it for vital business purposes, the task can sometimes be overwhelming.
This book will ease you through the complexities of NAV application development. You will learn the skills and develop the confidence to tackle your own critical NAV applications. This book will act as your experienced NAV programming mentor, helping you to become productive as a NAV developer much more quickly.
From basic NAV terminology and concept definitions, through the essential building blocks of NAV data structure and objects, you will gain an understanding of the fundamental underlying concepts of NAV. You will learn practical details about NAV object construction and the tools available, including the Table, Form, and Report Designers. You will learn how to use NAV's tools to effectively navigate through the various features of objects, including properties, triggers, and C/AL code and receive practical guidance on ways to develop and test in the unique NAV C/SIDE development environment.
A section on software design for NAV is provided along with tips for efficient design of a new NAV application or enhancing an existing application. With its comprehensive collection of NAV information, this book is not only designed to help you learn, but can act as a reference as well.
For experienced programmers with little or no previous knowledge of NAV development
Learn as quickly as possible to create, modify, and maintain NAV applications
Written for version 5.0 of NAV; applicable for all versions
Promise Angels is dedicated to bringing you great books at great prices. Whether you read for entertainment, to learn, or for literacy - you will find what you want at promiseangels.com!
Est. Packaging Dimensions: Length: 9.3" Width: 7.4" Height: 0.9" Weight: 1.75 lbs.
Release Date Oct 6, 2007
Publisher Packt Publishing
ISBN 1904811744 ISBN13 9781904811749
Availability 91 units. Availability accurate as of Oct 25, 2016 01:21.
Usually ships within one to two business days from La Vergne, TN.
Orders shipping to an address other than a confirmed Credit Card / Paypal Billing address may incur and additional processing delay.
More About David Studebaker
David Studebaker is currently a Principal of Liberty Grove Software, Inc., with his partner Karen Studebaker. Liberty Grove Software provides development, consulting, training, and upgrade services for Microsoft Dynamics NAV resellers and firms using NAV internally. Liberty Grove Software is a Microsoft Certified Partner. David has been recognized by Microsoft three times as a Certified Professional for NAV: in Development, in Applications, and in Installation & Configuration. He is also a Certified Microsoft Trainer for NAV. He began developing in C/AL in 1996. David Studebaker has been programming since taking his first Fortran II course in 1962. In the fall of 1963 he took the first COBOL course taught at Purdue University, where the first U.S. computer science department was later created. The next spring, undergraduate student David was assigned to teach the graduate level class. Since that time, David has been an active participant in each step of computing technology: from the early mainframes to today's technology, from binary assembly coding to C/AL. He has worked with over 40 different models and brands of computers, over a dozen operating systems and over two dozen different programming languages. Special projects include the development of the first production SPOOL system in 1967. In the decades following, David was project manager and lead developer for several commercially distributed business application systems. Application areas in which David has worked range from engineering to manufacturing to freight carriage to general accounting to public mass transit to banking to not-for-profit and association management to legal billing to distribution/inventory management to shop floor data collection and production management. David has a BS in Mechanical Engineering from Purdue University and an MBA from the University of Chicago, both with concentrations in computer science. David has been a computer operator, systems programmer, applications programmer, business analyst, consultant, service bureau operations manager, bureaucrat, teacher, project manager, trainer, documenter, software designer, mentor, writer, and entrepreneur. He has been partner or owner and manager of several computer systems businesses, while always maintaining a significant role as a business applications developer. David's work with relational databases and 4th generation languages with integrated development environments began in 1984. David assisted in script writing for a series of audio training courses for early PC operating systems and wrote for a newsletter Computers in Education. A series of articles by David for several trade and professional magazines were published concerning the use of computer systems to track and help manage manufacturing shop-floor operations. He was lead author of the Product Identification and Tracking section of the SME Tool and Manufacturing Handbook. For over ten years, David was a reviewer of business applications-related publications for Computing Reviews of the Association for Computing Machinery (ACM). David has been a member of the ACM since 1963 and was a founding officer of two local chapters of the ACM.
Reviews - What do customers think about Programming Microsoft Dynamics NAV?
Great Place to Start! Jul 29, 2008
I found this book very helpful when I first got into Navision development. It's well written and gave me a good understanding of the main components. It is not a comprehensive guide, but a great introduction nonetheless! There are many programming examples and tons of screenshots. It helps fill in some of the gaps in the Application Designer's Guide.
I have it next to me whenever I'm doing develpment work. It's a good resource and I highly recommend this to anyone new to Navision.
Wordy, yet Worthless book I have ever read Apr 15, 2008
If you want to trade $50 for the convenience of having something handy to read, be my guest. Anything you can find in this book has already been in the Navision help file(s). The author probably has never actually done any programming work(s) with Navision, all he has done is rephrasing whatever written in those help files (by adding lots of his useless wordy information), and he has left out lots of usual information found in those help files.
Don't buy this boook. This will be your sorry 50-dollar waste. Whoever recommended this book should be fired/laid off at once.
Beginners & occasional programmer reference Feb 12, 2008
This book provide structural and functional base of Navision. From other side advanced topics are not covered. Book structure can be better if author follow bullet style instead of deep in his thoughts about programming debugging and technic.
A good book for all the NAV Developers Dec 26, 2007
This is a 460 page book (11 chapters) that covers the needs of developers that are starting to approach the NAV development to developers that are experts on NAV development but want to know more. It starts to introduce the Application Design concepts inside NAV, then it goes more in-depth into every NAV object (Tables, Forms and Reports in particular). After that, the author goes in depth into the CSIDE and the C/AL code by clearly explaining all you need in order to create NAV applications (C/AL sintax, validation functions, data conversion functions, I/O functions, filtering etc.).
Chapters from 9 to 11 are "the plus" of this book and they're devoted to experienced developer. They cover aspects about architecturing and tuning a NAV solution, working with external applications and other design tips.
The nice thing is that a sample application for a fictitious company is developed throughout the book, so the reader can immediately learn the concepts and put them in practice.
So... what's my final opinion?
I think that this book is a great resource for anyone that wants to start learning NAV development because it covers all the aspects in details and in a clear manner. It covers also some hot topics such as code optimizations that are not so common to find on books (and also on Microsoft's official MOCs).
There's a good comparison between the native server and the SQL Server one, but I think that the optimization topics with SQL Server could be covered more in depth (index management, index statistics, MaintainSiftIndex, MaintainSQLIndex etc.). The same for the interaction with external programs and about how to extend NAV with other controls (for example .NET controls).
About form triggers, I've appreciated that the author alerts the NAV developer on placing code on form triggers as few as possible because the future NAV versions will further constrain, or may even eliminate, the ability to insert C/AL code directly within a form (use of calling a codeunit on a form is recommended).
If you're a NAV developer, I recommend you this book: it covers all the aspects you need for your work and something more. It lacks a bit on the SQL features topic, but this could be an argument for a dedicated book.
Helpful introduction Dec 13, 2007
This book is aimed at people with some programming and business background, who plan to find their way into a NAV System. This is a challenging task, because NAV works somewhat differently to other ERP-Systems, and the author has done a good job in easing the way into a very complex application.
A simple sample application for a fictitious company is developed throughout the book. All objects ( Tables, Forms, Reports, Dataports, XMLPorts, Codeunits, MenuSuites) are first explained in their basic functions and properties, and later in more detail to implement the more advanced functions for the addon. A few of the major management codeunits which offer callable functions which every developer will look for sooner or later are covered, and by studying the way these codeunits are used the NAV newcomer will soon be able to write his own functions and subsequently his own enhancements.
Yet no one should be led to believe that after reading this book you can be let loose on any NAV System to do whatever you like. It takes a considerable amount of time to learn to estimate what impacts your coding will have in the long run, and even after several years there is always something new to learn, to fix or to optimize practically every day in an application that is making rapid strides forward. This applies even more so if you plan to work on many different databases which may have been extensively customized. But if you work your way through this book, and also take a good and hard look at the recommended internal documentations and white papers available, you will get a rough idea of what is lying ahead of you.
Of course there are quite a number of advanced topics on which you will find only a brief introduction in this book, such as the possibilities of interactions with external programs, the use of the NAV application server or automation objects (e.g. exporting/importing data to/from Excel).
A very useful comparison of the differences between the native server and SQL Server is also included. Locking, Deadlock and SQL Performance issues are discussed to some extent, but not to a degree that code examples of "do's and don'ts" are included.
There are some minor issues which I have found:
Page 246 : Although temporary tables run on the clients RAM only, all record variables in this table which are not temporary can insert, modify or delete data in the database. A seemingly harmless validate in a field trigger can lead to unexpected sideeffects. This is not mentioned.
Page 142/152 : The form triggers and form control triggers are listed ,and the author states that it should be avoided to write code in these triggers. Although this is basically true, the newcomer will find lots of code in standard forms, and will have a hard time in understanding the form and table interactions at first. Every card form needs a code line to remove the filter on the primary key, otherwise the user cannot move to the next record when the card form is called from a list form. This is not explained. Rather than removing code unnecessarily, this should be modified, as the new page object which will be introduced with NAV 2009 will have mostly an equivalent to the old form triggers as well, so it is advisable to only call functions in codeunits to avoid maintaining two similar functions in two objects.
Page 237 : It is not mentioned that a customer without the application designer granule, which small-size companies usually do not purchase, cannot import objects in .txt format. It is stated that only experienced developers should use the 2 merge options when importing .fob objects. In my opinion, this should be avoided at all costs unless any fields in the standard range have to be added which can't be created with a normal developers license when the object is of the .txt type. Then you have no choice and should perform a manual merge of the code afterwards to ensure that the code lines have not been messed up.
Page 121 : The examples for date and boolean for the AND operator are repetitions of the Not Equal operator examples.
Page 301 : Some examples of the FORMAT function would be useful. If you look for this in the index, you will find it under D (data conversion functions), not under F.
Page 345 : It is stated that Codeunits 80/90 post journal data into a ledger, but these Codeunits post Documents by transferring the data to journals, which are then posted by Codeunit 12 (G/L Ledger)/22 ( Item Ledger) etc.
Page 439 : It is stated that an executable upgrade is a one-way process. Actually, there is a backdoor if it fails, you can create an empty database with the old client, and then restore a .fbk backup which was created before installing the new executeables. A full upgrade, on the other hand, really is a one-way process.