Thursday, December 26, 2013

The Dynamics GP Blogster Best Articles of 2013

Well, this year was quite the year in the Microsoft Dynamics GP world! Everything from partner readiness training events for Microsoft Dynamics GP 2013 Web Client around the US., to Convergence in New Orleans from which I happened to walk away with a severe case of pinkeye (side note: what was it with that city? I heard of more than 100 people attending the Conference walking away ill with anything ranging from stomach flues, to fever, to pinkeye, to...well you get the point), to the actual launch of Microsoft Dynamics GP 2013 and the web client, to the Microsoft Dynamics GP Technical Airlift in Fargo, ND, to the GPUG Summit in Tampa, to the MVP Global Summit in Seattle which counted for the first time with Microsoft Dynamics GP content. Who could also forget the release of the Business Analyzer Windows Store app and the marathon of features released with Microsoft Dynamics GP 2013 SP2, forcing my dear friend Pam Misialek to write another set of Feature of the Day articles.

Wow! Just going through it all makes me tired since I attended all, but the Tech Airlift. Not to mention, I delivered Web Client training to partners in South America on behalf of Microsoft which took me to Chile and Venezuela and put on a 6-city Dexterity training roadshow on behalf of my company, IntellPartners.

By the time you read this article, I will have written a collective 71 articles for this year (I know, right! What a slacker, considering last year I ended with 101 articles), posted over 5000 replies to forums, accumulated over 30 virtual badges of some sort, and participated in over 30 projects with customers and partners.

However, what I always seem to come back to is you! You the reader is really what keeps me going. You come to this site from all corners of this world. Some of you I have met in person at the very same events I mentioned above. Some of you are my clients, some of you are partners looking for answers. Some of you simply find this site by accident through an unrelated search and somehow you manage to come back for some strange reason, but hey, I am not complaining! To all of you a big THANK YOU! So without further dues, here are the articles you liked the most this year (in no particular order):

1. Microsoft Dynamics GP on Windows Azure. Who knew so many of you were interested in Azure hosting. In this article I went through the process of provisioning all the way to installing Microsoft Dynamics GP web client in a Windows Azure environment - not without the snags. I have to say I learned a lot in the process and may be revisiting this very same topic next year.

2. Microsoft Dynamics Convergence 2013 New Orleans. This Convergence was the biggest yet with tons of product launches and customers success stories. It was also special for me as I participated for the first time in the Microsoft Dynamics GP General Session event.

3. Unable to Access Snap-In Config Data Store. Tell you what... So many people wrote me to thank me for a solution to this problem. HTTP Activation, will never forget that... ever!

4. Troubleshooting the Microsoft Dynamics GP 2013 Web Client. After Convergence, everyone came back pumped up wanting to tackle Web Client, if only to test drive it. However, it wasn't without it's difficulties, so this was the reason to write this series.

5. How to Reset Business Analyzer Settings. Playing with BA certainly forced a lot of you to think about how to reset the app settings as opposed to install and uninstall each time. Thank goodness we found an answer together.

6. SmartList Designer. With the launch of GP 2013 SP2 came SmartList Designer which had a lot of you SmartList Builder fans freaking out. I think it's clear by now that SmartList Builder rules the world of build your own, but you cannot negate the fact that SmartList needed a little face lift and that Designer is a nice addition to it.

7. Rendering WinForms in Microsoft Dynamics GP Web Client. GP 2013 SP2 also had some nice surprises for developers, like the ability to render your WinForms in the Web Client. This certainly alleviated some of the heartaches suffered by many ISVs after the first announcements went out in 2012 that WC would not support form-based VST customizations.

8. GPUG Summit 2013. It seems that most of you enjoy my traveling experiences around conferences. Interestingly enough, I get more visitors to my blog when I relate inside conference experiences than when I do articles on other topics. The GPUG event wasn't any different, especially knowing that it was in the beautiful city of Tampa.

9. How to display parent company information on SOP documents. Not sure if you liked this one because you were having an issue or because it was done using the Support Debugging Tool. Whatever your reasons, you expressed liking the elegance of the solution. All fine by me ;-)

10. Microsoft MVP Global Summit 2013. The MVP Summit drew your attention just as much as any other conference I had blogged about. Frankly, it was a unique experience which I hope I can get back to in the upcoming 2014. Also love the fact that it was moved to nice time of the year (as in less cold!).

Not sure what 2014 writing will look like. However, quite a bit of events are coming to this site: Microsoft Dynamics Convergence 2014 in Atlanta, Georgia (register now); GPUG Summit 2014 in St. Louis, Missouri. The bottom line, I can't wait to fill you in with my experiences and hopefully some insight into product development (within what I can disclose).

So let's get ready for 2014 and keep up the readership!

Monday, December 23, 2013

Merry Christmas from my Family to Yours!

Well, I'm writing this article thinking about all the things that happened in my life throughout this year and I have to say, some events have been extremely good, others, well, not so good. However, whatever curve balls life throws at you makes you appreciate it a bit more for what it is. In the end, I have my family around, people who cares about us, and a good following out there that makes The Dynamics GP Blogster one of the top resources in the Microsoft Dynamics GP community. My wife Marina Dzyura Gomez and our children cannot thank you enough for your support and your readership.

Marina Dzyura Gomez and Mariano Gomez

So whether you celebrate Christmas or not, or you simply observe a time of peace and quiet, or you simply have to keep working like me, I wanted to take this opportunity to wish you a Merry Christmas and wish upon you and yours the true meaning of peace of this special time of the year.

One of my favorite old time artists is Perry Como. I leave you with what I believe is the best interpretation of The Christmas Song.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Wednesday, December 11, 2013

Web Client Wednesday - The Lingo

Microsoft Dynamics GP 2013 web client introduces new terms beyond your traditional "Launch File" and "Settings File", and though these two terms still exist, the list has just got a bit longer. Most of the terms in this list identify web client architecture components. Other terms simply identify technology stack elements. However, familiarity with all these terms, components, and their relationships is a must if you are a technical/implementation consultant or IT director looking to understand what is going to take to deploy the environment.

Active Directory Certificate Services
Certificate Authority
Certificate Store
Dynamic Form Rendering
Fiddler Trace
HTTP Activation
HTTPS Binding
Last Heatbeat
Named System Database
Potential Sessions Remaining
Rendering Engine
Runtime Service
Security Token
Self-Signed Certificate
Session Central Service
Session Host
Session Management Proxy Service
Session Monitor
Session Service
Silverlight App
Silverlight Canvas
Silverlight Certificates
Silverlight Snap-In
SSL Certificate
Tenant Discovery Service
Tenant Management Proxy Service
Tenant Management Service
TrustedApp msi
Web Client Diagnostics
Web Client Runtime
Web Management Console
Wildcard Certificate
WCF Endpoint
WCF Service

Here's a list of resources that deal with all these terms and what they mean:

Dynamics GP 2013 Web Client Infrastructure Overview, Aaron Donat @ Developing for Dynamics GP
Microsoft Dynamics GP Web Client and Silverlight Security Requirements, Aaron Donat @ Developing for Dynamics GP
Active Directory Certificate Services, TechNet
What is Windows Communication Foundation?, MSDN
Dynamic Form Rendering, Mariano Gomez @ The Dynamics GP Blogster
Fiddler Web Debugging Proxy, Eric Lawrence
What is SSL Certificates?, GlobalSign (GMO Internet Group)
Using the Named System Database Feature for Microsoft Dynamics GP 2013, Aaron Donat @ Developing for Dynamics GP
Silverlight, Microsoft
How to Setup SSL on IIS?, Microsoft
Troubleshooting the Microsoft Dynamics GP 2013 Web Client - Part 7, Mariano Gomez @ The Dynamics GP Blogster

Hope you find this information useful.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Thursday, December 5, 2013

Visual Studio Tools for Microsoft Dynamics GP 2013 and Microsoft Visual Studio 2013

A few weeks aback I talked about Updating your Visual Studio Tools for web client development environment and soon after I started receiving numerous emails from developers wanting to know if they could leverage the current Visual Studio Tools 2013 SP2 (VST) templates with Visual Studio 2013.  As of yet, Microsoft has not released Microsoft Dynamics GP Add-In and Microsoft Dynamics GP Web Client Add-In templates for Visual Studio 2013, but with the help of my good friend Michael Hammond, Sr. Engineering Lead at Microsoft I have instructions on how to move the current Visual Studio 2012 templates to Visual Studio 2013

1. Locate the current VST templates folders under your Microsoft Visual Studio 2012 program files folder. These can usually be found as follows:

Visual C# templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\CSharp\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\1033

*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.

Visual Basic templates folders
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\VisualBasic\Dynamics GP
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\VisualBasic\1033

*The latter folder contains the zip file items associated with the project's Add | New Item.. action in Visual Studio, giving access to Microsoft Dynamics GP Form and Microsoft Dynamics GP Silverlight Window.

2. Copy and paste the Dynamics GP folder from under the above folders to their corresponding Microsoft Visual Studio 2013 program files folder. These are consequently found at:

Visual C# templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\CSharp
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\1033

Visual Basic templates folder
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ProjectTemplates\VisualBasic
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\VisualBasic\1033

3. Configure Microsoft Visual Studio 2013 to recognize the templates. Start a Command Prompt as an administrator and change directories to C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE. Once in the directory, you can type the following command to setup the Visual Studio 2013 environment:

Command Prompt

The setup process should take no more than a couple minutes. Once you finish, you can launch Visual Studio 2013 and click to create a project using the Dynamics GP templates installed.

Visual Studio 2013 with Dynamics GP templates
Now, the beauty of all this is I can focus on my Windows Store applications without losing track of my Dynamics GP apps - the beauty of having everything under one roof.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Wednesday, December 4, 2013

Web Client Wednesday: Microsoft Dynamics GP on Azure

Back in February of this year, I did a full walk-through of Microsoft Dynamics GP 2013 deployment on Windows Azure. I realized that one of the things that make it hard for partners and customers to determine whether to use the Windows Azure platform for hosting their Microsoft Dynamics GP solution is the scattered information regarding (application) features that are supported on the platform. In fact, did you know that even if you are not running Microsoft Dynamics GP 2013, you can still take advantage of Windows Azure to host other versions of Microsoft Dynamics GP? You can always run the desktop client with Remote Desktop Services (RDS) to accomplish this.

So, the objective of this article is to go over the Microsoft Dynamics GP components that are supported on the Windows Azure platform, which can be categorized into features that are Fully Supported and features requiring RDS licensing.

Full Support

These are features that are internet facing (accessed via a browser) from the Windows Azure platform, without requiring much interaction with the desktop client.

  • Web Client
  • Web Services
  • Business Portal
  • Workflow (limited Dynamics GP desktop client use)
  • Management Reporter Web Viewer feature
  • Tenant Services
  • SQL Server Reporting Services Reports

RDS Licensing

These are features that you will access via a remote desktop connection and is no different than your traditional Terminal Services or Citrix experience.

  • Microsoft Dynamics GP desktop client
  • eConnect (determined by consuming application)
  • Integration Manager
  • Management Reporter Report Designer and Viewer
  • Excel Reports
  • Analysis Cubes

As you can tell, Windows Azure presents a great opportunity for those of you trying to leverage a world class data center. In addition, Azure allows connectivity to your LAN via its virtual network infrastructure. You can try it out free for 30 days by visiting All you need is a Microsoft Account (formerly Windows Live ID) to get started.

If you need a walk-through, please feel free to add your comment to this post with information on how to reach you.

For more info on RDS licensing, take a look at RDS Solution for Dynamics GP on Azure over at Inside Microsoft Dynamics GP.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Monday, November 25, 2013

Running Windows 8.x Business Analyzer app on a laptop with SQL Reporting Services

If you are a consultant, chances are you run your Microsoft Dynamics GP application demo environment on a laptop along with Microsoft SQL Server and SQL Server Reporting Services. This is all good, because it saves you from having to deal with virtual machine images in most cases.

I also happen to be running all my application demo environment components on a Microsoft Windows 8.1 machine which gives me the opportunity to showcase the new Business Analyzer app.

Business Analyzer app on Windows 8.1
Traditionally, when you try to connect Business Analyzer to SSRS on a Windows 8.x machine, the setup would go into a tail spin and you would end up with a "Cannot connect to server" error.

By default, Windows 8 Modern UI Applications are forbidden to send network traffic to the local Computer. This is, Windows Store apps requiring network access are not automatically capable of communicating with a server application when both are running on the same machine - in this case Business Analyzer requires network access to communicate to SQL Server Reporting Services. This is also known as loopback.

Implementations of the Internet Protocol Suite include a virtual network interface through which network application clients and servers can communicate when running on the same machine. It is implemented entirely within the operating system's networking software and passes no packets to any network interface controller. Any traffic that a computer program sends to a loopback IP address is simply and immediately passed back up the network software stack as if it had been received from another device.

There are a few ways to enable loopback in Windows 8.x:

Method 1. Fiddler

In Fiddler, you can use the AppContainer Loopback Exemption Utility, available by clicking the Win8 Config option on the toolbar.

AppContainer Loopback Exemption Utility
You may remember Fiddler from my article Troubleshooting the Microsoft Dynamics GP Web Client - Part 5, Tools for Troubleshooting Web Client Issues.

Method 2. CheckNetIsolation.exe

The CheckNetIsolation.exe tool is a command line tool available with Windows 8.x. In order to run the tool, you will need to access the Command Prompt. For more information on CheckNetIsolation, take a look at the following MSDN article:

MSDN - How to enable loopback and troubleshoot network isolation (Windows Store apps)

Of course, I found Fiddler a lot easier to use as all you have to do is point and click the Business Analyzer application and that's it. However, I do believe in testing various tools and see how the options work.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Friday, November 22, 2013

Microsoft MVP Global Summit 2013 November: Day 3

Wednesday, November 20

The Microsoft MVP Global Summit is come to an end, but I am going to finish up the series and as usual wrap up with some thoughts.

Frankly, today I woke up dragging feet a bit. It's been 2 grueling days of intense sessions with a lot of material to absorb. Since I am leaving on Thursday with the 1:15 PM flight back to Atlanta, I figured I would pack the day with a bunch of sessions I am interested in. And so, I attended the following sessions:

BR078 - DevDay1: What’s Next for the Visual Studio IDE?
BR519 - SQL Session 11-EN: Hidden Gems in SQL Server 2014
BR296 - SQL Session 12-BI: Applications on SSIM Platform

Again, I cannot really disclose much of the content I gather from these sessions, but suffice to say the future of Visual Studio looks great and you can start seeing some of the UX

As for SQL Server, you should be looking into some of the content already being delivered by Microsoft in SQL Server 2014 CTP2 and especially its new In-memory OLTP feature.

As with all Microsoft events, it was time to start closing the curtains and this year, the MVP Summit party was being held at the Seattle Aquarium. The Aquarium opened in 1977 and located on Pier 59 on the Elliott Bay waterfront in Seattle surrounded by one of the most amazing city skyline views in the United States.

Upon entering the building, it was impossible to miss the big fish tank accessorized by a reflection of the Microsoft MVP logo.

Projected MVP Logo above the fish tank
As good geeks we are always in the look for some conversation, so it was not uncommon to see tables of people simply talking around appetizers and drinks. There was also a free photo booth that allow MVPs to take some really cool pics with their friends, wearing all sort of accessories to spice things up and make things really funny.

MVPs at the Seattle Aquarium
Microsoft also made available free passes to the Seattle Great Wheel, located directly across from the Aquarium at Pier 57.  With an overall height of 175 feet (53.3 m), it became the tallest Ferris wheel on the west coast of the United States when it opened on June 29, 2012. However, this title may not stand long with the upcoming High Roller ferris wheel being constructed in Las Vegas, NV.

Seattle Ferris Wheel
It was time to play some darts, so I teamed up with my friends Ronni, Gus, and Tanguy for a couple rounds where I came out on top - really didn't know I had much of a steady pulse for darts.

MVPs Ronni Haakon Hegelung (C# - Denmark), Gus Gonzalez (CRM - USA),  Tanguy Touzard (CRM - France)

It was time to get back to the hotel to pack and get some rest. I won't be attending any of the Thursday morning sessions so this was it for me.

There will be no wrap up post to this series so here are my final thoughts about the MVP Global Summit:

1. This was my first ever MVP Summit and it's good to see that other individuals from around the world share the same (or probably even more sometimes) passion I have for helping the technical communities of users and partners. Some fellow MVPs spend countless hours on forum activities, presentations at events, and their day jobs that it always begs the question from others: what time do you guys find to do all this stuff?

2. I have new appreciation for doing presentations. I used to think that delivering presentations to the community was hard enough. Wait until you ever have to deliver a presentation to a room full of extremely smart people who do actually work with the products you build. So kudos to all Microsoft Program Managers for taking the time to put up with us over the past few days.

3. It's hard to coordinate an event this large and the MVP Award Program did an excellent job at making sure buses and staff were well prepared for this one. I am sure there may been a few hitches here and there, but if they were, I sure was not aware of any.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Wednesday, November 20, 2013

Microsoft MVP Global Summit 2013 November: Day 2

Tuesday, November 19

This day is very significant for us, Microsoft Dynamics GP MVP. For the first time, the MVP Global Summit features Microsoft Dynamics GP content.

I had a late start today. I believe I am starting to slow down. The previous day proved very hectic and tiring, displacing between buildings. However, I was at the Microsoft Conference Center early this morning to begin the day. On my way to the registration desk with Leslie and John, I saw this guy which I can only qualify as the Leslie Vail of the MVP world. He sure looked the part.

Just some morning fun

But what else could get your day going, if not Clippy, the former Office Assistant? Clippy happened to be running up and down the corridors of Building 33 greeting and cheering MVPs in attendance.

We quickly found our way to Building 34 where the GP Product Team comprised of Daryl Anderson and Mike Hammond was ready to rock and roll. The following were the topics for the day:

BR133 - Dynamics GP on Azure
BR134 - Dynamics GP: DexNext
BR135 - Dynamics GP: Office 365 Integration
BR132 - Dynamics GP: Web Client Extensibility

This content was mostly covered at the last Microsoft Dynamics GP 2013 Technical Airlift in Fargo so not much was under NDA. Our review covered most of the Azure infrastructure setup and requirements to support an RDP or Web Client deployment.

Mike dove into the DexNext service architecture and what it meant for the future of Dexterity and Microsoft Dynamics GP, and how the service architecture is comparable to that of the current web client. Daryl covered the Office 365 integration considerations and gotchas for a smooth deployment of Microsoft Dynamics GP on prem or in the cloud. Finally, there were some hardcore, deep dive into Web Client extensibility and the current supported integration methods with Visual Studio Tools. I covered a sample of this in my article VST: Rendering WinForms in Microsoft Dynamics GP web client.

After a long day, it was time for dinner. All product groups would have a night out at The Commons with their respective MVP groups. Our assigned location was Spitfire Grill.

Spitfire Grill at Microsoft Commons
Decompressing was the name of the game and what better to do so by helping Daryl's daughter with her math homework. All those napkins on the table are scribbles containing her n-root expressions in simplest form.

Daryl Anderson, Leslie Vail and John Lowther
Meanwhile, Mike, Belinda, Jivtesh, and I were deep into how the Web Client is impacting our deployment choices with our customer base and looking for ways to increase adoption. If you haven't been following my Web Client Wednesday series you will want to do so as I am going to amp up the content after this Summit.

Mike Hammond, Leslie Vail, and Jivtesh Singh
Finally, a little sign-off on the board to let the world know we were here.

The Dynamics GP MVPs sign the board designating our spot at Spitfire
The evening was cold so it was time to return to the hotel to get some work done... ehem! Sleep. Tomorrow marks the final day of most of the sessions.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Tuesday, November 19, 2013

Microsoft MVP Global Summit 2013 November: Day 1

Monday, November 18

Seattle has some rain in store for us this week and it did not disappoint. The morning started with a hearty continental buffet over here at the Hilton Bellevue hotel where MVPs were clearly gearing up for the long day ahead.

MVPs heading over to MSCC

After wrapping up, I headed over the Microsoft Conference Center in Building 33 to begin my Monday sessions. First up was BR404 - What's New in Windows Azure AD presented by Vittorio Bertocci, Principal Program Manager in the Windows Azure Active Directory team in charge of the Developer Experience. I was fascinated by the upcoming improvements

Following the BR404 session, I headed over to building 122 to attend the rest of the sessions on my agenda for the day:

BR286 - SQL Session 2-ALL: Information Management and Data Stewardship
BR287 - SQL Session 3-BI: Under the hood of Power BI
BR288 - SQL Session 4-BI: PowerBI IT Admin Experience

While I can't comment on the details of the sessions, these mostly focused on upcoming functionality in the Power Query and Power BI stack of self-service BI applications for on-premise and cloud data. These sessions went into the architecture, concepts, and some practical use cases illustrating the capabilities of the stack and some challenges surrounding the development process.

On the way out for some fresh air between sessions, I saw a few MVPs at the Tech Link center. Microsoft Information Technology (Microsoft IT) Tech Link centers provide Microsoft employees and vendors with a walk-in location where they receive face-to-face troubleshooting support from the Microsoft IT group's (MSIT) personnel.

Tech Link Center
Finalizing the day, it was time to return to the hotel to drop off my computer and head over to the MVP Reception at the Hyatt Regency. At the bus pick up station, I had a chance to meet and greet with a few SharePoint Server MVPs from Canada. I took the opportunity to talk about a Business Portal deployment for a customer in Ireland and got a few potential solutions to the issue we are trying to resolve.

Alain Lord, and Vlad Catrinescu
The networking opportunities presented by the Microsoft MVP Global Summit are unique and allow most of us to "compare notes".

At the Hyatt, I met up with Microsoft Dynamics GP MVPs Leslie Vail and John Lowther. Leslie had just arrived into town so we went straight to the registration desk to get her set up. Following her registration, we all headed over to the Microsoft Store at Bellevue Square to take advantage of our MVP-only Microsoft Surface 2 offer.

Back at the Hyatt, it was time for some R&R and socializing.

MVP Reception at Grand Ballroom
Our group consisting of Jivtesh Singh, Belinda Allen, Leslie Vail, John Lowther and I found a table outside of the ballroom where we sat to have a few drinks and eat some food. We were later joined by Dynamics AX MVPs, most of who we had met at the Dynamic Communities summit in Tampa and past Convergence events.

Dynamics MVPs Meeting of the Minds
Joris de Gruyter (AX), Murray Fife (AX), Jose Antonio Estevan (AX),
Jivtesh Singh (GP), Belinda Allen (GP), and Leslie Vail (GP)

The group got even larger after Dynamics AX MVPs Andre Arnaud de Calavon (Netherlands) and Tommy Skaue (Norway) showed up - both returning from the Microsoft Store. Between product trash talk, jokes, laughs, and at times, some deep technical discussions, the night went by pretty quick, so it was time to return to my hotel.

On the way out, I caught up with my MVP Lead, Melissa Travers, who gracefully accepted my request for a picture. MVP Leads are our direct connection to Microsoft and they keep each one of us MVPs plugged into Microsoft organization, product news, and MVP activities overall. They are an important part in making the MVP Award Program a success.

MVP Lead Melissa Travers and I for a selfie

Tomorrow is a special day here at the MVP Global Summit: for the first time ever, the Microsoft Dynamics GP Product Management team and their MVPs will have an entire day of product group interactions (breakout sessions) featuring Microsoft Dynamics GP NDA content. Fargo has sent two of its best too: Michael Hammond and Daryl Anderson who will be hosting the sessions.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Monday, November 18, 2013

Microsoft MVP Global Summit 2013 November: Getting Here

Sunday, November 17

This week finds me in the beautiful city of Seattle, Washington, partaking in my first Microsoft MVP Global Summit The MVP Global Summit is a multi-day event that is hosted in Bellevue and at Microsoft headquarters in Redmond, Washington. With a large catalog of technical sessions and a variety of networking opportunities, the MVP Global Summit enables MVPs to connect with other MVPs, build relationships with Microsoft product managers, and provide feedback on Microsoft products and technologies.

My day started with a fairly quiet travel between the cities of Atlanta, GA and Seattle, WA. Arriving into Seattle-Tacoma International Airport was its usual self around this time of the year: cloudy, cold, and misty.

View of the Port of Seattle
After landing, I grabbed a cab that would take me straight to the Hilton Bellevue hotel, where registration was a breeze. Up I went to my room to change into some jeans and headed over to the Bellevue Hyatt Regency Hotel to register for the Summit. It was almost 5:00 PM (local time) when I arrived at the Hyatt where I met up with Microsoft Dynamics GP MVPs Belinda Allen and Jivtesh Singh.

Following registration, Jivtesh, Belinda, and I directed our attention to the MVP Showcase, an expo-style event on Sunday afternoon that showcases the work of a select group of MVPs and their impact on technical communities around the world, and being held in the Grand Ballroom.

MVP Showcase 
It was time to socialize and enjoy the show (and the appetizers and free drinks!). While visiting the booths, we came across Dynamics AX MVP André Arnaud de Calavon, who was also taking in some of the information around the always interesting Microsoft Technical Communities and its initiatives to build a solid network for community leaders and speakers.

Dynamics GP MVPs Jivtesh Singh (Australia) and Belinda Allen (USA),
Dynamics AX MVP André Arnaud de Calavon (Netherlands)
Wondering around the Showcase, we were joined by Microsoft Dynamics GP MVP John Lowther. John and I had been exchanging emails and text messages prior to our arrival into town, trying to round up the Dynamics GP MVP troops.

MVP Belinda Allen and I
After walking around for a bit, John and I stopped at the Microsoft Office product team booth to participate in a couple of games. The first game was to assemble a clear plastic briefcase with the Microsoft Office Project logo on the front. The winner of this challenge would take home a very cool Office bag. Suffice to say, neither John or I won and ended up with some extra cuts on our hands and fingers as a result.

We then moved on to a Jeopardy style game where we would spin a roulette with various Office product lines and answer a question based on the outcome on the roulette. Funny to see so many non-Office MVPs striking out on these "trivia" questions.

Who wants to play?

Who's next?
It was time for dinner. With Belinda having plans to dine with her husband and Jivtesh, John and I decided to head over to the west side of town, into Seattle's Belltown for some sushi at Umi Sake House. Umi is a sophisticated twist on the Japanese Izakaya style of informal eating and drinking. The design of the restaurant mirrors a Japanese country house, including a “front” and “back” porch. This restaurant ranks consistently in the Top 10 list of best sushi restaurants in the Seattle area.

Back at the hotel, it was time to check on the goodies collected so far. It is always good to plan some extra space in the suitcase to take home all the stuff you collect at these events.

Summit jacket, geek shirt, and Duet for Microsoft Office and SAP hat

MVP water bottle, Microsoft Surface Touch Cover, and Microsoft Office Project clear briefcase
Well, tomorrow is a jam-pack day fill of sessions. While my non-disclosure agreement (NDA) prevents me from talking about the content of the sessions, I will try to bring some insight into the experience as a whole.
Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

How to Display Parent Company Information on SOP documents

A few days aback I encountered a really interesting discussion on the Microsoft Dynamics GP Community forum where the user needed to get the parent customer information on the SOP Blank Invoice Form. I asked myself, "Well, how difficult can that be?"

The first thought around these requests is, you create a table relationship between the Sales Transaction Work (SOP_HDR_WORK) table and the RM Customer Master (RM_Customer_MSTR) table by Customer Number and you get the parent customer ID. In that train of thought you immediately realize that there's no way to alias the RM Customer Master table back into the table relationship to retrieve the parent customer ID information. [NOTE TO SELF: this would be a cool Report Writer feature, but I digress.]

Of course, a second alternative is to use VBA, but many customers and partners are wary of implementing a VBA solution, especially when they are considering upgrading to Microsoft Dynamics GP 2013 and taking advantage of the web client. VBA customizations simply do not work with the web client.

As I thought through an alternative, I quickly realized this would be a good fit for the Support Debugging Tool and it's awesome Runtime Execute feature. As it turns out, the Support Debugging Tool is capable of executing Dexterity sanScript code within the context of any dictionary, but not only that; it provides some really cool templates that save time and minimizes the amount of code an entry level developer needs to create to accomplish a solution. In turn, there are a number of Report Writer API scripts built into the Dynamics application dictionary (DYNAMICS.DIC) to allow third party developers to expose data from their tables onto an existing Microsoft Dynamics GP report without having to write a complex interface to do so.

The Solution

1. The first task at hand is to open the Runtime Execute window in the Support Debugging Tool. Once the window is open, click on the Helper button to open the Insert Helper Function window. From the drop-down list, select template for rw_TableHeaderString.

Insert Helper Function window

Below is the signature for the function as we will use it.

The rw_TableHeaderString function

function returns string sData;

in integer dict_id;  {Support Debugging Tool Dictionary ID}
in string report_name;  {Support Debugging Tool Script ID to call}
in string sNumber;  {Parent Customer ID field we will retrieve}
in integer sType;  {Not used, we will default to 0}
in integer iControl;  {which piece of data to return} 

We will use this function to return a string value for the selected Parent Customer ID information field to a Report Writer calculated field.

By clicking OK, the Support Debugging Tool inserts the code to get us started in the right direction.

Helper Code
Very cool! All that's left now is to add the extra bits of code to retrieve the parent customer information from the RM Customer Master. In addition, we need to make sure that this code executes in the context of the Microsoft Dynamics GP product.

Additional Code
The template function even indicates where our code should be inserted and as you can see this is easy stuff for any entry level Dex developer. All we did here was use the MBS_Number local field as the parameter value that will contain our parent customer ID (to be passed from Report Writer) to get the piece of data we are interested in based on the value that we will supply to the MBS_Control local field (again, from Report Writer). The returned table value will then be stored in the MBS_TableHeaderString local field.

The Support Debugging Tool then goes to action and call its MBS_Param_Set API function to talk back to the Report Writer API script and deliver the values retrieved to it. Isn't this awesome!

2. The second part of our solution consists of 3 parts really: a) we need to create a table relationship between the Sales Transaction Work table and the RM Customer Master table as this relationship does not exist out of the box, b) We then need to create calculated fields for the pieces of Parent Customer data we would like to retrieve, and c) We need to complete the layout and grant security to the modified report.

I will assume for this article that you are familiar with the processes of creating new table relationships in Report Writer and laying out the new calculated fields and granting security to the modified report. You can always browse the Report Writer manual accompanying your Microsoft Dynamics GP application for information of these processes, so my attention will focus solely on the calculated field.

In this example, I want to retrieve the parent customer name. For this we will create a new calculated field as follows:

a) Create a new calculated field, in this case I will call it (A) Parent Name. The result type of the calculation will be a String and the expression type is Calculated.

b) Since we are using the rw_TableHeaderString user-defined function, we will choose this accordingly:


c) Now we have to setup the parameters as indicated by the function signature above. The first parameter we will add is the Support Debugging Tool's dictionary ID, 5261. We will add this as an integer constant.

Dictionary constant 5261 to call the script we wrote
d) Now we have to call the Runtime Execute script we created, GETPARENTINFO. We will add this as a string constant.


e) We now need to pass the parent customer number parameter, our default (not used) parameter, and the value number for the field that will be retrieved for the parent customer data, according to how we coded our script above. This is shown below.

Last 3 parameters.

The RM_Customer_MSTR.Corporate Customer Number field is retrieved from the RM Customer Master table which we created via a new table relationship and subsequently adding that table relationship to our report.

The following shows a muck-up of the report layout with the parent customer name calculated field created:

Report Layout
The report should display something like this when run in Microsoft Dynamics GP:

Invoice Layout

Final Notes

The above script could be extended to retrieve other pieces of data for our parent customer, like contact, address, city, state, zip, phone numbers, etc. In this case you will need to add more entries to the case...end case statement above and retrieve the correct table column. You can find more information on the table columns for the RM Customer Master in the Microsoft Dynamics GP software development kit (SDK).

This solution is absolutely compatible with Word Templates and the Web Client. In the case of Word Templates, you will need to export a new report definition file (XML) and import into your template fields. In the case of the Web Client, all the components above are within the confines of a Dexterity application and the Support Debugging Tool happens to be compatible with the Web Client, just as much as Report Writer is. Your modified report should render absolutely fine on the Silverlight canvas control, if printing the standard report.

For all workstations to take advantage of the Runtime Execute script, the Support Debugging Tool must be deployed with the recommended configuration - all workstations pointing to a centralized configuration file, debugger.xml.

The Support Debugging Tool never ceases to amaze me. You can find similar article to this one and more information here:

The Dynamics GP Blogster - Adding Customer Item User Defined Field to SOP Invoice
Developing for Dynamics GP - The Support Debugging Tool Portal

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC