f$PGIndex
f$PGIndex
Finden des zu dem Parameterwert Wert gehörenden Index einer einfach indizierten Parametergruppe. Gesucht wird in einem Parameter der Parametergruppe über alle Indizes von 1 bis zur angegebenen Anzahl. Wird als Anzahl 0 angegeben, so wird bis zum Ende der Parametergruppe gesucht. Die definierte Größe der Parametergruppe wird hierbei ermittelt. Bei Änderung der Indizierung ist also keine Anpassung des Funktionsaufrufs notwendig. Je nach eingestelltem Modus wird die Suche beim ersten gefundenen Eintrag mit dem Zustand LEER bzw. UNDEF beendet.
Diese Funktion ersetzt die in älteren Funktion von ePOS verwendeten Funktionen p$TDV:Allg:PGIndex und p$TDV:Allg:PGIndex_B. Diese beiden Funktionen bleiben erhalten, jedoch sollte in neuen Regelwerken die Funktion f$PGIndex benutzt werden, da diese schneller ist.
Syntax: | Index = f$PGIndex (Wert, PGName, Feldname, Anzahl, Modus [,Startindex] ) | ||
| Argument | Typ | Bedeutung |
| Wert | Zeichenkette | Zu suchender Wert |
| PGName | Zeichenkette | Name der einfach indizierten Parametergruppe, die durchsucht werden soll. |
| Feldname | Zeichenkette | Name des Parameters der Parametergruppe, der durchsucht werden soll |
| Anzahl | Ganzzahl | Anzahl der zu durchsuchenden Indizes der Parametergruppe, oder 0. |
| Modus | Ganzzahl | Steuert das Abbruchkriterium der Suche: 0 : Es wird bis Anzahl bzw. der ermittelten Anzahl Einträge gesucht. 1: Die Suche wird beim 1. Wert im Zustand UNDEF beendet. 2: Die Suche wird beim 1. Wert im Zustand UNDEF oder LEER beendet. |
| StartIndex | Ganzzahl | Index in der Parametergruppe, bei der mit der Suche begonnen werden soll. Dieser Parameter ist optional |
Ergebnis: | Ganzzahl | Index der Parametergruppe, bei welcher der Wert des Parameters Feldname den gesuchten Wert enthält. Wenn der Wert nicht gefunden wurde, wird –1 als Ergebnis geliefert. Außerdem sind folgende Fehlerstatus möglich: -2 : Parametergruppe existiert nicht -3 : Parameter existiert nicht -4 : Parameter ist nicht vom Typ Zeichenkette | |