Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: sTu am 27.07.05 - 11:04:51
-
Hallo,
ich habe einen Agent mit einer @while Schleife programmiert.
@While(jubilaeum < @Today;@Adjust(jubilaeum;5;0;0;0;0;0))
Dieser soll ein Datum um 5 Jahre erhöhen wenn dieses das heutige Datum überschritten hat.
Beim Ausführen des Agents bekomme ich folgende Fehlermeldung:
Die Formel hat die maximal zulässige Speicherbelegung überschritten.
Was habe ich falsch gemacht? :-:
Bitte helft mir :'(
-
Eine Endlosschleife gebaut.
-
Ergänzung.
1. ist Jubilaeum ein Datum?
2. bau ein Prompt in die Schleife ein um das mit der endlosschleife zu verifizieren
-
Wie sieht es eigentlich mit dem Format von jubilaeum aus?
Edit: Gleicher Gendanke!
-
eigentlich kann das garnicht sein daß es eine Endlosschleife ist, denn irgendwann ist das Datum ja >@today.
Das Jubilaeum ist ein Datum.
Wie baue ich denn den @Prompt ein?
-
mit @prompt([ok];"Debug Schleife";@text(Jubilaeum));
Dann sieht du ob er das wirklich hochzählt oder ob er hängenbleibt
-
Das Datum bleibt von Anfang an hängen. :'(
-
Wenn man jetzt noch das ganze Script sehen könnte, müssten wir nicht dauernd unsere Glaskugel bemühen... ;D
-
Ist "jubilaeum" ein Feld oder eine Variable?
Wenn Feld, dann müsstest du den neuen Wert, den @Adjust liefert, natürlich auch dem Feld zuweisen.....
@Adjust ändert den ersten Parameter ja nicht, sondern gibt nur den geänderten Wert zurück.
Edit: Gilt natürlich auch für eine Variable :P
-
Wenn man jetzt noch das ganze Script sehen könnte, müssten wir nicht dauernd unsere Glaskugel bemühen... ;D
Genau, zumal meine gerade wegen Überhitzung den Geist aufgegeben hat.
-
das klingt logisch. Aber wie weisse ich dem dann das aktualisierte Datum zu?
Derzeit sieht meine Formel so aus:
@While(jubilaeum < @Today; @Adjust(jubilaeum;5;0;0;0;0;0))
-
in etwa so:
@While(jubilaeum < @Today; jubilaeum := @Adjust(jubilaeum;5;0;0;0;0;0))
-
oder willst Du das Feld jubilaeum ändern?, dann geht es mit @SetField.
-
Der komplette Code wäre doch sinnvoll!!
Wo drüber läufst Du denn mit der Schleife??
Über alle Einträge im Feld/der Variable "jubilaum" ???
Wo wird hochgezählt und wie kommst Du zum nächsten Eintrag??
...kannst Du bitte die komplette Formel posten ??
Dirk
-
Wieder mal so ein Fall von Fragen stellen, keine Antworten auf die Fragen die gefragt werden geben und vielen Leuten Kopfschmerzen bereiten weil eigentlich alles unvollständig ist.
Es steht zwar in den Regeln nicht explizit drin aber ich glaube wir sollten das aufnehmen
3.5. Verhalten während der Bearbeitung eines Postings
Wenn seitens der Anwortenden spezifizierende Gegenfragen gestellt werden oder um mehr Information gebeten wird, dann soll diesen Anforderungen entsprochen werden. Dabei ist Bezug auf die Frage zu nehmen und dann die entsprechende Antwort zu geben. Mehrere Fragen von unterschiedlichen Teilnehmern können auch in einer Antwort zusammengefasst werden solange erkennbar ist auf welche Frage sich der Poster bezieht.
Manchmal habe ich das Gefühl das wir das Lesen der Forumsregeln bei einer Neuanmeldung erzwingen sollten. >:(
-
Wieder mal so ein Fall von Fragen stellen, keine Antworten auf die Fragen die gefragt werden geben und vielen Leuten Kopfschmerzen bereiten weil eigentlich alles unvollständig ist.
Es steht zwar in den Regeln nicht explizit drin aber ich glaube wir sollten das aufnehmen
3.5. Verhalten während der Bearbeitung eines Postings
Wenn seitens der Anwortenden spezifizierende Gegenfragen gestellt werden oder um mehr Information gebeten wird, dann soll diesen Anforderungen entsprochen werden. Dabei ist Bezug auf die Frage zu nehmen und dann die entsprechende Antwort zu geben. Mehrere Fragen von unterschiedlichen Teilnehmern können auch in einer Antwort zusammengefasst werden solange erkennbar ist auf welche Frage sich der Poster bezieht.
Manchmal habe ich das Gefühl das wir das Lesen der Forumsregeln bei einer Neuanmeldung erzwingen sollten. >:(
Amen.
Genau so hinein!
-
Danke an euch alle...aber ganz besonders an Diali. :-*
Dein Tip hat mich auf die Lösung meines Problems gebracht.
Ich habe das jetzt so gelöst:
@While(jubilaeum < @Today; @SetField("jubilaeum";@Adjust(jubilaeum;5;0;0;0;0;0)))
-
So wie es aussieht genugt auch folgende Formel:
@If( jubilaeum < @Today; @SetField("jubilaeum";@Adjust(jubilaeum;5;0;0;0;0;0)); "" ) ;)
Oder denke ich das nur, weil der Rest der Formel nicht geposted wurde ;) ;D
Dirk
-
Wieder mal so ein Fall von Fragen stellen, keine Antworten auf die Fragen die gefragt werden geben und vielen Leuten Kopfschmerzen bereiten weil eigentlich alles unvollständig ist.
Das ich nicht gleich antworte liegt entweder daran das ich noch an einer Lösung zu meinem Problem gesucht habe .. oder das ich arbeitsbedingt etwas verhindert war.
Das ist keine Absicht gewesen. Ich weiss wie man sich in einem Forum zu "benehmen" hat.
Danke!
-
Das hätte Dich aber nicht daran gehindert, den kompl. Code zu posten !
-
mehr als diesen Code habe ich aber nicht. :-: :)
@While(jubilaeum < @Today; @SetField("jubilaeum";@Adjust(jubilaeum;5;0;0;0;0;0)))
-
wenn Du gesagt hättest mehr Code hast Du an dieser Stelle nicht oder jubilaeum ist ein Feld, dann wäre es schneller und einfacher für uns gegangen
-
@dirk_2909: das hätte nicht genügt, was wäre, wenn das Datum 12 Jahre zurückliegt.