DBselectSegmentObjectsByKeygroup

Top  Previous  Next

Objekte innerhalb eines Segments nach Objektschlüsseln selektieren.

Mit dieser Prozedur werden Objekte nach Objektschlüsseln als Selektionskriterium behandelt. Dabei wird nur das angegebene Segment nach dem Kriterium key1 bis key2 durchsucht.

Es stehen insgesamt vier Selektionskonstanten zur Verfügung. Mit OR werden die Objekte, deren Objektschlüssel im Bereich key1 bis key2 liegen zur bestehenden Selektionsmenge hinzugefügt. Mit AND werden nur solche Objekte in der Selektionsmenge belassen, die auch das neue Kriterium erfüllen oder in einem anderen Segment liegen. Mit NOT werden nur die Objekte in der Selektionsmenge belassen, die das neue Kriterium nicht erfüllen. Mit NEW wird die alte Selektionsmenge geleert und die Objekte, die das neue Kriterium erfüllen, werden zur Selektionsliste hinzugefügt. Das Kriterium für das Erfüllen der neuen Selektionsbedingung ist dabei, dass das Objekt einen Objektschlüssel besitzt, der gleich oder größer als key1 ist und kleiner oder gleich key2 ist. Dabei darf key1 nicht größer als key2 sein.

Parameter

segment (PSEGMENT)                              [IN]

Die Objekte aus diesem Segment werden unter der angegebenen Bedingung getestet. Bei einigen Bedingungen, etwa bei NEW, sind aber auch andere Objekte betroffen, indem sie aus der Selektionsliste entfernt werden.

fkt (SELECT_FUNKTION)                         [IN]

Es stehen vier verschiedene Konstanten zur Verfügung:

SELECT_NOT  Ein Objekt wird aus der Selektionsliste entfernt, wenn es einen Schlüssel im Bereich key1 bis key2 besitzt.

SELECT_OR Ein Objekt wird in die Selektionsliste aufgenommen, wenn es einen Schlüssel im Bereich key1 bis key2 besitzt.

SELECT_NEW  Die Selektionsliste wird geleert und dann werden die Objekte in die Liste aufgenommen, die einen Schlüssel im Bereich key1 bis key2 besitzen.

SELECT_AND  Ein Objekt wird aus der Selektionsliste entfernt, wenn es in diesem Segment liegt und keinen Schlüssel im Bereich key1 bis key2 besitzt.

key1 (KEY)                                                  [IN]

Dies ist der kleinere der beiden Werte, in deren Bereich ein Schlüssel des Objekts liegen muss, um die Bedingung zu erfüllen. Der Wert von key1 muss kleiner oder gleich dem Wert von key2 sein.

key2 (KEY)                                                  [IN]

Dies ist der größere der beiden Werte, in deren Bereich ein Schlüssel des Objekts liegen muss, um die Bedingung zu erfüllen. Wenn beide Werte gleich sind, wird nur der Bereich der Schlüssel auf einen Schlüssel reduziert. Der Wert von key2 muss größer oder gleich dem Wert von key1 sein.

Ergebnis

(T_ERROR)                                            [OUT]

Wenn die Prozedur fehlerfrei ausgeführt wurde, ist das Ergebnis ERROR_OK, sonst eine der Fehlermeldungen aus error.h.

Deklaration

#include "database.h"

 

T_ERROR DLLENTRY DBselectSegmentObjectsByKeygroup (

     PSEGMENT          segment,

     SELECT_FUNKTION      fkt,

     KEY                  key1,

     KEY                  key2

);

Verwandte Funktion

DBselectSegmentObjectsByKeylist