You are previewing Developing Microsoft Dynamics GP Business Applications.
O'Reilly logo
Developing Microsoft Dynamics GP Business Applications

Book Description

If you want a thoroughly practical guide to developing business applications with Microsoft Dynamics GP, this is the book for you. Its hands-on approach will have you developing or customizing in no time.

  • Make your business more efficient with fully customizable applications

  • Develop mission critical applications with Microsoft Dynamics GP

  • Learn how to enhance your application with sanScript

  • In Detail

    Microsoft Dynamics GP is a sophisticated Enterprise Resource Planning (ERP) application with a multitude of features and options. Microsoft Dynamics GP can also be used to develop dynamic, mission critical applications.

    In "Developing Microsoft Dynamics GP Business Applications" you will learn how to create and customize Dynamics GP Applications. This hands-on guide will take you through the initial steps of setting up a development environment through to customizing and developing an example application using tools such as Dexterity, VSTools and sanScript.

    "Developing Microsoft Dynamics GP Business Applications" will take you through the complex steps of creating and customizing Microsoft Dynamics GP applications. Starting with an overview of Microsoft Dynamics GP architecture you’ll then move onto setting up your development environment.

    You will learn how to make your application come to life with Dexterity and sanScript. You will create table operations and ranges as well as object triggers to make powerful and practical business applications. You will deploy your Dexterity solution before moving onto customization with Modifier and VBA.

    This book will also take you through ways of enhancing and extending your application without code using the SmartList Builder and Excel Report Builder. Using these highly flexible tools you’ll be able to create data connections that will increase the usability and functionality of your ERP applications.

    Table of Contents

    1. Developing Microsoft Dynamics GP Business Applications
      1. Table of Contents
      2. Developing Microsoft Dynamics GP Business Applications
      3. Credits
      4. About the Author
      5. Acknowledgement
      6. About the Reviewers
      7. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
          3. Instant Updates on New Packt Books
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
        7. Downloading the example code
          1. Downloading the color images of this book
        8. Errata
        9. Piracy
        10. Questions
      9. 1. Microsoft Dynamics GP Architecture
        1. The native user interface
          1. Horizontal
          2. Vertical
        2. Dexterity overview
          1. Resource Explorer
          2. sanScript scripting language
          3. Extensive function library
          4. Structured exception handling
          5. Integrated source code control
          6. Built-in Report Writer
          7. COM support
          8. Graphical forms designer
          9. Debugging tools
          10. Dexterity design
        3. Components of the Dynamics GP application
          1. Start your engines!
          2. The launch file (Dynamics.set)
          3. The preferences file (Dex.ini)
            1. SQLLogSQLStmt
            2. SQLLogODBCMessages
            3. SQLLogAllODBCMessages
            4. Synchronize
            5. Workstation=WINDOWS
            6. Workstation2
            7. OLEPath
            8. RememberUser
            9. ShowAdvancedMacroMenu
            10. ExportOneLineBody
          4. The Dexterity Runtime Engine (Dynamics.exe)
        4. SQL table and procedure names
          1. Original table-naming convention
            1. 00000 – Master tables
            2. 40000 – Setup tables
            3. 50000 – Temp tables
            4. 60000 – Relation or Cross Reference tables
            5. 70000 – Report Options tables
            6. 80000 – Posting Journal Reprint tables
            7. 90000 – Miscellaneous tables
          2. 10000, 20000, and 30000 - Work, Open, and History Transaction tables
          3. Stored procedures
          4. Current table-naming convention
        5. What you see – the user interface (UI)
          1. Push buttons
          2. Note button (record level)
          3. Printer icon
          4. Zoom fields
          5. Lookup button
          6. Browse buttons
          7. Sort-by List
          8. Note button (window level)
        6. Additional window elements
          1. E-mail Link
          2. Map Link
          3. Quantity alert button
          4. Multicurrency button
          5. Show Details
          6. Information button
          7. Expansion arrow
          8. Help button
        7. Summary
      10. 2. Integrating Application Fundamentals
        1. Defining the project
          1. Changing a window's look or behavior
          2. Changing current functionality
          3. Creating new functionality
          4. Exchanging data between systems
          5. Storing additional data
          6. Types of integrations
        2. Overview of available tools
          1. Dexterity
            1. Capabilities of Dexterity
            2. Limitations
            3. Developer skills required
            4. End-user prerequisites
          2. Visual Studio Tools for Dynamics GP (VS Tools)
            1. Capabilities of VS Tools
            2. Developer skills required
            3. End-user prerequisites
          3. Modifier with VBA (Visual Basic for Applications)
            1. Capabilities of Modifier with VBA
            2. Developer skills required
            3. End-user prerequisites
          4. Continuum
            1. Capabilities of Continuum
            2. Developer skills required
            3. End-user prerequisites
          5. Extender / eXtender Enterprise
            1. Capabilities of Extender and eXtender Enterprise
            2. Developer skills required
            3. End-user prerequisites
          6. DDE \ ODBC \ ADO \ OLE Automation
            1. DDE
            2. ODBC
            3. ADO
            4. OLE Automation
            5. Capabilities of DDE \ ODBC \ ADO \ OLE Automation
            6. End-user prerequisites
          7. Integration Manager
            1. Capabilities of Integration Manager
            2. Developer skills required
            3. End-user prerequisites
          8. Table Import
            1. Capabilities of Table Import
            2. Developer skills required
            3. End-user prerequisites
          9. eConnect
            1. Capabilities of eConnect
            2. Developer skills required
            3. End-user prerequisites
          10. Web services
            1. Capabilities of web services
            2. Developer skills required
            3. End user prerequisites
        3. Modifying the user interface
          1. Dexterity
          2. VS Tools
            1. WinForm properties
            2. WinForm control properties
              1. Buttons
              2. TextBoxes
              3. Labels
              4. ComboBoxes
              5. ListBoxes
          3. Modifier with VBA
          4. Extender / eXtender Enterprise
            1. Forms
            2. Detail forms
            3. Windows
            4. Detail windows
            5. Notes
        4. Changing or adding functionality
          1. Dexterity
            1. Form events
            2. Window events
            3. Field events
            4. Scrolling window events
          2. Triggers
            1. Five triggers in Dexterity
          3. VS Tools
            1. Form events
            2. Window events
            3. Scrolling window events
            4. Field events
            5. Procedure events
            6. Function events
          4. Modifier with VBA
            1. Window events
            2. Modal dialog events
            3. Field events
            4. Scrolling window events
            5. Report events
            6. Band events
          5. Continuum
          6. eXtender Enterprise
        5. Adding information not previously collected
          1. DUOS
        6. Summary
      11. 3. Getting Started with Dexterity
        1. Overview of the development process
          1. Installing the software
          2. Preparing your development environment
          3. Developing the application
          4. Creating the chunk file
          5. Delivering the final product
        2. Preparing the development environment
          1. Installing Dexterity and the SDK
          2. Modifying the Dex.ini file
          3. Creating the development dictionary
          4. Moving to test mode
            1. Dynamics GP desktop
          5. Modifying user security
          6. Installing DexSense
          7. Installing the Support Debugging Tool (SDT)
          8. Blast off!
        3. Overview of Dexterity
          1. Components of Dexterity
          2. Resources and their relationships
            1. DataType
            2. Format
            3. Field
              1. Field properties
                1. Object properties
                2. Visual properties
              2. Linking prompts
              3. Linking lookup buttons
            4. Composite
            5. Table
            6. Form and window
              1. Window properties
                1. Object properties
                2. Visual properties
            7. Scrolling window
              1. Creating a scrolling window
              2. Scrolling window properties
                1. Object properties
                2. Visual properties
              3. Adding fields to a scrolling window
        4. Navigating the Resource Explorer
          1. Worksets
        5. Summary
      12. 4. Building the User Interface
        1. Overview
          1. Workset
        2. Base resources
          1. Data types
          2. Format
          3. Fields
        3. Creating tables and keys
          1. Tables
            1. Customer Contact Master
              1. Table keys
            2. Contact Phone Master
              1. Table keys
            3. Table naming conventions
            4. Table options
            5. Types of tables
        4. Creating forms and windows
          1. Maintenance form and window creation
            1. Attaching tables
            2. Setting window properties
            3. Removing window fields
          2. Adding fields to the window
              1. Global fields
              2. Window text properties
              3. Global field properties
              4. Local fields
            1. New scrolling window
          3. Lookup form and window creation
          4. Window fields
        5. Scrolling windows
        6. Working with window fields
          1. Adding static text
            1. Column headings
        7. Summary
      13. 5. sanScript – Making It Work
        1. Introduction to sanScript
          1. Scripts
            1. Syntax rules
            2. Script flow
            3. Script naming conventions
          2. Table operations
            1. get
            2. change
            3. remove
            4. save table
            5. release table
            6. copy to table
            7. copy from table
          3. Creating a record
          4. Retrieving a record
            1. Customer
              1. Script analysis
            2. Customer zoom
            3. Browse buttons
          5. Updating a record
          6. Deleting a record
          7. Ranges
            1. Setting a range
            2. Creating a virtual key
            3. range where
        2. Scrolling windows
          1. Big and Small Line item
          2. BrowseOnly windows
            1. Lookup windows
              1. Calling the lookup form
              2. Defaulting the double-click
          3. Editable windows
            1. Line events
              1. LineFill
              2. LinePre
              3. LineChange
              4. LinePost
              5. LineInsert
              6. LineDelete
          4. AddsAllowed windows
        3. Triggers
          1. Form trigger
            1. Form trigger registration
            2. Form trigger considerations
            3. Cross-dictionary considerations
          2. Focus trigger
            1. Focus trigger registration
            2. Focus trigger considerations
            3. Cross-dictionary considerations
          3. Database trigger
            1. Database trigger registration
            2. Database trigger considerations
            3. Cross-dictionary considerations
          4. Procedure trigger
            1. Procedure trigger registration
            2. Procedure trigger considerations
            3. Cross-dictionary considerations
          5. Function trigger
            1. Function trigger registration
            2. Function trigger considerations
            3. Cross-dictionary considerations
          6. Create your form trigger!
            1. Processing procedure
        4. Summary
      14. 6. Deploying a Dexterity Solution
        1. System requirements
          1. General requirements
          2. Feature-specific requirements
        2. Minding versions and builds
        3. Table creation routines
          1. Using the SQL Maintenance window
          2. Building a utilities window
          3. Automatically creating the tables upon launch
        4. Completing the application
          1. Forms and windows
            1. Linking your prompts
            2. Linking your lookups
            3. Adding tool tips
            4. Hyperspacing your lookup buttons
            5. Linking your formats
            6. Setting your tab order
            7. Complying with user interface standards
          2. Tables
          3. Reports
            1. Referential diagnostics
            2. Linked prompts
            3. Table relationships validation
        5. Creating the chunk file
          1. Extracting resources
          2. Transfer dictionary module
        6. Testing in a multi-dictionary environment
          1. Chunk doesn't unchunk
          2. Testing tools and techniques
          3. Additional resources available
        7. Distributing the completed application
          1. Sending the chunk
          2. Windows Installer services
        8. Summary
      15. 7. Creating Customizations with Modifier
        1. Overview of Modifier
          1. Two tools in one!
        2. Modifying windows and window fields
          1. Launching the Modifier
          2. The window properties
            1. Size
            2. Opening position
            3. The tab sequence
          3. The window layout
          4. Modifying the General Entry window
            1. Adding and modifying window fields
            2. Adding fields to the scrolling window
            3. Modifying static text
              1. Change the window title
              2. Change the text prompt
              3. Change the static text of a checkbox
              4. Add a dividing line
              5. Adding a tool tip
            4. Adding or changing graphic elements
              1. Adding a new picture
              2. Changing the Picture
        3. Changing global resources
          1. Pictures and native pictures
          2. Strings
          3. Formats
          4. Data types
          5. Messages
        4. Summary
      16. 8. Creating Customizationswith VBA
        1. VBA overview
          1. Components
            1. Objects
            2. Properties
            3. Methods
            4. Events
          2. UserForms
          3. Modules
          4. Debugging
          5. Setting options
        2. Windows and window fields
          1. Creating the Summary button
          2. Creating the Go To button
          3. Adding objects to the project
            1. Adding the Vendor Maintenance window
            2. Adding additional windows and window fields
          4. Using methods and properties
          5. Setting field values
          6. Cross-dictionary access
            1. Referencing the Collections module
        3. Scrolling windows
          1. Adding a scrolling window to the project
          2. Grid events
            1. Line got focus
            2. Line lost focus
            3. Line change
          3. Filtering records
            1. BeforeLinePopulate
        4. Fun with dialogs
          1. BeforeModalDialog
          2. AfterModalDialog
        5. The Dynamic User Object Store
          1. Architecture
          2. Declaring the objects
          3. Retrieving data
          4. Saving data
          5. Deleting data
        6. Deploying a Modifier/VBA customization
          1. Creating package files
          2. Limitations of packages
          3. Editing packages
          4. Known issues with Windows 7
        7. Summary
      17. 9. Code-free Customization
        1. Overview of tools
          1. SmartList Builder
          2. Excel Report Builder
          3. Drill-Down Builder
          4. Extender
        2. SmartList Builder
          1. Getting Started with SmartList Builder
            1. Importing the templates
          2. Creating a SmartList object
          3. Adding tables
          4. Fields
          5. Field options
            1. Currency fields
            2. Date fields
            3. Integer and long integer fields
            4. String fields
          6. Calculated fields
            1. Calculated field 1: QTY Available for Sale
            2. Calculated field 2: List of On Hand QTY
            3. Calculated field 3: CONSTANT 2
            4. Calculated field 4: CONSTANT 4
          7. Restrictions
          8. Go Tos
            1. Go To: Item maintenance
              1. Task: Item Number field
            2. Go To: Item transaction inquiry
              1. Task 1: Item Number field
              2. Task 2: (L) Display Options field
              3. Task 3: (L) Display By field
              4. Task 4: (L) Start Location field
              5. Task 5: (L) End Location field
        3. Granting security to a SmartList Builder object
        4. Excel Report Builder
        5. Drill Down Builder
        6. Extender
          1. Overview
          2. Extender editions
            1. Extender Standard
            2. eXtender Enterprise
            3. Working with Extender
              1. Event form project
                1. Field 1: Event Type field
                2. Field 2: Catering Company field
                3. Field 3: Rental Company field
                4. Field 4: Rental Location field
                5. Field 9: Customer field
                6. Field 10: City field
                7. Field 1, Column 2: Event Location field
                8. Creating the City Lookup object
                9. Extra windows
                10. Extender menu
              2. Customer window group
              3. Customer contacts
              4. Line item note
        7. Summary
      18. 10. Creating Customizations with VS Tools
        1. Architecture
          1. Dexterity Shell
          2. Dexterity Bridge
          3. Application assemblies
          4. Add-ins folder
        2. Installing VS Tools
          1. Download it
          2. Run the installation
        3. Vendor Quick Entry project
          1. Creating the new project
          2. Adding the new window
          3. Window controls
            1. Button
              1. ButtonType on dexButtonProvider
              2. AutoSetDexColors
            2. TextBox
              1. AutoSetDexColors
            3. Label
              1. LinkField on dexLabelProvider
            4. RadioButton and GroupBox
            5. ComboBox
              1. Style
              2. AutoSetDexColors
        4. Adding window controls
          1. TextBox controls and properties
          2. Label controls and properties
          3. Button controls and properties
          4. RadioButton and GroupBox
          5. ComboBox
        5. Accessing dictionary resources
          1. Referencing the application assembly
          2. Referencing the namespace
        6. Building dictionary assemblies
          1. Dictionary Assembly Generator (DAG)
          2. Using the DAG
          3. Creating the AddIn assembly
        7. Opening your window
          1. Code the action
          2. Building and testing your assembly
        8. Table operations
          1. Creating a record
          2. Retrieving a record
          3. Updating a record
          4. Deleting a record
        9. Clearing the window
        10. Working with ranges
        11. Building and deploying the application
        12. Dynamics GP 2013 consideration
        13. Summary
      19. 11. Upgrading Customizations
        1. Using the SDK
          1. Script changes
          2. Data model changes
            1. New tables
            2. Deleted tables
            3. New columns
            4. Deleted columns
            5. New indexes
            6. Deleted indexes
            7. Different data types
            8. Different segments
            9. Different index columns
            10. New RW relations
            11. Deleted RW relations
          3. Table changes
            1. Table changes – summary
            2. Table changes – detail
          4. Form changes
        2. Dexterity
          1. Setting up generic source code control
            1. Installing Dexterity Source Code Control Server (DSCCS)
            2. Configuring the DSCCS
            3. Resolving validation errors
          2. Checking in the old dictionary
          3. Checking in the old dictionary to start the new project
          4. Creating the new development dictionary
          5. Making changes to your code
            1. Data type changes
            2. Field changes
            3. Procedure or function changes
            4. Table changes
            5. Functionality changes
          6. Completing the update
            1. Converting the data
            2. Recreating alternate forms and reports
            3. Updating forms and report dictionaries
            4. GP 2013 considerations
            5. Testing your application and building the update chunk
        3. Modifier with VBA
          1. Modifier
          2. VBA
            1. Environment changes
            2. Window changes
            3. Report changes
            4. GP 2013 considerations
        4. Extender and Builder(s)
          1. Extender
          2. SmartList Builder and Excel Report Builder
        5. Visual Studio Tools (VS Tools)
          1. Downloading the application
          2. Opening the solution
          3. Rebuilding application assemblies
          4. Updating references to the assemblies
          5. Fixing the code
          6. Building the new solution
            1. GP 2013 considerations
        6. Summary
      20. Index