(Gelöst)Benutzer Sprache abfragen

4. Januar 2012 12:27

Ein frohes neues Jahr wünsche ich allen!

Wie kann ich für den RTC im Code eines Action Elementes die Sprache des Benutzer abfragen?
Hat der Benutzer die Spracheinstellung 'ENU' zugeordnet so soll er einen Report erst aufrufen können nachdem eine weitere Kennung hinterlegt wurde. Benutzer mit anderer Sprachkennung sollen den Report immer aufrufen können.


Vielen Dank!

Gruß
Fuige
Zuletzt geändert von fuige am 4. Januar 2012 17:45, insgesamt 1-mal geändert.

Re: Benutzer Sprache abfragen

4. Januar 2012 12:37

fuige hat geschrieben:Ein frohes neues Jahr wünsche ich allen!

Dir auch!

Wie kann ich für den RTC im Code eines Action Elementes die Sprache des Benutzer abfragen?

Zwei Ansätze:
1. Tabelle 2000000073 -> speichert die zuletzt eingestellte Sprache
2. Im Quelltext LANGUAGE abfragen, funktioniert im RTC laut Onlinehilfe allerdings nur im Reportobjekt.

Re: Benutzer Sprache abfragen

4. Januar 2012 15:52

Hi!

Wie kann ich denn den passenden Eintrag aus Tabelle 2000000073 filtern?
Gibt es etwas wie CurrUser?

Die Abfrage müsste schon direkt im Action Element auf der Page und nicht erst im Report geschehen.

Re: Benutzer Sprache abfragen

4. Januar 2012 16:05

fuige hat geschrieben:Gibt es etwas wie CurrUser?

Ja, heißt USERID :-)

Re: Benutzer Sprache abfragen

4. Januar 2012 17:06

Folgenden Ansatz habe ich nun leider ohne Erfolg versucht!

Code:

UserPersonalization.setrange(UserPersonalization."User ID", USERID);
UserPersonalization.findfirst;

message('%1',UserPersonalization."User ID");

IF UserPersonalization."Language ID" = 1033 THEN BEGIN
  // >> MH-Neuh 15.12.2011 print only if quote is released from the US
  IF (Rec."US checked" = Rec."US checked"::freigegeben) THEN BEGIN
     recVar.GET("Document Type","No.");
     recVar.SETRECFILTER;
     REPORT.RUNMODAL(50040,TRUE,FALSE,recVar);
  END
  ELSE BEGIN
     MESSAGE(Text00001);
  END;
END
ELSE BEGIN
     recVar.GET("Document Type","No.");
     recVar.SETRECFILTER;
     REPORT.RUNMODAL(50040,TRUE,FALSE,recVar);
END;
// << MH-Neuh 15.12.2011 print only if quote is released from the US


Es erscheint die Fehlermeldung
Kein Benutzeranpassung innerhalb des Filters gefunden. Filter: Benutzer-ID: ....

Re: Benutzer Sprache abfragen

4. Januar 2012 17:08

Lass dir mal über MESSAGE den Wert von USERID ausgeben und vergleiche ihn mit dem Wert, der in der Tabelle steht.

Re: Benutzer Sprache abfragen

4. Januar 2012 17:14

Message gibt nur meinen Benutzernamen aus.
In der Tabelle "User Personalization" steht er aber mit
Domäne\Benutzername

Muss ich hier nun einen String aus Domäne und Benutzername bauen um den Datensatz zu ermitteln?
Kann ich die Domäne auslesen lassen? Möchte sie nicht fest codieren.

Re: Benutzer Sprache abfragen

4. Januar 2012 17:17

fuige hat geschrieben:Message gibt nur meinen Benutzernamen aus.
In der Tabelle "User Personalization" steht er aber mit
Domäne\Benutzername

Habs befürchtet ...

Muss ich hier nun einen String aus Domäne und Benutzername bauen um den Datensatz zu ermitteln?

Strenggenommen ja.
Ich würds aber einfach so versuchen:

Code:
UserPersonalization.SETFILTER("User ID", '*\' + USERID);
UserPersonalization.FINDFIRST;

Re: Benutzer Sprache abfragen

4. Januar 2012 17:40

Das war die Lösung!!!!

Vielen lieben Dank