DISPLAY ステートメントは、各オペランドの内容を出力装置に転送します。その内容はオペランドのリストであり、左から右の順に出力装置上に表示されます。
フォーマット .----------------. V | >>-DISPLAY----+-ID-1-------+-+--+--------------------+----------> '-リテラル-1-' '-UPON--+-簡略名-1-+-' '-環境名-1-' >--+------------------------+---------------------------------->< '-+------+--NO ADVANCING-' '-WITH-'
ID-1 が 2 進数、内部 10 進数、または内部浮動小数点のデータ項目の場合は、 ID-1 は以下のように外部フォーマットに自動的に変換されます。
USAGE POINTER を指定して定義されたデータ項目は、PIC 9(10) という暗黙的な PICTURE 節を持つゾーン 10 進数に変換されます。
出力が CONSOLE へ送信される場合、USAGE NATIONAL を指定して記述されたデータ項目は、国別文字表現から EBCDIC に変換されます。 変換では、ソース・コードのコンパイル時に CODEPAGE コンパイラー・ オプションで指定された EBCDIC コード・ページが使用されます。EBCDIC 文字以外の国別文字はデフォルトの置換文字に変換されますが、例外条件が示されたり、発生したりすることはありません。
出力が CONSOLE へ送信されない場合、USAGE NATIONAL を指定して 記述されたデータ項目は、変換もデータ妥当性検査も行わずに書き込まれます。
その他のデータ・カテゴリーは変換が不要です。
日付フィールドは、DISPLAY ステートメントで指定されたときは、非日付データとして扱われます。 すなわち、DATE FORMAT は無視され、データ項目の内容はそのまま出力装置に転送されます。
明示的または暗黙的に USAGE DISPLAY-1 として定義された DBCS データ項目は、 出力装置の送り出しフィールドに転送されます。 正しい結果を得るには、DBCS のシフトアウトおよび シフトイン制御文字を認識する機能が出力装置に必要です。
DBCS と非 DBCS の両方のオペランドを単一の DISPLAY ステートメントに指定することができます。
各装置のデフォルトの論理レコード・サイズは、次のように想定されます。
それぞれの装置に対して、最大の論理レコード・サイズは次のとおりです。
システムせん孔装置では、 最後の 8 文字が PROGRAM-ID 名として使用されます。
UPON 句が省略されている場合、システム論理出力装置が想定されます。DISPLAY ステートメントにおける有効な環境名のリストは、 表 1にあります。
DISPLAY の出力を stdout にルーティングする方法については、 「Enterprise COBOL プログラミング・ガイド」を参照してください。
WITH NO ADVANCING 句の指定がない場合、最後のオペランドが出力装置に転送された後、 出力装置の文字位置は装置の次の行の左端位置にリセットされます。
Enterprise COBOL は、特定の文字位置に位置決めできる出力装置をサポートしていません。DISPLAY ステートメントの詳細については、「Enterprise COBOL プログラミング・ガイド」を参照してください。
DISPLAY ステートメントは、送り出しフィールドのデータを出力装置に転送します。 送り出しフィールドのサイズは、リストされた全オペランドのバイト数の合計です。 出力装置が転送されるデータ項目と同じサイズのデータを受け取ることができれば、 データ項目が転送されます。 出力装置が転送されるデータ項目と同じサイズのデータを受け取ることができなければ、 次のどちらかが適用されます。
DBCS オペランドを複数のレコードに分割する必要がある場合は、2 バイトの境界でのみ分割されます。
DBCS 項目を分割するには、シフト・コードを挿入する必要があります。つまり、DBCS オペランドを複数の レコードに分割するときは、現在のレコードの終わりにシフトイン文字を挿入し、 次のレコードの始めにシフトアウト文字を挿入します。必要があれば、シフトイン文字の後にスペースを埋め込みます。 挿入されたシフト・コードとスペースは、送り出しデータ項目のバイトの総数に含められます。
最後のオペランドが出力装置に転送されると、 出力装置の文字位置は装置の次の行の左端位置にリセットされます。
DBCS データ項目または DBCS リテラルが DISPLAY ステートメントに指定されている場合、 送り出しフィールドのサイズは、リストされたすべてのオペランドのバイトの総数ですが、 DBCS 文字の 1 文字を 2 バイトとしてカウントし、 それに DBCS に必要なシフト・コードおよびスペースを加えます。