Record.TRANSFERFIELDS(FromRecord [, InitPrimaryKeyFields]);
TRANSFERFIELDS
Die Funktion TRANSFERFIELDS einer Recordvariable holt sich alle Feldwerte einer anderen Recordvariable (FromRecord).
Informationen
Es werden nur die Feldwerte übertragen, die sowohl in der Quell- als auch in der Zieltabelle die gleiche ID besitzen und vom gleichen Typ sind.
Der zweite Parameter (InitPrimaryKeyFields) ist optional und gibt an, ob die Werte der Felder, die zum Primärschlüssel gehören, auch übertragen werden sollen. Wird der Parameter weggelassen oder TRUE eingetragen überträgt Dynamics NAV auch die Werte dieser Felder.
Wenn Dynamics NAV in beiden Tabellen identische Feldnummern findet, die Feldtypen jedoch unterschiedlich sind und somit ein Übertrag des Feldinhalts nicht möglich ist, wird eine Fehlermeldung ausgeben.
Beispiel
SalesLine.GET(SalesLine."Document Type"::Order, '1000', 10000); NewSalesLine.INIT; NewSalesLine."Line No." := 20000; NewSalesLine.TRANSFERFIELDS(SalesLine, FALSE); MESSAGE('%1', NewSalesLine."Line No."); NewSalesLine.TRANSFERFIELDS(SalesLine, TRUE); MESSAGE('%1', NewSalesLine."Line No.");
In der ersten Zeile holen wir über die Record-Variable „SalesLine“ die erste VK-Zeile des Auftrags 1000. In der zweiten und dritten Zeile initalisieren wir eine neue leere VK-Zeile und füllen das Feld „Line No.“ mit dem Wert „20000“.
In Zeile vier übertragen wir mit der Funkton TRANSFERFIELDS die Werte der bestehenden VK-Zeile in die Record-Variable „NewSalesLine“. Durch die Angabe „FALSE“ des zweiten Parameters überschreibt Navision nicht die in Zeile drei definierte Zeilennr. („LineNo.“)
Zeile sechs dagegen schon.