Confessions of a Dynamics NAV / Navision Consultant

Written by Alex Chow of AP Commerce, Inc. (www.apcommerce.com) based in Los Angeles, California

How to Define SetData and GetData in RTC Reports in Dynamics NAV Navision

7th July 2010

For some reason unfamiliar to me, Microsoft likes to write tutorials that does not easily teach you what you need to do to get the job done.

For basic List type reports, yes, it’s quick and simple, however, when it comes to reports involving forms (i.e. sales order, sales invoice, etc), I cannot find a good tutorial on how to get it done.

Forget about the Create Layout Suggestion feature on the form type reports. It sucks. You’d save a lot more time by re-creating your layouts in the standard NAV RDLC report.

One of the most important aspects of the Form type report when you’re trying to edit the standard report is 2 functions: SetData and GetData.

In this example, I’m modifying report 5703 (Transfer Order) report. I’m going to add the Shipment Date and the Shipment Method Code to the report in the report.

Here’s what you need to do, step by step:

1. Create the fields in the classic report and point to the proper field. It doesn’t matter where you put it as we’re not displaying the classic report.
AP Commerce - NAV Navision 1

2. Click on View –> Layout. This is to modify the report when running the report in the RTC environment. Note that you’ll need Visual Studio 2005 and above to do this.
AP Commerce - NAV Navision 2

3. You want to add 4 additional text boxes. Two for the caption box and 2 for the text box. I just copy and paste from the existing text boxes above. Number your GetData function 21 to 24 as shown in the example.

Background and the reason for this, if you’re not interested, skip to #4:
Now you need to do a little detective work to find where the SetData and the GetData is. If you notice on the upper left corner, there’s a small hidden field in red. If you highlight the field, the code reads:
AP Commerce - NAV Navision 3

What’s the reason behind using SetData and GetData? The reason is because you cannot add field text boxes in the report header. The argument here is performance. If you like to read, there’s a section in the 80146B manual that you can download from Customersource or Partnersource. So most of the coding is done on the lines area.

Now, back to the tutorial, where to set the SetData and GetData? Here’s where you need to play a little detective.

4. On the lower right corner, there are some additional hidden boxes in red. Highlight each one of them until you find this one (Note the HeaderInfo. It corresponds to the SetData).
AP Commerce - NAV Navision 4

5. Highlight the text box and go to the Value property. Click on the Property Page icon to display the property of the Value:�
AP Commerce - NAV Navision 5

6. Go to the General tab and click on the fx button next to the Value
AP Commerce - NAV Navision 6

7. Type in the 4 additional fields you’ve set from row 21-24.
AP Commerce - NAV Navision 7

8. Click OK and close and save the report

9. Go back to the RTC and run the Transfer Order report:
AP Commerce - NAV Navision 8

There you have it. Seems like an awful lot of steps for something so simple… But this is supposed to make our life easier so we’ll walk along and wait for the benefits to come.

Posted in programming | No Comments »

Properly Upgrading to New Versions of Dynamics NAV / Navision

23rd June 2010

Despite what the salespeople will tell you, an upgrade is an intensive task. While it’s not as intensive as doing a new implementation, it should not be taken lightly by the partner or the end user.

One of the best things about Dynamics NAV/Navision it gives you the freedom to modify it so it fits your company like a glove. It’s because of this freedom, that you’re able to gain an competitive edge over your competitors and/or to satisfy your customer’s demands. With that freedom, you may have made a ton of modifications in order to satisfy a certain operation at some point in time.

As we all know in the world of business, everything is constantly changing. Requirements change, the way business is done change, the way we interact with each other change. Some change for the better, some may be worse. But one thing that is constant is that we, as human beings, cannot foresee the future changes with 100% certainty. Because of this, business owners and decision makers will often make modification requests that satisfies certain demands of their industry that seems brilliant at the time, but is quickly phased out in place of other changes.

The ERP software itself has to change with the business. This is why you’re considering a software upgrade to your business. Because business demands have changed and the technology has changed.

Having said that, there are basically 2 ways of doing an upgrade. In this post, I will explain the 2 methods of doing an upgrade and why I prefer one way over the other.

Merge Object Run Toolkit
One way to do an upgrade is the “merge object run toolkit” method. There are numerous tools to merge code, in fact, I’m surprised there’s not already a tool out there to automatically merge the code for you. Troubleshooting the error messages that comes up after compilation is easy. A programmer just have to compile, identify the problem, change the variables, remove some code, add some code, then done.

The merge object run toolkit option is quick, simple - a monkey can do it. In fact, if you were to go this route, I suggest you ask your solution provider to export all the codes into a text file, then hire an intern to do the code merge for you. Then ask your solution partner to toubleshoot errors that comes up. It’ll be a lot cheaper than asking your solution provider to hire an intern and bill you for it. If you don’t feel comfortable with an intern, you can contract an offshore developer for $10.00 to $15.00 an hour to do the merge for you.

The “merge object run toolkit” method is th the absolute wrong way to do an upgrade. Essentially, you’re piling on crap on top of crap. In this case, you’re better off NOT upgrading and staying with whatever version you’re using. It’ll save you a ton of headaches and unnecessary expenses.

Analysis of Objects then Upgrade
An upgrade has many benefits. They include newer technology so your workers can be more efficient, new ways of bringing information together at your finger tips, easier to get a new hire on board with easier interface. The additions are many.

However, one of the least looked at of the benefits of an upgrade is what we can take out. As stated before, because of Dynamics NAV/Navision ability to customize, you may have made some changes in your system that is no longer used or used sparingly. Removing unnecessary codes will simplify your processes, screen layouts, reduce training for new employees, and yes, improve the performance of your database.

In addition, there may be some changes or modifications done that is now part of the standard functionality in the new version. You may also want to consider removing those the modification in favor of the standard functionality to make support and future upgrades easier.

Doesn’t this seem like a lot of decision making for a “simple” upgrade that you may have been promised?

When doing an upgrade, assuming you have partnered with a good solution provider, should do analysis on existing modifications. List all important changes and modifications done to the existing database. Suggest what can be taken out and if the modifications have a standard function equivalent.

From the list, the users will need to decide what modifications can be removed, what to keep, whether to use existing functions, or revamp the existing process for a better process provided by the new system.

For the NAV partners, this requires a good knowledge of new features and how the new and existing functionalities are used.

Conclusion
Needless to say, I’m not a fan of of the first method. If you’re planning to upgrade using the “merge object run toolkit”, I would highly suggest you to save your money or donate that money to charity.

If you received a quote from a partner for an upgrade with the “merge object run toolkit” method, I would hang up the phone, burn the quote, and run as far away as possible. You may need to take a shower and change your phone number as well.

Posted in upgrade | No Comments »

Be Current or Not Current on the Microsoft Annual Enhancement Plan

17th February 2010

Since Microsoft announced the new Business Ready Enhancement Plan Renewal Policy, talks about whether the customer should stay current has increased significantly.

At 16% of your total software list price, it’s potentially a sizable recurring investment for companies using the software. Not just specifically to Microsoft, almost all ERP, CRM, business software out there requires users to pay an annual enhancement of some sort.

Other than the obvious questions of “what do I get for staying current?”, the benefits are numerous and I encourage you to get with your partner to learn what these benefits are. But the primary reason with the new policy is that you need to be current in order to purchase additional granules and users.

This may sound very scary at first, but hopefully this blog post will put in perspective on what this means should you decide to stay current or not.

1. How many years of Enhancement will I pay to pay for the software again?
Assuming your system list price is $100.00. At 16%, you’d be paying $16.00 per year. So $100.00 / $16.00 = 6.25 years. You would need to be current on the Microsoft Enhancement Plan for 6.25 to pay for the software again.

In another words, the bet you placed by staying current on the enhancement plan is that Microsoft will release new versions of NAV that you will upgrade to (full or executable only) during 6.25 years. In addition, with the new enhancement plan policy, you’re also betting that you’re business will grow and change, therefore, requiring additional modules and user licenses in the 6.25 year time span. So if you’ve purchased additional modules, upgraded, etc during the 6.25 year time frame, you’ve won.

2. How many years can I not pay the enhancement plan for the cost to accumulate to pay for the software again?
Again, assuming your system list price is $100.00. Assuming that you decided to skip the enhancement after the first year, the penalty you’ll pay is around 20% (you may have to check the exact percentage in your area). So $100.00 / $20.00 = 5 years. You can skip the enhancement for 5 years and pay for the software again in 5 years.

In another words, the bet you placed by NOT staying current on the enhancement plan is that Microsoft will not release anything of interest worthy of upgrading your system in the next 5 years. You do not expect your business to see growth or changes to purchase additional modules or user licenses. If you have not purchased any modules or done any upgrade to newer version in the 5 years since you skipped the enhancement, you’ve won.

Conclusion:
In a down economy, it may pay not to be current if you do not expect the cycle of your business to turn up again within the next 5 year period. Then again, it’s pretty tough to gage what will happen in the next 5 years.

Whether or not to stay current really depends on the business and the people that runs the business. For the enhancement plan, I always view this as an insurance and the same type of mentality as an insurance. Most of the time you pay for the insurance premiums complaining about it’s hefty price, but when problems occur, you’re glad you paid the premium. In Navision’s case, the time is 6.25 years.

Posted in Uncategorized | No Comments »

Implementing NAV (Navision) through a 3rd party Consultant

27th January 2010

Rarely in a NAV implementation that the problem you get stuck on is techincal. As we all know, Dynamics NAV aka Navision is simple to implement and simple to customize. It’s one of the reason why it’s the dominate mid market ERP today.

Most of the challenges you’ll face are with people. And one of the toughest challenges when implementing Dynamics NAV is working with 3rd party consultants the end user company hired to help them implement a new system.

Perhaps, this is one of the bad side affects our industry has brought on to ourselves. With too many software  partners not knowing what they’re doing (or as some people call them: crooks), it’s natural for clients to feel fearful that their implementation will fail. So the client will naturally want to bring an objective 3rd to give second opinions and help the client through this transition.

Most of the time, these 3rd party consultants will have years and years of experience in the accouting software industry. They will often hold certifications, have CPA or MBA background, have good relationship or are friends with either the owner or a top executive of the company, and may have developed or sold the old system they’re replacing with Dynamics Navision.

Having worked with the client before you come in, they’re often unusally firm on how they want things to progress. The challenge is to work with them and sell them on your game plan to get the client implemented successfully.

Some of the pitfalls when implementing through a 3rd party consultants are:
- They try to lead the implementation even though they do not understand NAV or the implementation process
- They claim knowedge of all aspects of clients business, often they don’t.
- Get caught up with “what should be there” instead of opening their mind to new ways for the clients to get things done
- They are pressured to be productive, so they often take a small pieces of a business process and create unnecessary steps, error checks, reports that sounds great verbally, but inpractical when actually doing it.

In addition, some of the non-implementation problems you may encounter are:
- Eating into the client’s IT budget
- Clients avoids responsibility for the implementation of Navision
- Thrid party consultants have their own priorities

As an implementor, you cannot simply brush these people aside. Obviously, they’re able win the hearts and minds of the top executives in order to get the contract. Brushing them aside would award you with the biggest enemy during and after the implementation.

Unfortunately, years in the accounting or ERP software business are not useful if the person has no NAV experience. I equate that to hiring a general doctor and asking him/her to perform heart surgery.

This is not to say that companies does not need 3rd party consultants. They are important to fulfill key expertise you may not have. They are also potential key allies during implementation to convince the users of the ideas and changes in business processes. This is true especially if they have a close relationship with the company management.

Some of the benefits they provide are:
- Organize the relevent people during interview process
- Cut through the politics and get you the information you need
- Help you get the implementation moving when it has stalled

Some of the best 3rd party consultants I’ve work with does the following:
- Provide services that compliments NAV. (i.e. server, Sharepoint, network, etc)
- There to learn NAV with an open mind and attempt to learn table, form, report, etc designer
- Document new processes and procedures after the implementation of NAV
- Eager to become part of your team and learn how to support the client after they’re live

The best case scenario is the 3rd party consultant stays out of your way implementing Navision and help you when you ask for it.

If you cannot avoid working with a 3rd party consultant, the best advice is to let down your ego. Remember that we’re there to do the job for the client, NOT to take the job from the 3rd party consultant.

Take the time to explain the whole process and treat him like he’s part of the management. Again, the key is to convince the 3rd party consultant to allow you to take the lead on the implementation, then have him take the lead for taking over ongoing support.

Ensure that you do not let him/her feel threatened that you’re going to discredit him or take his job, this is NOT what we’re there to do.

Posted in implementation | No Comments »

How to Create Drilldown page to a custom table in RTC - NAV2009 SP1

14th January 2010

This is so someone does not pull their hair out like I just did. I cannot find anywhere in the documentation where this is explained so here it is:

1. Create your custom table
2. Create the drilldown page with SourceTable to your custom table
3. Save the page and REMEMBER THE ID
4. Go to the table property on the table you created in step 1
5. TYPE IN the Page ID in the DrillDownFormID property in step 4
6. Save and test your work.

In the table designer, there’s no place to specify the Drilldown Page. So you will need to use the DrillDownFormID property on the table even though there’s no forms created. 

<Posted edited, thanks to a3arn for confirm that you do not need to create a form>

If you look through the standard objects, you’ll notice that the drilldown FORMS have the same ID as the drilldown PAGES. Tricky….

Posted in programming | 2 Comments »

Future of Dynamics NAV (Navision) - Recap of Directions 2009

16th November 2009

This blog post is an overview of my experience at Directions 2009. In my opinion, this is THE event to attend if you provide software or service to Dynamics NAV (Navision).

Most of the sessions in Directions 2009 were about the RTC experience, upgrading to RTC, getting partners to buy into RTC.

Instead of posting a session summary ,which doesn’t really do the presenter justice with a few paragraphs, I just decided to write some highlights that stuck out for me during this event.

Numbers:
Now, for some numbers shared by the MBS executives:
- xx% of all Microsoft ERP sales is Dynamics NAV Navision - (Microsoft asked me to remove this number)
- There are now 1,350,000+ registered users for Dynamics NAV (Navision)
- There are 76,000+ Dynamics NAV (Navision) customer implementations worldwide
- No other mid-market ERP has more users and install base

Wow!! That’s some serious numbers! xx% of all Microsoft ERP sales is Navision! For all the people saying that Microsoft will discontinue or kill Dynamics NAV or Navision in favor of other products, I would seriously ask them to check their facts again.

New Cool Stuff in NAV2009 SP1:
(For all the people that covered what I’m about to write, I’m sorry if I’m duplicating)

- Dynamics Online - This is a Microsoft Software + Services thing. The demo they showed is a customer processing credit card transactions and have the credit card cleared by Dynamics Online. This is very neat and I’m very excited to see what other services they plan to offer with this program.

- Drilldown to Detail Reports - One of the best features in Quickbooks is the ability to drill down directly from the reports. For a long time, no other ERP product can duplicate what Quickbooks did unless they purchase BI tools or other report writing tools. This is now part of NAV2009 SP1. It’s about time!

- Edit in Excel and Import it Back - The folks demoed the ability to export to Excel, which was there since v5.0. But now, you can edit the data in Excel and import the data back into NAV. In addition, there is version control if the data is different from the time it was exported. But this functionality is not out of the box, it requires some programming.

Future of Dynamics NAV (Navision):
C/AL is Not Going Anywhere - One thing confirmed by Microsoft is that they will NOT kill C/AL either (the Navision programming language). It will continue to be used to develope Dynamics NAV (Navision). This means that partners do not have to rush to hire a ton of C# or VB programmers as previously thought. It also means customers do not have to fear about MSFT revamping the core logic of Navision making it unrecognizable.

Application Roadmap - In the Dynamics NAV (Navision) Statement of Direction, there’s talks about adding an Application Roadmap. This roadmap will list out improvements and new functionalities within the application to be added to the future releases.

I’ve confirmed with many Microsoft executives and managers that the NAV product team DO look at MS Connect for production suggestions. Even though they do not respond to most of the suggestions, they do put the suggestions into serious consideration. So if you want to make a difference in the future of NAV, this your chance!

Interesting ISVs:
- Centerline - They make reportings tools within NAV. Essentially, you can build queries within NAV and have it print very nice reports using SQL reporting services.
- Lanham Address verification - Lanham & Associates (the makers of EDI, eShip, etc) is developing a address verification grnaule within NAV. I have to say that it’s taking long enough for someone to come out with a good solution within NAV. No pricing is available on this product yet but this looks very exciting.

Session of the Conference:
For me, the session of the conference was not in Navision. It’s called Inventory Management devlivered by Jon Schreibfeder (www.effectiveinventory.com). His session described how to achieve profitability by managing your forecast and your items. Lanham’s forecasting granule is based on this guy’s teachings.

Other interesting observations:
- There were more than a few Microsoft Partners using a Mac
- Learned the approach for purchasing ERP software for Europe, US, and Asia. Very interest, but I’m not sure if the conclusion was based on too much alcohol or scientific proof.

Posted in Uncategorized | 5 Comments »

How to Calculate the Current Fiscal Year

22nd September 2009

In Navision, there’s no function that will give you the fiscal year according to what you’ve setup on the Accounting Period table. Here’s a code that will get the current fiscal year based on the accounting period:

AccountingPeriod is a record variable  to table 50
Date1 and Date2 are date variables

AccountingPeriod.RESET;
AccountingPeriod.SETRANGE(”New Fiscal Year”,TRUE);
AccountingPeriod.”Starting Date” := WORKDATE;
AccountingPeriod.FIND(’=<’);
Date1 := AccountingPeriod.”Starting Date”;
IF AccountingPeriod.NEXT = 0 THEN
  Date2 := 12319999D
ELSE
  Date2 := AccountingPeriod.”Starting Date” - 1;

Posted in programming | No Comments »

How to Set Up Fixed Assets for Tax Purposes

1st September 2009

There aren’t that many how-to documents on the Microsoft Customersource website. However, this one has to be one of the most important must-reads for all Navision (Dynamics NAV) end users and implementers wishing to setup fixed assets in Navision.

The article is titled - “How to Set Up Modified Accelerated Cost Recovery System (MACRS) Depreciation in Fixed Assets” and can be found here:
https://mbs.microsoft.com/customersource/documentation/howtodocuments/msd_navsetupmacrsforfa.htm

For end users, you will need to be current on the Microsoft Enhancement Plan in order to view the document. 

This document will teach you how to setup Navision so it can properly depreciate fixed assets according to IRS specifications.

As an implementer, I always encourage the client to use Dynamics NAV for all of their accounting and bookkeeping. This is especially true since the system can be easily setup and used. In addition, keeping all the books in Dynamics NAV will allow you to freely choose the right CPAs for your company without having to be held prisoner by one CPA. It also ensures continuity of your records should you have to switch to a new CPA.

Posted in fixed asset, implementation | No Comments »

Source of all Evil?

20th August 2009

I noticed this when I did a search on Google using the keyword Dynamics NAV or Dynamics GP (or AX or SL, or whatever).

http://thesource.ofallevil.com/dynamics … rview.aspx

It seems random, on top search results it displays www.microsoft.com. On the later pages, it displays thesource.ofallevil.com.

The source of all evil? Is this a Microsoft joke? Or did Google intentionally do this?

Posted in Uncategorized | No Comments »

Entering Beginning Bank Balance for Dynamics NAV (Navision) for a New Implementation

25th July 2009

During a new implementation of Dynamics NAV (Navision), most Dynamics NAV (Navision) consultants understand how to load in A/R and A/P beginning balances. However, when it comes to bank beginning balance. The subject is usually more murky. On one hand, you need to put in the bank balance so it shows up on the bank ledger, on the other hand, if you put in just a lump sum, doing the first bank reconciliation will be a nightmare.

The goal when entering a beginning bank balance, is to update the bank ledger to ensure the amounts are correct. In addition, the bank transactions that are not cleared needs to be come up so it can be properly reconciled.

In this example, we’re going to assume the Navision client is going live on 1/1/2010.

Here’s the information we need from the client:
1. The G/L bank ending balance as of 12/31/2009
2. The last bank statement (from the bank obviously) on 12/31/09
3. The beginning G/L balance

First of all, the Dynamics NAV (Navision) client or the consultant needs to itemize what checks are outstanding (not cleared yet as of the 12/31/09 bank statement).

We all know that to load in beginning G/L balance, we use the General Journal. We typically use loading of beginning balance as the same step as we load in the bank balance.

Let’s say the Dynamics NAV (Navision) client has the following:
Bank Balance on 12/31/09: $10,000.00
Outstanding Check #123: -$2,500.00
Outstanding Check #124: -$500.00
Deposit on Hold: $1,000.00

While we load in the beginning balance, we set the Account Type as Bank Account. Doing this will automatically update the bank ledger and the G/L ledger based on your Bank Account Posting Group.

So your beginning G/L balance would look like the following:
Bank Beginning Balance

Assuming you received a bank statement on 1/31/2010. There were no transactions that were cleared and no additional transaction made to the bank. Your bank rec would look like the following:
Bank Reconciliation in Navision
Doing so, the transactions will match exactly to the bank statement and to the G/L.

In conclusion, you can say that the bank beginning balance is the Bank Balance + Outstanding Checks - Deposits on hold.

Posted in Uncategorized, implementation | No Comments »