This topic provides code examples to show changed patterns in dimension code modification and migration for five different scenarios. It compares the code examples in earlier versions to the code examples in Microsoft Dynamics NAV 2016.
Posting a Journal Line
Key changes are listed as follows:
-
Journal line dimension tables are removed.
-
A dimension set ID is created in the Dimension Set ID field.
Earlier Versions
|
Microsoft Dynamics NAV 2016
|
---|
| Copy Code |
---|
ResJnlLine."Qty. per Unit of Measure" :=
SalesLine."Qty. per Unit of Measure";
TempJnlLineDim.DELETEALL;
TempDocDim.RESET;
TempDocDim.SETRANGE(
"Table ID",DATABASE::"Sales Line");
TempDocDim.SETRANGE(
"Line No.",SalesLine."Line No.");
DimMgt.CopyDocDimToJnlLineDim(
TempDocDim,TempJnlLineDim);
ResJnlPostLine.RunWithCheck(
ResJnlLine,TempJnlLineDim);
|
| | Copy Code |
---|
ResJnlLine."Qty. per Unit of Measure" :=
SalesLine."Qty. per Unit of Measure";
ResJnlLine."Dimension Set ID" :=
SalesLine." Dimension Set ID ";
ResJnlPostLine.Run(ResJnlLine);
|
|
Posting a Document
When you post a document in Microsoft Dynamics NAV 2016, you no longer have to copy the document dimensions.
Earlier Versions
|
Microsoft Dynamics NAV 2016
|
---|
| Copy Code |
---|
DimMgt.MoveOneDocDimToPostedDocDim(
TempDocDim,DATABASE::"Sales Line",
"Document Type",
"No.",
SalesShptLine."Line No.",
DATABASE::"Sales Shipment Line",
SalesShptHeader."No."); |
| | Copy Code |
---|
SalesShptLine."Dimension Set ID”
:= SalesLine."Dimension Set ID” |
|
Editing Dimensions from a Document
You can edit dimensions from a document. For example, you can edit a sales order line.
Earlier Versions
|
Microsoft Dynamics NAV 2016
|
---|
| Copy Code |
---|
Table 37, function ShowDimensions:
TESTFIELD("Document No.");
TESTFIELD("Line No.");
DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
DocDim.SETRANGE("Document Type","Document Type");
DocDim.SETRANGE("Document No.","Document No.");
DocDim.SETRANGE("Line No.","Line No.");
DocDimensions.SETTABLEVIEW(DocDim);
DocDimensions.RUNMODAL; |
| | Copy Code |
---|
Table 37, function ShowDimensions:
"Dimension ID" :=
DimSetEntry.EditDimensionSet(
"Dimension ID"); |
|
Showing Dimensions from Posted Entries
You can show dimensions from posted entries, such as sales shipment lines.
Earlier Versions
|
Microsoft Dynamics NAV 2016
|
---|
| Copy Code |
---|
Table 111, function ShowDimensions:
TESTFIELD("No.");
TESTFIELD("Line No.");
PostedDocDim.SETRANGE(
"Table ID",DATABASE::"Sales Shipment Line");
PostedDocDim.SETRANGE(
"Document No.","Document No.");
PostedDocDim.SETRANGE("Line No.","Line No.");
PostedDocDimensions.SETTABLEVIEW(PostedDocDim);
PostedDocDimensions.RUNMODAL; |
| | Copy Code |
---|
Table 111, function ShowDimensions:
DimSetEntry.ShowDimensionSet(
"Dimension ID"); |
|
Getting Default Dimensions for a Document
You can get default dimensions for a document, such as a sales order line.
Earlier Versions
|
Microsoft Dynamics NAV 2016
|
---|
| Copy Code |
---|
Table 37, function CreateDim()
SourceCodeSetup.GET;
TableID[1] := Type1;
No[1] := No1;
TableID[2] := Type2;
No[2] := No2;
TableID[3] := Type3;
No[3] := No3;
"Shortcut Dimension 1 Code" := '';
"Shortcut Dimension 2 Code" := '';
DimMgt.GetPreviousDocDefaultDim(
DATABASE::"Sales Header","Document Type",
"Document No.",0,
DATABASE::Customer,
"Shortcut Dimension 1 Code",
"Shortcut Dimension 2 Code");
DimMgt.GetDefaultDim(
TableID,No,SourceCodeSetup.Sales,
"Shortcut Dimension 1 Code",
"Shortcut Dimension 2 Code");
IF "Line No." <> 0 THEN
DimMgt.UpdateDocDefaultDim(
DATABASE::"Sales Line","Document Type",
"Document No.","Line No.",
"Shortcut Dimension 1 Code",
"Shortcut Dimension 2 Code"); |
| | Copy Code |
---|
Table 37, function CreateDim()
SourceCodeSetup.GET;
TableID[1] := Type1;
No[1] := No1;
TableID[2] := Type2;
No[2] := No2;
TableID[3] := Type3;
No[3] := No3;
"Shortcut Dimension 1 Code" := '';
"Shortcut Dimension 2 Code" := '';
GetSalesHeader;
"Dimension ID" :=
DimMgt.GetDefaultDimID(
TableID,No,SourceCodeSetup.Sales,
"Shortcut Dimension 1 Code",
"Shortcut Dimension 2 Code",
SalesHeader."Dimension ID",
DATABASE::"Sales Header"); |
|
See Also