[Gelöst] REPEAT..UNTIL Schleife statt MODIFYALL - Risiken?
Verfasst: 17. August 2009 14:19
Meine Frage ist an keine NAV Version gebunden, deswegen bitte verschiebene falls es hier unpassend ist.
Mir geht es darum wie "Sprünge" in der Sortierung passieren können, wenn ich statt MODIFYALL folgenden Code nutze:
Unser Trainer beim Developer I (impuls) hat gesagt, dass hier die Zeilen aus der Abgrenzung "rutschen" können und dadurch Fehler entstehen können. Wie das passieren kann ist mir nicht ganz klar. An dieser Stelle hat er auch erwähnt, dass NAV keine Cursor kennt, wie andere Datenbanken. NAV schaut sich stehts zuerst den Currentkey an und danach den PK um "von einem Datensatz zum nächsten" zu kommen. Aber eigentlich müsste letzterer Code doch gut funktionieren, da das Rausrutschen aus dem Filter ja kein Problem darstellt oder?
- Code:
Cust.SETCURRENTKEY("Currency Code"); //damit alle Customer mit Currency Code='EUR' an einem Stück stehen
Cust.SETRANGE("Currency Code",'EUR');
Cust.MODIFYALL("Currency Code",'',TRUE);
Mir geht es darum wie "Sprünge" in der Sortierung passieren können, wenn ich statt MODIFYALL folgenden Code nutze:
- Code:
Cust.SETCURRENTKEY("Currency Code");
Cust.SETRANGE("Currency Code",'EUR');
IF Cust.FIND('-') THEN
REPEAT
Cust."Currency Code." := '';
UNTIL Cust.NEXT = 0
Unser Trainer beim Developer I (impuls) hat gesagt, dass hier die Zeilen aus der Abgrenzung "rutschen" können und dadurch Fehler entstehen können. Wie das passieren kann ist mir nicht ganz klar. An dieser Stelle hat er auch erwähnt, dass NAV keine Cursor kennt, wie andere Datenbanken. NAV schaut sich stehts zuerst den Currentkey an und danach den PK um "von einem Datensatz zum nächsten" zu kommen. Aber eigentlich müsste letzterer Code doch gut funktionieren, da das Rausrutschen aus dem Filter ja kein Problem darstellt oder?