Upgrade 4.00 Step 2 Dimension

13. Mai 2009 13:53

Moin,

ich hab da mal eine Frage zu der oben angesprochenen Codeunit 104052 : Upgrade 4.00 Step 2 Dimension.

Es wird in dieser Codeunit an 2 Stellen die Funktion "KnownFields" aufgerufen: in der Funktion "UpdateDept" und "UpdateProj"
Code:
Object.SETCURRENTKEY(Type,Name);
Object.SETRANGE(Type,Object.Type::Table);
Object.SETRANGE(Name,TableName);
Object.FIND('-');
IF NOT Field.GET(Object.ID,LastFieldNo) THEN
  EXIT;
Field.SETRANGE(TableNo,Object.ID);
Field.SETRANGE(Enabled,TRUE);
Field.SETRANGE(Class,Field.Class::Normal);
Field.FIND('+');
IF Field."No." <= LastFieldNo THEN
  EXIT(TRUE);


Gibt diese Funktion ein TRUE zurück, so wird ein DELETEALL auf Department bzw. Project ausgelöst. Wenn kein TRUE zurückkommt, dann natürlich dementsprechend nicht.
Wozu genau ist diese KnownFields Funktion nun wichtig :?: :?:

Grüße
Andree

Re: Upgrade 4.00 Step 2 Dimension

13. Mai 2009 18:15

Die Funktion tut was der Name schon sagt, sie schaut ob in der Tabelle TableName das Feld LastFieldNo vorhanden ist. Wenn ja schaut Sie, ob die größte aktivierte Feldnummer eines normalen Feldes in der gewünschten Tabelle kleiner als die übergebene Feldnummer LastFieldNo ist, falls ja gibt Sie True zurück.

Gruß, fiddi

Re: Upgrade 4.00 Step 2 Dimension

18. Mai 2009 08:14

Hallo fiddi,

danke schon einmal, aber wozu genau ist das zwingend notwendig??

Grüße
Andree

Re: Upgrade 4.00 Step 2 Dimension

18. Mai 2009 08:27

Hallo EDING,

zunächst mal die Frage, von welcher Version du updaten willst?
Zweitens könnte das Löschen der Datensätze dazu führen, dass diese Später neu aufgebaut werden, damit auch die fehlenden Felder gefüllt werden :!: :?:

Gruß, Fiddi

Re: Upgrade 4.00 Step 2 Dimension

18. Mai 2009 08:42

Hey,

der Update kommt von einer 2.60 Version.

Das Problem was wir hier haben ist, dass er keinerlei Datensätze löscht. =(
Also nie ein TRUE zurückgibt.