Report - Artikel umbenennen

20. April 2010 07:14

Hallo zusammen, ich hab da mal wieder ein Problemchen. Ich muss einige (viele) unserer Artikel umbenennen. Ich hab mir dazu einen Report geschrieben, aber leider wird immer nur die erste im Requestfield angegebene Nummer umbenannt. Mein Code sieht so aus:

Item.GET("No.");
Newnr:=COPYSTR(Item."No.",1,3)+'-'+ COPYSTR(Item."No.",4,6);
Item.RENAME(Newnr);
//MODIFY;
Item.NEXT;

Was mach ich falsch ? Brauch ich den "modify" überhaupt ?
vg Dieter

Re: Report - Artikel umbenennen

20. April 2010 07:42

Hi,

ich vermute das das Problem mit deinen Filtern zusammenhängt.
Für deine Zwecke langt es einen neuen Report zu nehmen mit dem DataItem Item.
Ausserdem nimmst du noch eine GlobaleVariable Item2.
Dann filterst du das DataItem auf die Artikel ab die umbenannt werden sollen.
Den Artikel hollst du dir dann in Item2 und bennenst ihn um.
Ob das Modify nötig ist, weiß ich aus dem Stand auch nicht, es schadet aber nicht es zu verwenden.

Re: Report - Artikel umbenennen

20. April 2010 07:52

Es gibt da ein schönes Tool zum umbenennen

http://www.navision24.de/downloads/umbenennung-stammdaten.html

mfg Michael

Re: Report - Artikel umbenennen

20. April 2010 09:05

Hallo Dieter,

das Problem ist, dass durch das Umbenennen dein "Satzzeiger" innerhalb deines "ResultSets" verrutscht.

Auf gut deutsch:
Du findest den ersten Datensatz und machst darauf einen Rename.
Dadurch bedingt wird er an einer ganz anderen Position einsortiert.
Somit stehst du jetzt nicht mehr auf dem ersten, sondern an irgendeiner anderen Stelle.

Lösung:
Führe den RENAME auf einer zweiten Item-Variablen aus:
(Übrigens kannst du dir die Zuweisung der neuen Artikelnr. in eine Variable sparen und den C/AL-Code direkt an den RENAME übergeben.)
Code:
Item2.GET("No.");
Item2.RENAME(COPYSTR(Item."No.",1,3)+'-'+ COPYSTR(Item."No.",4,6));

[Gelöst] Report - Artikel umbenennen

20. April 2010 09:35

Vielen Dank, das ging ja wieder richtig fix, Problem gelöst.
DIeter

Re: [Gelöst] Report - Artikel umbenennen

20. April 2010 09:48

Dieter hat geschrieben:Vielen Dank, das ging ja wieder richtig fix, Problem gelöst.
DIeter


Hallo Dieter,
bitte schreibe das [gelöst] in den Betreff deines ersten Beitrages. Nur so erhält das gesamte Thema den gelöst-Status.
Vielen Dank!