Skip to main content
Skip table of contents

LookUp()

LookUp()

Die Funktion führt eine definierte Codeblock-(Rechen-)Operation auf einem per Workarea, Index und Suchwert definierten Datensatz oder einer solchen definierten Datenmenge aus und liefert das Ergebnis zurück.

Hinweis

  • Die optionalen Parameter aErrRetVal und aMode sollten optimalerweise immer angegeben werden, insbesondere falls der Lookup in einem Browser, Report oder Maske verwendet wird. Wird kein aErrRetVal angegeben, wird im Fehlerfall u.U. eine endlose Schleife von Fehler-Meldungen angezeigt.

  • Ab Version 6.5.65.222 sollte aKey immer als Array übergeben werden. Deshalb wird beim Syntax-Test eine Warnung ausgegeben, wenn dies nicht der Fall ist.

Parameter

Beschreibung

aFileNo:N

Workarea

aIndex:U

Indexname, 0 für Suche per Record-Nr.

aKey:U

Typ Character-> Schlüssel
Typ 1-Dim. Array-> enthält \[von / bis\] Schlüssel
Typ 2-Dim. Array-> enthält Schlüssel \[für ADT-Tabellen\]
Typ Integer-> Record-Nr.

aExpression:C

Codeblock Funktionsausdruck für Rückgabewert

aErrRetVal:U

Rückgabe im Fehlerfall (Default = leer => Fehlermeldung anzeigen!)

aMode:N

lm_Lookup = LookUp (= Default)
lm_Sum = Summe
lm_Max = Maximum
lm_Min = Minimum
lm_Avarage = Durchschnitt
lm_RecCount = Anzahl Sätze
lm_GroupCount = Anzahl unterschiedlicher Werte

aFilter:C

aMode >= 1 => Bedingung/Filter (Default = leer)
aMode = 0 => keine Auswirkung

aLocation:N

aLocation >= 0 => Standort für Filter auf Lookup-Tabelle
aLocation = -1 => aktiven Standort für Filter verwenden (= Default)
aLocation = -2 => Standortfilter deaktivieren

aForceRefr:L

True = Gefundenen Satz immer aktualisieren (nur LM_LOOKUP) (Default = False)

Rückgabewert


Ergebnis des aExpression Codeblocks, je nach aMode

Beispiel

CODE
// Einige Beispiele zu verschiedenen Index-Typen und LookUp-Keys
// (für ADT- und DBF-Tabellen)
// Unter LookUp-Key versteht sich der 3. Parameter (aKey)

// Einfacher (DBF oder ADT) Character-Index (ein Feld, Character):
// Index: "ARTNR"
// LookUp-Key: PadR("MEIN_ART", mBeArtNoLen)

// Zusammengesetzter (DBF oder ADT) Character-Index 
// (mehrere Felder, auf Character konvertiert):
Index: "ARTNR + STRZERO(KDNR, 8)"
LookUp-Key: PadR("MEIN_ART", mBeArtNoLen) + StrZero(4711, 8)// oder
LookUp-Key: "MEIN_ART", 4711

// Einfacher (DBF oder ADT) Nicht-Character-Index (ein Feld, nicht Character):
// Index: "KDNR"
// LookUp-Key: 4711

// Zusammengesetzter (nur ADT) RAW-Index 
// (mehrere Felder, per Semikolon getrennt, Typ egal):
// Index: "ARTNR; KDNR"
// LookUp-Key: "MEIN_ART", 4711 // oder
// LookUp-Key: "MEIN_ART", 4711

// Beispiel: Workarea 86, Index: "AENR;POSITNR" (beide Felder numerisch)
LookUp(waDIA065, 'AENR', {{33  }},         "not EoF()")
LookUp(waDIA065, 'AENR', 33,1,             "not EoF()")
LookUp(waDIA065, 'AENR', 31,0}, {33,1,     "not EoF()", 0, LM_RECCOUNT) > 0
LookUp(waDIA065, 'AENR', {{31  }, {33  }}, "not EoF()", 0, LM_RECCOUNT) > 0

// Unzulässige Aufrufe
LookUp(waDIA065, 'AENR', {31},    "not EoF()", false)
LookUp(waDIA065, 'AENR', {31,33}, "not EoF()", 0, LM_RECCOUNT) > 0


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.