Zweck
Wertet einen Codeblock für jeden Datensatz aus, der im angegebenen Zielbereich liegt.
Klasse
Typ
Methode
Syntax
<oArrayServer>:Eval(
<cbBlock>,
[<uForCondition>],
[<uWhileCondition>],
[<uScope>
) Æ lSuccess
Argumente
<cbBlock> | Codeblock, der für jeden Datensatz im definierten Zielbereich ausgeführt werden soll. |
Datentyp: | _Codeblock | Codeblock |
<uForCondition> | Bedingung, die jeder Datensatz erfüllen muss, damit der Codeblock <cbBlock> auf den Datensatz ausgeführt wird. Erfüllt ein Datensatz die angegebene Bedingung nicht, wird er ignoriert und der nächste Datensatz verarbeitet. Wird die Bedingung als String angegeben, wird dieser automatisch in ein _Codeblock-Objekt umgewandelt. Die Umwandlung erfolgt hierbei über den Befehl |
&("{|Server| "+uForCondition+"}")
Als Vorgabe wird der Wert NIL verwendet.
Datentyp: | String | Codeblock | _Codeblock |
<uWhileCondition> | Bedingung, die jeder Datensatz erfüllen muss, damit der Codeblock <cbBlock> auf den Datensatz ausgeführt wird. Sobald ein Datensatz gefunden wird, der die Bedingung nicht erfüllt, wird die Operation beendet. Wird die Bedingung als String angegeben, wird dieser automatisch in ein _Codeblock-Objekt umgewandelt. Die Umwandlung erfolgt hierbei über den Befehl |
&("{|Server| "+uWhileCondition+"}")
Als Vorgabe wird der Wert NIL verwendet.
Datentyp: | String | Codeblock | _Codeblock |
<uScope> | Der Bereich der zu bearbeitenden Datensätze. Es werden folgende Werte unterstützt: |
Wert |
Beschreibung |
DBSCOPEALL |
Der Zielbereich umfaßt alle Datensätze. Dies ist die Voreinstellung. Wenn eine WHILE-Bedingung angegeben ist, wird DBSCOPEREST verwendet. |
DBSCOPEREST |
Der Zielbereich umfaßt die verbleibenden Datensätze ab der aktuellen Position. |
<nRecord> |
Der Zielbereich umfaßt die nächsten <nRecord> Datensätze. |
Datentyp: | Usual |
Rückgabewert
lSuccess | Logischer Wert der definiert, ob alle Datensätze im definierten Zielbereich verarbeitet werden konnten. |
TRUE | Der gesamte Zielbereich wurde verarbeitet. |
FALSE | Der gesamte Zielbereich konnte nicht verarbeitet werden. |
Datentyp: | Logic |
Beschreibung
Vor der Operation sendet der Datenserver eine NotifyIntentToMove-Nachricht. Nach Beendigung der Operation wird eine NotifyFileChange-Nachricht gesendet, unabhängig ob sie erfolgreich ausgeführt wurde oder nicht. Nach der Operation steht der Datensatzzeiger hinter dem letzten bearbeiteten Datensatz.
Um in dem Codeblock <cbBlock> und den Bedingungen <uForCondition> bzw. <uWhileCondition> auf Felder, Zugriffe oder Methoden des Servers zugreifen zu können, muss diesen das Literal "Server" gefolgt von einem Doppelpunkt vorangestellt werden (siehe Beispiel).
Beispiel
Das folgende Beispiel wandelt den Inhalt des Feldes LASTNAME in Großbuchstaben um.
oasServer:EVAL({|Server|Server:FieldPut("LASTNAME", UPPER(Server:FieldGet("LASTNAME")))})
Siehe auch
Page url: http://www.YOURSERVER.com/index.html?barrayserver_eval.htm