DISPLAY ステートメントの動作

DISPLAY ステートメントが実行されるとき、送り出しフィールドに入っているデータが出力装置へ転送されます。 送り出しフィールドの大きさは、リストされたすべてのオペランドの合計文字数です。 ハードウェア装置が、転送中のデータ項目と同じ大きさのデータを受け取ることができる場合は、このデータ項目が転送されます。 ハードウェア装置が、転送中のデータ項目と同じ大きさのデータを受け取ることができない場合は、次のいずれかが適用されます。
  • 合計文字数が最大の装置論理レコード長より小さい場合には、残りの右端の文字にスペースが埋め込まれます。
  • 合計文字数が最大の論理レコード長より大きい場合には、すべてのオペランドを表示するために必要な数のレコードが書き出されます。 レコードの終わりに到達したときに印刷中または表示中のオペランドが残っていれば、そのオペランドは次のレコードに継続されます。
  • IBM Extension
    IBM Extension DBCS オペランドまたは国別オペランドが複数のレコードに分割される場合は、2 バイト境界でのみ分割されます。 End of IBM Extension
    End of IBM Extension

最後のオペランドが出力装置に転送された後、この出力装置は、次の行の左端の位置にリセットされます。

論理レコードの長さは装置によって次のとおり異なります。

出力 最大論理レコード・サイズ
ジョブ・ログ 120 文字
ワークステーション 58 文字
システム・オペレーターのメッセージ・キュー 58 文字
IBM Extension

IBM Extension DBCS または国別文字の項目またはリテラルが verb、DISPLAY 内で指定された場合、送り出しフィールドの大きさは、リストされたすべてのオペランドの合計文字数です。 この合計文字数は、1 つの DBCS 文字を 2 バイトと数え、DBCS に必要なシフト・コードをすべて足した数です。 End of IBM Extension

End of IBM Extension

バッチ・ジョブ中のあるプログラムが、 UPON 句のない DISPLAY ステートメントを実行する場合、 または REQUESTOR と関連する UPON 句を指定した DISPLAY ステートメント を実行する場合は、重大度 99 の通知メッセージのジョブ・ログに出力が送 られます。 このメッセージの重大度は、メッセージ記述変更 (CHGMSGD) CL コマンドを使用して変更できます。詳しくは、IBM® i Information Center (Web サイト http://www.ibm.com/systems/i/infocenter/) のカテゴリー『プログラミング』のセクション『CL および API』を参照してください。

ディスプレイ・ファイルを使用する対話式ジョブの場合、DISPLAY ステートメントは、通常、使用されません。 もしこれらのステートメントを使用する場合は、以下の点を考慮しなければなりません。

対話式ジョブが DISPLAY ステートメントを実行する場合、プログラム・メッセージの表示画面に論理レコードが表示されます。

以下の画面は、プログラム・メッセージの表示の例を示しています。

                          プログラム・メッセージの表示

JOB 000745/QPGMR/WS1 started on 02/17/92 at 14:50:22 in subsystem QINTER 1 
SAMPLE PROGRAM MESSAGE FROM PREVIOUS CALL OF PROGRAM. 2 
SAMPLE PROGRAM MESSAGE FROM CURRENT CALL OF PROGRAM. 2 

この表示には、このセッションでの他の活動に関連したメッセージの他に、現在実行されているプログラムからのメッセージが含まれています。

DISPLAY ステートメントが処理されるとき、画面に関するディスプレイ・ファイルの特性によって、プログラムの処理を中断すべきかどうかが決められます。
  • RSTDSP(*NO)

    このパラメーターをディスプレイ・ファイルの変更・作成中に指定すると、 処理中の DISPLAY ステートメントがプログラムの処理を中断し、画面にはプログラム・メッセージ表示が現れます。 プログラムの実行を再開するには、実行キーを押し、直前の表示画面にすぐに戻ってください。

  • RSTDSP(*YES)

    このパラメーターをディスプレイ・ファイルの変更・作成中に指定するか、 コマンド入力画面から DISPLAY ステートメントを実行した場合は、DISPLAY ステートメントの処理はプログラムの処理を中断しません。

    プログラム・メッセージ表示が画面に現れ、以下のいずれかが生じるまでそのまま表示されます。
    • プログラムが、そのファイルに対して非サブファイルの READ または WRITE ステートメントを処理します。 プログラム・メッセージ表示は消え、前の表示が画面に戻されます。
    • プログラムは終了します。
    注: プログラムの実行を中断したい場合は、DISPLAY ステートメントの後に ACCEPT ステートメントをコーディングします。 これによって、実行キーが押されるまでプログラムの実行が中断されます。

プログラム終了後に出力レコードを表示する場合は、コマンド入力画面から F10 キーを押します。

対話式処理について詳しくは、「IBM Rational® Development Studio for i: ILE COBOL プログラマーの手引き」を参照してください。RSTDSP パラメーターの追加情報については、IBM i Information Center (Web サイト http://www.ibm.com/systems/i/infocenter/) のカテゴリー『プログラミング』のセクション『CL および API』の CHGDSPF および CRTDSPF コマンドを参照してください。

ワークステーションのオペレーターによって開始されたプログラムが DISPLAY をシステム・オペレーターのメッセージ・キュー (ワークステーションとは別のもの) へ送り出す場合には、プログラムの処理は中断されません。

出力データの位置は、 次のようにプログラム開始のタイプによって異なります。

開始の方法 SYSTEM-CONSOLE に 関連した簡略名 REQUESTOR に関連した簡略名 UPON 句を 省略した場合
BATCH システム・オペレーターのメッセージ・キュー ジョブ・ログ ジョブ・ログ
INTERACTIVE システム・オペレーターのメッセージ・キュー ワークステーション ワークステーション