Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Friesenjung am 04.09.03 - 14:18:39

Titel: Zeitüberschneidung Reservierungen
Beitrag von: Friesenjung am 04.09.03 - 14:18:39
Hallo,
in Zusammenhang mit der Erstellung einer Reservierungsdatenbank, möchte bei einer Neuanlage auf Zeitüberschneidungen mit bestehenden Reservierungen prüfen.

Ich benutze einen Button Prüfung mit folgendem Code:

ENVIRONMENT Konflikt := "Nein";
ENVIRONMENT PlatzNr. := PlatzNr.;
ENVIRONMENT von := @Text (von);
ENVIRONMENT bis := @Text (bis);
@Command ([ToolsRunMacro]; "Prüfung")

Der Agent Prüfung hat folgenden Code:

SuchPlatzNr. :=@Environment ("PlatzNr.");
SuchBeginn :=@TextToTime (@Environment ("von"));
SuchEnde :=@TextToTime (@Environment ("bis"));
@If (PlatzNr. != SuchPlatzNr.;
@Success;
@If (SuchBeginn>bis) | (SuchEnde<von);
@Success;
@Prompt ( [OK]; "Zeitüberschneidung mit einer bestehenden  Reservierung" ;Nachname+" : "+@Text(von)+" - "+@Text(bis) )
)&@Environment ("Konflikt";"");
SELECT @All

Der Button Reservierung hat dann folgenden Code:

@If (@Environment ("Konflikt") = "";
@Return (@Prompt ([OK];"Eine Speicherung ist nicht möglich !" ; " Die Reservierung nochmals auf Zeitüberschneidung prüfen ! " ));
@Success);
@Command ( [FileSave]);
@Command ([FileCloseWindow]);
ENVIRONMENT PlatzNr. :="";
ENVIRONMENT von :="";
ENVIRONMENT bis :="";
ENVIRONMENT Konflikt :="";

Die Prüfung für einen freien Termin klappt, dann möchte ich speichern und kommt der Prompt "Eine Speicherung ist...". Ich habe das Gefühl ich sehe den Wald vor lauter Bäumen nicht. Vielleicht erkennt einer von euch den Fehler.

Vielen Dank für eure Bemühungen

Friesenjung
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: Rob Green am 04.09.03 - 14:36:22
oh weh, schlimmes Thema .. aba.. vielleicht das hier? > http://www.atnotes.de/index.php?board=7;action=display;threadid=6094;start=20
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: koehlerbv am 04.09.03 - 14:42:44
Nein, der genannte Thread hat nichts mit Friesenjungs Problem zu tun.

Ganz raffe ich die Fehlerursache noch nicht, auf jeden Fall ist aber die Verwendung von @Success falsch und führt evtl. zu unerwarteten Ergebnissen: @Success ist nur für den Einsatz in Validierungsformeln gedacht.
Ersetze mal alle @Success und poste dann ggf. nochmal.

HTH,
Bernhard
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: Friesenjung am 04.09.03 - 14:56:33
Danke erstmal,
leider kein Fortschritt, ohne @success läuft die Prüfung nicht durch, sondern bleibt gleich beim ersten Eintrag mit dem Nachnamen hängen.
Schade, vielleicht findet ja jemand die Schwachstelle - wäre echt Klasse.

Friesenjung
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: koehlerbv am 04.09.03 - 15:02:52
Mal ein Beispiel (OHNE Funktionsprüfung):

SuchPlatzNr. :=@Environment ("PlatzNr.");
SuchBeginn :=@TextToTime (@Environment ("von"));
SuchEnde :=@TextToTime (@Environment ("bis"));
@If (PlatzNr. != SuchPlatzNr.;
@Success;
@If (SuchBeginn>bis) | (SuchEnde<von);
@Return ("");
@Prompt ( [OK]; "Zeitüberschneidung mit einer bestehenden  Reservierung" ;Nachname+" : "+@Text(von)+" - "+@Text(bis) )
);
@Environment ("Konflikt";"");
SELECT @All

@Return ("") bricht den Code ab.
@Environment darf so nicht mit @Prompt verkettet werden, wie Du das gemacht hast - das funktioniert gar nicht ("&" = AND)

Vielleicht hilft Dir das ja schon weiter.

Bernhard
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: eknori am 04.09.03 - 15:10:40
yoo, Bernharb hat Recht & ist das logische und.

wenn dann schon so

ENVIRONMENT Konflikt := "Nein";

@Prompt([Ok];"Test"; " Hallo Welt: " + @Environment("Konflikt"))

Ulrich
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: koehlerbv am 04.09.03 - 15:11:12
Davon dürfen wir wohl ausgehen ;-)
Ich hab' da vorhin gar nicht drauf geachtet - sorry ;-(

Bernhard
Titel: Re:Zeitüberschneidung Reservierungen
Beitrag von: Friesenjung am 04.09.03 - 15:46:18
Vielen Dank,
werde es heute abend ausprobieren und hoffen, dass es soweit hinhaut.

Vielen Dank für eure Mühe

Friesenjung