Syntaxregeln
Die Angaben von COMPUTATIONAL-3 und PACKED-DECIMAL sind gleichbedeutend.
Die Angaben zeigen an, dass das Datenfeld in internem dezimalem Format (also in gepackter Form) abgespeichert wird.
Die PICTURE-Klausel eines COMPUTATIONAL-3- bzw. PACKED-DECIMAL-Datenfeldes darf nur aus 9en, dem Rechenvorzeichen S, dem Rechendezimalpunkt V und einem oder mehreren P’s bestehen (siehe „PICTURE-Klausel").
Allgemeine Regel
Interne dezimale Datenfelder werden mit 2 Ziffern pro Byte dargestellt; das Vorzeichen ist in den vier niedrigstwertigen Bits des niedrigstwertigen Bytes enthalten.
Für interne dezimale Datenfelder, deren PICTURE-Klausel kein S enthält, entspricht die Darstellung dem Absolutwert der Zahl.
Beispiele für die COMPUTATIONAL-3- bzw. PACKED-DECIMAL-Angabe siehe Tabelle 17.
Form | Masken- | USAGE- | Wert in | Wert in | Anzahl | Konvertierung | Ausrichtung |
Extern dezimal (entpackt) | 9999 | DISPLAY | 1234 | F1F2F3F4 | 1 Byte / Ziffer | Ja, um mit dem Format von anderen Operanden übereinzustimmen oder nach COMP-3 bzw. PACKED-DECIMAL | |
S9999 | +1234 | F1F2F3C4 1)2) | |||||
S9999 |
| F1F2F3D4 1)2) | |||||
S9999 | DISPLAY SIGN TRAILING | 1234+ | F1F2F3C4 | ||||
1234 | F1F2F3D4 | ||||||
S9999 | DISPLAY SIGN TRAILING SEPARATE | 1234+ | F1F2F3F44E | + 1 Byte für Vorzeichen | |||
1234 | F1F2F3F460 | ||||||
S9999 | DISPLAY SIGN LEADING | +1234 | C1F2F3F4 | ||||
| D1F2F3F4 | ||||||
S9999 | DISPLAY SIGN LEADING SEPARATE | +1234 | 4EF1F2F3F4 | + 1 Byte für Vorzeichen | |||
| 60F1F2F3F4 | ||||||
Intern dezimal (gepackt) | 9999 | COMP-3 | +1234 | 01234F2) | 2 Ziffern pro Byte, bis auf das niedrigstwertige Byte, das eine Ziffer und das Vorzeichen enthält | Nein, außer wenn der andere Operand binär ist und eine Konvertierung nach binär vor teilhafter wäre | Keine |
9999 |
| 01234F 2) | |||||
S9999 | +1234 | 01234C 2) | |||||
S9999 |
| 01234D 2) | |||||
Binär | S9999 | BINARY oder COMP oder COMP-5 | +1234 | 04D2 | 2 bei | Nein. Außer wenn in Rechnungen mit verschiedenen Operanden verwendet, um ein übereinstimmendes Format zu erhalten, oder wenn COMP-3 bzw. PACKED-DECIMAL vorteilhafter wäre. | Halbwort |
4 bei | Wort | ||||||
8 bei | Wort | ||||||
16 bei 19-31 Ziffern | Wort | ||||||
S9999 |
| FB2E | 2 | Halbwort 3) | |||
ExternGleitpunkt | +99.99E-99 | DISPLAY | +12.34E+2 | 4EF1F26BF3F4C540F0F2 | 1 Byte pro Zeichen | Ja. Nachintern Gleitpunkt | Keine |
InternGleitpunkt | KeineAngabeerlaubt | COMP-1 | +12.34E+2 | 434D2000 | 4 | Nein | Wort |
KeineAngabeerlaubt | COMP-2 |
| C01F972474538EF3 | 8 | Nein | Doppelwort |
Tabelle 17: Interne Darstellung von numerischen Datenfeldern
1) Byte pro Ziffer, bis auf das niedrigwertigste Byte, das im ersten Halbbyte das Vorzeichen, im zweiten Halbbyte die letzte Ziffer enthält
2) Darstellung des Vorzeichens
F =nichtabdruckbares Pluszeichen (wird als absoluter Wert betrachtet)
C =interne Darstellung des Pluszeichens
D =interne Darstellung des Minuszeichens
3) siehe Regeln für Datenfelder
4) jedes Zeichen (Buchstabe/Ziffer) stellt ein halbes Byte dar