TRANSFERFIELDS

Der Befehl TRANSFERFIELDS überträgt alle Werte einer Recordvariable (FromRecord) in die Recordvariable, von der aus der Befehl aufgerufen wird. Jedoch werden nur die Werte der Felder ü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 Navision auch die Werte dieser Felder.

Wenn Navision 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.

Syntax

TRANSFERFIELDS(FromRecord [, InitPrimaryKeyFields])

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.");

Ergebnis

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 dem Befehl 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.“)

20000

Zeile sechs dagegen schon.

10000


 

Zurück zur Befehlsübersicht.