Dynamics 365 Business Central CU03 TearDown - New Features

BC CU03 TearDown

CU03 package was released last Friday without any special drum rolls. So far there is no blog post in Dynamics NAV Team blog describing the public availability of the package. I guess they have been too busy to announce the update.

This package is quite interesting. In addition to normal integration hooks this package differs a lot from NAV 2018 CU13 package, even though it contains changes added to NAV2018 CU13 as well, it also contains new functionality that may or may not appear in NAV 2018. Future will show us how far the branches will separate later.

Implemented NAV2018CU13 changes include Post Code handling changes and CU 5068 for Word Application Handler helper codeunit. Now Business Central also has the "Disable Search By Name" functionality.

There is also some other changes that I will describe below.

Object type No. Name Description
Table 31 Item Picture Buffer Buffer table to help importing items from a zip file
Codeunit 490 Parallel Session Management Helper codeunit to handle job queue calls in paraller execution
Codeunit 491 Memory Mapped File Interesting codeunit to help reading files to a blob field.
Check it out, it can help wth XML file handling!
Codeunit 5068 WordApplicationHandler Helper codeunit to handle Word application functionality
Codeunit 8626 Config. Import Table in Backgr Helper codeunit to import Configuration Packages (with codeunit 491)
Page 32 Item Lookup This page handles the Item lookup now instead of old list page 31
Page 33 Customer Lookup This page handles the Customer lookup now instead of old list page 22
Page 34 Vendor Lookup This page handles the Vendor lookup now instead of old list page 27
Page 348 Import Item Pictures New page to handle mass import of pictures to Items from a zip-file. See more below
Page 932 Assembly Quotes New page to show list of Blanket Assembly Quotes
Page 942 Blanket Assembly Orders New page to show list of Blanket Assembly Orders
Page 1828 Extend Trial Wizard New wizard page to extend trial period with 30 days

Item picture import

The most interesting addition is the possibility to download a zip file that contains a bunch of item pictures. The functionality then imports the pictures to items with the help of new table 31. The page action that allows this is inserted somehow unintuitively on page 461 Inventory Setup action called "Import Item Pictures". Once you have imported a zip file that contains item pictures (jpg, png, gif files named after the item no.) with double clicking the Zip-file fild, you can apply the pictures to item cards with "Import Pictures" page action. Nice and simple!
Perhaps the next version allows manual apply of the item no. as well, so this will be even more usable.

Other notices

1) Business Central is applied a pattern for confirmation management introduced in CU02. The use of this functionality is now implemented to a lot of objects in CU03. The pattern can be found from Codeunit 27 Confirm Management. The codeunit only has two functions that check if GUIALLOWED, and returns default value if not. Simple, yet efficient way to reduce redundant code. I have also used this approach many times, and I am happy now I can remove it from my own Utilities -codeunit. It is only a bit strange this codeunit is not made a Single Instance codeunit to further reduce the need for multiple initializations. Even better would have been to change CONFIRM function to act according to the GUIALLOWED, but I guess since C/AL is about to be obsolete...
It is very useful to familiarise yourself with other management codeunits starting from object no. 27. These are great helpers that can reduce need for your own code.

2) Common Item No. is brought back to Item page, whee!

3) CRM Integration check and Social Listening SetupVisible functions on page 31 have been changed with much better performing code, so it is now much more efficient. This change is one I can remove from my standard changes as well

CRMIsCoupledToRecord := CRMCouplingManagement.IsRecordCoupledToCRM(RECORDID) AND CRMIntegrationEnabled;
IF CRMIntegrationEnabled THEN CRMIsCoupledToRecord := CRMCouplingManagement.IsRecordCoupledToCRM(RECORDID);

4) I also noticed a new property on Table objects "ReplicateData". I have not noticed this earlier, but it does not exist in NAV 2018. Microsoft Docs gives only brief explanation of the field:

Probably related to Hybrid model? Anyways, MS has decided to set this field to "No" in a lot of tables.


Comment List