Neues Feld in eine andere Tabelle kopieren

11. Mai 2009 10:45

Hallo,
habe in den Tabllen 5740 Transfer Header und 5744 Transfer Shipment Header ein neues Feld "Language Code" erstellt.
Nun soll das Feld vonn Tabelle 5740 in die Tablle 5744 kopiert werden. Habe folgenden C/AL Code:


TransHeader.SETRANGE(TransHeader."No.","No.");
TransHeader.SETRANGE(TransHeader."Transfer-from Code","Transfer-from Code");
IF TransHeader.FINDFIRST THEN BEGIN
Rec.GET(TransHeader."Language Code");
"Language Code" := TransHeader."Language Code";
Rec.MODIFY;
END;

Leider wird der Wert nicht übertragen. Wo liegt der Fehler. Wielen Dank im Voraus.

Re: Neues Feld in eine andere Tabelle kopieren

11. Mai 2009 11:59

Mal davon ausgehend, dass der Code auf die Tabelle 5744 zugreift:
Ich weiß leider nicht, wie diese zwei Tabellen zusammen hängen, aber die SetRanges können schon nicht richtig sein, da du sonst spätestens bei dem get eine Fehlermeldung bekommen müsstest. Ich kann mir zumindest nicht denken, dass dort ein Datensatz wie ein Sprachcode bezeichnet ist ;)

Re: Neues Feld in eine andere Tabelle kopieren

11. Mai 2009 12:45

Die Tabelle 5740 ist der Umlagerungskopf aus dem man Umlagerungsaufträge erfassen kann. Dort habe ich das neue Feld "Language Code erstellt", um später den Umlagerungsauftrag in verschiedenen Sprachen zu drucken.
Und genau da liegt mein Problem. Ich kann den Report (Umlagerungsauftrag) nur aus den gebuchten Umlagerungsaufträge drucken. Dazu dient die Tabelle 5744 Umlagerungsausgangskopf. Dort habe ich das Feld "Language Code" aus der Tabbelle 5740 übernommnen, jedoch wird das Feld nicht mit dem Wert aus Tabelle 5740 gefüllt.

Re: Neues Feld in eine andere Tabelle kopieren

11. Mai 2009 13:46

step77 hat geschrieben:TransHeader.SETRANGE(TransHeader."No.","No.");
TransHeader.SETRANGE(TransHeader."Transfer-from Code","Transfer-from Code");
IF TransHeader.FINDFIRST THEN BEGIN
Rec.GET(TransHeader."Language Code");
"Language Code" := TransHeader."Language Code";
Rec.MODIFY;
END;


Wie oben schon gesagt, wenn dieser Code in der Tabell 5744 steht, dann so
Code:
IF TransHeader.GET("Transfer Order No.") THEN BEGIN
   "Language Code" := TransHeader."Language Code";
   MODIFY;
END;

Ich würde allerdings in der Codeunit 5704 eine Zeile einfügen
Code:
TransShptHeader."Language Code":= "Language Code";


mfg Michael