The Low-Level Code
Do you know what the low-level code in Microsoft Dynamics NAV is used for? And do you know how it is maintained? The low-level codes are critical for Dynamics NAV to function properly in a manufacturing environment where material planning takes place (which is in 9 out of 10 places). In addition to this, the cost adjustments in Dynamics NAV are also using the low-level codes.
The low-level code is a field in the item table that represents the items lowest level of usage in the production BOM or assembly BOM structures. It is used internally by Dynamics NAV to determine the sequence in which the materials are planned during the MRP run and the sequence in which the items costs are adjusted. Dynamics NAV plans the items with the low-level code of 0 first and then those with a low-level code of 1 and so on. The lower the code is the higher the item is in the product structures, 0 being a top level item. For the cost adjustment, NAV starts with the lowest level items and work its way up.
Below is an illustration of how the low-level codes relates to the explosion levels of the BOMs (which is in same cases not the same). Two finished products (FIN-01 and FIN-02) are sharing a subassembly (SA-02). The shared subassembly is in both level 1 and 2 in the BOM explosion of the two products. When the low-level code is calculated the subassembly SA-02 and its components are assigned the lowest level cross all the BOMs. This since SA-01 creates a demand for SA-02 and therefore needs to be planned first before the SA-02 is planned.
The low-level codes in Dynamics NAV can be calculated either automatically (called Dynamic Low-Level Code) or by running a batch job (called Calculate Low-Level Code).
Dynamic Low-Level Code
The dynamic low-level code is something that is activated by a checkbox in the Manufacturing Setup table.
When using the dynamic low level code functionality Dynamics NAV updates the codes in the item table each time a production BOM is certified or added to an item. The dynamic low-level code could have an effect on the performance of the certification process. I have seen Dynamics NAV solutions with so many production BOMs and items (> 100.000) that it was not possible to use the dynamic low-level code. Another reason to turn this off is when you migrate production BOMs into Dynamics NAV, instead of having the low-level codes to be calculated for each of the production BOM that is certified it is much quicker to certify them all without the dynamic low-level code and then afterwards run the batch job described below.
Calculate Dynamic Low-Level Code
This is a batch job that runs through all the items and calculates the low-level codes.
Even if you have the dynamic low-level code activated it is recommended that you run this batch job from time to time, especially if you are making lots of changes to production BOMs on a daily basis.
I always recommend that you run this before you run any MRP job. The reason for this is that the dynamic low level code functionality in Dynamics NAV is not completely accurate; if you for example delete a production BOM the low-level codes of the components are not recalculated. If you run your MRP or the cost adjustments as scheduled activities, then just schedule this batch job to run before and you should be fine.
The one place where you can see and use the low-level code as a user is in the planning worksheet. This can be used by the planner to know what items that potentially can be affected by a change to a suggestion. If you for example increase a quantity for an item with a low-level code as 2, then you know that items with low-level codes being 0 and 1 will not be effected but lower level items might be since the demand for those just increased.