Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: reraru am 19.08.05 - 16:08:26

Titel: @year(@now) in Text umwandeln
Beitrag von: reraru am 19.08.05 - 16:08:26
Hallo zusammen!

Kurz vor dem verdienten Wochenende noch ein kleines Problem.

(Die Suchfunktion konnte mir leider nicht helfen!)

Ich möchte eine Variable "jahr" erzeugen, die das aktuelle Jahr enthält:

Ich möchte aber nur 05 bzw. 5 erhalten statt 2005 erhalten.

Code
str:= @Text(@Year(@Now)); 
str2:= @Right(str; 2); 
jahr:= @TextToNumber(str2);

Was mache ich denn Falsch???
Man könnte natürlich auch alles in eine Zeile packen.

Wenn ich "jahr" über ein @prompt ausgebe, dann erhalte ich nichts
sichtbares.

Ich könnte vielleicht noch erwähnen das ich später die Variable "jahr" für
eine SQL Abfrage verwenden möchte.

Vielen Dank im Voraus!

Gruß René
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: Glombi am 19.08.05 - 16:12:23
@Prompt kann nur Text anzeigen. Deine Formel ist richtig.
Versuche
@Prompt([ok];"jahr";@Text(jahr))

Andreas
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: reraru am 19.08.05 - 16:19:44
Hi Glombi!

Dann muss irgendwo anders der Fehler sein:

Hier der komplette Code:

Code

str:= @Text(@Year(@Now)); 
str2:= @Right(str; 2); 
jahr:= @TextToNumber(str2);

sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + kundennr + " AND UXERJJ = " + jahr ;

erg1:=@DbCommand("ODBC" ; "as400" ; "dbreader" ; "dbreader" ; sql1);

@prompt([ok]; "Umsatz laufend"; @Text(erg1))


Ich erhalte die Meldung:

"Falscher Datentyp für Operator oder @Funktion: Text erwartet"

Kundennr ist ein Feld in meinem Dokument (Typ: Zahl).
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: Glombi am 19.08.05 - 16:23:00
jahr ist eine Zahl, im SQL String brauchst Du aber Text:

str:= @Text(@Year(@Now));
str2:= @Right(str; 2);
jahr:= @TextToNumber(str2);

sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + kundennr + " AND UXERJJ = " + @Text(jahr);


oder gleich so:

str:= @Text(@Year(@Now));
jahr:= @Right(str; 2);

sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + kundennr + " AND UXERJJ = " + jahr;

Andreas
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: reraru am 19.08.05 - 16:31:19
Also Dein Vorschlag:

str:= @Text(@Year(@Now));
jahr:= @Right(str; 2);

sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + kundennr + " AND UXERJJ = " + jahr;

erg1:=@DbCommand("ODBC" ; "as400" ; "dbreader" ; "dbreader" ; sql1);

@Prompt([Ok]; "Umsatz laufend"; @Text(erg1))

funktioniert leider nicht!

Das kann doch nicht sein!  :(
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: Axel am 19.08.05 - 16:33:25
Was funktioniert denn nicht?


Axel
 
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: reraru am 19.08.05 - 16:34:28

Hi Axel!

Ich erhalte die Meldung:

"Falscher Datentyp für Operator oder @Funktion: Text erwartet"
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: Glombi am 19.08.05 - 16:35:52
Es liegt an kundennr. Du sagtest ja selbst, dass es eine Zahl ist.
Also:

sql1:= "SELECT SUM(UXNWEF) AS SUM FROM SRVAS01.ANCRADTA.UMSSTAL1 WHERE UXKDNR = " + @Text(kundennr) + " AND UXERJJ = " + jahr;

Andreas
Titel: Re: @year(@now) in Text umwandeln
Beitrag von: reraru am 19.08.05 - 16:39:51
AAAARGGGGGGGHHHHH!  :-X  :-X  :-X  :-:

Sorry!!!

Natürlich liegt es daran! Oh mann!  ;D

Es wird wirklich Zeit Feierabend zu machen!
Das hat ja eh keinen Sinn mehr!

Vielen Dank und ein schönes Wochenende Glombi!!!

Gruß René