In the hope of saving someone the couple of hours it took me to work this out:
There is a standard NAV bug in Codeunit 104049 - Upgrade Dimension Entry - SQL which causes Transfer Lines and Transfer Headers to be excluded when allocating Dimension Set IDs from converted Document Dimensions into Dimension Set Entries.
Dimension Set Entries may not be created from Transfer Header/Transfer Line entries, either. This problem does not affect posted Transfer tables.
To correct the issue replace the following line of code in the UpdateParentTable function in Codeunit 104049 - Upgrade Dimension Entry:
//IF (ParentTableID2 IN [DATABASE::"Standard Sales Line",DATABASE::"Standard Purchase Line"]) THEN
IF (ParentTableID2 IN [DATABASE::"Standard Sales Line",DATABASE::"Standard Purchase Line",
DATABASE::"Transfer Header",DATABASE::"Transfer line"]) THEN
Specifically, the problem appears to be caused by the lack of a 'Document Type' key on the Transfer Header/Transfer Line table. The Standard Sales Line and Standard Purchase Line also miss this field. The code responsible for managing the dimension set entries constructs an array of fields based on the primary key of source dimension table, and the Document Dimension table primary key includes the 'Document Type' field. If you don't explicitly add the transfer tables to the above if statement, the code will not find those records as it examines every record in the database for the key values of the document dimension table, effectively bypassing them and not allocating dimension set IDs to them.
0