Seite 1 von 1
[gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 2. April 2009 14:38
von Fido
Hallo Leute,
bis gestern war die Welt noch in Ordnung. Aber seit heute bekomme ich beim Starten des RTC die Meldung,
das meine ENVIRON()-Methode veraltet sei.
Ich kann mich nicht erinner, irgendetwas am System verändert zu haben. (Patches, KB's) usw.
Hat irgenendwer eine Idee???????
Danke
LG Micha
Re: RTC ENVIRON-Methode ist veraltet
Verfasst: 2. April 2009 15:14
von Natalie
Schon mal in die Onlinehilfe geschaut?
ENVIRON ist ein Befehl im Quelltext, der im RTC nicht unterstützt wird.
ENVIRON wird allerdings bei euch in der DB - sei es durch einen Standardfehler oder eine Anpassung - aufgerufen.
Dass der Fehler ohne dein Zutun erstmalig auftritt, wird an einer bestimmten Datenkonstellation liegen - wenn garantiert niemand außer in dieser DB aktiv ist.
Man müsste sich also auf die Quelltextsuche nach dem ENVIRON begeben.
Vielleicht hilft hier der Debugger, ansonsten das Developers Toolkit.
Wenn gefunden, muss der Aufruf durch ISSERVICETIER abgefangen werden.
Re: RTC ENVIRON-Methode ist veraltet
Verfasst: 2. April 2009 15:19
von Fido
Hallo Natalie,
danke für deine INFO.
Es ist so wie du sagst, zwischenzeitlich wurde ein Anpassung in der CU 1 vorgenommen, in der eben diesen Umstand (ISSERVIETIER) nicht berücksichtigt wurde.
Gott sei Dank hab's ich noch bemerkt, bevor ich mit einem Supportfall bei MS für die Erheiterung des Tages gesorgt hätte.
MFG
Michael
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 7. Mai 2009 14:52
von Timo Lässer
Gibt es eine alternative Methode, mit welcher ich z. B. die Pfadangabe zum Temp-Ordner herausfinde?
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 7. Mai 2009 14:59
von McClane
Geht die gute alte wsh noch?
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 3. Juli 2009 16:04
von dr
nachdem ich mich heute ziemlich viel mit sowas rumgeschlagen habe und dabei auch diesen thread gesehen habe.
ja die wsh geht noch, sofern du damit die automation "Windows Script Host Object Model" gemeint hast.
je nach aufgabe, kann man wohl alles was mit environ ging damit irgendwie auch herausfinden.
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 8. April 2013 14:41
von Kowa
Statt Wsh geht es auch mit :
TEMPORARYPATH (für ENVIRON('Temp'))
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 15. März 2017 17:03
von FlensGold
Ich klinke mich hier mal ein, da es um fast dasselbe Thema geht.
Bisher habe ich environ('computername') genutzt um den Rechnernamen auszulesen - wie lautet denn der Nachfolger für diese Methode?
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 15. März 2017 17:54
von Timo Lässer
- Code:
IF GUIALLOWED THEN
EXIT(ClientEnvironment.MachineName)
ELSE
EXIT(ServerEnvironment.MachineName);
- Code:
Name DataType Subtype RunOnClient
ClientEnvironment DotNet System.Environment.'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' Yes
ServerEnvironment DotNet System.Environment.'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' No
Re: [gelöst] RTC ENVIRON-Methode ist veraltet
Verfasst: 19. Oktober 2023 11:01
von Kowa
Als Ersatz für die anderen Parameter OS, TEMP, WINDIR von
ENVIRON und weitere neue aus dieser Liste
Environment.SpecialFolder Enum. CASE … OF nach Bedarf erweitern.
- Code:
PROCEDURE EnvironBC@1000000071(Environtext@1000000002 : Text) : Text;
VAR
ClientEnvironment@1000000000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Environment" RUNONCLIENT;
ServerEnvironment@1000000001 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Environment";
ClientEnvironmentSpecialFolder@1000000003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Environment+SpecialFolder" RUNONCLIENT;
ServerEnvironmentSpecialFolder@1000000004 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Environment+SpecialFolder";
BEGIN
IF GUIALLOWED THEN BEGIN
// RunOnClient = Yes
CASE Environtext OF
'',' ': EXIT('::=::');
'OS': EXIT(FORMAT(ClientEnvironment.OSVersion.Platform));
'OSVERSION': EXIT(FORMAT(ClientEnvironment.OSVersion));
'TEMP': EXIT(ClientEnvironment.GetEnvironmentVariable('TEMP'));
'WINDIR': EXIT(ClientEnvironment.GetFolderPath(ClientEnvironmentSpecialFolder.Windows));
'SYSTEM': EXIT(ClientEnvironment.GetFolderPath(ClientEnvironmentSpecialFolder.System));
'SYSTEMX86': EXIT(ClientEnvironment.GetFolderPath(ClientEnvironmentSpecialFolder.SystemX86));
'SENDTO': EXIT(ClientEnvironment.GetFolderPath(ClientEnvironmentSpecialFolder.SendTo));
ELSE
EXIT('');
END;
END ELSE BEGIN
// RunOnClient = No
CASE Environtext OF
'',' ': EXIT('::=::');
'OS': EXIT(FORMAT(ServerEnvironment.OSVersion.Platform));
'OSVERSION': EXIT(FORMAT(ServerEnvironment.OSVersion));
'TEMP': EXIT(ServerEnvironment.GetEnvironmentVariable('TEMP'));
'WINDIR': EXIT(ServerEnvironment.GetFolderPath(ServerEnvironmentSpecialFolder.Windows));
'SYSTEM': EXIT(ServerEnvironment.GetFolderPath(ServerEnvironmentSpecialFolder.System));
'SYSTEMX86': EXIT(ServerEnvironment.GetFolderPath(ServerEnvironmentSpecialFolder.SystemX86));
'SENDTO': EXIT(ServerEnvironment.GetFolderPath(ServerEnvironmentSpecialFolder.SendTo));
ELSE
EXIT('');
END;
END
END;