Szczegóły ebooka

Programming Microsoft Dynamics NAV 2009. Using this Microsoft Dynamics NAV book and eBook - develop and maintain high performance applications to meet changing business needs with improved agility and enhanced flexibility

Programming Microsoft Dynamics NAV 2009. Using this Microsoft Dynamics NAV book and eBook - develop and maintain high performance applications to meet changing business needs with improved agility and enhanced flexibility

David A. Studebaker, David A. Studebaker, David Studebaker

Ebook
Microsoft Dynamics NAV is a well established Enterprise Resource Planning (ERP) application, part of the Microsoft Dynamics family. Dynamics NAV is installed worldwide, with well over one million users. Version 2009 contains many major new features and structures, requiring even experienced Dynamics NAV developers to refresh their NAV development knowledge.
Renowned for its challenging learning curve, Dynamics NAV is a complex piece of software with a unique design structure. For developers learning to modify or enhance Dynamics NAV for vital business purposes, the task can sometimes be intimidating.
This book is an in-depth step-by-step guide to programming NAV, designed to 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.
NAV development is quite complex, with a steep learning curve. This book makes it easy for you. 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 table, page, and report design. 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.
Extensive guidance on software design for NAV is provided along with tips for efficient design of new NAV applications or enhancing existing applications. With its comprehensive collection of NAV information and distillation of years of NAV development experience, this book is not only designed to help you learn, but to act as a reference as well.
  • Programming Microsoft Dynamics NAV 2009
    • Table of Contents
    • Programming Microsoft Dynamics NAV 2009
    • Credits
    • About the Author
    • Acknowledgement
    • About the Reviewers
    • Foreword
    • Preface
      • A business history timeline
      • The beginning
      • Single user PC Plus
      • Multi-user Navigator
      • Navision Financials for Windows
      • Growth and mergers
      • Continuous enhancement
      • C/ALs roots
      • What you should know
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Errata
        • Piracy
        • Questions
    • 1. A Short Tour through NAV 2009
      • NAV 2009: An ERP system
        • Financial Management
        • Manufacturing
        • Supply Chain Management (SCM)
        • Business intelligence and reporting
        • Relationship Management (RM)
        • Human Resource management
        • Project management
      • Significant changes in NAV 2009
        • Two-tier versus three-tier
        • Role Tailored Client
        • SSRS-compatible report viewer
        • Web services
      • NAV 2009: A set of building blocks and development tools
        • NAV object types
      • The C/SIDE Integrated Development Environment
        • Object Designer tool icons
        • NAV object and system elements
        • NAV functional terminology
      • User interfaces
      • An introduction to development
        • Our scenario for development exercises
        • Getting started with application design
          • Application tables
          • Designing a simple table
          • Creating a simple table
          • Field numbering
          • Pages/Forms
            • List pages
            • Card pages
            • Document pages
            • Journal/Worksheet pages
            • Standard elements of pages
            • Creating a Card page
            • Creating a List page
          • Keyboard shortcuts
          • Run a table
          • Reports
          • Creating a List format report
      • Codeunits
      • MenuSuites
      • Dataports
      • XMLports
      • Integration tools
      • Backups and documentation
      • Summary
      • Review questions
    • 2. Tables
      • Overview of tables
        • Components of a table
        • Table naming
        • Table numbering
        • Table properties
        • Table triggers
        • Keys
        • SumIndexFields
        • Field Groups
      • Expanding our sample application
        • Creating and modifying tables
          • Assigning a TableRelation property
          • Creating Forms for testing
            • Creating a Card form
            • Creating List Forms
            • The ZUP file
            • Testing a TableRelation property
        • Adding Secondary keys
        • Adding some activity-tracking tables
        • New tables
        • Keys and SumIndexFields in our examples
          • Table integration
      • Types of tables
        • Wholly modifiable tables
          • Master
          • Journal
          • Template
          • Ledger
          • Reference
          • Register
          • Posted Document
          • Setup
          • Temporary
        • Content-modifiable tables
          • System
        • Read-Only tables
          • Virtual
      • Summary
      • Review questions
    • 3. Data Types and Fields for Data Storage and Processing
      • Basic definitions
      • Fields
        • Field properties
        • Field numbering
          • Changing the data type of a field
        • Field triggers
        • Data structure examples
        • Variable naming
      • Data types
        • Fundamental data types
          • Numeric data
          • String data
          • Date/Time data
        • Complex data types
          • Data structure
          • Objects
          • Automation
          • Input/Output
          • DateFormula
          • References and other
        • Data type usage
      • FieldClass property options
      • Filtering
        • Defining filter syntax and values
          • Filtering on equality and inequality
          • Filtering by ranges
          • Filtering with Boolean operators
          • Filtering with wildcards
          • Filtering with combinations
          • Experimenting with filters
          • Accessing filter controls
            • Classic Client filter access
            • RoleTailored Client filter access
            • Find-As-You-Type filtering
      • Summary
      • Review questions
    • 4. PagesTools for Data Display
      • What is a page?
        • Controls
        • Bound and unbound
      • Pagesa stroll through the gallery
        • A sample RoleTailored Client page
      • Types of pages
        • List page
        • Card page
        • Document page
          • FastTab
        • List+ page
        • Journal/Worksheet page
        • Confirmation (Dialog) page
        • Request page
        • Navigate page
        • Departments page
        • Role Center page
        • Page parts
          • FactBoxes
            • Card parts and List parts
            • Chart pane
        • Page names
        • Accessing the Page Designer
        • What makes up a page?
          • Page properties
      • Types of page controls
        • Inheritance
        • Page control details
          • Container controls
          • Group controls
          • Field controls
          • Using page controls in a Card page
          • Page Part controls
            • Creating a Card Part FactBox
            • Page Control triggers
      • Adding more List pages to our ICAN application
        • Creating a simple list page
        • Creating related List and Card pages
      • Learning more about pages
        • UX (User Experience) Guidelines
        • Creative plagiarism
      • Experimenting with page controls and control properties
        • Help searching
        • Experimentation
        • Testing
        • Design
      • Summary
      • Review questions
    • 5. Reports
      • What is a report?
      • Two NAV report designers
        • A hybrid report designer
      • NAV reportlook and feel
      • NAV report types
        • Report types summarized
      • Report naming
      • Report components overview
        • The components of a report description
      • Report Data Flow
      • The elements of a report
        • Report properties
        • Report triggers
        • Data Items
        • Data item properties
        • Data item triggers
        • Data item Sections
        • Creating RTC reports via the Classic Report Wizard
          • Learn by experimentation
          • Runtime formatting
          • Inheritance
        • Other ways to create RTC reports
        • Modify an existing RTC report
          • The Visual Studio Report Designer layout screen
            • Table Elementsicons and purpose
          • Report Items
          • Make the report changes
            • Some interactive report capabilities
            • Page Header fields
        • Request Page
      • Processing-Only reports
        • Creating a report from scratch
        • Creative report plagiarism
      • Summary
      • Review questions
    • 6. Introduction to C/SIDE and C/AL
      • Essential navigation
        • Object Designer
          • Starting a new object
            • Table Designer
            • Page Designer
            • Report Designer
            • XMLport Designer
            • Codeunit Designer
            • MenuSuite Designer
          • Some designer navigation pointers
          • Exporting objects
          • Importing objects
          • Text objects
        • Object number licensing
        • Some useful practices
        • Changing data definitions
        • Saving and compiling
        • Some C/AL naming conventions
        • Variables
          • Global identifiers
          • Local identifiers
            • Function local identifiers
            • Other local identifiers
          • Special working storage variables
            • Temporary tables
            • Arrays
            • Initialization
            • System-defined variables
        • A definition of programming in C/SIDE
        • Functions
        • Basic C/AL syntax
          • Assignment and punctuation
          • Wildcards
          • Expressions
          • Operators
            • Arithmetic operators and functions
            • Boolean operators
            • Relational operators and functions
            • Precedence of operators
      • Some basic C/AL
        • MESSAGE, ERROR, CONFIRM, and STRMENU functions
          • MESSAGE function
          • ERROR function
          • CONFIRM function
          • STRMENU function
        • SETCURRENTKEY function
        • SETRANGE function
        • GET function
        • FIND
          • FIND ([Which]) options and the SQL Server alternates
        • BEGINEND compound statement
        • IFTHENELSE statement
        • Indenting code
      • Some simple coding modifications
        • Adding a validation to a table
        • Adding code to enhance a report
      • Summary
      • Review questions
    • 7. Intermediate C/AL
      • Some C/AL development tools
        • C/AL Symbol Menu
        • Internal documentation
      • Computation and Validation utility functions
        • TESTFIELD
        • FIELDERROR
        • VALIDATE
        • ROUND
        • TODAY, TIME, and CURRENTDATETIME functions
        • WORKDATE function
      • Data conversion functions
        • FORMAT function
        • EVALUATE function
      • DATE functions
        • DATE2DMY function
        • DATE2DWY function
        • DMY2DATE and DWY2DATE functions
        • CALCDATE function
      • FlowField-SumIndexField functions
        • CALCFIELDS function
        • CALCSUMS function
      • CALCFIELDS and CALCSUMS comparison
      • Flow control
        • REPEATUNTIL control structure
        • WHILEDO control structure
        • CASEELSE statement
        • WITHDO statement
        • QUIT, BREAK, EXIT, SKIP, and SHOWOUTPUT functions
          • QUIT function
          • BREAK function
          • EXIT function
          • SKIP function
          • SHOWOUTPUT function
      • Input and Output functions
        • NEXT function with FIND or FINDSET
        • INSERT function
        • MODIFY function
          • Rec and xRec
        • DELETE function
        • MODIFYALL function
        • DELETEALL function
      • Filtering
        • SETRANGE function
        • SETFILTER function
        • COPYFILTER and COPYFILTERS functions
        • GETFILTER and GETFILTERS functions
        • MARK function
        • CLEARMARKS function
        • MARKEDONLY function
        • RESET function
          • Filter Groups
      • InterObject communication
        • Communication via data
        • Communication through function parameters
        • Communication via object calls
      • Using the new knowledge
        • A development challenge for you
          • Creating more ICAN test data
            • "Donor Giving" report design
            • Beginning development
            • Eliminating the Request form/page
            • Working storage definition
            • Defining the C/AL code
          • Developing the Donor Recognition Status report
            • Using the Report Wizard
            • Beginning the C/AL coding for the report
            • Retrofitting date filtering capability
            • Adding code for CALCFIELDS processing
            • Adding code to print addresses
      • Summary
      • Review questions
    • 8. Advanced NAV Development Tools
      • NAV process flow
        • Data preparation
        • Transactions entry
        • Testing and Posting the Journal batch
        • Accessing the data
        • Ongoing maintenance
      • Role Center pages
        • Role Center structure
          • Role Center activities page
          • Cue Groups and Cues
          • Cue source table
          • Cue Group Actions
        • System Part
        • Page Part
        • Navigation Pane and Action Menus
        • Departments
          • MenuSuite levels
        • MenuSuite structure
          • MenuSuite development
          • MenuSuite transformation
          • Configuration and personalization
      • Creating new C/AL routines
      • Callable functions
        • Codeunit 358Date Filter-Calc
        • Codeunit 359Period Form Management
        • Codeunit 365Format Address
        • Codeunit 396NoSeriesManagement
        • Codeunit 397Mail
        • Codeunit 408Dimension Management
        • Codeunit 412Common Dialog Management
      • Sampling of function models to review
        • Codeunit 228Test Report-Print
        • Codeunit 229print documents
        • Other objects to review
        • Management codeunits
      • Documenting modifications
      • Multi-language system
      • Multi-currency system
      • Code analysis and debugging tools
        • Developer's Toolkit
          • Relations to Tables
          • Relations from Objects
          • Source Access
          • Where Used
          • Trying it out
        • Working in exported text code
        • Using Navigate
          • Testing with Navigate
            • Modifying for Navigate
        • The C/SIDE Debugger
        • The C/SIDE Code Coverage tool
        • Client Monitor
        • Debugging NAV in Visual Studio
        • Dialog function debugging techniques
          • Debugging with MESSAGE
          • Debugging with CONFIRM
          • Debugging with DIALOG
          • Debugging with text output
          • Debugging with ERROR
        • C/SIDE test driven development
      • Summary
      • Review questions
    • 9. Extend, Integrate, and Designinto the Future
      • Interfaces
      • XMLports
        • XMLport components
          • XMLport properties
          • XMLport triggers
          • XMLport data lines
          • XMLport line properties
            • SourceType as Text
            • SourceType as Table
            • SourceType as Field
          • Element or attribute
            • NodeType as an Element
            • TagType as an Attribute
          • XMLport line triggers
            • DataType as Text
            • DataType as Table
            • DataType as Field
          • XMLport Request Page
      • Advanced interface tools
        • Automation Controller
        • NAV Communication Component
        • Linked Server Data Sources
        • C/OCX
        • C/FRONT
        • NAV Application Server (NAS)
      • Client Add-ins
        • Client Add-in definition
        • Client Add-in construction
        • Client Add-in comments
      • Web services
        • Exposing a web service
        • Publishing a web service
        • Determining what was published
      • Customizing Help
      • NAV development projects
        • Knowledge is key
        • Different approaches for different scopes
        • Advantages of designing new functionality
        • Modifying an existing functional area
        • NAV development time planning
      • Data-focused design
        • Determining the data needs
        • Defining the needed data views
        • Designing the data tables
        • Designing the user data access interface
        • Designing the data validation
        • Data design review and revision
        • Designing the Posting processes
        • Designing the supporting processes
        • Double-check everything
      • Design for efficiency
        • Disk I/O
        • Locking
      • Design for updating
        • Customization project recommendations
          • One change at a time
          • Testing thoroughly
            • Database testing approaches
            • Testing in production
            • Using a testing database
            • Testing techniques
            • Deliverables
            • Finishing the project
      • Plan for upgrading
        • Benefits of upgrading
        • Coding considerations
          • Careful naming
          • Good documentation
          • Low-impact coding
        • The upgrade process
          • Upgrade executables only
          • Full upgrade
      • Supporting material
        • Sure Step
        • RIM
        • Other reference material
      • Into the future...
      • Summary
      • Review questions
    • A. Answers
      • Chapter 1
      • Chapter 2
      • Chapter 3
      • Chapter 4
      • Chapter 5
      • Chapter 6
      • Chapter 7
      • Chapter 8
      • Chapter 9
    • Index
  • Tytuł: Programming Microsoft Dynamics NAV 2009. Using this Microsoft Dynamics NAV book and eBook - develop and maintain high performance applications to meet changing business needs with improved agility and enhanced flexibility
  • Autor: David A. Studebaker, David A. Studebaker, David Studebaker
  • Tytuł oryginału: Programming Microsoft Dynamics NAV 2009. Using this Microsoft Dynamics NAV book and eBook - develop and maintain high performance applications to meet changing business needs with improved agility and enhanced flexibility.
  • ISBN: 9781847196538, 9781847196538
  • Data wydania: 2009-11-04
  • Format: Ebook
  • Identyfikator pozycji: e_3b8d
  • Wydawca: Packt Publishing