[gelöst] Eigenschaft Temporary abfragen?

12. März 2007 09:51

Guten Morgen allerseits,

ich habe hier im Forum mal bei der Suche nach etwas anderem gelesen, dass man die Eigenschaft "Temporary" einer Record-Variabel auslesen sollte, bevor man ein "DeleteAll" einer temporausführt.

Halte ich auch für sinnvoll, aber wie kann ich diese Eigenschaft auslesen.

So hatte ich mir das in etwa vorgestellt:

with MeineTempTabelle
if "Temporary" then DeleteAll;
end;

Hat jemand ´nen Tip für mich?
Zuletzt geändert von Dune am 12. März 2007 10:52, insgesamt 1-mal geändert.

12. März 2007 09:59

Hallo Dune,
ein solcher Befehl ist mir nicht bekannt.
Du musst bei der Programmierung halt darauf achten, ob die Tabelle eine "Temporär" ist oder nicht. (Siehe in den Eigenschaften der Variablendeklaration)
Gruß Mikka

Re: Eigenschaft Temporary abfragen?

12. März 2007 10:19

Dune hat geschrieben:ich habe hier im Forum mal bei der Suche nach etwas anderem gelesen, dass man die Eigenschaft "Temporary" einer Record-Variabel auslesen sollte

Nachschauen, nicht auslesen ;-)
Wäre schön, wenn das so automatisch ginge ...

12. März 2007 10:52

Danke euch beiden,

dann hab ich da wohl etwas missverstanden.

Ok, bis bald.

12. März 2007 14:22

Einen Hinweis dazu habe ich:

In NAV ab 3.70, in deinem Fall leider nicht, kann man per Code abfragen, ob es sich um eine temporäre Record Instanz handelt:

Code:
RecRef.GETTABLE(Rec1);
MESSAGE('TableNo: ' + FORMAT(RecRef.NUMBER));

RecRef.GETTABLE(TempRec1);
MESSAGE('TableNo: ' + FORMAT(RecRef.NUMBER));


Rec1 ist als Record einer beliebigen Tabelle definiert. TempRec1 ebenfalls, allerdings "Temporary". RecRef ist eine Variable vom Typ RecordRef (ab 3.70).

Das erste MESSAGE() gibt die tatsächliche Nummer der Tabelle aus, das zweite eine Zahl über 2 Mrd. also irgendwas ab 2000100000. Das ist ein Indikator für eine temporäre Tabelle.

12. März 2007 15:19

Jetzt reden wir aber alle über was verschiedenes!
Mir zumindest geht es um Record-Variablen mit eigenschaft Temporary = Yes. Diese Variablen werden als Ersatz für dynamische Arrays verwendet.

Dies hat nichts mit den temp. Tabellen (nicht Variablen!) in Navision mit deinem besagten Nummernkreis zu tun.

12. März 2007 17:17

Doch, da hat SilverX Recht.
Das Verhalten ist genau so.
Diese RecRef Variable erhält dann eine ID > 2000000

Gruss

12. März 2007 17:55

Tatsache, sorry!!!!!

12. März 2007 23:15

Danke SilverX / martinst.

Das war mir bisher auch noch nicht bekannt.
Ich habe es getestet, klappt tadellos. (Nicht in der 2.6!)

....ich liebe dieses Forum :-P
Gruß Mikka