DYNAMICS.SET & Common Errors


Well, it’s been really long time since I had even opened my blog, though I do read the articles from across the Blogosphere.

Recently I was taking a technical training to one of a newly joined Consultant. I started with DYNAMICS.SET as it is the Launch File for Dynamics GP application. Apparently after the session, this Consultant started doing all sorts of R&D on the DYNAMICS.SET and several errors were encountered quite obviously.

So, what are all those errors and how one can tackle the same? The following are the list of errors that we will encounter with an erroneous DYNAMICS.SET file:

1. Data dictionary memory allocation error.

Pretty common error that we face. As soon as we launch GP we face this error message and GP does not open once you click on OK.

image

Reason #1: The “Number of Products” value, which is the first line in DYNAMICS.SET is more than the actual number of products listed.

Solution #1: Count the number of products listed in the DYNAMICS.SET and then edit the “Number of Products” value accordingly.

Reason #2: The total number of products listed in the DYNAMICS.SET file does not equal the total number of Path Lines (3 Lines per product; effectively total path lines divided by 3).

Solution #2: Check the path lines for which the Product is not listed. This is a bit difficult since we do not know all the customizations and the 3rd Party modules which are installed. In that case, the best option would be to copy the DYNAMICS.SET file from the server (or any machine which is a model for the GP Environment in the client’s place) on to the machine from which we face this error.

Reason #3: Some product may not have any one of the path line. For instance, Project Accounting product would not be having all three path lines (Business Logic, Forms & Reports Dictionary Paths).

Solution #3: Check out the SET file to find the exact product for which all three path lines are not available. Upon finding, we have to manually enter the lines.

2. Trigger registration Errors

When launching GP, trigger registration errors like the ones shown below are encountered:

image

image

image

Reason: A product’s dictionary paths (Business Logic, Forms & Reports Dictionary paths) are not found. The above shown errors will be thrown if the Project Accounting product’s paths are not found in the DYNAMICS.SET file. And not necessarily the errors are the same in all occasions. It depends on the product and the other products that are installed in that client machine.

Solution: Find whether the number of products listed and the number of paths (3 path lines per product) match. If not, try to add it manually or try to copy the DYNAMICS.SET file from the server on to the machine from where these errors are encountered.

3. This launch file is invalid.

When GP is launched the following message is thrown:

image

Reason #1: The keyword “Windows” in the DYNAMICS.SET file is missing.

Solution #1: Go to the last Product listed (with Product ID and Product Name) in the SET file and manually enter the keyword “Windows”.

UPDATE (9th Aug 2009)

Reason #2: The “Number of Products” value is missing.

Solution #2: Count the number of products (by counting the Product IDs) and enter the value in the first line. Just make sure that there is no empty line between this entry and the first Product ID & Name information.

While most of the times, an End User does not do any kind of R&D, unless he/she knows about GP and the DYNAMICS.SET file. It is the Consultant(s) who usually tamper the SET file when the development task is carried out.

Just in case, anyone have found these errors (other than Consultants/Developers), this article may act as a reference.

WORD OF CAUTION: Do not change anything in DYNAMICS.SET manually before taking a copy of it. It may prove costly at times and it may drink the precious time of a Consultant / End User to try rectifying it.

VAIDY

Microsoft Dynamics GP MVPs


CONGRATS and THANKS should be conveyed to all the MVPs of GP Community, who not only takes care of their primary job, but also guide and take the fellow consultants with them by sharing the most precious thing in the world: Knowledge.

I am sure, we learn more on each passing day from these experts without a single buck. Strive hard to become one among them in future, even if we don’t get to that level, we would still end up learning tons.

Just a good motivation, isn’t it?

In continuation to: One more year as Dynamics GP MVP & Microsoft Dynamics GP Most Valuable Professionals (MVPs).

VAIDY

Let’s face it or get out of it…


 
…Is what this article tells us. Pretty straight on the face.
In these tough times, what we DO is not enough and what we CAN to do is aplenty. Read this article, Whining Complaining and Grousing, to realize & reset your approach to the ongoing tough phase. Thanks to Mark for pointing to this article and also share his own views.
I always think like this: If we are ready to enjoy the benefits, we also should feel responsible to work for the benefits to reach us. Simply put, be deserved than dejected.
VAIDY

Account Reformatting – A Useful Post from GP Community


 
I could not hold myself from entering this post, to share what I learned of doing a relatively complex process with some simple steps.
 
Reformatting Accounts in a Company with Transactions entered against it, is not easy and I thought it's almost impossible if the Segment length is required to get reduced from the original length. Do read this GP Community post and I bet you would learn something.

 
I am quite surprised and amazed to know how much I still need to learn in GP. What I know is less compared to what actually is.
 
Thought this would be useful for someone somewhere with same set of requirement.

VAIDY

Dynamics GP & Windows 7.0 RC



I was doing a bit of experiment to know whether my GP system with a near perfect production environment would respond positively for an upgrade from Windows Vista Business to Windows 7.0.

It did respond without much issues. The following are the list of issues which I faced. Though the following are not related to GP, these may help anyone out there upgrading to Windows 7.0 RC.

1. UAC never worked. Since I upgraded my system from Windows Vista Business to Windows 7.0 RC (which is an “Ultimate” version), there was a very critical issue once the upgrade completed. UAC did not work at all. I came to know about this when I tried installing my NIS2009 after upgrade.

2. I had two versions of SQL Server, 2005 & 2008. I could not make 2005 work on Windows 7.0 due to several reasons. But I was able to start and work on SQL Server 2008, though it did warn me of a possible compatibility issue.

3. GP 10.0 with SP3 (10.00.1193) worked merrily. I did not face any issues starting GP after upgrade. But I must admit that I did not check all possible details, such as Modifier/VBA customization, importing or exporting packages, etc. But, in my opinion, it should not be an issue to carry out these operations.

4. MS Office 2007 did not have any issues, as I had the latest SP installed for it.

5. Visual Studio 2005 did have some issues and it was also duly warned before even I started the upgrade.

Eventually, I had to revert my system back to Windows Vista Business, as I could not do any further installations (Windows 7.0 UAC did not work for some damn reason).

So, what does that mean? Is is possible for me to upgrade to Windows 7.0 without any issues? Answer is simple: YES I CAN. The only possible mistake that I could have done, is to UPGRADE instead of a CLEAN INSTALL. It does make a difference, since there are many softwares which are written to be compatible with Windows Vista but are yet to recognize Windows 7.0. The problem with Windows Vista users now, is the Softwares which they are using are compatible with Windows Vista and it is not compatible with Windows XP, apparently. But Windows 7.0 is designed to accomodate all XP compatible softwares and drivers without much fuzz. There is no word about the Softwares and Drivers which are compatible only with Windows Vista and that, in my opinion, is the actual problem.

Anyways, once the final retail version is released, I hope we can have a better OS with much more compatibility for all previous versions of Windows.

VAIDY

When and how this "Just my 2 cents" originated?



This is certainly nothing to do with Dynamics GP. This one is just out of my curiosity.

I have seen this very common phrase in many articles and replies. I am sure, this could be something very common for people who use it, but there is certainly something towards this phrase.

Here is my query: When and how this “Just my 2 cents” originated? Is this a phrase that’s from a very famous person? Or is this has got any strange story behind it? Or is it just another phrase?

Well, could be as simple as such, but it’s not boring either to do some fun R&D, isn’t it?

VAIDY

Payables Vs Receivables – History Transactions



I have been trying to know the basic reason behind why GP has this difference in the Payables and Receivables process.


In Payables, an Invoice will be moved to History as soon as it is posted and fully applied. But in Receivables, an Invoice will be moved to History only when we do a Paid Transaction Removal process.


WHY NOT Receivables also have the same process, wherein once we post and fully apply the document, it gets moved to History?

OR

WHY NOT Payables also have a “Paid Transaction Removal” process for its own documents that moves the Documents to History explicitly instead of what it does currently?

I would be grateful to know from various Consultants about WHY such a big process difference between these two modules? Is there any Accounting Based Reason for this? Or is it just the GP that contains this difference?

Any inputs would be great.

VAIDY

I am now "An MCBMS Professional in GP Financials"



It’s was a long due from my side, honestly, to add the much needed Microsoft Certification in any of the Microsoft Dynamics GP. Something that I needed for me to add some value to my career.


So here it is. I am now A Microsoft Certified Business Management Solutions Professional in GP10.0 Financials.

There are two things that I would like to share with people who wish to take up Certifications:

1. Importance – Very much. It adds some color to both your profile and your career. It’s not easy for all to pay and attend the examinations to complete one or more certifications. But once you do it, you are certainly a level up against other Consultants. The clients (and Prospects) often check two things in your entire profile; Your Experience and Your Certifications. Certainly people who have completed one or more relevant Certifications hold an upper hand over those who does not.

All said and done, this is precious only if we do it for testing our skills rather than clearing for the sake of it. Ideally, our true skills and expertise will be known only when we put ourselves to rigorous test. And that’s what every Technology Major, like Microsoft, Oracle, Sun etc. does. So, take up the Certification and take it to your heart and mind to be sincere in learning something out of it than to just clear it.

2. Benefits – A lot. Firstly, you are a Certified Professional and that holds tremendous value to your career and profile. As I explained earlier, Clients and Prospects always value you based on your Experience and Credentials that include your certification(s). Secondly, you are more confident in taking up any task. It’s not just that you have completed a certification, but you know the concepts. And that is possible, only if you have sincerely put in your efforts to learn something and complete the certification.

There are much more.

Bottomline: Sincerely take up certifications and complete it to add some color to your career and also to add some skills to your skillset. Take the certifications after gaining some experience, as it will help you to attend the examination confidently. You don’t have to prepare for it. You just have to attend it.

I am grateful to many people, especially Sajeesh (my PM), who kept insisting me on completing this. Without his encouraging words, I would not have even thought of giving it a shot.

Dedication: My wife is instrumental in whatever I do in my life for the past 2 years. I dedicate this first certification to her.

Ofcourse, there is much more to achieve and this is just a start.

VAIDY

Very Informative Articles across Blogosphere



It’s been a really hectic month for me, doing all sorts of data corrections, troubleshooting, fixes, testing and what not?

But I was still able to read thru’ some of the informative articles across the blogosphere. Here are the list that enlightened me:

1. Preventing Backdated Transactions using VBA – David Musgrave.
2. Report Writer Function to convert Amount in Numbers to Words – David Musgrave.
3. Accessing Third Party Table Buffer on a Cross Dictionary Trigger – Dave Dusek.
4. Report Writer: Making One to Many Relationship to behave like One to One – David Musgrave.
5. Development White Papers Link – David Musgrave.
6. Sampling Data from Extender Tables – Mariano Gomez.
7. Transferring Extender Customizations from One Company to Other – Mariano Gomez.
8. How to find Line Number of an Item : Part I – Mariano Gomez.
9. How to find Line Number of an Item : Part II – Mariano Gomez.
10. Is there a Maximum Number of Lines that can be entered on a Scrolling Window? – Mariano Gomez.
11. Sales Order Processing Posting Statuses – Mariano Gomez.
12. Securing VBA Projects – Mariano Gomez.
13. Accessing Active Directory From SQL Server – Steve Endow.
14. Sending Emails to Business Portal Users using SQL Server – Steve Endow.
15. Landed Costs : Part I – Christina Phillips.
16. Adding Watermarks to a Crystal Report – Victoria Yudin.
17. SQL View for all SOP Line Items – Victoria Yudin.

Yeah, that’s a quite big list, but you would certainly feel enlightened and contended on learning some really important and interesting concepts.

VAIDY

String overflow during concatenation




This one is pretty simple error message (really simple), but sometimes people tend to not keep this on mind when coding. I am one among them and I did face this issue today.


I had to pass a SQL query from a custom dex code to get some value based on a complex calculation. It involved so many fields and an intricate JOIN. I decided to go against PURE DEX code, which would have ideally got RANGEs and GET TABLEs.


I did something like this:


local text l_tQuery;

l_tQuery = “SELECT [an expression of calculation which involves more fields] FROM [custom table] JOIN… … …”

The above query is really long. Once done, I compiled this script and faced no errors. When I installed the chunk and ran the process, the following errors greeted me:




Initially I was surprised to see this, as I had declared the variable as TEXT and it should ideally hold upto 32000 characters. My query was also pretty less than 32000 characters. And when I referred to the Dexterity Help Manual on this error, this is what it tells us:



String overflow during concatenation.
Situation
A concatenation of two or more strings resulted in a string longer than 255 characters.
Solution
Check the script where strings are concatenated (using the + operator) to determine whether the 255-character limit for strings is being exceeded.




Well, it actually means: We cannot concatenate and assign a string value at one stretch that would exceed 255 characters.


For instance, my SQL query would have got nearly 1000 characters and I had written it in one single assignment. When I pass this SQL Statement from Dex, I have to first construct it as a typical text value and then execute it using SQL_Execute().


When I construct the text value, I should have done like below, if my SQL statement is more than 255 characters long:


l_tQuery = “”;
l_tQuery = l_tQuery + “SELECT [expression] “;
l_tQuery = l_tQuery + “FROM [custom table] “;
… … and so on.


Thereby, at one stretch we would not have concatenated more than 255 characters length string.


I thought this would be useful for developers out there wondering with this error.


VAIDY