Es gibt in COBOL ja zwei Arten um auf eine Tabelle zuzugreifen:
- Normalindizierung (Numerisches Feld, Literal)
- Spezialindizierung (INDEXED BY)
Bei Spezialindizierung ist der Index ein 4-Byte-Element dass die relative Adresse (Offset) des Tabellenelements enthält.
Bei der Normalindizierung hingegen ist der Index immer der Zähler für die Feldposition.
Bei der Spezialindizierung wird die Adresse immer vor dem Zugriff auf das Tabellenelement berechnet (bei Änderung des Index mit SET).
Bei der Normalindizierung hingegen immer erst direkt beim Zugriff.
Ein Spezialindex ist nur für die Adressierung der Tabelle/Tabellenebene vorgesehen für die er auch deklariert worden ist.