How to learn Navision Development?

quote:


Originally posted by stryk

Here some advices for learning C/AL:- Test your solutions with “Debugger” and “Code Coverage”
Over all that above is one “Golden Rule”: NEVER DO ANY DEVELOPMENT ON THE PRODUCTIVE-SYSTEM! Use a Development/Test-System and implement modifications to the PS when you are SURE it works!


I’ve to agree with your advices… specially with the one about using a test-system for all developments :slight_smile: The only thing i should not recommend it’s the “code coverage” and the “debugger” use for starting learning. Navision’s debugger it’s a headache most of times… and it can also hang the application in certain versions just trying to see the values of the locals… also code coverage needs a higher understanding on how the flow of the process is for allowing the user to know how the data it’s going, and it’s not showing values or a real order in the execution of the code… so it’s not really helpful when starting. I should recommend instead the old fashion way: message(‘%1 %2…%5’,value1,value2…,value5); for showing values, filters and tracking how our code is working in a lot of times (also confirm it’s really helpful). That will really help you sometimes finding why something in your code it’s not working properly… :slight_smile: Regards,

Hold on, I read something about stupid professional NRCs. This is what I saw a time ago. There is a Dutch NRC which have there own program rules. One of them is to use 4 spaces instead of 2 spaces in a nesteled statement. If you don’t understand me this is what I mean: IF True THEN foo := bar; <- 2 spaces. IF True THEN foo := bar; <- 4 spaces. The nice thing is…, every time they opened a standard object they replaced all the 2 spaces by 4 spaces. Yes… Also codeunit 80. So when I had to merge some objects, you can imaging how long I cried!

Hi, I was lucky. When I started to learn Navision (about 6 years ago) we did not have Navision training in Russia. So I was trained by very experienced Programmers/Consultants. First we were trained on “Navision Concept”, than basic functions, than Report writing. We spend 2-3 month writing reports for real Clients. This was real KEY. At the end we understand structure of database and where and what information are stored. Also we received basic knowledge what kind of tasks Clients try to solve using Navision. All other staff Tables, Forms, Codeunits was easy. We just read standard documentation that was enough. So my recommendation would be: 1. Get basic training on Navision functionality 2. Try to understand what tables contain what information. 3. Try to understand Relationships between tables. 4. Try to understand Business Logic (What is Clients Tasks). The best way if you will work as consultant with few Clients. 5. After this you can start Program

Hi

quote:


Originally posted by Valentin Gvozdev
… First we were trained on “Navision Concept”, than basic functions, than Report writing. …


YEP! That is the way to learn the Navision ‘Technology’. Create stupid, but working reports, like: ‘Show the sales of all items with the first letter ‘A’ for all customers with same Zip - Code like the vendor, who sold us the cheapest item with the first letter ‘Z’! And that in groups for each Item Group and each Sales Price Group.’ bye André

quote:


Originally posted by eromein
3.) It’s always cheaper hiring solution developer. He’s faster and better. 4.) Hobbiests always develop the wrong solution. (this is true!)


As an end-user, I can tell you that this isn’t always the case. Even with the small amount of knowledge I have right now, there are things that I can do faster and better than the Solution Center just because I have a stronger business knowledge and easier access to people within the company than the consultants do. If it’s something that will just take me a few hours, I’d rather do it myself and document it, because it will take me at least a week to get a response from the NSC. Even if they could do it “better”, it’s so much faster and cheaper to have me do it that I’d rather do it.

Well, you guys are great! (BIG THANK YOU!) I found documentation to the debugger burried[:(] in the CodeUnit section of the V3.6 Application Designer’s Guide (thanks Joerg!) yesterday. I can now set my breakpoints on and off, and yeah…this is good! Oh - code coverage…so that’s how that works[;)]! Hey, this might be FUN after all[:)]! And, the V3.6 ADG is the most complete document I’ve seen so far - complete with flowcharts of the reporting triggers and such in the back…oh yeah, and in INDEX! THANK YOU GOD! But I’m still not getting everything I need - for example - how the Integer table is used (explained…I’ve got examples in my database…I need it explained). Joerg mentioned “Software Developer Kit” (former impuls Workbench) - what is this and where do I find it? I’m assuming the “Symbol Menu” must be part of this??? And, yeah, I don’t program in Production - only in Development. Something like that could get you killed [xx(]! I also EXPORT and date copies of all objects I replace prior to overwriting them…just in case a situation I hadn’t encountered in testing comes up and it has to be reverted. (Something I learned long ago as a consultant that can save your hide!) I do need to know more about the actual processes. For example, I’d like to know when a Sales Order is posted - what tables are written to? Isn’t there some documentation somewhere that shows these kind of relationships? Seems like there should be basic task flowcharts or something. I’ve dealt with a lot of ERP’s in my day, but usually it’s either in text, or charted. But, thanks to the help you guys gave yesterday, I had a pretty good day [:D]!

Hi Faithie

quote:


how the Integer table is used (explained…I’ve got examples in my database…I need it explained).


The integer table is created virtually when You start You client. It’s simply a table of all possible integers. Use it as You like. It’s often used in reports as a DataItem to get a loop. Similar You have a table of all possible dates, weeks, months and years (now that’s brilliant!)

quote:


Joerg mentioned “Software Developer Kit” (former impuls Workbench) - what is this and where do I find it?


I can’t see if You work at an NSC. If so, You should ask Your NTR for the Tools CD. There You have the Navision Developer Toolkit

quote:


I do need to know more about the actual processes. For example, I’d like to know when a Sales Order is posted - what tables are written to? Isn’t there some documentation somewhere that shows these kind of relationships? Seems like there should be basic task flowcharts or something.


Sorry. You won’t see any flowcharts in the nearest future I’m afraid. First of all You should learn how journals work and the posting routines for them. You must understand that it’s all a matter of Journals in Navision when posting. After the Journals You should take a look at codeunit 80 where the sales is posted. Then some training. I havent got any idea of Your level of experience in Navision, but I’ll give You some tips for training: - Create a new field on the sales line (table 37) with a relation to a new table with possible values. Make sure You can do a lookup to a form to choose from. Then do nessecery modifications to transfer the contents of the new field to posted invoice lines and to Item ledger entries. To do this You must work bot with sales line, item journal line and the item ledger transaction table. You must also do changes in codeunit 80 and 22, so I think it’s a good example. - You can also create Your own posting routine and call codeunit 22 from that. Just a simple form with a fields for Item No. and Quantity. Then a button and code to post a Pos. adjustment with the item and the qty. - You should also look at reports, both with nested Data Items and those base solely on a transaction table but with grouping and totaling. - Also look at codeunits. Create a codeunit with a function. Call that function from Validation of some field in sales line and pass the record as parameter. Perform some tests in it and modify some value. There are hundreds of good examples, but I think these are a good start. Good luck and hope You get trough. Navision is a great tool once You get used to it and understand the structure of the base application. /Lars

Did anyone of you actualy read these posts? If so… Get a life! Jee… Long live the one liners!

“If so… Get a life! Jee… Long live the one liners!”

quote:


Originally posted by eromein
sure, but you could always download a license to learn to program. Just leave it by learning. Don’t go developing on your own in your live database. Why you ask? 1.) Course you should leave that to people who know what they are doing. 2.) You really need the garantee on the developements. 3.) It’s always cheaper hiring solution developer. He’s faster and better. 4.) Hobbiests always develop the wrong solution. (this is true!)


Any questions [8D]? Your posting is one of the reasons for some longer postings here. André

true… so true!

A life… i’ve got a life… my computer and i use to spend a lot of life together on travel [:D]… life… what’s a life without a keyboard??? [:D] (fortunatelly my girlfriend doesn’t read this forum at all… [:D]) Emiel… you’re the one inspiring us to write long posts… but that’s the fun on the forum… can you imagine just having posts like (“yes, do it” or “no, i don’t recommend you to do that”). Regards,

quote:


Originally posted by eromein
Did anyone of you actualy read these posts? If so… Get a life! Jee… Long live the one liners!


Sure, I usually read every post in its entirety - as long as the topic of the thread is interesting to me [:p] Well, about getting a life: as I’m currently earning my salary by nursing Navision [;)] here at our company - this is my life [:D]

Man… Now you all got me reading this topic again. Starting to doubt this isn’t my life too.

One suggestion no one has made is to have a look at Pascal to get comfortable with the grammar of C/AL. Django

quote:


Originally posted by eromein
Man… Now you all got me reading this topic again. Starting to doubt this isn’t my life too.


Emiel… don’t try to fool us… we know this is your life too [:D]… well… don’t worry, it’s like with alcoholics… the first step it’s to acknowledge ourselves. [:o)] Regards, [edited because i noticed i missed the w on acknowledge [:D] ]

Hi. My name is Django. And I’m a Navisiholic. [;)]

Dear Emiel Romein,
I am new to this Navision and thinking of learning this Navision. I understood that this post is very older. But I feel, you have been specialized in Navision now. Can you guide me please? If you have any tutorial can you forward that also to me? My email ID is saranaiming[at]gmail[dot]com

Thanks & Regards
Saravanan Chandru