Syntaxregeln
Die verschiedenen Arten der Datenelemente mit der DISPLAY-Angabe unterscheiden sich durch die verschiedenen Kategorien der Maskenzeichenfolge in der PICTURE-Klausel.
Allgemeine Regeln
Die DISPLAY-Angabe zeigt an, dass das Datenfeld im EBCDIC-Format abgespeichert wird, d.h. jede Zeichenstelle ist durch 1 Byte dargestellt.
Externe dezimale Datenfelder werden intern wie folgt dargestellt:
Jede Ziffer einer Zahl wird durch ein Byte dargestellt. Die vier höchstwertigen Bits eines jeden Bytes stellen den Zonenteil. Der Zonenteil des niedrigstwertigen bzw. höchstwertigen (je nach SIGN-Klausel) Bytes enthält das Vorzeichen (falls ein solches vorhanden ist). Die vier niedrigstwertigen Bits enthalten den Wert der Ziffer.
Die maximale Länge eines externen dezimalen Datenfeldes ist 31 Ziffern.
Externe Gleitpunktdatenfelder bestehen aus einer Mantisse, die den dezimalen Teil der Zahl darstellt, und einem Exponenten, der die Basis 10 hat.
Der Wert eines externen Gleitpunktdatenfeldes errechnet sich aus der Multiplikation der Mantisse mit dem Exponenten, Mantisse
*
10Exponent.
Der Absolutbetrag eines Gleitpunktdatenfeldes muss größer als 5.4*
10-79 sein und darf 7.2*
1075 nicht übersteigen.Wird ein externes Gleitpunktdatenfeld als ein numerischer Operand verwendet, so wird es zur Programmausführungszeit geprüft und in ein internes Gleitpunkdatenfeld umgewandelt. In dieser Form wird es in arithmetischen Operationen verwendet (siehe die Angaben zu COMPUTATIONAL-1 und COMPUTATIONAL-2).
Beispiel 7-30
Datenformate für USAGE IS DISPLAY
Datenkategorie | Wert | Masken- | Interne Darstellung*) | |||||||||
alphabetisch | ABCD | AAAA | C1 | C2 | C3 | C4 | ||||||
alphanumerisch | A1B2 | XXXX | C1 | F1 | C2 | F2 | ||||||
alphanumerisch- | 123AB | XXBXXX | F1 | F2 | 40 | F3 | C1 | C2 | ||||
numerisch- | 54321 | 99,999 | F5 | F4 | 6B | F3 | F2 | F1 | ||||
numerisch | ||||||||||||
+1234 | 9999 | F1 | F2 | F3 | F4 | |||||||
+6879 | S9999 | F6 | F8 | F7 | C9 | |||||||
-6879 | S9999 | F6 | F8 | F7 | D9 | |||||||
6879 | +99.99E-99 | 4E | F6 | F8 | 4B | F7 | F9 | C5 | 40 | F0 | F2 | |
.6879 | +99.99E-99 | 4E | F6 | F8 | 4B | F7 | F9 | C5 | 60 | F0 | F2 |
*)Jedes Kästchen stellt ein Byte dar.