コンソール

本章では、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で出力されます。

  • 出力項目

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

    項目 説明

    Msg Source

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

    Date Time

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

    Length

    メッセージの長さです。

    Console ID

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

    User

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

    Process ID

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

使用例

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

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
    DISPLAYコマンドの実行結果
  2. 以下のコマンドでACCEPTを実行します。

    ACCEPT BUFFER FROM CONSOLE.

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

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

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

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

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

    figure 3 6
    メッセージの応答(2)

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

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

figure 3 7
HISTORYコマンドの実行

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

項目 説明

Process ID

UNIXのPIDです

User

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

Msg Source

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

Date

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

Time

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

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

figure 3 8
HISTORYコマンドの実行例