Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Subskribierung

&pagelevel(4)&pagelevel

Eine Methode, die Elementnummer anzugeben, besteht darin, dem Datennamen einen oder mehrere Subskripte beizufügen. Ein Subskript ist eine ganze Zahl, deren Wert die Elementnummer eines Tabellenelements oder eines der Felder, die diesem Tabellenelement untergeordnet sind, angibt. Das Subskript kann dargestellt werden

  • durch ein ganzzahliges Literal,

  • durch einen Datennamen, der als numerisches Datenelement definiert ist, das keine Zeichenstellen rechts vom angenommenen Dezimalpunkt hat,

  • durch einen arithmetischen Ausdruck, der weder ein direktes noch ein relatives Subskript ist.

In jedem Fall müssen die Subskripte in Klammern eingeschlossen sein und dem Namen des Tabellenelements unmittelbar folgen. Einem Tabellenelement müssen genausoviele Subskripte beigefügt sein, wie die zugehörige Tabelle Dimensionen hat. Es muss also für jede OCCURS-Klausel, einschließlich der, die den Datennamen innerhalb der definierten Hierarchie enthält, ein Subskript angegeben werden.

Im Beispiel 2-15 im Abschnitt "Tabellendefinition" (dreidimensionale Tabelle) benötigt man:

  • ein Subskript bei Bezugnahmen auf BLK

  • zwei Subskripte bei Bezugnahmen auf SATZ

  • drei Subskripte bei Bezugnahmen auf FELD.

Die Subskripte werden in der Reihenfolge von der äußersten zur innersten Tabelle geschrieben.

So bezeichnet z.B.

FELD (1, 2, 2)

das zweite Element FELD
innerhalb des zweiten Elements SATZ
innerhalb des ersten Elements BLK.

Eine Bezugnahme auf ein Datenfeld darf nur dann subskribiert werden, wenn das Datenfeld ein Tabellenelement oder ein Datenfeld bzw. ein Bedingungsname innerhalb eines Tabellenelements ist.

Es gibt drei Formen der Subskribierung:

  • Direkte Subskribierung

  • Relative Subskribierung

  • Subskribierung mittels eines arithmetischen Ausdrucks

Direkte Subskribierung

Bei der direkten Subskribierung wird das Subskript entweder durch ein ganzzahliges Literal oder durch einen Datennamen angegeben. Der Datenname muss als numerisches Datenelement erklärt sein, das keine Zeichenstellen rechts vom angenommenen Dezimalpunkt hat. Im vorhergehenden Beispiel wurde direkte Subskribierung verwendet.

Relative Subskribierung

Folgt dem Namen des Tabellenelements ein Subskript in Form von

(datenname + ganzzahl-1),

errechnet sich die benötigte Tabellenelementnummer aus dem Wert, den datenname zur Programmablaufzeit hat, plus ganzzahl-1.

Nimmt man die Form

(datenname - ganzzahl-2)

erhält man die Tabellenelementnummer, indem vom Wert datenname ganzzahl-2 subtrahiert wird.

Relative Subskribierung wird genauso behandelt wie relative Indizierung. Weitere Erklärungen siehe „Indizierung".

Subskribierung mittels eines arithmetischen Ausdrucks

Ein Subskript kann aus einem arithmetischen Ausdruck bestehen, der als Ergebnis eine ganze Zahl liefert.

Besteht ein Subskript aus einem arithmetischen Ausdruck, der weder ein direktes noch ein relatives Subskript ist, so errechnet sich die benötigte Tabellenelementnummer aus dem Wert, den der arithmetische Ausdruck zur Programmablaufzeit hat.

Sowohl zur Übersetzungs- als auch zur Ablaufzeit werden arithmetische Ausdrücke als Subskripte langsamer verarbeitet als direkte oder relative Subskripte. Aus diesem Grund ist das Vertauschen von datenname und ganzzahl in relativen Subskripten ebenso zu vermeiden, wie das Einschließen eines direkten bzw. relativen Subskripts in runde Klammern, da solche Ausdrücke als arithmetische Ausdrücke gelten.

Endet ein Subskript mit einem Datennamen oder Index, so darf ein unmittelbar nachfolgendes Subskript nicht mit einer öffnenden Klammer beginnen, da diese die Subskribierung des Datennamens bzw. Indexes einleiten würde.