[GELÖST] Globale Variablen werden nicht immer gefüllt!?

15. August 2014 11:15

Guten Morgen zusammen,

ich habe gerade ein Phänomen, welches ich mir überhaupt nicht erklären kann, vielleicht weiß da jemand von Euch einen Rat?

Zu Beginn einer Funktion lasse ich einige (globale) Variablen wie folgt füllen:

Code:
//Initialisierung
PurchSetup.INIT;
CertFilePath := '';
CertFilePathArchive := '';
CertFilePathUser := '';

PurchSetup.FINDFIRST;
CertFilePath := PurchSetup."Path Certificate";                      //CertPath der Setup-Einstellung ermitteln
CertFilePathArchive := PurchSetup."Path Certificate Archive";       //ArchivePath der Setup-Einstellung ermitteln
CertFilePathUser := GetFullPath;                                    //Dateiauswahl nach Userangaben


Nun bin ich gerade in der Testphase, die bislang einwandfrei lief. Jedoch kommt es jetzt immer wieder vor, daß die Variablen
CertFilePath, CertFilePathUser und CertFilePathArchive (alles TEXT-Variablen) nicht gefüllt werden???

Zur Test-Vorgehensweise: ich teste momentan lediglich auf unserem ersten Kreditor, vielleicht liegt es daran?
Auf alle Fälle werde ich jetzt zeitgleich mal auf anderen testen, ob es sich dort auch so verhält...

Hat schon mal jemand so etwas erlebt? Oder vielleicht eine Idee, woran es liegen könnte?
Zuletzt geändert von Frank_S am 15. August 2014 12:56, insgesamt 2-mal geändert.

Re: Globale Variablen werden nicht immer gefüllt!?

15. August 2014 11:25

Wie wärs mit PurchSetup.GET ?

Re: Globale Variablen werden nicht immer gefüllt!?

15. August 2014 11:25

Hallo Frank,

Dein Zugriff auf den Purchsetup ist etwas unkonventionel :wink: .

Wer mehr mit NAV zu tun hat, wird mit einem einfachen PurchSetup.get den Record lesen und davon ausgehen, das es funktioniert.

Falls der PurchSetup.Get mit einem Fehler abbricht, hast du ein anderes Problem, das dieses hier unwichtig erscheinen lässt :mrgreen:

Gruß, Fiddi

Re: Globale Variablen werden nicht immer gefüllt!?

15. August 2014 11:29

Code:
PurchSetup.INIT;

Damit werden alle Feldinhalte in der Einkaufseinrichtung gelöscht (bis auf den Primärschlüssel, da steht in diesen Einrichtungstabellen ausnahmsweise aber ohnehin nichts drin), das ist völlig verkehrt :!: .

Der kosmetische Teil: Danach macht man nicht
Code:
PurchSetup.FINDFIRST;

sondern
Code:
PurchSetup.GET;

(ohne Parameter, eben weil das Primärschlüsselfeld in Einrichtungstabellen keinen Wert enthält).

Re: Globale Variablen werden nicht immer gefüllt!?

15. August 2014 12:54

@ fiddi, elTorito & Kowa:
ihr habt alle drei Recht! :wink:

Die Lösung ist tatsächlich...

Code:
PurchSetup.GET;

:-P

Das PurchSetup.INIT habe ich heute morgen erst gesetzt, nachdem ich einen Beitrag von Natalie gelesen hatte... eigentlich logisch, daß FINDFIRST dann - wie Fiddi schrieb - etwas Probleme macht :roll:

Na ja, jedenfalls BESTEN Dank für eure schnelle Hilfe!! Und da ich erst seit 3 Wochen mit NAV programmiere (experimentiere :wink: ), werde ich bestimmt noch des öfteren offene Fragen haben.
Wobei: sehr vieles ist ja hier auch schon besprochen worden, man sollte halt mal suchen :idea:

Ein schönes Wochenende für euch!