固定形式のデータ入力

固定形式のデータ入力は、定形式化モードとしても知られています。「What you see is what you get」という表現が、本形式を表すのに適しています。各キーを押すたびに、PICTURE 文字列に合わせてフィールドの形式が自動的に整えられます。拡張 ACCEPT/DISPLAY 構文は、データ部に格納されている場合と同じ状態でそのフィールドを画面に表示し、そのサイズはデータ項目のサイズと同じになります。

したがって、DISPLAY 文と同様に、暗黙符号または小数点の付いていない USAGE DISPLAY として定義されているフィールドを取り込む場合のみが有効となります。

データ入力中は、数字、正符号 (+)、負符号 (-)、および小数点 (.) 以外の文字はすべて拒否されます。編集フィールド内への挿入文字は、カーソルを前後に移動すると自動的にスキップされます。+ または - を押すと、カーソルがフィールド内のどの位置にあっても、符号は自動的に修正されます。

ゼロは、小数点の前の先行記号または小数点に続く終了記号として使用される場合にのみ、挿入文字として使用できます。たとえば、PIC 0.9999 および PIC 999.90 は有効ですが、PIC 0.0009 および PIC 999.000 は無効です。

ゼロ抑制をしていない単純な数字フィールドや数字編集フィールドのデータ入力は、挿入モードが数字フィールドや数字編集フィールドではサポートされていないことを除けば、英数字フィールドの場合のデータ入力と同じです。単純な数字フィールドで小数点文字を入力すると、数字は右詰めされます。たとえば、初期値がゼロである PIC 9(5) として定義されたフィールドは、次のように取り込まれます (アンダースコアの付いた文字はカーソル位置を表します)。

初期表示
00000 
1 を押す。
10000 
2 を押す。
12000 
4 を押す。
12400 
Back Space キーを押す。
12000 
「.」を押す。
00012 

ゼロ抑制したフィールドへのデータ入力の処理は異なります。カーソルは、最初はゼロ抑制されていない最初の文字に位置しています。小数点より前の桁がすべてが抑制されている場合には、カーソルは小数点の上に位置しています。

カーソルが小数点の左側 (つまり、フィールドの整数部) に位置している間は、数字が入力されるたびに小数点に達するまで、カーソルは右に移動します。整数部がすべて埋まるまで、数字は小数点の直前まで挿入されます。次に、カーソルは自動的に小数点第 1 位の数字に移動し、小数位の数字が入力されるたびに先に進みます。

整数部がまだすべて埋まっていない状態で小数点の後の数字を入力する場合は、小数点 (.) を入力する必要があります。

たとえば、数字編集データ フィールドが PIC ZZZ99.99 と定義され、初期値ゼロが入っていると、そのフィールドは ACCEPT 操作中に次のように表示されます。

初期表示
00.00
1 を押す。
10.00 
2 を押す。
12.00 
3 を押す。
123.00 
4 を押す。
1234.00 
Back Space キーを押す。
123.00
5 を押す。
1235.00
6 を押す。
12356.00 
7 を押す。
12356.70 
8 を押す。
12356.78 

同じフィールドに 123.45 を入力する場合、フィールドは次のように表示されます。

初期表示
00.00 
1 を押す。
10.00 
2 を押す。
12.00
3 を押す。
123.00 
「.」を押す。
123.00
4 を押す。
123.40 
5 を押す。
123.45 

固定形式モードは、最大 32 文字までの長さの数字編集データ項目についてのみ適用されます。文字数が 32 を超える場合は、「自由形式のデータ入力」セクションに記載のとおり、自由形式モードで自動的に処理されます。ACCEPT 文で SIZE 句が指定されていると、フィールドも自由形式として自動的に処理されます。