外部形式

プログラム記述ファイルに数値フィールド、文字フィールド、または日時フィールドがある場合には、その外部形式を指定できます。

外部形式は、フィールドの処理方法には影響 しません。しかし、指定された内部形式によっては、演算操作のパフォーマンスを向上させ ることができます。 詳細については、パフォーマンスに関する考慮事項を参照してください。

次の表は、プログラム記述フィールドの外部形式の指定方法を示して います。 各形式タイプの詳細については、この章の以下の該当する項を参照してください。

表 25. 外部形式を指定する記入項目および位置
フィールドのタイプ 仕様書 使用する位置
入力 入力 36 桁目
出力 出力 52 桁目
配列またはテーブル 定義 EXTFMT キーワード

数値フィールドの場合の外部形式の指定

表 25 のどのフィールドについても、次の有効な外部数値形式の 1 つを指定してください。

B
2 進数
F
float
I
整数
L
先行符号
P
パック 10 進数
R
後書き符号
S
ゾーン 10 進数
U
符号なし

浮動数値データのデフォルトの外部形式は、外部表示表現と呼ばれます。 4 バイト浮動データの形式は次のとおりです。

   +n.nnnnnnnE+ee,
ここで + は符号 (+ または -) を表します。
       n は仮数の桁を表します。
       e は指数の桁を表します。

8 バイト浮動データの形式は次のとおりです。

   +n.nnnnnnnnnnnnnnnE+eee

4 バイト浮動値は 14 桁を占め、8 バイト浮動値は 23 桁を占める ことを覚えておいてください。

浮動以外の数値データの場合、デフォルトの外部形式はゾーン 10 進です。 コンパイル時配列およびテーブルの外部形式は、ゾーン 10 進、先行符号、お よび後書き符号形式でなければなりません。

浮動コンパイル時配列およびテーブルの場合、コンパイル時データ は、数値リテラルまたは浮動リテラルとして指定されます。 4 バイト浮動配列の各要素のソース・レコード内には 14 桁必要です。 また、8 バイト浮動配列の各要素の場合は 23 桁必要です。

入力仕様書、 演算仕様書、または出力仕様書に定義され、定義仕様書に対応する 定義のない非浮動数値フィールドは、パック 10 進形式で内部的に 保管されます。

文字フィールド、図形フィールド、または UCS-2 フィールドの場合の外部形式の指定

表 25 のどの入力フィールドおよび出力フィールドに ついても、次の有効外部データ形式を指定してください。

A
文字 (文字および標識データの場合に有効)
N
標識 (文字および標識データの場合に有効)
G
図形 (図形データの場合に有効)
C
UCS-2 (UCS-2 データの場合に有効)

EXTFMT キーワードを使用すると、UCS-2 形式で配列またはテーブルにデータを 指定できます。

可変長文字、図形、または UCS-2 データの場合、入力仕様書では 31 から 34 桁目 に、出力仕様書では 53 から 80 桁目に *VAR データ属性を指定します。

日付/時刻フィールドの場合の外部形式の指定

プログラム記述ファイルに 日付、時刻、およびタイム・スタンプ・フィールドがある場合には、その外部形式を指 定しなければなりません。 プログラム記述ファイル中の すべての 日付、時刻、およびタイム・スタンプ・フィールドのデフォルトの外部形式は、ファイル記述仕様の DATFMT および TIMFMT キーワードを使用することによって 指定することができます。 特定のフィールドについても、外部形式を指定することができます。 入力仕様書の 31 から 34 桁目に所要の形式を指定してください。 出力仕様書の 53 から 80 桁目 に、適切なキーワードおよび形式を指定してください。

各形式タイプの詳細については、この章の以下の該当する項を参照してください。