+----------------------------------IBM 拡張----------------------------------+
DISPLAY ステートメントは、以下のいずれかがある場合には、拡張 DISPLAY ステートメントと見なされます。
DISPLAY ステートメントに以下のいずれかがある場合には、標準 DISPLAY ステートメントと見なされます。
DISPLAY ステートメント - 形式 3 - ワークステーション I/O .------------------------. V | >>-DISPLAY----+-+-ID-1-------+-----+-+--+-------------+-------->< | '-リテラル-1-' | '-END-DISPLAY-' +-| 行と列の句 |-----+ +-UPON-+-CRT-------+-+ | '-CRT-UNDER-' | +-MODE-+----+-BLOCK--+ | '-IS-' | '-| WITH 句 |--------' 行と列の句: .----------------------------------. V | |--+-+----+---+-LINE---+-+--------+-+-ID-2---+-+-+--------------| | '-AT-' +-COLUMN-+ '-NUMBER-' '-整数-1-' | | '-COL----' | '-AT-+-ID-3---+-------------------------------' '-整数-2-' WITH 句: .----------------------------------------------. V | |--WITH----+-+-BELL-+---------------------------------+-+-------| | '-BEEP-' | +-BLINK------------------------------------+ +-HIGHLIGHT--------------------------------+ +-REVERSE-VIDEO----------------------------+ +-UNDERLINE--------------------------------+ +-BLANK-+-SCREEN-+-------------------------+ | '-LINE---' | +-SIZE-+----+-+-ID-4---+-------------------+ | '-IS-' '-整数-3-' | | (1) | +-+-FOREGROUND-COLOR-------+-+----+-整数-4-+ | | (1) | '-IS-' | | '-FOREGROUND-COLOUR------' | | (1) | '-+-BACKGROUND-COLOR-------+-+----+-整数-5-' | (1) | '-IS-' '-BACKGROUND-COLOUR------'
注:
このステートメントの一部を繰り返すことによって、複数のデータ項目を表示させることもできます。 最初の ID に AT、LINE、または COLUMN 句が付いていない場合、その ID は 第 1 行、第 2 列から始まります。それ以降の各データ項目は、直前のデータ項目の 後にある現在使用可能な画面位置から始まります。
ID-1 またはリテラル-1 を指定しないと、MODE IS BLOCK 句または WITH 句のどちらも使用することはできません。
ID-1 が画面に合わないときは、英数字データが切り捨てられたり、数字データが画面上に表示されなくなります。
ID-1 がグループ項目で、MODE IS BLOCK 句がなければ、FILLER 以外の名前を持つ基本従属項目が表示されます。 基本項目は、その記述が DATA DIVISION に現れる順番で画面に同時に表示されて位置付けされ、 グループ中の FILLER 項目の長さによって分離されます。 このため、行上の最初の位置は、直前の行の最後の位置にすぐに続くものと見なされます。 項目が FILLER で区切られるときは、属性バイトは FILLER の長さに含まれます。 したがって、FILLER の長さが 1 バイトまたは 2 バイトの場合は、 区切られる 2 つの項目の後書き属性と先行属性の両方が含まれることになります。 1 バイト FILLER の場合には、後ろに続く属性および先の属性が同じバイトを占有します。 データ項目は 1 属性バイトで区切られるのが普通であるため、1 バイトの FILLER は必要ありません。
ID もリテラルもどちらも存在しない場合は、DISPLAY 操作によって、実際にはデータを何も表示せずに画面位置だけが変更されます。
ID またはリテラルの後の句は、どのような順序で記入してもかまいません。 指定された句は、すべて直前の ID またはリテラル (指定されている場合) に提供されます。 前に ID またはリテラルが指定されていなかった場合は、WITH および MODE 句を指定することはできません。
AT、LINE または COLUMN 句が指定されていない限り、DISPLAY ステートメントの中の複数の ID またはリテラルは、間に属性バイトを 1 バイト挟んで続けられます。 このステートメント内に AT、LINE、 または COLUMN 句が記入されていない場合には、最初の ID またはリテラルは、第 1 行、第 2 列から始まり、それ以外のすべての ID またはリテラルがその直後に続きます。
関連情報
AT 句は、DISPLAY 操作を開始する画面上の絶対アドレスを示します。 この句は、先行属性の開始位置を示すものではありません。
関連情報
COLUMN 句は、画面上で画面項目が始まる列を指定します。
COL は、COLUMN の省略形です。
LINE 句および COLUMN 句は、どのような順序で記入してもかまいません。
ID-2 は、浮動小数点データ項目にすることができません。
行および列番号の特定の組み合わせには、次のような特別な意味があります。
ID-3 または整数-2 の長さが 4 バイトの場合は、最初の 2 桁が行を指定し、次の 2 桁が列を指定します。 ID-3 または整数-2 の長さが 6 バイトの場合は、最初の 3 桁が行を指定し、次の 3 桁が列を指定します。
ID-3 は、浮動小数点データ項目にすることができません。
DISPLAY ステートメントが拡張されていることを示します。
CRT-UNDER は、UPON CRT-UNDER 句の前に表示されたデータ項目に下線も付けます。
ID が基本項目として扱われます。 その ID がたとえグループ項目であっても、1 つの項目として表示されます。
WITH 句を使うことによって、ユーザーは DISPLAY 操作の特定のオプションを指定することができるようになります。 そのようなオプションについては、以下に示す各句で説明します。
この句を含んでいる項目が表示されるたびに、警報音が鳴ります。
BELL と BEEP はいずれを使ってもかまいません。
BLANK は、この文節を含んでいる画面項目が表示されるたびに機能します。
BLANK LINE は、現在のカーソル位置から現在行の終わりまでを消去します。 BLANK SCREEN は、画面全体を消去して、カーソルを第 1 行、第 2 列に移動します。
これらの消去は、項目が表示される前に行われます。
画面項目が画面に表示されると明滅します。
画面項目が高輝度モードで画面に表示されます。
画面項目が反転表示で示されます。
画面上のデータ項目の現行サイズを指定します。 この句は基本データ項目にしか使用することができません。
ID-4 または ID-3 に符号がある場合、コンパイラーは絶対値を使用し、警告メッセージを出します。
ID-4 は、浮動小数点データ項目であってはなりません。
指定されたサイズがゼロであれば、SIZE 句には影響がありません。 この場合、データ項目を表示するためにフィールドの長さが使用されます。
関連する PICTURE 文節によって暗黙指定されたサイズよりも小さなサイズが指定されると、ワークステーションの画面にはデータ項目の左端の部分だけが現れます。
数字または数字編集のデータ項目に対して指定したサイズが、PICTURE 文節によって暗黙指定されたサイズよりも小さくなる場合があります。 その場合、値が表示される際に、右端が切り捨てられます。 データ項目は MOVE 操作の規則に従って更新されます。
フィールドの長さが画面サイズを超える値を持つ SIZE リテラルを指定する場合には、 英数字データが切り捨てられたり、数字データが無視されるか、表示されなくなります。
JUSTIFIED が指定された項目に関しては、その項目の長さよりも小さいサイズを指定すると、右端の部分だけが現れます。
ユーザーが指定するサイズが、PICTURE 文節で暗黙指定されたサイズよりも大きい場合には、その項目の表示用部分にはスペースが埋め込まれます。 埋め込まれるのは右側です。
表意定数 ALL は、ユーザーが指定する長さに達するまで必要に応じて何度でも表示されます。 表示が新しい行へ折り返すと、新しい行は定数の先頭から始まります。
関連情報
以下に示すのは、指定されたサイズが表意定数よりも大きくて、新しい行に折り返した場合の表意定数の表示例です。
DISPLAY ALL 'ABCD' AT 0270 WITH SIZE 15.
この定数は第 2 行、第 70 列から始まって、画面上に表示されます。
0000000001 677777777778 1234567890................901234567890 Line 1 Line 2 ABCDABCDABC Line 3 ABCD
以下の例における相違に注目してください。
Statement 1 DISPLAY 'WORKSTATION' AT 0275 WITH SIZE 10 Statement 2 DISPLAY ALL 'WORKSTATION' AT 0275 WITH SIZE 10 0000000001 677777777778 1234567890................901234567890 Statement 1 WORKST ATIO Statement 2 WORKST WORK
画面に表示される画面項目に下線が引かれます。
MODE IS BLOCK が指定されているかどうかに関係なく、データ項目にはテーブルを入れることができます。 固定長および可変長のテーブルはグループ項目 (MODE IS BLOCK が指定されていない) として扱われ、 それらの項目はテーブルの最初のオカレンスから最後のオカレンスまで繰り返されます。
拡張 DISPLAY ステートメントに関する考慮事項のあるものは、拡張 ACCEPT ステートメントにも当てはまります。 (詳しくは 拡張 ACCEPT および拡張 DISPLAY の考慮事項を参照してください。)
ILE COBOL の拡張 DISPLAY ステートメントは、IBM COBOL/2 DISPLAY ステートメント (形式 2) に類似しています。 異なる点については 付録 I, ACCEPT/DISPLAY および COBOL/2 に関する考慮事項で説明します。
+------------------------------End of IBM 拡張-------------------------------+