Developing Microsoft Dynamics GP Business Applications
By Leslie Vail
()
About this ebook
Related to Developing Microsoft Dynamics GP Business Applications
Related ebooks
Microsoft Dynamics GP 2013 Reporting, Second Edition Rating: 5 out of 5 stars5/5Microsoft Dynamics NAV Administration Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2010 Implementation Rating: 5 out of 5 stars5/5Programming Microsoft Dynamics® NAV 2013 Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2013 Implementation Rating: 0 out of 5 stars0 ratingsReal-world Business Intelligence with Microsoft Dynamics GP Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics NAV 7 Programming Cookbook Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics AX 2012 R3 Reporting Cookbook Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP Workflow 2.0 Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2013 Financial Management Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2010 Cookbook Rating: 5 out of 5 stars5/5Professional SQL Server Reporting Services Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics AX 2012 R3 Security Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics GP 2016 Cookbook Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics Erp Cloud Strategy A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsRecord To Report A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsOracle NetSuite Second Edition Rating: 0 out of 5 stars0 ratingsAmazon QuickSight A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsAmazon Redshift A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsInstant SQL Server Analysis Services 2012 Cube Security Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics AX Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsMicrosoft Dynamics 365 For Finance And Operations Enterprise A Complete Guide - 2020 Edition Rating: 1 out of 5 stars1/5Microsoft Dynamics AX 2012 Development Cookbook Rating: 0 out of 5 stars0 ratingsSelf-Service AI with Power BI Desktop: Machine Learning Insights for Business Rating: 0 out of 5 stars0 ratingsBudget process A Complete Guide Rating: 0 out of 5 stars0 ratingsAnaplan A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsThe Agile Architecture Revolution: How Cloud Computing, REST-Based SOA, and Mobile Computing Are Changing Enterprise IT Rating: 0 out of 5 stars0 ratingsPublic Cloud ERP for Small or Midsize Businesses A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsMendix Competitors A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsDatabase testing Third Edition Rating: 0 out of 5 stars0 ratings
Software Development & Engineering For You
Coding with AI For Dummies Rating: 0 out of 5 stars0 ratingsBeginning Programming For Dummies Rating: 4 out of 5 stars4/5Android App Development For Dummies Rating: 0 out of 5 stars0 ratingsHand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python For Dummies Rating: 4 out of 5 stars4/5Gray Hat Hacking the Ethical Hacker's Rating: 5 out of 5 stars5/5SQL For Dummies Rating: 0 out of 5 stars0 ratingsManaging Humans: Biting and Humorous Tales of a Software Engineering Manager Rating: 4 out of 5 stars4/5Agile Practice Guide Rating: 4 out of 5 stars4/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Learning Python Rating: 5 out of 5 stars5/5The Inmates Are Running the Asylum (Review and Analysis of Cooper's Book) Rating: 4 out of 5 stars4/5Flow: A Handbook for Change-Makers, Mavericks, Innovators and Leaders Rating: 0 out of 5 stars0 ratingsMaking Money By Selling 3D Models Online Rating: 5 out of 5 stars5/5iPhone Application Development For Dummies Rating: 4 out of 5 stars4/5Tiny Python Projects: Learn coding and testing with puzzles and games Rating: 4 out of 5 stars4/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs Rating: 5 out of 5 stars5/5Kanban in Action Rating: 0 out of 5 stars0 ratingsData Visualization: a successful design process Rating: 4 out of 5 stars4/5Learning Continuous Integration with Jenkins Rating: 0 out of 5 stars0 ratingsAdobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Coding Art: The Four Steps to Creative Programming with the Processing Language Rating: 0 out of 5 stars0 ratingsEngineering Management for the Rest of Us Rating: 5 out of 5 stars5/5
Reviews for Developing Microsoft Dynamics GP Business Applications
0 ratings0 reviews
Book preview
Developing Microsoft Dynamics GP Business Applications - Leslie Vail
Table of Contents
Developing Microsoft Dynamics GP Business Applications
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Instant Updates on New Packt Books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Microsoft Dynamics GP Architecture
The native user interface
Horizontal
Vertical
Dexterity overview
Resource Explorer
sanScript scripting language
Extensive function library
Structured exception handling
Integrated source code control
Built-in Report Writer
COM support
Graphical forms designer
Debugging tools
Dexterity design
Components of the Dynamics GP application
Start your engines!
The launch file (Dynamics.set)
The preferences file (Dex.ini)
SQLLogSQLStmt
SQLLogODBCMessages
SQLLogAllODBCMessages
Synchronize
Workstation=WINDOWS
Workstation2
OLEPath
RememberUser
ShowAdvancedMacroMenu
ExportOneLineBody
The Dexterity Runtime Engine (Dynamics.exe)
SQL table and procedure names
Original table-naming convention
00000 – Master tables
40000 – Setup tables
50000 – Temp tables
60000 – Relation or Cross Reference tables
70000 – Report Options tables
80000 – Posting Journal Reprint tables
90000 – Miscellaneous tables
10000, 20000, and 30000 - Work, Open, and History Transaction tables
Stored procedures
Current table-naming convention
What you see – the user interface (UI)
Push buttons
Note button (record level)
Printer icon
Zoom fields
Lookup button
Browse buttons
Sort-by List
Note button (window level)
Additional window elements
E-mail Link
Map Link
Quantity alert button
Multicurrency button
Show Details
Information button
Expansion arrow
Help button
Summary
2. Integrating Application Fundamentals
Defining the project
Changing a window's look or behavior
Changing current functionality
Creating new functionality
Exchanging data between systems
Storing additional data
Types of integrations
Overview of available tools
Dexterity
Capabilities of Dexterity
Limitations
Developer skills required
End-user prerequisites
Visual Studio Tools for Dynamics GP (VS Tools)
Capabilities of VS Tools
Developer skills required
End-user prerequisites
Modifier with VBA (Visual Basic for Applications)
Capabilities of Modifier with VBA
Developer skills required
End-user prerequisites
Continuum
Capabilities of Continuum
Developer skills required
End-user prerequisites
Extender / eXtender Enterprise
Capabilities of Extender and eXtender Enterprise
Developer skills required
End-user prerequisites
DDE \ ODBC \ ADO \ OLE Automation
DDE
ODBC
ADO
OLE Automation
Capabilities of DDE \ ODBC \ ADO \ OLE Automation
End-user prerequisites
Integration Manager
Capabilities of Integration Manager
Developer skills required
End-user prerequisites
Table Import
Capabilities of Table Import
Developer skills required
End-user prerequisites
eConnect
Capabilities of eConnect
Developer skills required
End-user prerequisites
Web services
Capabilities of web services
Developer skills required
End user prerequisites
Modifying the user interface
Dexterity
VS Tools
WinForm properties
WinForm control properties
Buttons
TextBoxes
Labels
ComboBoxes
ListBoxes
Modifier with VBA
Extender / eXtender Enterprise
Forms
Detail forms
Windows
Detail windows
Notes
Changing or adding functionality
Dexterity
Form events
Window events
Field events
Scrolling window events
Triggers
Five triggers in Dexterity
VS Tools
Form events
Window events
Scrolling window events
Field events
Procedure events
Function events
Modifier with VBA
Window events
Modal dialog events
Field events
Scrolling window events
Report events
Band events
Continuum
eXtender Enterprise
Adding information not previously collected
DUOS
Summary
3. Getting Started with Dexterity
Overview of the development process
Installing the software
Preparing your development environment
Developing the application
Creating the chunk file
Delivering the final product
Preparing the development environment
Installing Dexterity and the SDK
Modifying the Dex.ini file
Creating the development dictionary
Moving to test mode
Dynamics GP desktop
Modifying user security
Installing DexSense
Installing the Support Debugging Tool (SDT)
Blast off!
Overview of Dexterity
Components of Dexterity
Resources and their relationships
DataType
Format
Field
Field properties
Object properties
Visual properties
Linking prompts
Linking lookup buttons
Composite
Table
Form and window
Window properties
Object properties
Visual properties
Scrolling window
Creating a scrolling window
Scrolling window properties
Object properties
Visual properties
Adding fields to a scrolling window
Navigating the Resource Explorer
Worksets
Summary
4. Building the User Interface
Overview
Workset
Base resources
Data types
Format
Fields
Creating tables and keys
Tables
Customer Contact Master
Table keys
Contact Phone Master
Table keys
Table naming conventions
Table options
Types of tables
Creating forms and windows
Maintenance form and window creation
Attaching tables
Setting window properties
Removing window fields
Adding fields to the window
Global fields
Window text properties
Global field properties
Local fields
New scrolling window
Lookup form and window creation
Window fields
Scrolling windows
Working with window fields
Adding static text
Column headings
Summary
5. sanScript – Making It Work
Introduction to sanScript
Scripts
Syntax rules
Script flow
Script naming conventions
Table operations
get
change
remove
save table
release table
copy to table
copy from table
Creating a record
Retrieving a record
Customer
Script analysis
Customer zoom
Browse buttons
Updating a record
Deleting a record
Ranges
Setting a range
Creating a virtual key
range where
Scrolling windows
Big and Small Line item
BrowseOnly windows
Lookup windows
Calling the lookup form
Defaulting the double-click
Editable windows
Line events
LineFill
LinePre
LineChange
LinePost
LineInsert
LineDelete
AddsAllowed windows
Triggers
Form trigger
Form trigger registration
Form trigger considerations
Cross-dictionary considerations
Focus trigger
Focus trigger registration
Focus trigger considerations
Cross-dictionary considerations
Database trigger
Database trigger registration
Database trigger considerations
Cross-dictionary considerations
Procedure trigger
Procedure trigger registration
Procedure trigger considerations
Cross-dictionary considerations
Function trigger
Function trigger registration
Function trigger considerations
Cross-dictionary considerations
Create your form trigger!
Processing procedure
Summary
6. Deploying a Dexterity Solution
System requirements
General requirements
Feature-specific requirements
Minding versions and builds
Table creation routines
Using the SQL Maintenance window
Building a utilities window
Automatically creating the tables upon launch
Completing the application
Forms and windows
Linking your prompts
Linking your lookups
Adding tool tips
Hyperspacing your lookup buttons
Linking your formats
Setting your tab order
Complying with user interface standards
Tables
Reports
Referential diagnostics
Linked prompts
Table relationships validation
Creating the chunk file
Extracting resources
Transfer dictionary module
Testing in a multi-dictionary environment
Chunk doesn't unchunk
Testing tools and techniques
Additional resources available
Distributing the completed application
Sending the chunk
Windows Installer services
Summary
7. Creating Customizations with Modifier
Overview of Modifier
Two tools in one!
Modifying windows and window fields
Launching the Modifier
The window properties
Size
Opening position
The tab sequence
The window layout
Modifying the General Entry window
Adding and modifying window fields
Adding fields to the scrolling window
Modifying static text
Change the window title
Change the text prompt
Change the static text of a checkbox
Add a dividing line
Adding a tool tip
Adding or changing graphic elements
Adding a new picture
Changing the Picture
Changing global resources
Pictures and native pictures
Strings
Formats
Data types
Messages
Summary
8. Creating Customizationswith VBA
VBA overview
Components
Objects
Properties
Methods
Events
UserForms
Modules
Debugging
Setting options
Windows and window fields
Creating the Summary button
Creating the Go To button
Adding objects to the project
Adding the Vendor Maintenance window
Adding additional windows and window fields
Using methods and properties
Setting field values
Cross-dictionary access
Referencing the Collections module
Scrolling windows
Adding a scrolling window to the project
Grid events
Line got focus
Line lost focus
Line change
Filtering records
BeforeLinePopulate
Fun with dialogs
BeforeModalDialog
AfterModalDialog
The Dynamic User Object Store
Architecture
Declaring the objects
Retrieving data
Saving data
Deleting data
Deploying a Modifier/VBA customization
Creating package files
Limitations of packages
Editing packages
Known issues with Windows 7
Summary
9. Code-free Customization
Overview of tools
SmartList Builder
Excel Report Builder
Drill-Down Builder
Extender
SmartList Builder
Getting Started with SmartList Builder
Importing the templates
Creating a SmartList object
Adding tables
Fields
Field options
Currency fields
Date fields
Integer and long integer fields
String fields
Calculated fields
Calculated field 1: QTY Available for Sale
Calculated field 2: List of On Hand QTY
Calculated field 3: CONSTANT 2
Calculated field 4: CONSTANT 4
Restrictions
Go Tos
Go To: Item maintenance
Task: Item Number field
Go To: Item transaction inquiry
Task 1: Item Number field
Task 2: (L) Display Options field
Task 3: (L) Display By field
Task 4: (L) Start Location field
Task 5: (L) End Location field
Granting security to a SmartList Builder object
Excel Report Builder
Drill Down Builder
Extender
Overview
Extender editions
Extender Standard
eXtender Enterprise
Working with Extender
Event form project
Field 1: Event Type field
Field 2: Catering Company field
Field 3: Rental Company field
Field 4: Rental Location field
Field 9: Customer field
Field 10: City field
Field 1, Column 2: Event Location field
Creating the City Lookup object
Extra windows
Extender menu
Customer window group
Customer contacts
Line item note
Summary
10. Creating Customizations with VS Tools
Architecture
Dexterity Shell
Dexterity Bridge
Application assemblies
Add-ins folder
Installing VS Tools
Download it
Run the installation
Vendor Quick Entry project
Creating the new project
Adding the new window
Window controls
Button
ButtonType on dexButtonProvider
AutoSetDexColors
TextBox
AutoSetDexColors
Label
LinkField on dexLabelProvider
RadioButton and GroupBox
ComboBox
Style
AutoSetDexColors
Adding window controls
TextBox controls and properties
Label controls and properties
Button controls and properties
RadioButton and GroupBox
ComboBox
Accessing dictionary resources
Referencing the application assembly
Referencing the namespace
Building dictionary assemblies
Dictionary Assembly Generator (DAG)
Using the DAG
Creating the AddIn assembly
Opening your window
Code the action
Building and testing your assembly
Table operations
Creating a record
Retrieving a record
Updating a record
Deleting a record
Clearing the window
Working with ranges
Building and deploying the application
Dynamics GP 2013 consideration
Summary
11. Upgrading Customizations
Using the SDK
Script changes
Data model changes
New tables
Deleted tables
New columns
Deleted columns
New indexes
Deleted indexes
Different data types
Different segments
Different index columns
New RW relations
Deleted RW relations
Table changes
Table changes – summary
Table changes – detail
Form changes
Dexterity
Setting up generic source code control
Installing Dexterity Source Code Control Server (DSCCS)
Configuring the DSCCS
Resolving validation errors
Checking in the old dictionary
Checking in the old dictionary to start the new project
Creating the new development dictionary
Making changes to your code
Data type changes
Field changes
Procedure or function changes
Table changes
Functionality changes
Completing the update
Converting the data
Recreating alternate forms and reports
Updating forms and report dictionaries
GP 2013 considerations
Testing your application and building the update chunk
Modifier with VBA
Modifier
VBA
Environment changes
Window changes
Report changes
GP 2013 considerations
Extender and Builder(s)
Extender
SmartList Builder and Excel Report Builder
Visual Studio Tools (VS Tools)
Downloading the application
Opening the solution
Rebuilding application assemblies
Updating references to the assemblies
Fixing the code
Building the new solution
GP 2013 considerations
Summary
Index
Developing Microsoft Dynamics GP Business Applications
Developing Microsoft Dynamics GP Business Applications
Copyright © 2012 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2012
Production Reference: 1191212
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84968-026-4
www.packtpub.com
Cover Image by Artie Ng (<[email protected]>)
Credits
Author
Leslie Vail
Reviewers
Mohammad R. Daoud
Frank Hamelly
Vaidhyanathan Mohan
Jivtesh Singh
Acquisition Editor
Rashmi Phadnis
Lead Technical Editors
Susmita Panda
Dayan Hyames
Technical Editors
Arun Nadar
Jalasha D'costa
Prashant Salvi
Copy Editors
Insiya Morbiwala
Aditya Nair
Alfida Paiva
Project Coordinator
Arshad Sopariwala
Proofreaders
Maria Gould
Sandra Hopper
Indexer
Hemangini Bari
Graphics
Valentina D'silva
Aditi Gajjar
Production Coordinators
Conidon Miranda
Pooja Chiplunkar
Cover Work
Conidon Miranda
About the Author
Leslie Vail is a CPA and has been working as a Microsoft Dynamics GP Consultant for nearly 20 years. She began with Version 1.0 in 1993. During this period she completed numerous implementations, conversions, and custom-development projects. She has been a Session Leader at many partner and customer-technical conferences, and conducts training classes throughout Northern and Central America.
Leslie has been a Microsoft Dynamics GP Microsoft Most Valuable Professional (MVP) since 2007. She is recognized throughout the industry for her product expertise and contributions to the Dynamics community. She is the Principal of ASCI, Inc., a consulting firm located in Dallas, TX.
As a Microsoft Certified Trainer (MCT), she serves as a Subject Matter Expert (SME) for the Microsoft Assessments and Certification Exams (ACE) team. She is a member of the US MCT Advisory Council, and has been listed as one of the Microsoft Dynamics Top 100 most influential people by DynamicsWorld. She is one of the top contributors to the Microsoft Dynamics GP Newsgroup and the Dynamics Community forum. Leslie maintains the popular Dynamics Confessor Blogspot blog (http://dynamicsconfessions.blogspot.com/).
Leslie has reviewed and developed Microsoft Courseware, coauthored the book Confessions of a Dynamics GP Consultant published by Accolade Publications, Inc., and has been the Technical Editor of several books dedicated to Microsoft Dynamics GP.
Leslie provides implementation and consulting services for companies ranging from a family office to a multinational manufacturing firm. She is a Microsoft Certified IT Professional in Microsoft Dynamics GP Applications and Microsoft Dynamics GP Installation & Configuration, as well as a Microsoft Certified Database Administrator (DBA).
She holds a Microsoft Certified Technology Specialist certification in Dexterity, Modifier with VBA, Integration Manager, Report Writer, HR/Payroll, Financials, Inventory and Order Processing, FRx Report Designer, SQL Server 2000, SQL Server 2008, and Microsoft XP Professional.
A skilled developer, Leslie uses Dexterity, Modifier with VBA, Integration Manager, and eConnect to provide custom solutions to her clients. She is a Certified Integration Developer (CID), a Dexterity CID, a Dynamics Tools CID, and a Dexterity Certified Systems Engineer.
Her training proficiency spans the entire Microsoft Dynamics GP product line. She is an experienced trainer and gives classes for Dexterity, Financials, Inventory & Order Processing, HR/Payroll, Integration Manager, Modifier with VBA, FRx Report Designer, SQL Server Reporting Services, Report Writer, Crystal Reports, SmartList Builder, Excel Report Builder, Integrated Excel Reports, Extender, and System Manager.
Prior to working with Microsoft Dynamics GP, Leslie was the Tax Director for a large financial institution; before that, she worked for one of the original Big Eight
accounting firms as a Senior Tax Accountant.
Acknowledgement
First and foremost, I would like to thank Kerry George for asking me to write this book in the first place. Your unwavering encouragement kept me pressing on one page at a time. I thank the army of kind people at Packt Publishing for your tireless help and support. You were unbelievably patient and calming throughout the process. I couldn't have done it without you.
I would especially like to thank my editors, Jalasha D'costa and Prashant Salvi, for making the book actually flow smoothly. You corrected so many little things and gave me such superb suggestions. People reading this book will think I have excellent grammar and punctuation skills because of you. They are of course wrong, but they won't be reading this acknowledgement, so it won't be found out.
To my reviewers Mohammad R. Daoud, Jivtesh Singh, Vaidhyanathan Mohan, and Frank Hamelly, I thank you for your valuable time, ideas, and insights. You are this author's secret weapon. You helped me close up the holes in my content and kept me honest when I skipped over things. This is a much better, more complete book because of you and your willingness to help and advise me. I was truly blessed the day you said yes
when Packt asked you to review this book.
I thank David Musgrave, the worldwide wizard of Dexterity, and his trusty sidekick, Mariano Gomez, for their unending motivation and friendship. I have learned so much from you two guys over the years. The development community relies on your expertise and your willingness to share your knowledge, to move forward. I hope that outpouring of knowledge never stops, because when I use it it makes me look smart.
A special shout goes out to Diane Bilyeu for putting up with me when I spent all night at her kitchen table writing Chapter One. Diane has taken the gesture of a nod and a smile to a whole new level, and I appreciate it immensely.
To my friends, family, colleagues, and clients, can you believe it's finally over? At last you will not have to listen to my unending chatter about this book. Of course, the unending chatter will continue, but the topic will be different.
Last but not least, I thank everyone on the Dynamics community forum. Anyone who has ever asked a question, or suggested an answer, and even those who lurk without posting, I thank you. While researching content for this book, I found so many answers from community postings. Keep up the good work! I'll see you online.
About the Reviewers
Mohammad R. Daoud has been working as a Microsoft Dynamics GP Consultant since 2004. His began his career by working with Dynamics GP Version 7.5; he studied every single detail of the application's technicalities and did a lot of successful implementations that included functional consultations, analysis, and custom development projects. He holds a graduate degree in Computer Science and is currently pursuing an MBA degree in Accounting.
In January 2007 he was nominated to receive the MVP certificate, and was certified in April 2008 for his online contributions to the Dynamics community (Dynamics GP newsgroups, forums, user groups, and his blog http://mohdaoud.com). He was listed as one of Microsoft Dynamics's Top 100 most influential people in 2009 by DynamicsWorld (http://dynamicsworld.co.uk/Top-100-List.php)
Mohammad's certificates include:
Microsoft Most Valuable Professional (MVP)
Microsoft Certified Trainer (MCT)
Microsoft Certified Technology Specialist (MCTS)
Microsoft Certified Professional (MCP)
Microsoft Certified IT Professional – Dynamics (MCITP)
Microsoft Certified Technology Specialist (MCTS)
Mohammad has successfully completed the following Microsoft Certification Exams:
Microsoft Dynamics GP 2010 Installation & Configuration
Managing Microsoft Dynamics Implementations
Microsoft Dynamics GP 10.0 Inventory & Order Processing
Microsoft Dynamics GP 10.0 Financials
Microsoft Dynamics GP 10.0 Installation & Configuration
Microsoft SQL Server 2005 – Implementation and Maintenance
Microsoft Dynamics GP 9.0 Financials
Microsoft Dynamics GP 9.0 Inventory & Order Processing
Microsoft Dynamics GP 9.0 Modifier with VBA
Microsoft Dynamics GP 9.0 Report Writer
Microsoft Dynamics GP 9.0 Installation & Configuration
Installing, Configuring, and Administering Microsoft SQL Server 2000
Designing and Implementing Databases with Microsoft SQL Server 2000
Frank Hamelly is a business and technology professional with over 25 years of experience in implementing and supporting various ERP systems and business process reengineering initiatives across all organizational areas and across various industries, for small, mid-sized, and even Fortune 500 companies. He has held numerous positions in accounting, finance, customer service, and information systems. His application experience includes SAP R/3, Baan, Fourth Shift, Peachtree, MAS 90/200, Quickbooks, and Microsoft Dynamics ERP. His industry experience includes manufacturing, telecom, aerospace, life sciences, utilities, and media.
Frank holds a degree in Business Administration with an Accounting major from the University of Pittsburgh. He is a Microsoft Certified Professional (MCP), Microsoft Certified IT Professional (MCITP), Microsoft Certified Trainer (MCT), and has been named an MVP every year since 2008. He writes articles for Dynamics-related websites and is a regular speaker at Microsoft Dynamics Convergence, MSDynamicsWorld's Decisions virtual conference. He is also a trainer and presenter for Great Plains Users Group (GPUG), and has reviewed a number of books written by fellow MVPs.
Frank is the author of the GP2themax blog, with 5,000 visits per month.
Frank is also the owner at NOVA Solutions, LLC, located in the Raleigh-Durham-Chapel Hill area of North Carolina. He is also the reviewer of the book Dynamics GP Cookbook, Mark Polino, Packt Publishing.
Vaidhyanathan Mohan is a Microsoft Dynamics GP consultant and an enthusiast of all related technologies. He started his career as a Microsoft Dynamics GP developer, gained invaluable experience with that, and became a consultant who now handles implementation, analysis, development, and administration of Microsoft Dynamics GP.
Vaidhyanathan possesses a Bachelor's degree in Mathematics and a Master's degree in Computer Applications. He is an active blogger who blogs about Microsoft Dynamics GP and related technologies. His blog, Dynamics GP – Learn & Discuss, has been recognized and added to Microsoft's Community Blog List. His active presence on many Dynamics GP forums is felt as he answers users' queries and shares his knowledge.
I sincerely thank my parents, Mohan and Vijaya, for their unconditional love and sacrifices in molding me. I thank my brother, Karthikeyan Mohan, from my heart. Without his care and inspiration, I would be nothing.
I thank all my peers, who were instrumental in building my career and experience. To name a few, Rajesh Hari, Geeth, Subhash, Suresha, Ravindranath, Sajeesh KA, David Musgrave, Mariano Gomez, Mark Polino, and the entire GP community.
I thank Jimmy Grewal and Prem Nair, for their tremendous guidance and support.
Finally, I thank my wife Rajeswari and my daughter Sreenidhi. They are the meaning to my life. Their love and understanding will forever drive me to learn and achieve more.
Jivtesh Singh is a Dynamics GP consultant, Systems Implementer, and has been associated with Microsoft technologies since the launch of the Microsoft .NET framework. Jivtesh has over 10 years of experience in the development and maintenance of enterprise software using best practices of coding, refactoring and usage of design patterns, and test-driven development.
Jivtesh recently built a Kinect interface to control Microsoft Dynamics GP 2010 R2 Business Analyzer with gestures. Later, he built a part of the GP Future demo for the Convergence GP Keynote event.
Jivtesh has set up a custom search engine directory for the Dynamics GP blog at www.gpwindow.com to help with easier access of Dynamics GP resources for the GP community. With MVP Mark Polino, he has also set up a Dynamics GP product directory at www.dynamicsgpproducts.com.
Jivtesh's accomplishments include:
His blog on Dynamics GP – www.jivtesh.com
Jivtesh's custom search engine for GP blogs – www.gpwindow.com
Dynamics GP products website – www.dynamicsgpproducts.com
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Instant Updates on New Packt Books
Get notified! Find out when new books are published by following @PacktEnterprise on Twitter, or the Packt Enterprise Facebook page.
Preface
Microsoft Dynamics GP (Dynamics GP) is an exceptional Enterprise Resource Planning system used throughout the world. Released in 1993, it was the first in its class to deliver a solution that was completely re-written to capitalize on the Windows operating system. Dynamics GP was designed and built so that outside developers could easily enhance its functionality by writing add-ons, or so called third-party applications.
In the beginning, you had only one development tool, Dexterity. Today there are so many tools available making it difficult to choose which one is right for you and your project. This book can help you decide by giving you the chance to work with seven of the most popular tools available today.
What this book covers
Chapter 1, Microsoft Dynamics GP Architecture, includes a description of the components making up Dynamics GP and how they interact. This chapter also provides a description of the Dynamics GP table naming conventions, data flow, and elements of the user interface.
Chapter 2, Integrating Application Fundamentals, includes a short description of how an integrating application works and a brief overview of various tools you can use to build an integration. You will learn which tools can modify the user interface or change the functionality of Dynamics GP.
The tools discussed include:
Dexterity
Visual Studio Tools for Dynamics GP (VS Tools)
Modifier with Visual Basic for Applications (VBA)
Continuum
Extender and eXtender Enterprise
Dynamic Data Exchange (DDE)
Open Database Connectivity (ODBC)
ActiveX Data Objects (ADO)
Object Linking and Embedding (OLE) Automation
Integration Manager
Table Import
Web Services
Chapter 3, Getting Started with Dexterity, will teach you how to prepare your development environment for creating an integrating application with Dexterity. You will learn about the various components making up Dexterity and how they work together.
Chapter 4, Building the User Interface, introduces you to your first hands-on exercise in which you will build the user interface for your project. Additionally you will create the tables, forms, windows, and base resources you need for your sample integration.
Chapter 5, sanScript – Making It Work, will teach you the basics of the sanScript language and will continue your integration project. You will bring life to the window you created in Chapter 4 by adding code to object events.
Chapter 6, Deploying a Dexterity Solution, will help you finalize your Dexterity integration project by creating deployment scripts and building your chunk file. You will then install this chunk file and see your program run in the multi-dictionary environment of Dynamics GP.
Chapter 7, Creating Customizations with Modifier, will help you start a new project using the Modifier. In this project you will modify the user interface you created in Chapter 4, as well as numerous alterations to native Dynamics GP windows.
Chapter 8, Creating Customizations with VBA, covers how VBA is used in Dynamics GP. The Dynamics GP object model, VBA object properties, and object events are covered in this chapter. Several projects are included in this chapter that will put code behind the modifications that you created in Chapter 7 using the Modifier tool.
Chapter 9, Code-free Customizations, shows you how you can create some very functional customizations using no code at all! You will create a customization using each of the tools listed as follows:
SmartList Builder
Excel Report Builder
Drill Down Builder
Extender
Chapter 10, Creating Customizations with VS Tools, will help you use Visual Studio along with the Software Development Kit for Visual Studio Tools for Dynamics GP (VS Tools). This chapter starts with how to install VS Tools, and ends with your having created a VS Tools add-in for Dynamics GP. The various VS Tools components are described as you work through your project.
Chapter 11, Upgrading Customizations, shows that once you complete your customization you need to know how to keep it up-to-date so that it will work with future releases of Dynamics GP. This chapter guides you through what to do, and how to do it. Included in this chapter are projects in which you will take a Dexterity project and a VS Tools project through an actual upgrade. The following customization types are covered:
Dexterity
Modifier with VBA
Extender
SmartList Builder
Report Builder
VS Tools
Chapter 12, The Wrap Up, asks you the question – so where do you go from here? In addition, it provides a run down on what we covered as well as information on books, blogs, websites, and training that can help you further your skills as a Dynamics GP developer.
Chapter 12, The Wrap Up, is not present in the book but is available as a free download from the following link: http://www.packtpub.com/sites/default/files/ downloads/0264EN_12_The_Wrap_Up.pdf.
Appendix A, Dexterity Control Types, provides more complete information about the control types supported by Dexterity. Here you'll find images of the control types as well as a brief description of their characteristics and usage. Appendix A is not present in the book but is available as a free download from the following link: http://www.packtpub.com/sites/default/files/downloads/0264EN_AppA_Dexterity_Control_Types.pdf.
Appendix B, Event Matrix, provides a matrix of the window events across Dexterity, VS Tools, and VBA. Use this matrix to compare how the events of each tool aligns with the others. Appendix B, is not present in the book but is available as a free download from the following link: http://www.packtpub.com/sites/default/files/downloads/0264EN_AppB_Event_Matrix.pdf
What you need for this book
To complete all of the projects in this book you need to have a basic understanding of the functionality of Dynamics GP. You also need to have had a little experience with some (any) computer programming language to help you understand the concepts of scripting.
In addition, you need the following software:
Dynamics GP 2010 with the following modules installed, registered, and working:
Modifier (installs automatically with Dynamics GP system files)
SmartList Builder
Extender
Fixed Assets
The current build of the Support Debugging Tool for Dynamics GP 2010.
Dynamics GP 2010 installation media. You will need this to install Dexterity 2010 and the Dynamics GP Software Development Kit.
The current build of DexSense for Dexterity 2010.
Microsoft Visual Studio version 2005 or later installed and working.
Software Development Kit for Visual Studio Tools for Dynamics GP 2010.
Information on how to obtain the Support Debugging Tool, DexSense, and the Software Development Kit for Visual Studio Tools is provided within the chapter that the tool is discussed.
Who this book is for
This book is for a developer who is just starting to work with Dynamics GP and is looking for a good introduction to what's going on under the covers of the application as well as the customization tools available to enhance it.
This book will introduce you to several of the tools available and give you a chance to work with each one of them. You will get a feel for what it's like to use the tool, and perhaps learn which of the tools you may like to explore further.
This book includes step-by-step instructions for completing small integration projects using each of the tools listed as follows:
Dexterity
Modifier with VBA
Extender
SmartList Builder
Excel Report Builder
Drill Down Builder
Visual Studio Tools for Dynamics GP
The intent of these projects is not to create complete working applications, nor to make you an expert on any of these applications, but rather to provide insight into how the tool works. Think of it as a plate of appetizers for tasting each of the tools included.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: You can register a function trigger against any dictionary in the application using the function Trigger_RegisterFunctionByName()
.
A block of code is set as follows:
range clear table RM_Customer_MSTR;
range table RM_Customer_MSTR where
physicalname('State' of table RM_Customer_MSTR) + '= IL'
;
fill window Customer_Lookup_Scroll;
range clear table RM_Customer_MSTR;
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: Your new Additional menu will be on the Customer Maintenance window
.
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <[email protected]>, and mention the book title through the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
Downloading the color images of this book
We also provide you a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output.You can download this file from http://www.packtpub.com/sites/default/files/downloads/0264EN_graphics.pdf
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website, or added to any list of existing errata, under the Errata section of that title.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <[email protected]> with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
Questions
You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.
Chapter 1. Microsoft Dynamics GP Architecture
You can develop applications that seamlessly integrate with Microsoft Dynamics GP, so that the user will not be able to tell when your code is running versus the original Dynamics GP code. Creating such integrating applications first requires that you have an intimate knowledge of Dynamics GP's architecture. By architecture, we mean the design that allows the product to evolve with technological advancements and embrace the increasing demands for performance and capacity. This lasting design is a framework of interdependent components that weave together to create the application we know today. Understanding the components of Dynamics GP and how they work together will prepare you to design a solution that will evolve alongside Dynamics GP as it meets the demands of this ever-changing market.
This chapter is a 10,000 foot view of Dynamics GP, how it was built, why it was built that way, and how this affects your application. Upon completion of this chapter, you will understand the components that make up Dynamics GP and how your application fits into that architecture. This chapter will provide an overview of the following topics:
The native user interface
Dexterity overview
Components of the Dynamics GP application
SQL table and procedure names
What you see – the user interface (UI)
The native user interface
In developing an application exposed to the user, you must give careful consideration to the user's experience. By using objects that mimic the native user interface, the user will see your windows as if they were the native windows of the core application, and in many ways they will be. When Dynamics GP was released back in 1993, it was platform and database independent. It would run on both Macintosh and Windows clients. It would run on a Faircom Server as handily as it would run on an NT Server. In the beginning, Dynamics GP supported three database management systems: Btrieve (later named PSQL 2000), FairCom's c-tree Plus, and Microsoft SQL Server (starting with Dynamics GP release 3.15).
While today Dynamics GP only supports Microsoft SQL Server (SQL), be mindful that Dexterity continues to support the legacy databases. In building your own solution, these other databases are available for you to exploit. For instance, many developers use the c-tree database to create local temp tables. They are faster to access than SQL tables and easier to create. As