Tuesday, October 30, 2007

Great Plains : Keyboard Shortcuts

I've learned that most GP Users are advanced keyboard users.

This is probably thanks to the excellent keyboard support since the early versions. In fact, Richard Allen, who has worked with GP since the early 1990's - expects all windows applications to have those basic shortcuts, and is pretty critical when they don't! I've seen him work in GP using his short-cuts and its a joy to watch how efficient and quick you can be, using - just the keyboard. Probably the comparison is a little wild - but watching somebody like him navigate and work in the GP - is as good as watching Tiger Woods play golf.

So I've been maintaining my own baby list (based on the GP documentation) with some screen shots - and I'll put it out here for reference and add on to it over time.

Do you know any other short-cuts that you use often ?

Common Keyboard shortcuts

Move to next field : tab

Move to previous field : shift + tab

Move from scrolling window to next field : ctrl + tab

Move from scrolling window to previous field : shift + ctrl + tab

Default button on a window : enter

Close the current window : ctrl + w

Exit application :alt + x

Ctrl + L To open the look window

Some shortcuts for the home page

Navigation pane button ctrl + number of navigation pane button. For example, press ctrl + 2 to activate the second navigation pane button.

Address Bar Alt + d

For Date Fields - if you enter it just the day, it will automatically fill in the current month and year. 08 Becomes 08042007

Adding a Shortcut to Open Up a Specific Window

Say, you are end up adding a few customers everyday at various times. You can set up a shortcut, say CTRL + SHIFT + C to open up the Customer Maintenance Window.

Then there are the Window Specific Shortcuts

Customer Maintenance - Alt + A,A would open up customer accounts

I just searched help and found all the window specific short-cuts.

Assembly Entry — Decrease Level

ctrl + d

Assembly Entry — Increase Level

ctrl + i

Edit Payables Checks — Create Temporary Vendor

ctrl + t

Edit Purchase Order Status— Display Vendor Item Detail

ctrl + d

Payables Manual Payment Entry — Create Temporary Vendor

ctrl + t

Payables Transaction Entry — Create Temporary Vendor

ctrl + t

Purchase Order Entry — Create Temporary Vendor

ctrl + t

Purchase Order Entry — Display Vendor Item Detail

ctrl + d

Purchase Order Entry — Open Item Detail

ctrl + e

Purchase Order Inquiry Zoom — Display Vendor Item Detail

ctrl + d

Purchase Order Inquiry Zoom — Open Item Detail

ctrl + e

Purchase Order Processing Item Inquiry — Display Vendor Item Detail

ctrl + d

Purchasing Invoice Entry — Display Vendor Item Detail

ctrl + d

Purchasing Invoice Entry — Open Item Detail

ctrl + e

Purchasing Invoice Entry — Open Match Shipments to Invoice

ctrl + m

Purchasing Invoice Inquiry Zoom— Display Vendor Item Detail

ctrl + d

Purchasing Item Detail Entry — Display Vendor Item Detail

ctrl + d

Purchasing Item Detail Inquiry Zoom — Display Vendor Item Detail

ctrl + d

Purchasing Item Receipts Zoom — Display Vendor Item Detail

ctrl + d

Purchasing Vendor Detail Entry — Create Temporary Vendor

ctrl + t

Receivings Item Detail Entry — Display Vendor Item Detail

ctrl + d

Receivings Transaction Entry — Create Temporary Vendor

ctrl + T

Receivings Transaction Entry — Display Vendor Item Detail

ctrl + d

Receivings Transaction Entry — Open Item Detail

ctrl + e

Receivings Transaction Inquiry Zoom — Open Item Detail

ctrl + e

Receivings Transaction Inquiry Zoom— Display Vendor Item Detail

ctrl + d

Sales Transaction Entry — Open Item Detail

ctrl + e

Sales Transaction Entry— Quick Print

ctrl + q

Select Purchase Order Items — Display Vendor Item Detail

ctrl + d

Vendor Account Maintenance — Open Additional Vendor Accounts

ctrl + e

Then you can also record a macro and that can be linked to a Keyboard shortcut.

Monday, October 29, 2007

Migrating Dynamics Databases from one server to another, and upgrading Great Plains.

When you are migrating the Dynamics Databases from your old server to a new one(Congratulations on the new server, BTW!), the general series of steps is as follows(bird's eye view) -

  1. Backup and transfer the Dynamics and company databases
  2. Backup and transfer the sql logins, sql jobs , database maintenance plans. Proof the jobs.
  3. If you are upgrading from SQL 2000 to SQL 2005, you would need to upgrade the compatibility from V8 to V9.

Somewhere along, if you are also upgrading great plains, which is a common case, sometimes you might face this error.


The following SQL statement produced an error:
  use msdb   /*IF THE JOB DOESN'T ALREADY EXIST, CREATE IT...*/ if not exists (select name from sysjobs where name = 'Remove Posted PJOURNALs From All Companies')     begin         /*CREATE THE JOB...*/         exec sp_add_job      ....



"Server XXX does not exist"


"Upgrade of Database XXXX failed. Microsoft Dynamics Utilities will now shut down"

You would also face this error when you do test upgrades, as your machine name is different from the name of the machine the original backups were taken on. The jobs etc, seem to be looking for the old name.

I've found the following script handy in these cases, it changes the SQL Server name back to what you want it to be.

The code below renames SQL server.  When you are doing a test upgrade on a different server, or after you migrate to a new server


Purpose: renames SQL server.

Server: all

Database: DBAservice

Originally Developed By : Yul Wasserman 03/08/02


Declare @pNewName varchar(256)

Set @pNewName ='XXXXXXXX' -- Change this to the name of the new server/test server

Declare @OldName varchar(256)

Declare @NewName varchar(256)

set @OldName=''

select @OldName=isnull(srvname,'') from  master.dbo.sysservers where srvid=0

If @pNewName is NULL


        create table #NName (NName varchar (256))

        insert #NName exec master.dbo.xp_getnetname

        select @NewName=Nname from #Nname

        drop table #Nname


ELSE If @pNewName is not NULL


        select @NewName=ltrim(rtrim(@pNewName))


If @OldName<>@NewName


        IF @OldName <>''


               print 'Attempting to drop server '+@OldName

               Exec master.dbo.sp_dropserver  @OldName


        print 'Attempting to add server '+@NewName

        Exec master.dbo.sp_addserver @NewName,'local'


If isnull(@@Servername,'')<>@NewName


        Print 'Please shut down and restart SQL Server in order to complete renaming.'


Else If isnull(@@Servername,'')=@NewName


        Print 'SQL Server is already named ' +@NewName


Sunday, October 28, 2007

Troubleshooting Long Login Times and Performance Issues in Great Plains

We faced this problem specifically for GP 9.  We tried a host of steps, then created a support ticket, submitted information log and trace info to Microsoft, and what actually fixed it was - moving to the latest service pack.

I'll put the information here - in case somebody finds it useful.

1 Check that you are running the latest service pack for Great Plains AND MSSQL.

I was used to ignoring this, and "Apply the latest windows updates" suggestion. But sometimes, this is the only thing that fixes things.

2 Check if tracing is turned on for all ODBC's

If tracing is enabled - there will be a sql log file created that would record every ODBC call that is made to any application that uses the ODBC drivers. Therefore the application is slowed.

To check the setting, click Start | Settings | Control Panel | 32bit ODBC | Select Tracing tab.

3 Check if a Dexsql log is accidentally on

Open the Dex.ini file that exists in your Great Plains application folder in Windows Explorer. Find and confirm the following statements in the Dex.ini file:




4 Turn off Home Page Display and check login time

Specifically the metrics and outlook section can be slow

5 Turn off security from Reminders and Check login time

Dynamics GP >> Forms >> System >> Reminder

6 Run profiler and review queries fired during startup

7 Are any anti-virus softwares installed on the system?

If the issue replicated only on machines that have the anti-virus

8 Can you reproduce the performance issue on all the computers?

This would identify if this is a machine related problem

9 Specifically, can you reproduce the performance issue when you are sitting directly at the computer that is running Microsoft SQL Server?

This would identify if you have network problems

10 Are there any physical symptoms on the computer that is running SQL Server? For example, is processor usage at 100 percent? Is the processor light on? With How many users do you face this problem ?

Tuesday, October 23, 2007

Copying File Location

I must have spent hundred of hours copying locations of files.

Here is what I generally do

1. F6

2. Ctrl + C

3. Ctrl + V in notepad or email editor

4. Click on the file

5. Click F2

6. Click Ctrl + C

7. Go back to notepad or email editor and press - Ctrl + V


I remembered having read about a shell extension that made this easier, so i googled for "copy file path" and got this - Copy File Path Extension. Requires Dot.Net 2.0.

Now i just have to right click and copy the path.

The really cool thing is that i can copy the UNC path. I generally have to access my machine via machine name to do that right now. This is something which is going to be installed whenever I set up a new machine.

By the way, VISTA has a hidden Context menu that comes up with similar options, when you right click pressing Shift.

Friday, October 19, 2007

High Level - System Requirements for MOSS 2007 with Business Portal

MOSS with Business Portal Rocks! As Mark and Partner Source would tell you, this is the feature to learn with GP 10.

Setting it up to work efficiently can be a pain if you ignore the performance guidelines. Here are my notes on MOSS Architecture so far.

First of all, I am going to skip the topology where Business Portal and Great Plains are installed on the same server. That's not practical at all. Microsoft recommends MINIMUM 4 GB RAM for such a server. My experience in trying to set up this configuration for demos is - it would bring your system to a crawl.

So, there can be two types of installations -

1. Stand Alone Installation : In this case everything related to MOSS is installed on the one server. The Data is installed on the SQL Express DB on the same machine. Great Plains rests on a separate server.

A point to consider here - is the 4 GB limit for SQL Express. If you plan to use MOSS for more than Business Portal, this wouldn't be practical.

2. Server Farm Installation : It divides the roles of servers in three parts -

a. Application server

b. Front-end Web server

c. Database server

You can have MOSS on three separate servers, or maybe club the application and web server on one  server and database on another. We are suing this topology on the installations we are doing.

I will post my results on a separate post in a few weeks after getting user feedback. Meanwhile you can check out the thousands of pages of performance guidance from Microsoft here - Planning and architecture for Office SharePoint Server 2007

IE 7 Says Microsoft.com is not recommended.

Don't get me wrong - I am a huge Microsoft fan(See first post), I'd wear a 'I Love Microsoft' Badge to an Apple or Linux conference any day. But this was kinda funny. Especially when you see something like this, trying to get work wrapped up at 6 PM on a Friday evening.

Tuesday, October 16, 2007

Finding data in a Database of 1000+ Tables in Dynamics GP

Mark provides a fantastic GP table reference on his blog.

New developers getting started with writing reports or developing applications often ask - "Do you have a document which explains the table structure of Dynamics?".

We end up providing either the huge documentation or pointing them to the table descriptions inside Great Plains.

Table Descriptions inside GP. (Tools > Resource Descriptions)

Often IT guys hoping to build a quick report are overwhelmed and- end up going for Great Plains Partner to build it for them. Considering the complexity of the GP Databases - it does make sense to have them built by an experienced GP developer unless you have long term needs.

Working with the GP Tables, I was always awed by the design. The scale of the whole thing is pretty impressive. According to Microsoft - the SQL is auto-generated by the runtime, which makes sense - I wouldn't want to be on the team that is manually writing or updating 10,000 stored procedures - after each release!

[Talking about Code generation, my favorite tool is Codesmith. Its has saved me thousands of hours over the years. More about it in another post.]

Meanwhile I would highly recommend checking out Mark's excel sheets - which would help you get started with the tables. Whenever I have had to use the table descriptions to figure something out - I have always been pretty frustrated at how slow the process is. This will help! Thanks Mark!

Mark's Excel Sheet

PS - In case there are some folks out there using Small Business Manager - you wont find the Tools > Resource Descriptions. You will have to go into the report writer first.

Sunday, October 14, 2007

Hello Blogworld - www.jivtesh.com !

Hello world! After years of contemplation, I am finally taking the big plunge launching my professional blog. This blog should be about - Development, Tech Stuff, Dynamics GP related development, ASP.Net AJAX. Surface Computing, XNA Game Programming, WPF ... and all the other stuff i do on weekends. It would probably be Microsoft centric. I expect to post information of value which is generally lost in emails, documents and coffee table talks. PS - Thats a photograph supposedly from Microsoft's Zune Office.