Several doubts on Registration and Posting

Hi developers,

I’ve done a huge effort reading the C/SIDE Solution Development Guide in english (wow), and tried to complain the proccess of registration and posting but when I try to test the example of the guide I got many problems. Then, I made and Order and posted it, and tried to complain how it works but there are too lines of code, so I watched the affected tables with the Navigate button of the History Invoice.

On resume, I think I understand the tables affected and why, more or less, but I would like to know if, developing, I must create this registers with record variables and lines of code, or I should call existing codeunits for some of them… can somebody help with the structure?.

In the example I used, created an Order with just one Item line, and the tables affected where…

Posted Sales Invoice (1 record)
G/L Entry (5 record)
VAT Entry (1 record)
Cust. Ledger Entry(2 record)
Detailed Cust. Ledg. Entry(4 record)
Value Entry(1 record)

Even if you don’t believe it, I have the C/SIDE Certification exam next Thursday and I had very few time to prepare it, cause I’ve been working with NAV just for three months, any help would be pleased.

Thanks so much [:S]

When I started developing with Navision about 17 years ago, then I still remember that someone told me these wise words:

Never change in the core codeunits

My the core codeunits he meant all the posting codeunits such as 12, 80,90 etc. And I must say that I lived after this rule for at least 3-6 months after I started programming. It’s very important that you are able to understand these codeunits before you even start thinking about changing them.

And when you understand them, and more important how they work together to create the structure you describe in your question, then you will also know that even a small change can make your transactions to be corrupted. But also once you understand the structure of one posting codeunit, then you will easily learn to understand the structure of the other posting codeunits.

So to answer your question: You should always call the existing codeunits, but on the level according to what you’re doing. I.e. if you have to create a new module that should create entries to the G/L table, then you should always use codeunit 12.

You have looked at how the Navision application is working.

If your exam is for C/SIDE you should continue to look at how you can develop objects - refer to the Application designer guide whis about development standards (object names, varaibale types, GUI).

When developing look at the standard objects to see how they work; this can take many days to understand how they all work to-gether. Consider that NAV is an attempt at Object Oriented developemnt where the same code is utilised as often as possible and passes parameters and data to be processed.

My favourites are codeunits 80, 81 and 82 - you will need time and pateience to ‘map’ the code and undertsand what is happening.


Good luck.


A good way to start looking at the posting codeunits is codeunit 21, 22, 23, but you need someone to explaing the journal posting theories to you.

Thank you so much, you were right, I didn’t need the posting affairs for the exam… 97% passed !! :wink:

Thats great news.