データの表現形式
A−VX COBOL85(というかNECのCOBOL)は、普通のCOBOLと違うところが幾つかありますが、COMPUTATIONAL系もその1つです。
例えばIBMや富士通、日立やマイクロフォーカス(つまり多数派)のCOBOLだとCOMPUTATIONALは2進数項目ですが、A−VX COBOL85は外部10進数項目となります。
USAGE IS DISPLAY | 文字列、外部10進数 |
---|---|
USAGE IS COMPUTATIONAL | 外部10進数 |
USAGE IS COMPUTATIONAL-1 | 単精度固定2進数 |
USAGE IS COMPUTATIONAL-2 | 倍精度固定2進数 |
USAGE IS COMPUTATIONAL-3 | 内部10進数 |
USAGE IS PACKED-DECIMAL | 内部10進数 |
USAGE IS INDEX | 指標データ項目 |
COMP系については、世間一般のものと違うので、当然長さ(バイト数)も異なります。世間にはレコード長を計算してくれるソフトがありますが、A−VXのCOBOL用に対応していないものは計算結果が間違ってしまっています。
COMPUTATIONAL-4やCOMPUTATIONAL-5、BINARY、POINTER、BIT、NATIONALなどはA−VX COBOL85にはありません。
USAGE IS DISPLAYは省略できるので、文字列や外部10進数のときはあまり書かないようです。
下のように書いてある時は、SP02は外部10進数です。
000110 01 SP01 PIC X(30). 000120 01 SP02 PIC 9(04). 000130 01 SP03. 000140 05 SP03-1 PIC X(10). 000150 05 SP03-2 PIC X(02). 000160 05 SP03-3 PIC X(10). |