コンソール

本章では、OpenFrame Baseシステムの構成要素であるコンソールの構成および機能について説明します。

1. 概要

システム・コンソールまたはコンソールとは、システム・カーネルからシステム管理者へのメッセージを出力し、システム管理者がシステムを管理するためのコマンドを入力するための画面とキーボードのことです。

メインフレーム管理者は、提供されたコンソールを使用してシステムを管理および運用します。ただし、一部のメインフレームでは、システムの管理だけでなく、特定の業務アプリケーションの実行時に必要なデータをリアルタイムで直接入力するためにコンソールを使用しています。OpenFrameでは、このようなメインフレームのコンソール機能をサポートするために、仮想のシステム・コンソール・インターフェースを提供しています。

2. コンソールの構成および機能

OpenFrameコンソールは以下の要素で構成されており、DISPLAY機能とACCEPT機能をサポートします。

構成要素 説明

プログラム

PL/IまたはCOBOLで作成されたアプリケーション・プログラムまたはオンライン・サービスです。

tconmgr

仮想のコンソール・デバイスです。

ofrcmsvr

コンソール・メッセージを管理および表示するコンソール・サーバーです。

2.1. DISPLAY

PL/I言語のDISPLAY文またはCOBOL言語のDISPLAY UPON CONSOLE文を、コンソールのDISPLAY機能でサポートします。

以下の図は、DISPLAY機能が実行されるプロセスです。

figure console display
DISPLAY機能の実行プロセス
  • プログラムでDISPLAYを実行するプロセス

    1. プログラムはofrcmsvrにDISPLAYメッセージを送信します。

    2. ofrcmsvrはDISPLAYメッセージをファイルに書き込みます。

    3. ofrcmsvrは現在接続されているtconmgrにメッセージを送信します。

    4. ofrcmsvrはプログラムに確認応答を返します。

  • tconmgrでDISPLAYを実行するプロセス

    1. tconmgrはofrcmsvrに接続されたことを通知します。

    2. ofrcmsvrは正常に応答を返します。以降、定期的にofrcmsvrからのメッセージを確認して出力します。

2.2. ACCEPT

PL/I言語のREPLY文またはCOBOL言語のACCEPT FROM CONSOLE文を、コンソールのACCEPT機能でサポートします。

figure console accept
ACCEPT機能の実行プロセス
  • プログラムでACCEPTを実行するプロセス

    1. プログラムはofrcmsvrにACCEPTメッセージを送信します。

    2. ofrcmsvrはACCEPTメッセージをファイルに書き込みます。

    3. ofrcmsvrは現在接続されているtconmgrにメッセージを送信し、tconmgrからのACCEPT応答を受信するまでプログラムへの応答を保留します。プログラムは、ofrcmsvrからACCEPTメッセージを受信するまで待機状態になります。(図の③)

  • tconmgrでDISPLAYを実行するプロセス

    1. tconmgrはofrcmsvrに接続されたことを通知します。

    2. ofrcmsvrは正常に応答を返します。以降、定期的にofrcmsvrからのメッセージを確認して出力します。

3. tconmgr

tconmgrは、メインフレームでのコンソールに対応する仮想のOpenFrameコンソール・ツールです。ユーザーが指定したIDのコンソール・メッセージを確認できます。

使用方法

以下は、tconmgrツールの実行方法です。

$ tconmgr [CONSOLE_ID]
  • 入力項目

    項目 説明

    CONSOLE_ID

    0から99まで指定できます。現在OpenFrameでは、0(ゼロ)のみ使用されており、CONSOLE_IDが指定されていない場合は、0として処理されます。出力項目のすべてのメッセージも0で出力されます。

  • 出力項目

    EXTENDED_JOB_INFOの設定がNOの場合
    [{Msg Source};{Date Time};{Length};{Console ID};{User};{Step ID};{PID}]{JOBCODE} {Msg}
    
    EXTENDED_JOB_INFOの設定がYESの場合
    [{Msg Source};{Date Time};{Length};{Console ID};{User};{Job ID};{Job Name};{Step ID};{PID}]{JOBCODE} {Msg}

    以下は、コンソール・メッセージの先頭に出力される情報です。各項目はセミコロン( ; )で区切られ、全体は角括弧([ ])で囲まれます。

    項目 説明

    Msg Source

    メッセージ・ソース(発信元)です。COBOL、TCONMGRなどがあります。

    Date Time

    メッセージが作成された日時(YYYYMMDD_HHMMSS形式)です。

    Length

    メッセージの長さです。

    Console ID

    メッセージ・ソースのコンソールIDです。現在は0のみ出力されます。

    User

    一般的にメッセージ・ソースのジョブIDが出力されます。ジョブIDが存在しない場合は、ユーザー名が出力されることもあります。メッセージ・ソースがTCONMGRの場合は、応答対象のジョブIDが出力されます。

    Job ID

    メッセージ・ソースのジョブIDが出力されます。OpenFrame環境設定のconsoleサブジェクト、CONSOLEセクションのEXTENDED_JOB_INFOキーのVALUEがYESに設定されている場合です。

    Job Name

    メッセージ・ソースのジョブ名が出力されます。OpenFrame環境設定のconsoleサブジェクト、CONSOLEセクションのEXTENDED_JOB_INFOキーのVALUEがYESに設定されている場合です。

    Step ID

    メッセージ・ソースのステップIDが出力されます。ステップIDがない場合は、ステップ番号が表示されます。

    PID

    メッセージ・ソースのUNIXのプロセスIDが出力されます。メッセージ・ソースがTCONMGRの場合は、応答対象のUNIXのプロセスIDが出力されます。

    JOBCODE

    メッセージ・ソースのジョブコードが先頭の3桁に表示されます。

    Msg

    コンソール・メッセージが出力されます。

    以下は、EXTENDED_JOB_INFOの設定がNOの場合、コンソール・メッセージの出力例です。

    [COBOL;20241210_085226;24;0;JOB00674;STEP1;852487]598 CONSOLE DISPLAY TEST

    以下は、EXTENDED_JOB_INFOの設定がYESの場合、コンソール・メッセージの出力例です。

    [COBOL;20241210_051149;24;0;NOUSER;JOB00668;JOB1;STEP1;698539]592 CONSOLE DISPLAY TEST
使用例

以下は、コンソールの一般的な使用フローの例です。アプリケーションがコンソールにメッセージを送信するか、応答を要求する方法を示しています。

IDENTIFICATION DIVISION
…
ENVIRONMENT DIVISION
…
DATA DIVISION
…
WORKING-STORAGE SECTION.
03 BUFFER PIC X(10).
PROCEDURE DIVISION.
A SECTION.
DISPLAY “CONSOLE DISPLAY TEST” UPON CONSOLE.
ACCEPT BUFFER FROM CONSOLE.
EXIT.
STOP RUN

以下は、DISPLAYとACCEPTドの実行手順です。

  1. 以下のコマンドでDISPLAYを実行します。

    DISPLAY “CONSOLE_DISPLAY_TEST” UPON CONSOLE.

    コンソールに「CONSOLE_DISPLAY_TEST」というメッセージが表示されます。

    figure 3 2
  2. 以下のコマンドでACCEPTを実行します。

    ACCEPT BUFFER FROM CONSOLE.

    コンソールに「Accept request received!!!」というメッセージが表示されます。

    figure 3 3
  3. ユーザーは、REPLYコマンドの「R」を使用して要求メッセージに応答することができます。REPLYコマンドを実行すると、コンソールに新しい画面が表示され、応答を要求したメッセージの一覧が表示されます。一覧から希望する番号を選択して応答メッセージを送信できます。

    REPLYコマンドを実行すると、以下のような画面が表示されます。

    figure 3 4
  4. 以下は、表示されたメッセージの一覧から0を選択し、「OK」というメッセージを応答した画面です。

    figure 3 5
  5. 「OK」メッセージを入力して送信すると、以下のようにtconmgrが応答したメッセージが表示されます。

    figure 3 6

tconmgrを閉じると、表示された内容は画面から削除されます。以前の内容を検索する場合は、HISTORYコマンドの「H」を使用します。

以下は、HISTORYコマンドを使用して以前の内容を検索する画面です。

figure 3 7

HISTORYコマンドを実行すると、新しい画面が表示されます。以下の条件項目に従って以前の内容を検索します。

項目 説明

Process ID

UNIXのPIDです

User

一般的にはジョブIDですが、ジョブIDがないメッセージの場合は、別の名前になることがあります。

Msg Source

メッセージのソースです。COBOL、TCONMGRなどがあります。

Date

メッセージが作成された日付です。入力値がない場合は、当日に作成されたメッセージを検索します。

Time

メッセージが作成された時間です。指定した時間以降に作成されたメッセージのみ検索します。

以下は、Process IDに「708593」を入力して検索した例です。

figure 3 8