Zum Hauptinhalt springen

C16_SelRead

C16_SelRead(const vPHANDLE aSelHdl, const vINT aFileNo, const vCHAR* aSelName, const vFLAGS aFlags, vC16_SelInfo* aInfo) : vERROR

Selektion in den Puffer laden

Details

Mit dieser Funktion wird eine Selektion in den Puffer geladen. Der Puffer muss zuvor mit dem Befehl C16_SelOpen eingerichtet werden. Sofern die angegebene Selektion nicht vorhanden ist, wird die Selektion mit dem nächstgrößeren Namen geladen und _rNoKey zurückgeliefert.

Im Parameter (aSelHdl) wird der von C16_SelOpen() bereitgestellte Selektionsdeskriptor übergeben.

In (aFileNo) wird die Nummer der Datei angegeben, in der die Selektion definiert ist. Der Name der Selektion in (aSelName) kann entfallen (NULL), wenn _SelFirst, _SelLast, _SelPrev oder _SelNext in (aFlag) angegeben wird, oder die zuletzt gelesene Selektion erneut gelesen werden soll.

In (aFlag) können folgende Optionen angegeben werden:

  • _SelFirst: Die erste Selektion der Datei wird geladen.
  • _SelLast: Die letzte Selektion der Datei wird geladen.
  • _SelPrev: Die Selektion mit dem nächstkleineren Namen wird geladen. Sofern keine weitere Selektion in der Datei vorhanden ist, wird als Resultat _rNoRec zurückgeliefert.
  • _SelNext: Die Selektion mit dem nächstgrößeren Namen wird geladen. Sofern keine weitere Selektion in der Datei vorhanden ist, wird als Resultat _rNoRec zurückgeliefert.
  • _SelLock: Die gelesene Selektion wird gesperrt. Dies ist nur dann der Fall, wenn _rOk zurückgeliefert wird (Selektion vorhanden). Ist die Selektion durch einen anderen Benutzer gesperrt, so ist das Resultat _rLocked.
  • _SelSharedLock: Die gelesene Selektion wird gesperrt. Andere Benutzer können noch lesend auf die Selektion zugreifen. Mit dieser Sperr-Option kann die Selektion nur gelesen, nicht aber geändert werden. Soll die Selektion verändert werden, muss sie mit der Option _SelLock gesperrt werden.
  • _SelUnlock: Die gelesene Selektion wird entsperrt.
  • _SelKeyMode: Alternativer Verarbeitungsmodus

Die Angabe von _SelLock ist notwendig, wenn mit den Ergebnismengen der Selektion gearbeitet werden soll ( C16_SelClear() , C16_SelRecInsert() , C16_SelRecDelete() , C16_RecRead() und C16_RecLink() ).

Für das Lesen von Datensätzen werden die Funktionen C16_RecRead() bzw. C16_RecLink() verwendet, wobei anstelle der Schlüssel- bzw. Verknüpfungsnummer der Deskriptor des Selektionspuffers angegeben wird. Dabei muss ein Cast des Deskriptors auf vINT verwendet werden.

Falls (aInfo) nicht NULL ist, werden verschiedene Informationen zu der Selektion in einer Struktur zurückgegeben. Die Strukturkomponente InfoSize muss vor der Übergabe mit der Größe der Struktur initialisiert werden (sizeof(vC16_SelInfo)). Die Struktur ist folgendermaßen definiert:

typedef struct
{
vINT InfoSize;
vCHAR SelName[24];
vCHAR SelModifiedUser[24];
vDATE SelCreateDate;
vTIME SelCreateTime;
vDATE SelModifiedDate;
vTIME SelModifiedTime;
vDATE SelExecuteDate;
vTIME SelExecuteTime;
vINT SelModifyPL;
vINT SelExecutePL;
}
vC16_SelInfo;
  • Komponente: Beschreibung
  • InfoSize: Größe der Struktur in Byte
  • SelName: Selektionsname
  • SelModifiedUser: Benutzer bei der letzten Änderung
  • SelCreateDate: Datum der Erstellung
  • SelCreateTime: Uhrzeit der Erstellung
  • SelModifiedDate: Datum der letzten Änderung
  • SelModifiedTime: Uhrzeit der letzten Änderung
  • SelExecuteDate: Datum der letzten Durchführung
  • SelExecuteTime: Uhrzeit der letzten Durchführung
  • SelModifyPL: Berechtigung für Änderung
  • SelExecutePL: Berechtigung für Durchführung

Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).