This is a question that every now and then drives me nuts, and only few times is cristal clear.
So why is that. Why does an entrepeneur say, on a late sunday afternoon, I will invest a 6 digit figure of my retirement money in ERP.
First, let's define an entrepeneur. In Dynamics NAV and most ERP applications we have many types of customers. A lot of customers are large stock companies where we implement Dynamics NAV in a department or they are government or not for profit organisations. But we have to admit, the larger part of our customers are entrepeneurs. One, two or a couple of people who have managed to start or take over a company that is privately owned and making money doing hard work.
When an entrepeneur invests in ERP, they invest their own, private money in computer software that (supposed or should eventualy) make their business run better.
And does it do that...
I have seen hundreds of Navision implementations and honestly sometimes... I wounder. Yes, I am sure that in some cases ERP really makes a big difference. Once a company has taken that step and it really works. But often... I just don't know.
So what does it take to make it a succes. Do you want to know my guess?
If not, then navigate away from this blog entry, Please do...
In my humble oppinion it's a peoples business. The people that do the project determine the success of the implementation. Sure, it matters what ERP you buy, but the people are way more important.
And, that's a funny conclusion, you know why... I'll tell you. Or at least my opinion to it.
Making a business grow is something that has been existing in the mind of every entrepeneur since the dawn of civilisation. It has been tried by the chinees, egyptians, greek and romans and then we fell into the middle ages.
But we recovered, somehow, and started someting about a 100 or more years ago that had been known as the industrial revolution. With steam power and later electicity we have started mass production.
This mass production has given new input into our entrepeneurial desire to grow.
For years we have known a culture where towns had shops with private owners. Entrepeneurs that just tried to survive. The concept was simple. Purchase something and sell for more. Use that "more" to make a decent living.
So what happened. Did this form of being an entrepeneur die? What changed... why does every shop in every city these days have the same name, brand or whatever you name it.
In older times we had something called the Journeyman. In Dutch, een Gezel. A Journeyman would be employed by a master craftsman do be educated to be as good or better than the craftsman, The craftsman could only educate a few Journeymen or Gezelles in his livetime.
My guess is that even though we want to, so badly, this priciple has not changed. I have trained douzens, hundreds of people in the NAV channel and only few stand out. Only few have this cappacity to grow to being a new craftsman and teach new Gezelles.
This limmitation of us, human beings, limmits the number of successfull ERP implementations.
Agree? Not? Ok. Let's asume we agree.
Let's asume this is a rightfull conclusion. Let's asume that successfull ERP implementations depend on people and the number of people who can implement is limmeted by nature. (Assumtion "Big One").
Then what do you think that happens if there is a successful implementation. An implementation where a company starts working more efficient, where a company grows after an implementaion. Where an entrepeneur makes a better living than before the implementation of the ERP software.
The logical evolution is the link between the ERP implementation and Success. Entrepeneurs will think that by implementing ERP they can be successful. And they will start to invest. The first who invest will be the lucky few, they will catch the same people who are just finished implementing ERP at the successful company.
But then more and more requests come in...
Hmm... what to do....
What happens is this...
These people who were succesful in impelementing ERP for entrepeneurs start being entrepeneurs themselves
The logic behind this is easy. I hire someone to do the same I do. Classical model. Craftsmen, Gezelle.
But there are only few Craftsmen, and few succesful gezelles. So what happens is that Craftsmen start to try to educate to many and less qualified gezelles.
Time for the first conclusion.
ERP is a peoples business. The people will detimine the success.
But is this the final conclustion. Maybe not.
The orriginal question of this blog entry was. What drives an entrepeneur to invest in ERP.
What if the successful ERP implementation was not as succesful as we think.
What if that company where we first implemented ERP was not successful because of ERP. Think of it. What if that comapny was successful DESPITE of ERP.
If that was the case the company where we were so succesful would have also grown without us. That would mean that other companies started investing in ERP for a wrong reason. ERP is not a reason for a company to grow. It is nearly a nessecity. If it is that.
That would change our initial question into a new one.
"Is investing in ERP a nessecity to grow."
And with this question, dear reader of my blog, I leave you thinking.
PS: Don't forget, if you still think ERP is intersting for you to buy my book.
Authumn 2010 is comming fast and 2011 will arrive soon for all of us who are always so busy, This means that the magical release year "2009" is more and more history. And this makes me aks, how many implementations have you done with the RTC, how many profiles have you setup, how many pages did you create and did you use webservices and Client Add-Ins?
The reason for this Blog Entry is the fact that I am sitting on a stupid hotel bed in a foreign country. Tomorrow I will teach a NAV 2009 RTC training to a partner and an end user. They are at the start of a migration project from version 3.70 to 2009 and wanted some coaching from someone with experience.
Imagine they ask me.
But seriously. How many 2009 implementations have we done and how many companies are using it. I talk about it to a lot of people and only few have upgraded existing customers. Most implementations are new. What about thos 75.000 existing customers out there. Someday they all need upgrading.
So ask yourself, what did you do with the RTC. Are you ready to upgrade all these existing customers. Some with 5 users and some with 500. Some have 500MB of data, some 2,5 Terrabyte. What is stopping us...
UPDATE: Based on the open discussion and questions asked by mail and phone I wrote a small update about RTC Performance.
PS: Did you know I wrote a book ?
As many of you know there is a lenght limitation of text variables in Microsoft Dynamics NAV.
One of the real-life problems you can encounter due to this is when doing interfacing, especially when reading EDI files.
EDI files are often very long and without Cariage Return Line Feeds.
Solutions are using a dataport with a delimiter such as '+' instead of NewLine or asking the EDI vendor to implement CRLF's.
If both are not possible, for example if you want to read the EDI files though a NAS you have to use a codeunit with File variable.
Using the File variable with long textlines with result in overflow errors.
The solution to work around this is using a stream variable. This is how:
i := 1;
EDIFile.TEXTMODE(FALSE);EDIFile.OPEN(NewFileName);EDIFile.CREATEINSTREAM(EDIInStream);WHILE NOT EDIInStream.EOS DO BEGIN EDIProcBufferTemp."Entry No." := i; i := i + 1; EDIInStream.READTEXT(EDIProcBufferTemp."EDI Text", 250); EDIProcBufferTemp.INSERT;END;
EDIProcBufferTemp.FINDFIRST;EDIText := EDIProcBufferTemp."EDI Text";
WHILE NOT Finished DO BEGIN IF STRPOS(EDIText, '+') = 0 THEN BEGIN EDIProcBufferTemp.DELETE; IF EDIProcBufferTemp.FINDFIRST THEN EDIText := EDIText + EDIProcBufferTemp."EDI Text" ELSE Finished := TRUE; END; IF STRPOS(EDIText, '+') <> 0 THEN BEGIN EDITag := COPYSTR(EDIText, 1, STRPOS(EDIText, '+') - 1); EDIText := COPYSTR(EDIText, STRPOS(EDIText, '+') + 1, 1000); SplitInfo(EDITag); END ELSE SplitInfo(EDIText); //* Last TagEND;
In this example I move the contents of the textfile to a InSteam variable. The Insteam variable supports the ReadText method that allows us to read the content in smaller chunks.
Then I move the lines into a buffer table for easier processing. (I love working with buffer tables, they make cleaner coding).
Since breaking the file into 250 characters might actualy split some of the EDI tags, I re-connect the lines into a larger text varible. I can easily merge two 250 character lines into one 1000 character variable.
Remember to also process the last tag when there are no more delimiters.
Here you are, good luck.
If you want to learn more about interfacing you can read chapter 9 of my book which is dedicated to this subject.
Ok, it has been a while since I blogged. One of the reasons for that was that we bought another house and moved last month. This has a huge impact on a family with young children and my wife is pregnant. Right now we are settled and everything is starting to be on its place.
Another reason is, I have to be honest, that after finishing the book my mind was not exactly on writing at all. The book has been publised now for quite a while and I had many nice reactions. I even signed a couple of books which feels very special.
Enough about me, what is this blog entry about. A tip, yes. Number 29 already. There has been a lot of talk about the changes that RDLC reporting brings to Dynamics NAV. A lot of good things, new possibilities, but also a new learning curve for developers. Also for me.
A while ago I was fiddling with formatting in RDLC. The syntax for formatting is different compared to the classic report designer. For example a decimal number can be formatted as #.##000. The format is saved in the Format propery of each field.
Since Dynamics NAV (Navision) can have dynamic decimal formatting depending on the Currency code this format is by default brought over in the DataSet, for example in the Sales Invoice (Report 206, my favorite) you have Sales_Invoice_Line__Line_Amount_Format.Value representing the format for the Line Amount field.
However, for many Navision end-users formatting is not such rocket science. They have formatting which is always the same.
Good news for these scenario's is that RDLC has some formatting shorcuts that can be easily implemented.
Here is a list:
C or c
D or d
E or e
F or f
G or g
N or n
P or p
R or r
X or x
How easy can you have it...
So if you want a DateTime field to be Time formatted you just enter t in the format property. If you enter P0 your percentage will be formatted as 80%. How cool is that.
Formatting Dates is just as easy. The following table lists common .NET Framework date formatting strings.
Full date/time (short time)
Full date/time (long time)
General date/time (short time)
General date/time (long time)
M or m
Y or y
So did I find this out myself? No... I used google. (not Bing, sorry Microsoft).
Here is the link.
Enjoy. I hope to blog more in the near future but no prommisses.
This blog ends here, I am going to prepare my presenatation for Directions USA in october.