HARRAY

Tabelleneinträge erstellen.
Tabelleneinträge löschen.
Einzelnes Tabellenelement ausgeben.
Tabelle vom kleinsten zum grössten Identifikator lesen.
Tabelle vom grössten zum kleinsten Identifikator lesen.
Tabelle vom grössten zum kleinsten Datenwert lesen.
Tabelle vom kleinsten zum grössten Datenwert lesen.
Tabelle lesen mit von/bis-Selektion des Identifikators.
Tabelle lesen mit von/bis-Selektion des Datenwerts.
Tabelle mit negativen Werten lesen.
Tabelle auf einen Wert abfragen.
Anzahl abgespeicherte Tabelleneinträge anzeigen.
Popup-Liste mit Tabelleneinträgen zur Verfügung stellen.

Form

«HARRAY(<ID>)»1)
«HARRAY(/subscript)»2)
«HARRAY(CLEAR)»3)
«HARRAY(CLEARDATA)»4)
«HARRAY(/subscript,<DATA>,TO:<ID¦data>)»5)
«HARRAY(/subscript,<DATA>,FROM:<ID¦data>)»6)
«HARRAY(DOWN)»7)
«HARRAY(DOWNDATA)»8)
«HARRAY(FIND)»9)
«HARRAY(POPUP,PopUpTitel,FROM:<ID>,TO:<ID>)\t»10)
«HARRAY(POPUPM,PopUpTitel,FROM:<ID>,TO:<ID>)\S»11)
"ID" steht für Identifikator. "data" steht für Datenwert in der Tabelle.
"aux" steht für zweiten Datenwert in der Tabelle.
"t" beeinflusst den Rückgabewert.
1) «HARRAY(<ID>)»
Ausgabe eines Tabellenelementes mit der entsprechenden "ID".
2) «HARRAY(/subscript)»
Die Tabelle wird ausgegeben, indem eine Subroutine "/subscript" aufgerufen wird. Die Ausgabe erfolgt in der Reihenfolge des kleinsten zum grössten Identifikator (ID).
3) «HARRAY(CLEAR)»
Löschen der ganzen Tabelle.
4) «HARRAY(CLEARDATA)»
Löschen der Daten in der Tabelle.
5) «HARRAY(/subscript,<DATA>,TO:<ID¦data>)»
Die Tabelle wird bis zum Wert der Felder "ID" oder "data" ausgegeben. Der Parameter <DATA> ist nur mitzugeben, wenn die Tabelle nach Datenwerten abgearbeitet werden soll.
6) «HARRAY(/subscript,<DATA>,FROM:<ID¦data>)»
Die Tabelle wird ab dem Wert der Felder "ID" oder "data" ausgegeben. Der Parameter <DATA> ist nur mitzugeben, wenn die Tabelle nach Datenwerten abgearbeitet werden soll.
7) «HARRAY(DOWN)»
Die Tabelle wird in der Reihenfolge des grössten zum kleinsten Identifikator gelesen.
8) «HARRAY(DOWNDATA)»
Die Tabelle wird in der Reihenfolge des grössten zum kleinsten Datenwert gelesen.
9) «HARRAY(FIND)»
Mit dem Argument "FIND" kann abgefragt werden, ob ein bestimmter Wert in der Tabelle vorhanden ist.
10) «HARRAY(POPUP,PopUpTitel,FROM:<ID>,TO:<ID>)\t»
Mit dem Argument "POPUP" steht eine PopUp-Liste mit HARRAY-Einträgen (AUXDATA) zur Verfügung, aus der der Anwender eine Auswahl treffen kann.
11) «HARRAY(POPUPM,PopUpTitel,FROM:<ID>,TO:<ID>)\S»
Mit dem Argument "POPUPM" steht eine PopUp-Liste mit HARRAY-Einträgen (AUXDATA) zur Verfügung, von der der Anwender mehrere Einträge (Multiselect) auswählen kann.

Typ

S (Funktion)
Beim Objekt HARRAY handelt es sich um eine Tabelle, welche aus drei Segmenten besteht. Dem Identifikator (ID), den Daten (data) und der Erweiterung (aux). Der Identifikator "ID" dient dabei der Bezeichnung eines einzelnen Tabelleneintrages und identifiziert diesen eindeutig. Sowohl im Segment "data" als auch im Segment "aux" können Summenwerte addiert werden. (Dabei ist die Funktionalität ähnlich wie bei ARRAY.)
Die Tabelle welche mit HARRAY "erstellt" wird, ist eine temporäre Tabelle welche praktisch beliebig viele (abhängig von ID und Speicher) Einträge enthalten kann. Sie wird pro Session jeweils neu erstellt.
Beim Abfüllen und Ausgeben von Tabelleneinträgen ist zu beachten, dass die Segmente generell alphanumerisch definiert sind. Das Lesen und Schreiben der Felder erfolgt darum von links nach rechts. (Auch wenn numerische Daten in einem Segment abgelegt sind.
Da das Komma beim Abfüllen von Tabelleneinträgen für die Separierung der Segmente verwendet wird, sollte sichergestellt werden, dass die Werte innerhalb der Segmente nicht nochmals ein Komma enthalten.
Wird nur mit numerischen Werten gearbeitet und kann für die ID eine Laufnummer vergeben werden, empfehlen wir ARRAY zu verwenden. Dies hat gewisse Performancevorteile, da der Aufbau einer HARRAY-Tabelle rechenintensiver und damit langsamer ist, als der Aufbau einer ARRAY-Tabelle.

Maximale Feldlängen

ID
max. 30 ASCII
data
ASCII
Numerisch
max. 30
max. 14.4
Wird ein Summe aufaddiert, so wird diese standardmässig als numerischer Wert rechtsbündig mit 14 Stellen vor und 4 Stellen nach der Dezimalstelle abgelegt.
Ein numerischer Wert kann auch mit "\N" als numerischer Wert gespeichert werden, damit eine Ausgabe mit der gewünschten Reihenfolge gestartet werden kann.
aux (ASCII)
ASCII
Numerisch
max. 68
max. 14.4
Wird ein Summe aufaddiert, so wird diese standardmässig als numerischer Wert rechtsbündig mit 14 Stellen vor und 4 Stellen nach der Dezimalstelle abgelegt.
Ein numerischer Wert kann auch mit "\N" als numerischer Wert gespeichert werden, damit eine Ausgabe mit der gewünschten Reihenfolge gestartet werden kann.

Beispiel 1

Mögliche Form einer «HARRAY»-Tabelle:
ID
data
aux
K6000
37.5000
Info 1
K6001
31.5000
Info 2
K5800
30.0000
Info 3
K5000
33.0000
651.00
Anforderung: Es soll für eine Schlussrekapitulation die Summe aller aufaddierten Ertragskonti gedruckt werden.
Als Identifikator wird "K" zusammen mit der entsprechenden Konto Nr. gewählt. Die Summe pro Konto wird im Segment "data" aufaddiert. Weitere Informationen pro Konto können dann im Segment "aux" abgespeichert werden.

HARRAY(Tabelleneinträge erstellen)

Form

a) «HARRAY(<ID>,<data>,<aux>)»
b) «HARRAY(<ID>,<data>,<aux>)\N»
c) «HARRAY(<ID>,<+><data>,<+><aux>)\N»
Für das Erstellen von Tabelleneinträgen bestehen u.a. folgende Möglichkeiten:
a) Mit einem Identifikator (ID) wird eine ASCII-Information (data) zusammen mit einer weiteren ASCII-Information (aux) erstellt.
b) Mit einem Identifikator (ID) wird ein numerischer Wert (data ohne addieren) zusammen mit einem weiteren numerischen Wert (aux ohne addieren) erstellt.
c) Mit einem Identifikator (ID) wird ein numerischer Wert (data) addiert. Gleichzeitig wird ein weiterer numerischer Wert (aux) ebenfalls addiert. d.h. jedes Mal wenn derselbe Identifikator (ID) verwendet wird, werden die beiden numerischen Werte addiert und in diesem Tabelleneintrag somit ein Total gebildet.

Beispiel 2

HARRAY erstellen und über ID direkt ausgeben:
/
Tabelle erstellen:
1. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33,+50)»

2. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33,+50)»

3. Durchlauf
«HARRAY(K6000,+12.5,Info 1)»
«HARRAY(K6001,+10.5,Info 2)»
«HARRAY(K5800,+10,Info 3)»
«HARRAY(K5000,33,+50)»

Tabelle fertig erstellt!

Ausgabe von data:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»

Ausgabe von data numerisch rechtsbündig:
Konto 6000: «HARRAY(K6000)\N10,.00t'»
Konto 6001: «HARRAY(K6001)\N10,.00t'»
Konto 5800: «HARRAY(K5800)\N10,.00t'»
Konto 5000: «HARRAY(K5000)\N10,.00t'»

Ausgabe von data und aux:
Konto 6000: «HARRAY(K6000)» «HARRAY(AUX)»
Konto 6001: «HARRAY(K6001)» «HARRAY(AUX)»
Konto 5800: «HARRAY(K5800)» «HARRAY(AUX)»
Konto 5000: «HARRAY(K5000)» «HARRAY(AUX)»
/

Ausgabe:

Tabelle erstellen:
1. Durchlauf
2. Durchlauf
3. Durchlauf
Tabelle fertig erstellt!
Ausgabe von data:
Konto 6000:
37.5000
Konto 6001:
31.5000
Konto 5800:
30.0000
Konto 5000:
33
Ausgabe von data numerisch rechtsbündig
Konto 6000:
37.50
Konto 6001:
31.50
Konto 5800:
30.00
Konto 5000:
33.00
Tabellen-Wert mit Erweiterung drucken:
Konto 6000:
37.5000
Info 1
Konto 6001:
31.5000
Info 2
Konto 5800:
30.0000
Info 3
Konto 5000:
33
150.00
Die Tabelleneinträge werden in drei Durchläufen erstellt. Die Identifikatoren (ID) setzen sich zusammen aus "K" und der Konto-Nr. (6000,6001,5800,5000).
Beim Identifikator "K6000" wird dreimal der Wert 12.5 aufaddiert, ausgelöst durch "+".
Beim Identifikator "K6001" wird dreimal der Wert 10.5 aufaddiert, ausgelöst durch "+".
Beim Identifikator "K5800" wird dreimal der Wert 10 aufaddiert, ausgelöst durch "+".
Beim Identifikator "K5000" wird auch dreimal ein Wert eingelesen, jedoch ohne durch "+" zu addieren. Damit wird der Wert wird jedes Mal überschrieben, so dass am Schluss der zuletzt eingelesene Wert 33 gespeichert ist.
Beim Identifikator "K5000" wird ein zusätzlicher Wert 50 in der Erweiterung aufaddiert, ausgelöst durch "+". Bei den andern Identifikatoren wird in der jeweiligen Erweiterung eine Information (ASCII-Wert) gespeichert.

HARRAY (Tabelleneinträge löschen)

Form

«HARRAY(CLEAR)»
«HARRAY(CLEARDATA)»
Es besteht die Möglichkeit Tabelleneinträge innerhalb eines F-Scripts zu löschen und anschliessend neue Einträge zu erstellen. Beim Start eines F-Scripts ist die HARRAY Tabelle immer leer, beim Beenden eines F-Scripts wird die HARRAY Tabelle automatisch gelöscht.
Soll an irgendeiner Stelle des F-Scripts die ganze Tabelle gelöscht werden, kann dies mit dem Befehl «HARRAY(CLEAR)» erreicht werden. Sämtliche Einträge der Tabelle (ID, data und aux) werden gelöscht.
Sollen nur die Daten der ganzen Tabelle (data und aux) nicht aber die Identifikatoren (ID) gelöscht werden, kann dies mit dem Befehl «HARRAY(CLEARDATA)» erreicht werden.
Soll nur ein Teil einer Tabelle gelöscht werden, so kann dies mit dem Befehl «HARRAY(CLEAR,FROM:ID,TO:ID)» erreicht werden. In diesem Fall werden sämtliche Einträge (ID, data und aux) innerhalb des angegebenen Bereichs gelöscht.
Sollen nur die Daten (data und aux) nicht aber die Identifikatoren (ID) gelöscht werden, kann dies mit dem Befehl «HARRAY(CLEARDATA,FROM:ID,TO:ID)» erreicht werden. In diesem Fall werden sämtliche Daten (data und aux) innerhalb des angegebenen Bereichs gelöscht.

Beispiel 3

Ganze HARRAY Tabelle löschen :
/
Tabelle erstellen:
1. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

2. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

Löschen der ganzen Tabelle!
«HARRAY(CLEAR)»

3. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»
Tabelle fertig erstellt!

Ausgabe von data:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»
/

Ausgabe:

Tabelle erstellen:
1. Durchlauf
2. Durchlauf
Löschen der ganzen Tabelle!
3. Durchlauf
Tabelle fertig erstellt!
Ausgabe von data:
Konto 6000:
12.5000
Konto 6001:
10.5000
Konto 5800:
10.0000
Konto 5000:
33
Da die ganze Tabelle mit dem Befehl «HARRAY(CLEAR)» gelöscht wird, sind nur die nach dem Löschen erstellten Einträge enthalten.

Beispiel 4

Löschen von "data" in der HARRAY Tabellet:
/
Tabelle erstellen:
1. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

2. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

Löschen der Daten (data)!
«HARRAY(CLEARDATA)»

Ausgabe von data:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»
/

Ausgabe:

Tabelle erstellen:
1. Durchlauf
2. Durchlauf
Löschen der Daten (data)!
Ausgabe von data:
Konto 6000:
Konto 6001:
Konto 5800:
Konto 5000:
Da sämtliche Daten mit dem Befehl «HARRAY(CLEARDATA)» gelöscht werden, erfolgt eine "leere" Ausgabe.

Beispiel 5

Einen Teil der HARRAY Tabelle löschen:
/
Tabelle erstellen:
1. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

2. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

Jetzt wird ein Teilbereich gelöscht!
«HARRAY(CLEAR,FROM:K5800,TO:K6000)»

Ausgabe von data:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»
/

Ausgabe:

Tabelle erstellen:
1. Durchlauf
2. Durchlauf
Jetzt wird ein Teilbereich gelöscht!
Ausgabe von data:
Konto 6000:
 
Konto 6001:
21.0000
Konto 5800:
 
Konto 5000:
 
Mit dem Befehl «HARRAY(CLEAR,FROM:n,TO:n)» wird ein bestimmter Teil einer Tabelle gelöscht.
Wird nur ein von-Wert (FROM) angegeben, wird ab diesem Identifikator der restliche Teil der Tabelle gelöscht.
Wird nur ein bis-Wert (TO) angegeben, wird die Tabelle bis zu diesem Identifikator gelöscht.

Beispiel 6

Einen Teil der Daten einer HARRAY Tabelle löschen:
/
Tabelle erstellen:
1. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

2. Durchlauf
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»
«HARRAY(K5000,33)»

Ausgabe von data:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»

# Speichern der von-/bis- Werte in MEM1 und MEM2
«nm1(25)» «nm2(35)»

Jetzt wird ein Teilbereich von (data) gelöscht!
«HARRAY(CLEARDATA,DATA,FROM:«MEM(1)\N14,.0000»,TO:«MEM(2)\N14,.0000»)»

Ausgabe von data nach dem Löschen:
Konto 6000: «HARRAY(K6000)»
Konto 6001: «HARRAY(K6001)»
Konto 5800: «HARRAY(K5800)»
Konto 5000: «HARRAY(K5000)»
/

Ausgabe:

Tabelle erstellen:
1. Durchlauf
2. Durchlauf
Ausgabe von data:
Konto 6000:
25.0000
Konto 6001:
21.0000
Konto 5800:
20.0000
Konto 5000:
33
Jetzt wird ein Teilbereich von (data) gelöscht !
Ausgabe von data nach dem Löschen:
Konto 6000:
 
Konto 6001:
21.0000
Konto 5800:
20.0000
Konto 5000:
Mit dem Befehl «HARRAY(CLEARDATA,DATA,FROM:n,TO:n)» wird ein bestimmter Teil von Daten in der Tabelle gelöscht.
Wird nur ein von-Wert (FROM) angegeben, werden alle Daten in der Tabelle ab diesem Wert gelöscht.
Wird nur ein bis-Wert (TO) angegeben, werden alle Daten in der Tabelle bis zu diesem Wert gelöscht.

HARRAY (Einzelnes Tabellenelement ausgeben)

Form

a) «HARRAY(<ID>)»
b) «HARRAY(ID)\A»
c) «HARRAY\A»
d) «HARRAY(AUX)\A»
Einzelne Tabelleneinträge können folgendermassen ausgegeben werden:
a) Von einem bestimmten Tabelleneintrag (ID) wird der Datenwert (data) ausgegeben.
b) Vom aktiven Tabelleneintrag wird der Identifikator (ID) ausgegeben.
c) Vom aktiven Tabelleneintrag wird der Datenwert (data) ausgegeben.
d) Vom aktiven Tabelleneintrag wird die Erweiterung (aux) ausgegeben.

Beispiel 7

Harray direkt über die ID ausgeben:
/
Tabelle erstellen:
«HARRAY(eins,Testzeile1)»
«HARRAY(zwei,Testzeile2)»
«HARRAY(drei,Testzeile3)»
Datenwert im Tabelleneintrag mit der ID zwei: «HARRAY(zwei)»
/

Ausgabe:

Tabelle erstellen:
Datenwert im Tabelleneintrag mit der ID zwei: Testzeile2

HARRAY - Tabelle vom kleinsten zum grössten Identifikator lesen

Form

«HARRAY(/subscript)»

/subscript
«HARRAY(ID)»«HARRAY»
/
Mit diesem Befehl wird die gesamte Tabelle vom kleinsten bis zum grössten Identifikator gelesen. Das Lesen erfolgt dabei in einer Subroutine, wo jeder Tabelleneintrag automatisch abgearbeitet wird. Damit ist es einfach möglich, Tabelleneinträge auszudrucken oder anderweitig zu verwenden.

Beispiel 8

Abarbeiten der HARRAY Tabelle vom kleinsten zum grössten Identifikator:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Ausgabe von data:
K6000: «HARRAY(K6000)\N10,.00»
K6001: «HARRAY(K6001)\N10,.00»
K5800: «HARRAY(K5800)\N10,.00»
K5700: «HARRAY(K5700)\N10,.00»
K5600: «HARRAY(K5600)\N10,.00»
K8000: «HARRAY(K8000)\N10,.00»

Tabelle vom kleinsten zum grössten Identifikator (ID) ausgeben:
«HARRAY(/table_out)»
/

/table_out
ID: «HARRAY(ID)\A5» data: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle erstellen:
Ausgabe von data:
K6000:
37.5000
K6001:
10.5000
K5800:
30.0000
K5700:
240.0000
K5600:
6.0000
K8000:
3.0000
Tabelle vom kleinsten zum grössten Identifikator (ID) ausgeben:
ID: K5600
data: 6.00
ID: K5700
data: 240.00
ID: K5800
data: 30.00
ID: K6000
data: 37.50
ID: K6001
data: 10.50
ID: K8000
data: 3.00
Mit dem Befehl «HARRAY(/table_out)» wird die Subroutine "/table_out" aufgerufen und dort die gesamte Tabelle in der Reihenfolge vom kleinsten zum grössten Identifikator (ID) ausgelesen bzw. abgearbeitet.

Hinweis

Das Abarbeiten der Subroutine kann durch «LIST(STOP)» abgebrochen werden.

HARRAY - Tabelle vom grössten zum kleinsten Identifikator lesen

Form

«HARRAY(/subscript,DOWN)»

/subscript
«HARRAY(ID)» «HARRAY»
/
Mit diesem Befehl kann eine Tabelle in der Reihenfolge vom grössten zum kleinsten Identifikator gelesen werden.

Beispiel 9

Abarbeiten der HARRAY Tabelle vom grössten zum kleinsten Identifikator:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Tabelle vom grössten zum kleinsten Identifikator (ID) ausgeben:
«HARRAY(/table_out,DOWN)»
/

/table_out
ID: «HARRAY(ID)\A5» data: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle erstellen:
Tabelle vom grössten zum kleinsten Identifikator (ID) ausgeben:
ID: K8000
data: 3.00
ID: K6001
data: 10.50
ID: K6000
data: 37.50
ID: K5800
data: 30.00
ID: K5700
data: 240.00
ID: K5600
data: 6.00
Mit dem Befehl «HARRAY(/table_out,DOWN)» wird die Subroutine "/table_out" aufgerufen und dort die gesamte Tabelle in der Reihenfolge vom grössten zum kleinsten Identifikator (ID) ausgelesen bzw. abgearbeitet.

HARRAY - Tabelle vom grössten zum kleinsten Datenwert lesen

Form

«HARRAY(/subscript,DOWNDATA)»

/subscript
«HARRAY(ID)» «HARRAY»
/
Mit diesem Befehl kann eine Tabelle in der Reihenfolge vom grössten zum kleinsten Datenwert (data) gelesen werden.

Beispiel 10

Abarbeiten der HARRAY Tabelle vom grössten zum kleinsten Datenwert:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Tabelle vom grössten zum kleinsten Datenwert (data) ausgeben:
«HARRAY(/subscript,DOWNDATA)»
/

/subscript
ID: «HARRAY(ID)\A5» data: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle erstellen:
Tabelle vom grössten zum kleinsten Datenwert (data) ausgeben:
ID: K5700
data: 240.00
ID: K6000
data: 37.50
ID: K5800
data: 30.00
ID: K6001
data: 10.50
ID: K5600
data: 6.00
ID: K8000
data: 3.00
Mit dem Befehl «HARRAY(/subscript,DOWNDATA)» wird die Subroutine "/subscript" aufgerufen und dort die gesamte Tabelle in der Reihenfolge vom grössten zum kleinsten Datenwert (data) ausgelesen bzw. abgearbeitet.

HARRAY - Tabelle vom kleinsten zum grössten Datenwert lesen

Form

«HARRAY(/subscript,DATA)»

/subscript
«HARRAY(ID)» «HARRAY»
/
Mit diesem Befehl kann eine Tabelle in der Reihenfolge vom kleinsten zum grössten Datenwert (data) gelesen werden.

Beispiel 11

Abarbeiten der HARRAY Tabelle vom kleinsten zum grössten Datenwert:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Tabelle vom kleinsten zum grössten Datenwert (data) ausgeben:
«HARRAY(/subscript,DATA)»
/
/subscript
ID: «HARRAY(ID)\A5» data: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle erstellen:
Tabelle vom kleinsten zum grössten Datenwert (data) ausgeben:
ID: K8000
data: 3.00
ID: K5600
data: 6.00
ID: K6001
data: 10.50
ID: K5800
data: 30.00
ID: K6000
data: 37.50
ID: K5700
data: 240.00
Mit dem Befehl «HARRAY(/subscript,DATA)» wird die Subroutine "/subscript" aufgerufen und dort die gesamte Tabelle in der Reihenfolge vom kleinsten zum grössten Datenwert (data) ausgelesen bzw. abgearbeitet.

HARRAY - Tabelle lesen mit von/bis-Selektion des Identifikators

Form

«HARRAY(/subscript,FROM:<n>)»
«HARRAY(/subscript,TO:<n>)»
«HARRAY(/subscript,FROM:<n>,TO:<n>)»
«HARRAY(/subscript,DOWN,FROM:<n>)»
«HARRAY(/subscript,DOWN,FROM:<n>,TO:<n>)»

/subscript
«HARRAY(ID)» «HARRAY»
/
Mit diesem Befehl wird ein bestimmter Teil aus einer Tabelle ausgelesen. Die Auswahl erfolgt dabei über den Identifikator und eine von/bis (FROM, TO) Selektion. Das Auslesen bzw. abarbeiten erfolgt dabei in einer Subroutine. Die Reihenfolge kann auf- oder absteigend (DOWN) gewählt werden.
Wird nur ein von-Wert (FROM) angegeben, wird ab diesem Identifikator der restliche Teil der Tabelle ausgelesen.
Wird nur ein bis-Wert (TO) angegeben, wird die Tabelle bis zu diesem Identifikator ausgelesen.

Beispiel 12

Abarbeiten der HARRAY Tabelle mit FROM/TO und auf-/absteigender Sortierung:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Tabelle ab Selektion teilweise ausgeben:
1. Tabelle ab ID K6000 ausgeben:
«HARRAY(/subscript,FROM:K6000)»

2. Tabelle bis ID K5700 ausgeben:
«HARRAY(/subscript,TO:K5700)»

3. Tabelle von ID K5800 bis K6001 ausgeben
«HARRAY(/subscript,FROM:K5800,TO:K6001)»

4. Tabelle von ID K6001 absteigend ausgeben:
«HARRAY(/subscript,DOWN,FROM:K6001)»

5. Tabelle von ID K6001 bis K5800 absteigend ausgeben:
«HARRAY(/subscript,DOWN,FROM:K6001,TO:K5800)»
/

/subscript
ID-Wert: «HARRAY(ID)\A5» data-Wert: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle erstellen:
Tabelle ab Selektion teilweise ausgeben:
1. Tabelle ab ID K6000 ausgeben:
ID: K6000
data: 37.50
ID: K6001
data: 10.50
ID: K8000
data: 30.00
2. Tabelle bis ID K5700 ausgeben:
ID: K5600
data: 6.00
ID: K5700
data: 240.00
3. Tabelle von ID K5800 bis K6001 ausgeben:
ID: K5800
data: 30.00
ID: K6000
data: 37.50
ID: K6001
data: 10.50
4. Tabelle von ID K6001 absteigend ausgeben:
ID: K6001
data: 10.50
ID: K6000
data: 37.50
ID: K5800
data: 30.00
ID: K5700
data: 240.00
ID: K5600
data: 6.00
5. Tabelle von ID K6001 bis K5800 absteigend ausgeben:
ID: K6001
data: 10.50
ID: K6000
data: 37.50
ID: K5800
data: 30.00

HARRAY - Tabelle lesen mit von/bis-Selektion des Datenwerts

Form

«HARRAY(/subscript,DATA,FROM:<n>)»
«HARRAY(/subscript,DATA,TO:<n>)»
«HARRAY(/subscript,DATA,FROM:<n>,TO:<n>)»
«HARRAY(/subscript,DOWNDATA,FROM:<n>)»
«HARRAY(/subscript,DOWNDATA,FROM:<n>,TO:<n>)»
Mit diesem Befehl wird ein bestimmter Teil aus einer Tabelle ausgelesen. Die Auswahl erfolgt dabei über den Datenwert (DATA) und eine von/bis (FROM, TO) Selektion. Das Auslesen bzw. abarbeiten erfolgt dabei in einer Subroutine. Die Reihenfolge kann auf- oder absteigend (DOWNDATA) gewählt werden.
Wird nur ein von-Wert (FROM) angegeben, wird ab diesem Datenwert der restliche Teil der Tabelle ausgelesen.
Wird nur ein bis-Wert (TO) angegeben, wird die Tabelle bis zu diesem Datenwert ausgelesen.
Es ist zu beachten, dass numerische Datenwerte in alphanumerischer Sortierung ausgegeben werden.

Beispiel 13

Abarbeiten der HARRAY Tabelle mit FROM/TO Selektion des Datenwerts:
/
# Buchstaben in Tabelle speichern
«HARRAY(CLEAR)»
«HARRAY(7,C,)»
«HARRAY(1,A,)»
«HARRAY(3,B,)»
«HARRAY(33,D,)»
«HARRAY(107,E,)»

Tabelle ausgeben von E bis A
«HARRAY(/Ausgabe,DOWNDATA)»

Tabelle erst ab B ausgeben
«HARRAY(/Ausgabe,DOWNDATA,FROM:B)»

Tabelle nur bis B ausgeben
«HARRAY(/Ausgabe,DOWNDATA,TO:B)»

Tabelle von D bis B ausgeben
«HARRAY(/Ausgabe,DOWNDATA,FROM:D,TO:B)»

# Zahlen in Tabelle speichern
«HARRAY(CLEAR)»
«HARRAY(7,«(54)\N7,.00F0»,)»
«HARRAY(1,«(41)\N7,.00F0»,)»
«HARRAY(3,«(3)\N7,.00F0»,)»
«HARRAY(33,«(12)\N7,.00F0»,)»
«HARRAY(107,«(1077)\N7,.00F0»,)»

Tabelle mit Zahlen ausgeben
«HARRAY(/Ausgabe,DOWNDATA)»

Tabelle erst ab 41 ausgeben
«HARRAY(/Ausgabe,DOWNDATA,FROM:0041.00)»

Tabelle nur bis 12 ausgeben
«HARRAY(/Ausgabe,DOWNDATA,TO:0012.00)»

Tabelle von 54 bis 12 ausgeben
«HARRAY(/Ausgabe,DOWNDATA,FROM:0054.00,TO:0012.00)»

# Zahlen aufsummieren
«HARRAY(CLEAR)»
«HARRAY(7,+«(54)\N7,.00F0»,)»
«HARRAY(1,+«(41)\N7,.00F0»,)»
«HARRAY(3,+«(3)\N7,.00F0»,)»

Tabelle mit Summen ausgeben
«HARRAY(/Ausgabe,DOWNDATA)»
/

/Ausgabe
ID-Wert: «HARRAY(ID)\A5» data-Wert: «HARRAY\N10,.00»
/

Ausgabe:

Tabelle ausgeben von E bis A (absteigend)
ID: 107
data: E
ID: 33
data: D
ID: 7
data: C
ID: 3
data: B
ID: 1
data: A
Tabelle erst ab B ausgeben (absteigend)
ID: 3
data: B
ID: 1
data: A
Tabelle nur bis B ausgeben (absteigend)
ID: 107
data: E
ID: 33
data: D
ID: 7
data: C
ID: 3
data: B
Tabelle von D bis B ausgeben (absteigend)
ID: 33
data: D
ID: 7
data: C
ID: 3
data: B
Tabelle mit Zahlen ausgeben (absteigend)
ID: 107
data: 1077.00
ID: 7
data: 0054.00
ID: 1
data: 0041.00
ID: 33
data: 0012.00
ID: 3
data: 0003.00
Tabelle erst ab 41 ausgeben (absteigend)
ID: 1
data: 0041.00
ID: 33
data: 0012.00
ID: 3
data: 0003.00
Tabelle nur bis 12 ausgeben (absteigend)
ID: 107
data: 1077.00
ID: 7
data: 0054.00
ID: 1
data: 0041.00
ID: 33
data: 0012.00
Tabelle von 54 bis 12 ausgeben (absteigend)
ID: 7
data: 0054.00
ID: 1
data: 0041.00
ID: 33
data: 0012.00
Tabelle mit Summen ausgeben (absteigend)
ID: 7
data: 0054.00
ID: 1
data: 0041.00
ID: 3
data: 0003.00

HARRAY - Tabelle mit negativen Werten lesen

Form

«HARRAY(/subscript,DATA)»
«HARRAY(/subscript,DOWNDATA)»

/subscript
«HARRAY(ID)» «HARRAY»
/
Bei den Datenwerten (data und aux) handelt es sich um einen alphanumerischen (ASCII) Bereich mit einer max. Länge von 30 Zeichen (data) bzw. 68 Zeichen (aux).
Alle numerischen Werte werden in diesem Bereich als "\N14,.0000" abgelegt. Damit negative Werte in der richtigen Reihenfolge ausgegeben werden können, muss nun mit einem Trick gearbeitet werden. Ansonsten erfolgt die Ausgabe anhand des absoluten Werts, ohne berücksichtigung des negativen Vorzeichens.
Der Trick besteht im Prinzip darin, dass beim Abfüllen der effektiven Datenwerte dafür gesorgt wird, dass in jedem Fall ein positiver numerischer Wert entsteht. Dies kann damit erreicht werden, dass eine sehr grosse Zahl zu jedem Datenwert hinzuaddiert wird. Dabei ist zu beachten, dass diese Zahl so gross sein muss, dass mit jedem im F-Script auftretenden Wert, immer noch ein positiver numerischer Wert berechnet wird. (z.B. indem immer 9'000'000 addiert wird.)
Beim Abarbeiten der Tabelle und dem Ausgeben der Datenwerte, muss dann bei jedem Wert diese Zahl (z.B. 9'000'000) wieder subtrahiert werden.

Beispiel 14

Arbeiten mit negativen Werten in HARRAY Tabelle:
/
Werte setzen:
Summe 1: «+1(12.5)\N»
Summe 2: «+2(-10.5)\N»
Summe 3: «+3(10.0)\N»
Summe 4: «+4(80.0)\N»
Summe 5: «+5(-2.0)\N»
Summe 6: «+6(1.0)\N»

Werte in Tabelle speichern:
«HARRAY(K6000,+«SUM(1)»)» «HARRAY(K6000,+«SUM(1)»)» «HARRAY(K6000,+«SUM(1)»)»
«HARRAY(K6001,+«SUM(2)»)» «HARRAY(K6001,+«SUM(2)»)» «HARRAY(K6001,+«SUM(2)»)»
«HARRAY(K5800,+«SUM(3)»)» «HARRAY(K5800,+«SUM(3)»)» «HARRAY(K5800,+«SUM(3)»)»
«HARRAY(K5700,+«SUM(4)»)» «HARRAY(K5700,+«SUM(4)»)» «HARRAY(K5700,+«SUM(4)»)»
«HARRAY(K5600,+«SUM(5)»)» «HARRAY(K5600,+«SUM(5)»)» «HARRAY(K5600,+«SUM(5)»)»
«HARRAY(K8000,+«SUM(6)»)» «HARRAY(K8000,+«SUM(6)»)» «HARRAY(K8000,+«SUM(6)»)»

Zu jedem Datenwert wird nun 9000000 addiert.
«HARRAY(K6000,+90000000)»
«HARRAY(K6001,+90000000)»
«HARRAY(K5800,+90000000)»
«HARRAY(K5700,+90000000)»
«HARRAY(K5600,+90000000)»
«HARRAY(K8000,+90000000)»

Tabelle ausgeben:
K6000: data: «HARRAY(K6000)\N14,.00» data korrekt: «(«HARRAY(K6000)»-90000000)\N14,.00»
K6001: data: «HARRAY(K6001)\N14,.00» data korrekt: «(«HARRAY(K6001)»-90000000)\N14,.00»
K5800: data: «HARRAY(K5800)\N14,.00» data korrekt: «(«HARRAY(K5800)»-90000000)\N14,.00»
K5700: data: «HARRAY(K5700)\N14,.00» data korrekt: «(«HARRAY(K5700)»-90000000)\N14,.00»
K5600: data: «HARRAY(K5600)\N14,.00» data korrekt: «(«HARRAY(K5600)»-90000000)\N14,.00»
K8000: data: «HARRAY(K8000)\N14,.00» data korrekt: «(«HARRAY(K8000)»-90000000)\N14,.00»

1. Werte aufsteigend ausgeben:
«HARRAY(/subscript1,DATA)»

2. Werte absteigend ausgeben:
«HARRAY(/subscript1,DOWNDATA)»

3. Werte aufsteigend ausgeben und korrekt berechnen:
«HARRAY(/subscript2,DATA)»

4. Werte absteigend ausgeben und korrekt berechnen:
«HARRAY(/subscript2,DOWNDATA)»
/
/subscript1
ID: «HARRAY(ID)\A5» data: «HARRAY\N14,.00»
/
/subscript2
ID: «HARRAY(ID)\A5» data effektiv: «(«HARRAY»-90000000)\N14,.00»
/

Ausgabe:

Werte setzen:
Summe 1: 12.5
Summe 2: -10.5
Summe 3: 10
Summe 4: 80
Summe 5: -2
Summe 6: 1
Werte Werte in Tabelle speichern:
Zu jedem Datenwert wird nun 9000000 addiert.
Tabelle ausgeben:
K6000:
data: 90000037.50
data korrekt: 37.50
K6001:
data: 89999968.50
data korrekt: -31.50
K5800:
data: 90000030.00
data korrekt: 30.00
K5700:
data: 90000240.00
data korrekt: 240.00
K5600:
data: 89999994.00
data korrekt: -6.00
K8000:
data: 90000003.00
data korrekt: 3.00
1. Werte aufsteigend ausgeben:
ID: K6001
data: 89999968.50
ID: K5600
data: 89999994.00
ID: K8000
data: 90000003.00
ID: K5800
data: 90000030.00
ID: K6000
data: 90000037.50
ID: K5700
data: 90000240.00
2. Werte absteigend ausgeben:
ID: K5700
data: 90000240.00
ID: K6000
data: 90000037.50
ID: K5800
data: 90000030.00
ID: K8000
data: 90000003.00
ID: K5600
data: 89999994.00
ID: K6001
data: 89999968.50
3. Werte aufsteigend ausgeben und korrekt berechnen:
ID: K6001
data effektiv: -31.50
ID: K5600
data effektiv: -6.00
ID: K8000
data effektiv: 3.00
ID: K5800
data effektiv: 30.00
ID: K6000
data effektiv: 37.50
ID: K5700
data effektiv: 240.00
4. Werte absteigend ausgeben und korrekt berechnen:
ID: K5700
data effektiv: 240.00
ID: K6000
data effektiv: 37.50
ID: K5800
data effektiv: 30.00
ID: K8000
data effektiv: 3.00
ID: K5600
data effektiv: -6.00
ID: K6001
data effektiv: -31.50

HARRAY - Tabelle auf einen Wert abfragen

Form

«sHARRAY(FIND,DATA,FROM:<n>)\I»[JA..]
«sHARRAY(FIND,DOWNDATA,FROM:<n>)\I»[JA..]
Mit dem Argument FIND kann abgefragt werden, ob ein bestimmter Datenwert vorhanden ist.
FIND in Kombination mit DATA bedeutet, dass "grösser oder gleich" gesucht wird, FIND in Kombination mit DOWNDATA bedeutet, dass "kleiner oder gleich" gesucht wird.

Beispiel 15

HARRAY Tabelle auf bestimmte Werte abfragen:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Werte ausgeben:
K6000: «HARRAY(K6000)\N10,.00»
K6001: «HARRAY(K6001)\N10,.00»
K5800: «HARRAY(K5800)\N10,.00»
K5700: «HARRAY(K5700)\N10,.00»
K5600: «HARRAY(K5600)\N10,.00»
K8000: «HARRAY(K8000)\N10,.00»

Gibt es einen Wert grösser oder gleich 11? Falls ja, ID und DATA ausgeben.
«sHARRAY(FIND,DATA,FROM:«(11)\N14,.0000»)\I» [JA: Erster zutreffender Wert: «HARRAY(ID)\A5» «HARRAY\N8,.00»]

Gibt es einen Wert kleiner oder gleich 11? Falls ja, ID und DATA ausgeben.
«sHARRAY(FIND,DOWNDATA,FROM:«(11)\N14,.0000»)\I» [JA: Erster zutreffender Wert: «HARRAY(ID)\A5» «HARRAY\N8,.00»]
/

Ausgabe:

Tabelle erstellen:
Werte ausgeben:
K6000: 37.50
K6001: 10.50
K5800: 30.00
K5700: 240.00
K5600: 6.00
K8000: 3.00
Gibt es ein Wert grösser oder gleich 11? Falls ja, ID und DATA ausgeben.
JA: Erster zutreffender Wert: K5800      30.00
Gibt es ein Wert kleiner oder gleich 11? Falls ja, ID und DATA ausgeben
JA: Erster zutreffender Wert: K6001      10.50

HARRAY - Anzahl abgespeicherte Tabelleneinträge anzeigen

Form

«HARRAY(SIZE)»
Die Anzahl der abgespeicherten Tabelleneinträge wird ausgegeben.

Beispiel 16

Anzahl abgespeicherte Tabelleneinträge ausgeben:
/
Tabelle erstellen:
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6000,+12.5)»

«HARRAY(K6001,+10.5)»
«HARRAY(K6001,+10.5)»
# Hier wird mit "+-10.5 der Wert 10.5 subtrahiert.
«HARRAY(K6001,+-10.5)»

«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»
«HARRAY(K5800,+10)»

«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»
«HARRAY(K5700,+80)»

«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»
«HARRAY(K5600,+2)»

«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»
«HARRAY(K8000,+1)»

Werte ausgeben:
Wert von K6000: «HARRAY(K6000)\N10,.00»
Wert von K6001: «HARRAY(K6001)\N10,.00»
Wert von K5800: «HARRAY(K5800)\N10,.00»
Wert von K5700: «HARRAY(K5700)\N10,.00»
Wert von K5600: «HARRAY(K5600)\N10,.00»
Wert von K8000: «HARRAY(K8000)\N10,.00»

a) Anzahl abgespeicherte Tabelleneinträge: «HARRAY(SIZE)»

Einträge löschen ! «HARRAY(CLEAR)»
«HARRAY(K6000,+12.5)»
«HARRAY(K6001,+10.5)»
«HARRAY(K5800,+10)»

Werte ausgeben:
Wert von K6000: «HARRAY(K6000)\N10,.00»
Wert von K6001: «HARRAY(K6001)\N10,.00»
Wert von K5800: «HARRAY(K5800)\N10,.00»

b) Anzahl abgespeicherte Tabelleneinträge: «HARRAY(SIZE)»
/

Ausgabe:

Tabelle erstellen:
Werte ausgeben:
Wert von K6000:
37.50
Wert von K6001:
10.50
Wert von K5800:
30.00
Wert von K5700:
240.00
Wert von K5600:
6.00
Wert von K8000:
3.00
a) Anzahl abgespeicherte Tabelleneinträge: 6
Einträge löschen !
Werte ausgeben:
Wert von K6000:
12.50
Wert von K6001:
10.50
Wert von K5800:
10.00
b) Anzahl abgespeicherte Tabelleneinträge: 3

HARRAY - PopUp-Liste mit Tabelleneinträgen zur Verfügung stellen

Form

«HARRAY(POPUP,PopUpTitel,FROM:<ID>,TO:<ID>)\t»
«HARRAY(POPUPM,PopUpTitel,FROM:<ID>,TO:<ID>)\S»
Mit dem Argument POPUP bzw. POPUPM kann eine PopUp-Liste mit HARRAY-Einträgen (aux und data) zur Anzeige gebracht werden.
POPUP erlaubt die Auswahl von genau einem Eintrag, während POPUPM die Auswahl von mehreren Einträgen (Multiselect) ermöglicht. Welche Einträge ausgewählt wurden, kann über das Clipboard abgefragt werden.

Argumente

POPUP/POPUPM

A (Alphanummerisch)
fix

PopUpTitel

A (Alphanummerisch)
Titel der PopUp-Liste

FROM:ID

A (Alphanummerisch)
Optional: Start-Identifikator des HARRAY

TO:ID

A (Alphanummerisch)
Optional: End-Identifikator des HARRAY

\t

A1 (Alphanummerisch)
Je nach dem, für "t" eingesetzten Buchstaben gibt diese Funktion verschiedenes zurück:
t = I (Indikator):
     false = kein Eintrag wurde gewählt
     true = ein Eintrag wurde gewählt und HARRAY-Objekt ist aktiv
t = A: HARRAY-ID und HARRAY-Objekt ist aktiv oder nicht aktiv
t = S: HARRAY-Objekt ist aktiv oder nicht aktiv
Achtung! Bei Verwendung des "POPUPM" Paramters kann nur t = S verwendet werden!

Beispiel 17

HARRAY POPUP:
# Harray Popup mit den Menüpunkten füllen
«zSWLSAR-ACTIVE(±1)\I»
«LIST(SWLSAR-ACTIVE,START,INDEX,/LIST-UNTERGR)»
# Harray Popup starten
«HARRAY(POPUP,Leistungsart wählen)»
#
# Harray Popup auslesen und in X(Variable) speichern
«X(LeistArt=«HARRAY(ID)\A»)»
/
/LIST-UNTERGR
# Harray Popup füllen
«HARRAY(«SWLSAR-NR»,«SWLSAR-NR»,«SWLSAR-NR» «SWLSAR-BEZ»)»
/

Beispiel 17

HARRAY POPUPM:
# LISTEN DES MIS ARTIKEL KREISES 3
«NO(2,NULL)»
«zAR3-ACTIVE(±1)\I»
«LIST(AR3-ACTIVE,START,INDEX,/LIST-UNTERGR)»
# Harray Popupm starten
«HARRAY(POPUPM,Untergruppe Wählen)»
#
«NO(,NULL)»«MEA(-)»
«nm1(«CB(GETI:BEGIN)»)»«NO(,NULL)»
# Harray Popupm CB auslesen und in MEA speichern
«REPEAT(1)»
«MEA(+,«CB(GETI: )»)»
«zNO<«MEM(1)»\N»«LOOP(1)»
#
«nCB(GETI:END)\N»
«HARRAY(CLEAR)»
# List ausgewählte Untergruppen aus Harray Popupm ausgeben
«MEA(/LIST-MEA)»
/
/LIST-UNTERGR
«nNO(2)»
# Harray Popupm, Multiselektion füllen
«HARRAY(«AR3-NR\N8F0»,«NO(2,0)»,«AR3-NR» «AR3-BEZ»)»
/
/LIST-MEA
# ARTIKELPOOL ZU UNTERGRUPPEN FINDEN
Inhalt von Harray Popupm: «MEA\N»
/