その他のツール

本章では、ユーザビリティを高めるために提供されるその他のツールの使用方法について説明します。

1. 概要

以下は、運用の利便性を高めるその他のツールの一覧です。

ツール 説明

conprt

シェル・プロンプトからコンソールにメッセージを表示できるツールです。

enpasswd

ユーザーのパスワードを64バイトの文字列でエンコードします。

mvsana

MVS JCL、プロシージャ、インクルード・ファイルを解析するツールです。

mspana

MSP JCL、プロシージャを解析するツールです。

xspana

XSP JCL、MACRO、SYSINを解析するツールです。

ofconfig

OpenFrameの環境設定を管理するためのツールです。

oferror

OpenFrameで発生するエラーについてエラー番号、エラー・コード、エラー・メッセージを表示します。

offile

OpenFrameの全モジュールのバージョン・トラッキングを行います。

ofversion

インストールされたOpenFrameサブ製品の種類とバージョンを表示します。

tacflogin

OpenFrameのログイン情報の重複入力を防ぎます。

tconmgr

メインフレームのコンソールに対応する仮想のOpenFrameコンソールです。

vtamadm

システムの起動後、VTAMデータベースに保存されているVTAMリソース情報を表示します。

vtamcmd

ユーザーが入力したVTAMコマンドを解析し、解析されたコマンドを実行します。

vtamdump

VTAMデータベースに保存されているVTAMリソース情報をファイルに出力します。

vtamgen

BEGINVTAMマクロをコンパイルしてVTAMデータベースに情報を保存します。

vtamrgadm

VTAM DBのリージョン・マップ関連のリソースを出力および管理します。

2. conprt

conprtは、シェル・プロンプトからコンソールにメッセージを表示できるツールです。ユーザーはツール上のメッセージをコンソールで容易に確認することができます。

使用方法

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

$ conprt [options] <message>
  • [options]

    各項目はスペースで区切って使用します。

    オプション 説明

    [-i | --console-id]

    コンソールのIDを指定します。0~99を指定でき、デフォルト値は0です。

    [-s| --source]

    メッセージの出所となるソース名を指定します。JCL、COBOL、PGMなどの名前になります。(デフォルト値: CONSOLE)

    [-u| --user]

    メッセージのジョブIDやユーザーIDを指定します。

    [-u]オプションはJOBID環境変数が設定されていない場合にのみ有効であり、JOBID環境変数が設定されている場合は無視されます。JOBID環境変数と[-u]オプションのいずれも設定されていない場合は、エラーが発生します。

  • 入力項目

    項目 説明

    message

    コンソールに表示されるメッセージを指定します。

使用例

以下は、ソース名は「COBOL」、ユーザー名は「TEST」、メッセージは「CONSOLE DISPLAY TEST」をコンソールに送信する例です。

$ conprt -s COBOL -u TEST "CONSOLE DISPLAY TEST"

上記のコマンドを実行すると、コンソール画面に「CONSOLE DISPLAY TEST」とメッセージが表示されます。

figure 3 9
conprtツールの実行結果画面

3. enpasswd

enpasswdは、ユーザーのパスワードを64バイトの文字列にエンコードするツールです。

OpenFrameを使用するとき、環境設定にユーザー・パスワードの入力が必要な場合があります。たとえば、OpenFrame環境設定のikjeft01サブジェクトには特定のリレーショナル・データベース・システムにアクセスできるように、データベース・システム名、ユーザー名、パスワードなどの情報を設定する必要がありますが、ユーザーのパスワードを直接設定ファイルに入力すると情報漏えいの恐れがあるので、パスワードをエンコードして保存するようにします。

OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。

使用方法

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

Usage: enpasswd username password
  • 入力項目

    項目 説明

    username

    ユーザー名を指定します。パスワードをエンコードするときにエンコード・キーとして使用されます。

    password

    エンコードするパスワードを指定します。ユーザー名とパスワードを指定すると、画面に64バイトでエンコードされたパスワードが表示されます。

使用例

以下は、ユーザー名をigkang、パスワードをwhoknowsに指定してenpasswdを実行し、エンコードされたパスワードを表示する例です。

$ enpasswd igkang whoknows
970A3C79A0E803DCB62B276D91602D77500107695254FDA1BD477054AEBACBBD

設定ファイルでエンコードされたパスワードとエンコードされていないパスワードを同時に指定した場合には、エンコードされていないパスワードが優先的に使用されます。エンコードされたパスワードを使用する環境設定としては、ikjeft01サブジェクトがあります。

4. mvsana

mvsanaは、MVS JCL、プロシージャ、インクルード・ファイルを解析するツールです。

特定のファイルを解析して、ファイルに構文エラーがないかチェックし、構文エラーがある場合は、エラーの発生箇所と原因を表示します。

mvsanaツールは、OpenFrame Batch for MVSシステムでのみ使用できます。

使用方法

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

$ mvsana [options] FILE_PATH
  • [options]

    オプション 説明

    [-N | --normal]

    mvsanaの基本フォーマットで解析結果を表示します。

    [-C | --csv]

    CSVフォーマットで解析結果を表示します。

    [-P | --Procedure file]

    プロシージャ・ファイルを指定する場合に使用します。

    [-E | --ERROR]

    FILE_PATH.errにエラーを出力します。

    [-d <directory-name> | --directory <directory-name>]

    インストリーム・データ・ファイルが存在するディレクトリを指定します。

    [-p <directory-name> | --procedure <directory-name>]

    プロシージャが存在するディレクトリを指定します。

    [-i <directory-name> | --include <directory-name>]

    インクルード・ファイルが存在するディレクトリを指定します。

    [-e <filepath> | --error <filepath>]

    エラーを出力するファイルのパスを指定します。

    [-pgm <program-name> | --pgm_sysin <program-name>]

    SYSINデータを取得する場合にそのプログラムを指定します。

    [-f | --full_parsing]

    JCL、インクルード・ファイル、プロシージャを解析して、構文エラーや存在しないファイル、未サポート機能、正常な解析結果を表示します。未サポート機能は、解析が正常に終わった場合にのみ表示されます。

    [-ri <directory-name>]

    インクルード・ファイルを検索するディレクトリを指定します。指定したディレクトリとそのサブディレクトリで検索します。

    [-rp <directory-name>]

    プロシージャ・ファイルを検索するディレクトリを指定します。指定したディレクトリとそのサブディレクトリで検索します。

  • 入力項目

    項目 説明

    FILE_PATH

    解析するファイルのパスを入力します。

使用例

以下は、[-N]オプションを使用してJCLを解析している、mvsanaの使用例です。

$ mvsana -N ./ABC.jcl
--------------- ./ABC.jcl ERROR ----------
Syntax Error [Line:13 ;Column: ;Keyword: ;Message:INCLUDEed file(/home/user/oframe_7/volume_DEFVOL/SYS1.PROCLIB/AB) not found]
Syntax Error [Line:26 ;Column: ;Keyword: ;Message:INCLUDEed file(/home/user/oframe_7/volume_DEFVOL/SYS1.PROCLIB/CD) not found]
JCLNAME="ABC.jcl", JCLTYPE="MVS"

以下は、[-P]オプションを使用してエラーのないプロシージャを解析する例です。

$ mvsana -P ../SYS1.PROCLIB/TSTPROC/ABC
<JCL JCLNAME="ABC" JCLTYPE="MVS">
    <JOB JOBNAME="ABC">
        <STEP STEPNUMBER="1" STEPNAME="STEP1" PROCNAME="ABC" PROCTYPE="C" PROC_ID="1" FROM="../SYS1.PROCLIB/TSTPROC/ABC">
        </STEP>
    </JOB>
</JCL>

以下は、[-f]、[-ri]、[-rp]オプションを使用してJCLを解析する例です。

$ mvsana -f ./ABC.jcl -ri ../SYS1.PROCLIB -rp ../SYS1.PROCLIB
<ERROR SOURCE="./ABC.jcl">
    <ERROR_TYPE CODE="3" ST_LINE="2" END_LINE="2" FROM="/home/user/oframe_7/volume_DEFVOL/SYS1.JCLLIB/ABC.jcl">
        <MESSAGE STRING="Message:syntax error"/>
    </ERROR_TYPE>
    <ERROR_TYPE CODE="2" ST_LINE="39" END_LINE="39">
        <MISSING TYPE="PROCEDURE" NAME="IKJEFT" STEPNAME="STEP02" FROM="/home/user/oframe_7/volume_DEFVOL/SYS1.JCLLIB/ABC.jcl">
            <MESSAGE STRING="39 : IKJEFT IS NOT FOUND."/>
        </MISSING>
    </ERROR_TYPE>
</ERROR>

5. mspana

mspanaは、MSP JCL、プロシージャを解析するツールです。

特定のファイルを解析して、ファイルに構文エラーがないかチェックし、構文エラーがある場合は、エラーの発生箇所と原因を表示します。

mspanaツールは、OpenFrame Batch for MSPシステムでのみ使用できます。

使用方法

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

$ mspana [options] FILE_PATH
  • [options]

    オプション 説明

    [-N | --normal]

    mspanaの基本フォーマットで解析結果を表示します。

    [-C | --csv]

    CSVフォーマットで解析結果を表示します。

    [-P | --Procedure file]

    プロシージャ・ファイルを指定する場合に使用します。

    [-E | --ERROR]

    FILE_PATH.errにエラーを出力します。

    [-d <directory-name> | --directory <directory-name>]

    インストリーム・データ・ファイルが存在するディレクトリを指定します。

    [-p <directory-name> | --procedure <directory-name>]

    プロシージャが存在するディレクトリを指定します。

    [-e <filepath> | --error <filepath>]

    エラーを出力するファイルのパスを指定します。

    [-pgm <program-name> | --pgm_sysin <program-name>]

    SYSINデータを取得する場合にそのプログラムを指定します。

    [--sysin-path-for-sort <filepath>]

    指定したファイル・パスからソート・ステップのSYSINデータセットを検索してデータセットのレコードを含めて出力します。

  • 入力項目

    項目 説明

    FILE_PATH

    解析するファイルのパスを入力します。

使用例

以下は、mspanaツールを使用してMSP JCLを解析した結果を表示する例です。基本フォーマット、CSVフォーマット、およびXMLフォーマット(オプションを省略した場合)で解析結果を表示しています。

$ cat TESTJOB.jcl
//TESTJOB  JOB
//STEP01   EXEC PGM=KDJBR14
//DEL0TE01 DD   DSN=TESTJOB.DATA.SDS01,DISP=(MOD,DELETE,DELETE)
//STEP02   EXEC PGM=KDJBR14
//CREATE01 DD   DSN=TESTJOB.DATA.SDS01,DISP=(NEW,CATLG,DELETE),
//         VOL=SER=DEFVOL,DCB=(LRECL=80,BLKSIZE=1040)
//
$ mspana -N TESTJOB.jcl
JCLNAME="TESTJOB.jcl", JCLTYPE="MSP"
    JOBNAME="TESTJOB"
        STEPNAME="STEP01", PGMNAME="KDJBR14"
            DDNAME="DEL0TE01", DSNAME="TESTJOB.DATA.SDS01", DISP="(MOD,DELETE,DELETE)"
        STEPNAME="STEP02", PGMNAME="KDJBR14"
            DDNAME="CREATE01", DSNAME="TESTJOB.DATA.SDS01", DISP="(NEW,CATLG,DELETE)", DCB="(LRECL=80,BLKSIZE=1040)", VOLUME="DEFVOL"

$ mspana -C TESTJOB.jcl
TESTJOB.jcl,MSP,,1,TESTJOB,,STEP01,1,KDJBR14,"",DEL0TE01,TESTJOB.DATA.SDS01,"(MOD,DELETE,DELETE)",,,,,,,,,,,,"",,,"","",,,
TESTJOB.jcl,MSP,,1,TESTJOB,,STEP02,1,KDJBR14,"",CREATE01,TESTJOB.DATA.SDS01,"(NEW,CATLG,DELETE)",,,,,,,,,,,,"(LRECL=80,BLKSIZE=1040)",,,"","",,DEFVOL,

$ mspana TESTJOB.jcl
<JCL JCLNAME="TESTJOB.jcl" JCLTYPE="MSP">
    <JOB JOBNAME="TESTJOB">
        <STEP STEPNUMBER="1" STEPNAME="STEP01" PGMNAME="KDJBR14">
            <DD DDNAME="DEL0TE01" DSNAME="TESTJOB.DATA.SDS01" DISP="(MOD,DELETE,DELETE)"/>
        </STEP>
        <STEP STEPNUMBER="2" STEPNAME="STEP02" PGMNAME="KDJBR14">
            <DD DDNAME="CREATE01" DSNAME="TESTJOB.DATA.SDS01" DISP="(NEW,CATLG,DELETE)" DCB="(LRECL=80,BLKSIZE=1040)" VOLUME="DEFVOL"/>
        </STEP>
    </JOB>
</JCL>

以下は、[-P]オプションを使用して構文エラーのないプロシージャを解析する例です。

$ cat TESTPROC
//TESTPROC   PROC
//PRSTEP01   EXEC PGM=KEQEFT01,DYNAMNBR=25,REGION=2048K
//SYSPRINT   DD   TERM=TS,SYSOUT=A
//SYSIN      DD   TERM=TS
//
$ mspana -P TESTPROC
<JCL JCLNAME="TESTPROC" JCLTYPE="MSP">
    <JOB JOBNAME="TESTPROC">
        <STEP STEPNUMBER="1" STEPNAME="STEP1" PROCNAME="TESTPROC" PROCTYPE="C" PROC_ID="1">
        </STEP>
        <STEP STEPNUMBER="2" STEPNAME="PRSTEP01" PGMNAME="KEQEFT01" PARENT_PROC_ID="1">
            <DD DDNAME="SYSPRINT" SYSOUT="A"/>
            <DD DDNAME="SYSIN"/>
        </STEP>
    </JOB>
</JCL>

6. xspana

xspanaは、XSP JCLを解析するツールです。

特定のファイルを解析して、ファイルに構文エラーがないかチェックし、構文エラーがある場合は、エラーの発生箇所と原因を表示します。

xspanaツールは、OpenFrame Batch for XSPシステムでのみ使用できます。

使用方法

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

$ xspana [options] FILE_PATH
  • [options]

    オプション 説明

    [-N | --normal]

    xspanaの基本フォーマットで解析結果を表示します。

    [-C | --csv]

    CSVフォーマットで解析結果を表示します。

    [-d <directory-name> | --directory <directory-name>]

    インストリーム・データ・ファイルが存在するディレクトリを指定します。

    [-p | --parameters]

    マクロ入力パラメータを指定します。

    [-m | --macro-directory]

    MACRO文、SYSIN文のディレクトリを指定します。

    [-E | --ERROR]

    FILE_PATH.errにエラーを出力します。

    [-e <filepath> | --error <filepath>]

    指定したファイル・パスにエラーを出力します。

    [-exp <filepath> | --expand <filepath>]

    指定したファイル・パスにマクロが拡張されたJCLを出力します。

  • 入力項目

    項目 説明

    FILE_PATH

    解析するファイルのパスを入力します。

使用例

以下は、xspanaの使用例です。[-N] : normal、[-C] : CSV、[デフォルト] : XMLオプションを使用してJCLを解析しています。

$ cat TESTJOB.jcl
\ JOB TESTJOB
\STEP1 EX PGM1
\ FD OUT1=DA,FILE=(DUMMY,AD),DISP=CONT
\STEP2 EX TMAXSOFT
\ FD OUT2=DA,SOUT=A
\ JOB JOB2
\ SYSIN UNIT=A,FILE=SYSINTEST

以下は、SYSIN文に記述されているSYSINTESTファイルです。

$cat SYSINTEST
\ EX PGM2
\ FD IN1=*
/ PRINT
/FIN
\*

以下は、[-N]オプションを使用してJCLを解析する例です。JCLに記述されているSYSINファイル(SYSINTEST)が見つからず、エラーメッセージを表示しています。

$ xspana -N TESTJOB.jcl
Syntax Error [Line:7 ;Column: ;Keyword: ;Message:SYSIN file(SYSINTEST) not found]

以下は、[-m]オプションを使用してSYSINファイルが見つからない問題を解決した例です。例では、SYSINTESTファイルが現在のディレクトリに格納されています。

$ xspana -m $PWD -N TESTJOB.jcl
JCLNAME="TESTJOB.jcl", JCLTYPE="XSP"
        JOBNAME="TESTJOB"
            STEPNAME="STEP1", PGMNAME="PGM1"
                DDNAME="OUT1", DSNAME="DUMMY", DISP="MOD", UNIT="DA"
            STEPNAME="STEP2", PGMNAME="TMAXSOFT"
                DDNAME="OUT2", DISP="OLD", SYSOUT="A", UNIT="DA"
        JOBNAME="JOB2"
            STEPNAME="", PGMNAME="PGM2"
                DDNAME="IN1", DISP="OLD"
                    | / PRINT
                    | /FIN

以下は、[-C]オプションを使用してJCLを解析する例です。

$ xspana -m $PWD -C TESTJOB.jcl
TESTJOB.jcl,XSP,,1,TESTJOB,,STEP1,1,PGM1,,OUT1,DUMMY,MOD,,,,,,,,,,,,,,,,,DA,,
TESTJOB.jcl,XSP,,1,TESTJOB,,STEP2,1,TMAXSOFT,,OUT2,,OLD,,,,,,,,,,,,,,,,A,DA,,
TESTJOB.jcl,XSP,,1,JOB2,,,1,PGM2,,IN1,,OLD,,,,,,,,,,,,,,,,,,,JOB2__IN1
$ xspana -m $PWD TESTJOB.jcl
<JCL JCLNAME="TESTJOB.jcl" JCLTYPE="XSP">
    <JOB JOBNAME="TESTJOB">
        <STEP STEPNAME="STEP1" PGMNAME="PGM1">
            <DD DDNAME="OUT1" DSNAME="DUMMY" DISP="MOD" UNIT="DA"/>
        </STEP>
        <STEP STEPNAME="STEP2" PGMNAME="TMAXSOFT">
            <DD DDNAME="OUT2" DISP="OLD" SYSOUT="A" UNIT="DA"/>
        </STEP>
    </JOB>
    <JOB JOBNAME="JOB2">
        <STEP STEPNAME="" PGMNAME="PGM2">
            <DD DDNAME="IN1" DISP="OLD">
                <![CDATA[
/ PRINT
/FIN
                ]]>
            </DD>
        </STEP>
    </JOB>
</JCL>

以下は、マクロファイルのMACTESTの例です。

$cat MACTEST
/EXPAN DEFINE MAC1,A=
\ JOB JOB1
\ EX \A
\ JEND
/ DEFEND

以下は、[-p]オプションを使用してマクロ・パラメータを入力し、JCLを解析する例です。

$xspana -p A=PGM3 MACTEST
<JCL JCLNAME="MACTEST" JCLTYPE="XSP">
    <JOB JOBNAME="JOB1">
        <STEP STEPNAME="" PGMNAME="PGM3">
        </STEP>
    </JOB>
</JCL>

以下は、SW文が含まれたJCLを解析する例です。SW文のパラメータの内容を出力しますが、実際にどのFDを参照しているかは解析しません。

以下は、SW文が含まれたJCLです。

\ JOB SWJOB
\ EX *
\ FD U02=DA,FILE=TMAXSOFT.DS
\ FD U03=DA,FILE=TMAXSOFT.DS2
\ EX *
\ FD U00=DA,FILE=TEST.DS
\ SW U02=U03,VOL=(VOL1,VOL2,VOL3),FILE=TMAXSOFT.DS3,STEP=1
\ JEND

以下は、xspanaの実行結果です。

$xspana SWJOB
<JCL JCLNAME="I330943B" JCLTYPE="XSP">
    <JOB JOBNAME="SWJOB">
        <STEP STEPNAME="" PGMNAME="*">
            <DD DDNAME="U02" DSNAME="TMAXSOFT.DS" DISP="SHR" UNIT="DA"/>
            <DD DDNAME="U03" DSNAME="TMAXSOFT.DS2" DISP="SHR" UNIT="DA"/>
        </STEP>
        <STEP STEPNAME="" PGMNAME="*">
            <DD DDNAME="U00" DSNAME="TEST.DS" DISP="SHR" UNIT="DA"/>
            <SW FDNAME="U03" TARGET_FD="U01" VOL="(VOL1,VOL2,VOL3)" FILE="TMAXSOFT.DS3" STEP="1"/>
        </STEP>
    </JOB>
</JCL>
DISPの出力内容

以下は、DISPの出力内容です。(「〃」は同上、「-」は内容なし)

条件 1 条件 2 (FILEサブパラメータ) 条件 3 条件 4 DISPステータス

FILEサブパラメータ

OT

領域割り当てパラメータの指定

-

NEW

領域割り当てパラメータの未指定

-

OLD

AD

領域割り当てパラメータの指定

領域割り当てパラメータの最初のサブパラメータ値が「/」

MOD

領域割り当てパラメータの最初のサブパラメータ値がOLD

MOD

その他 (「/」または「OLD」でない場合)

NEW

領域割り当てパラメータの未指定

-

MOD

FA

-

-

FA

領域割り当てパラメータの指定

-

領域割り当てパラメータの最初のサブパラメータ値が「/」

-

MOD

-

領域割り当てパラメータの最初のサブパラメータ値がOLD

-

MOD

-

その他

-

NEW

その他

-

DISPパラメータのうち、LOCK、DLT、CAT、UNCATを指定

-

OLD

-

その他

-

SHR

7. ofconfig

ofconfigは、OpenFrameの環境設定を管理するためのツールです。

OpenFrame 7.1からは、環境設定値はデータベースで管理され、実行環境では各ノードのTCacheに保存されます。環境設定値は、サブジェクト、セクション、キーで構成されます。ofconfigのコマンドで設定値が変更される場合は、TCacheのサーバーによって自動的に同期されます。ただし、OpenFrameの機能を使用せずにユーザーが直接データベースにアクセスして変更した場合は、変更を適用するためにLOADコマンドを実行する必要があります。ofconfigのdeleteコマンドで設定値を削除する場合は、データベースに保存されている該当するキーの環境設定値が完全に削除されるので、使用する際に注意が必要です。

使用方法

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

Usage: ofconfig command [options]
  • 入力項目

    項目 説明

    command

    • ADD : 新しい環境設定を追加します。

    • LIST : 環境設定を表示します。

    • UPDATE : 環境設定を変更します。

    • IMPORT : 環境設定のダンプ・ファイルを一括でインポートします。同じキーにすでに設定値がある場合は変更されます。

    • EXPORT : 環境設定をダンプ・ファイルにエクスポートします。

    • LOAD : 環境設定をTCacheに適用します。

    • TRUNCATE : 保存されたすべての環境設定値を削除します。

    • DELETE : 指定するキーの環境設定値を削除します。

  • [options]

    以下は、command項目に指定したコマンドごとに使用できるオプションについての説明です。

    • ADD

      オプション 説明

      [-n nodename]

      ノード名を指定します。

      [-s subject]

      サブジェクトを指定します。

      [-sec section]

      セクションを指定します。

      [-k key]

      キーを指定します。

      [-t type]

      データ型を指定します。

      • 1 : Yes, No

      • 2 : 文字列

      • 3 : 整数型

      [-d default_value]

      デフォルト値を指定します。

      [-v value]

      値を指定します。

      [-a avail_value]

      指定可能な値を指定します。

      [-desc description]

      説明を記述します。

    • LIST

      オプション 説明

      [-n nodename]

      表示するノード名を指定します。

      [-s subject]

      表示するサブジェクトを指定します。

      [-sec section]

      表示するセクションを指定します。

      [-k key]

      表示するキーを指定します。

      [-l long_format]

      詳細情報を表示します。

    • UPDATE

      オプション 説明

      [-n nodename]

      ノード名を指定します。

      [-s subject]

      変更するサブジェクトを指定します。

      [-sec section]

      変更するセクションを指定します。

      [-k key]

      変更するキーを指定します。

      [-v value]

      変更する値を指定します。

      [-desc description]

      変更する説明を指定します。

    • IMPORT

      オプション 説明

      [-f file]

      インポートするファイルを指定します。

    • EXPORT

      オプション 説明

      [-n nodename]

      設定値を読み込むノード名を指定します。

      [-f file]

      エクスポートするファイルを指定します。

    • TRUNCATE

      オプション 説明

      [-n nodename]

      設定を初期化するノード名を指定します。

    • DELETE

      オプション 説明

      [-n nodename]

      設定を削除するノードを指定します。

      [-s subject]

      設定を削除するサブジェクトを指定します。

      [-sec section]

      設定を削除するセクションを指定します。

      [-k key]

      設定を削除するキーを指定します。

使用例

以下は、NODE1に新しい環境設定値を定義する例です。OpenFrameの環境設定のdsサブジェクトのDATASET_DEFAULTセクションのDEFAULT_VOLSERキーの値としてDEFVOLを割り当てています。

$ ofconfig add -n NODE1 -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER -t 2 -d DEFVOL -v DEFVOL -desc "default volume serial."

以下は、NODE1の環境設定値を表示する例です。

$ ofconfig list -n NODE1 -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER

=====================================================================================
   SUBJECT   |        SECTION        |          KEY          |         VALUE
=====================================================================================
     ds      |    DATASET_DEFAULT    |     DEFAULT_VOLSER    |         DEFVOL
=====================================================================================

以下は、NODE1の環境設定値を変更する例です。

$ ofconfig update -n NODE1 -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER -v 100001

以下は、NODE1の環境設定値を削除する例です。

$ ofconfig delete -n NODE1 -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER

環境設定の詳細項目については、OpenFrame Base『環境設定ガイド』を参照してください。

8. oferror

oferrorは、OpenFrameで発生するエラー番号、エラー・コード、エラー・メッセージを表示するか、新規エラー・コードを追加するツールです。複数のエラー・コードを検索するときは、検索するエラーをスペースで区切って記述します。

使用方法

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

Usage: oferror [ERRORNO]|[insert [-p path]]
  • 入力項目

    項目 説明

    ERRORNO

    表示するエラー番号を指定します。

    insert [-p path]

    追加するエラー・メッセージ・ファイルのパスを指定します。

使用例

以下は、エラー番号 -1002に該当するエラー情報を検索する例です。

$ oferror -1002
/*
/* error no  : -1002
/* error code: TSAM_ERR_DUPLICATE_KEY
/* error msg : duplicate key
/*

以下は、存在しないエラー・コードを検索した場合の表示例です。

$ oferror 23132
Not defined error no: 23132

以下は、エラー・コードを追加する例です。

$ oferror insert –p errcode_base.msg

9. offile

offileは、OpenFrameのすべてのモジュールのバージョン・トラッキングを行うためのツールです。

以下のように、バージョン情報とビルド情報の出力機能を提供します。

  • モジュールのバージョン情報

    モジュールのバージョン情報は、以下の形式でstdout(standard output)に出力されます。

    {major}.{minor}.{patch}(module build number)
  • モジュールのビルド情報

    モジュールのビルド情報は、以下の形式でstdout(standard output)に出力されます。

    {id}{hostname}/{source tree}(#{product build number}) {date} {time}
使用方法

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

Usage: offile module1 [module2 ...]
  • 入力項目

    項目 説明

    module1

    特定のモジュールのバージョン情報とビルド情報をstdoutに出力します。

    [module2 …​]

    2つ以上のモジュールのバージョン情報とビルド情報を一度に出力します。

使用例

以下は、$OPENFRAME_HOME/binディレクトリでOpenFrame/Batchモジュールのtjesmgrのバージョン情報とビルド情報を出力する例です。

$ offile ${OPENFRAME_HOME}/bin/tjesmgr
tjesmgr version 7.1.0(0), tmax@tgumdev:oframe_7_1_src/batch(#2) 2019-10-21 10:47:37

以下は、$OPENFRAME_HOME/binディレクトリでモジュール名が「ana」で終わる全モジュールのバージョン情報とビルド情報を出力する例です。

$ offile *ana
ikjana version 7.1.0(0), tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
mspana version 7.1.0(0), tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
mvsana version 7.1.0(0), tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42

10. ofversion

ofversionは、ユーザーが現在ログインして使用しているフラットフォームにインストールされているOpenFrameサブ製品の種類とバージョンを表示するツールです。

使用方法

ofversionツールはパラメータなしで実行します。

Usage: ofversion
使用例

以下は、OpenFrame/Baseのみインストールされているフラットフォームでofversionを実行した例です。

$ ofversion
ofversion version 7.1.0(0) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
Print OpenFrame Version Information

OpenFrame Solution is Composed of
- OpenFrame/Base 7.1 64bit
- OpenFrame/Batch MSP 7.1 64bit
- OpenFrame/TACF 7.1 64bit

11. tacflogin

tacfloginは、OpenFrameユーザー情報の重複入力を防止し、便利にログインできるようにするツールです。

OpenFrameを使用するユーザー認証のために、コマンドラインや設定ファイルにユーザー・パスワードの入力が必要な場合があります。ユーザー情報の重複入力を防ぐために、tacfloginはユーザーID、グループ名、パスワードのユーザー情報が有効であるかを確認して暗号化した後、tacfloginを実行したシェルのTACFPASS環境変数に設定されたパスに保存します。TACFPASS環境変数を設定していない場合は、UNIXユーザーのホーム・ディレクトリに暗号化ファイルを保存します。OpenFrameはTACFPASS環境変数に設定されたパスに保存されたユーザー情報を復号化して、TACFにアクセスする際に使用します。

tacfloginを介してログインした場合、ユーザーがtacfloginを使用してログアウトするまではログイン状態が維持されます。つまり、tacfloginでログインした後、tacfloginでログアウトするまでは、多数のSSHセッションが存在してもログイン状態が解除されません。

ログインが必要なOpenFrameモジュールは、ユーザーのホーム・ディレクトリに保存されているユーザー情報を読み込んだライブラリを介してTACFにアクセスします。tacfloginによってユーザー情報が保存されていない場合は、ユーザーから対話型でユーザー情報を要求します。

tacfloginのログイン処理は、以下の手順で行われます。

  • [-i]オプションと一緒にユーザーID、グループ名、パスワードを入力してtacfloginにログイン処理します。

  • ユーザーがユーザーID、グループ名、パスワードを直接入力してログイン処理します。ただし、OpenFrame環境設定のsafサブジェクトのAUTH_OPTIONセクションのASKGRPNMキーのVALUE項目の値がNOの場合は、ユーザーからグループ名を要求しません。

下の図は、OpenFrameモジュールがtacfloginツールが保存したユーザー情報を使用する手順を示したものです。

figure tacflogin flow
OpenFrameモジュールがtacfloginで保存したユーザー情報を使用するプロセス
使用方法

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

Usage: tacflogin [options]
  • [options]

    オプション 説明

    [-i]

    -iUSERID[GROUPNAME]/PASSWORDの形式でログインに使用されるユーザー情報を指定します。ログイン情報の「GROUPNAME」を指定しない場合は、ユーザーにグループ名の入力を要求します。

    グループ名を省略する場合は、-iUSERID[]/PASSWORDの形式で指定します。この場合、TACFにアクセスするグループ名は、TACFユーザーの作成時に設定されたデフォルト・グループになります。

    [-o]

    ログアウトする際に使用します。ユーザー情報は削除されます。

    [-l]

    現在ログインしているIDを表示します。

    [-h]

    tacfloginの使用方法を表示します。

    no option

    オプションを何も指定しない場合、対話型でユーザー情報を要求します。

使用例

以下は、ユーザーIDに「TEST01」を指定し、パスワードに「abcde」を指定した例です。

$ tacflogin -iTEST01/abcde
Input GROUPNAME :
Logged-in as [TEST01]

12. 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

13. vtamadm

vtamadmは、システムの起動後、データベースに保存されているVTAMリソース情報を表示するツールです。

使用方法

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

OpenFrame VTAM Admin Tool
Usage: vtamadm [options1]
options1:
    -l                  Display active LU list of VTAM
    -d                  Display resource list of VTAM
    -w                  Display VTAM Gateway list
    -f {gateway name}   Remove VTAM Gateway information from DB forcely
                        Warning: Be careful to use this option !!
    -r {LU}             Remove active LU of VTAM specified forcely
                        Warning: Be careful to use this option !!
    -h                  Display this information
    -v                  Display version information
  • [options1]

    オプション 説明

    [-l]

    現在接続している端末の情報を表示します。

    [-f] {gateway name}

    指定したゲートウェイの情報をデータベースから削除します。

    [-w]

    運用中のOpenFrame GWの情報を表示します。

    [-d]

    VTAMリソース情報を表示します。

    [-r] {LU}

    現在接続している端末を強制的に切断します。

    [-h]

    ツールのヘルプを表示します。

    [-v]

    ツールのバージョン情報を表示します。

    [-r] {LU}オプションは、ネットワークの障害状況で端末の情報が異常な場合にのみ使用することを推奨します。

使用例

以下は、vtamadmツールを使用してリソース情報を表示する例です。

$ vtamadm -d
VTAM IP-LU mapping resource Information

========================================================================================
PORT   IPGROUP           RANGE(BEGIN..END)                   IP
----------------------------------------------------------------------------------------
18100  IPGPAY            B:192.168.33.1    E:192.168.34.255

========================================================================================
PORT   GROUP TYPE        GROUP NAME  RANGE(BEGIN..END..RULE)             LU
----------------------------------------------------------------------------------------
18100  LUGROUP           LUGRP       B:OIVPTRM1  E:OIVPTRM9  R:FFFFFFFN

========================================================================================
PORT   GROUP TYPE        GROUP NAME  RANGE(BEGIN..END..RULE)             LU
----------------------------------------------------------------------------------------
18100  DEFAULTLUS                    B:TCP00081  E:TCP00099  R:FFFFFFNN

========================================================================================
PORT   MAP TYPE      LUGROUP         CLIENT ID       DEFAULT APPLID      OPTIONS
----------------------------------------------------------------------------------------
18100  LUMAP         LUGRP           IPGPAY          IMSA                SPECIFIC

========================================================================================

以下は、vtamadm -lを使用して現在接続されている端末の情報を表示する例です。USERID項目には、サインオンしているユーザーIDが表示されます。

$ vtamadm -l
Active LU information connected to VTAM

==========================================================================================================
NO.  LU        TYPE          CLID       NODENAME         IP_ADDR           LOGON_REGION    USERID
----------------------------------------------------------------------------------------------------------
  1  OSC00001  OSC REGION               NODE1
  2  OIVPTRM1  IBM-3278-2-E  5          NODE1            192.168.33.33     OSC00001        ROOT
  3  TSO       TSO                      NODE1
==========================================================================================================

14. vtamcmd

vtamcmdは、ユーザーが入力したVTAMコマンドを解析し、解析されたコマンドを実行するツールです。

使用方法

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

OpenFrame VTAM Command Execution Tool
Usage: vtamcmd [options]
Options:
    -c <VTAM command>   Specify VTAM command and options
    -h                  Display this information
    -v                  Display version information
Example:
$ vtamcmd -c 'DISPLAY NET,TERMS'
$ vtamcmd -c 'VARY NET,ACT,ID=TESTTRM1'
$ vtamcmd -c 'VARY NET,INACT,ID=TESTTRM1'
$ vtamcmd -c 'CLEAR NET,INACT,ID=TESTTRM1'
  • [options]

    オプション 説明

    [-c <VTAM command>]

    VTAMコマンドを指定します。

    • DISPLAY NET : 現在VTAMに登録されている端末や端末グループの状態を表示します。

    • VARY NET : 特定の端末を有効または無効にします。

    • CLEAR NET : DISPLAY NETコマンドにより表示されるリストの中で特定の端末または端末グループの情報を削除します。

    [-h]

    ツールのヘルプを表示します。

    [-v]

    ツールのバージョン情報を表示します。

14.1. DISPLAY NET

現在VTAMに登録されている端末や端末グループの状態を表示します。省略形(D)も使用できます。

使用方法
-+-DISPLAY-+-NET-,TERMS-
 '-D-------'
使用例

以下は、端末TESTTRM1が無効になっている状態を示す例です。

vtamcmd -c 'DISPLAY NET,TERMS'
1. INACT ID LIST
=========================================================================================
NO.  ID              TYPE            STATUS
-----------------------------------------------------------------------------------------
1    TESTTRM1        LU              INACT
=========================================================================================

2. ACT ID LIST
=========================================================================================
NO.  ID              TYPE            STATUS
-----------------------------------------------------------------------------------------
=========================================================================================
DISPLAY COMMAND COMPLETE

14.2. VARY NET

特定の端末を有効または無効にします。端末を無効にした場合、その端末からの入力はサーバーに送信されません。省略形(V)も使用できます。

使用方法
-+-VARY-+-NET-+-,ACT---+-,ID=termid-
 '-V----'     '-,INACT-'
オペランド 説明

ACT | INACT

端末や端末グループを有効または無効にします。

termid

有効または無効にする端末または端末グループの名前を指定します。

使用例

以下は、TESTTRM1端末を無効にする例です。

vtamcmd -c 'VARY NET,INACT,ID=TESTTRM1'

端末TESTTRM1が接続されている状態で上記のコマンドを使用すると、端末の接続が切断されます。

14.3. CLEAR NET

DISPLAY NETコマンドにより表示されるリストの中で特定の端末または端末グループの情報を削除します。CLEAR NETにより削除された端末または端末グループは有効になります(端末はデフォルトで有効な状態です)。省略形(CL)も使用できます。

DISPLAYコマンドによって出力される端末または端末グループのみをCLEARコマンドで削除できます。

使用方法
-+-CLEAR-+-NET-+-,ACT---+-ID=termid-
 '-CL----'     '-,INACT-'
オペランド 説明

ACT | INACT

削除する端末や端末グループが有効化または無効化リストのいずれに含まれているかを選択します。

termid

削除する端末または端末グループの名前を指定します。

使用例

以下は、無効な端末のTESTTRM1の情報を削除し、有効にする例です。

vtamcmd -c 'CLEAR NET,INACT,ID=TESTTRM1'

以下は、無効な端末グループのLUGRP1の情報を検索して削除し、有効にする例です。

vtamcmd -c 'DISPLAY NET,TERMS'
1. INACT ID LIST
=========================================================================================
NO.  ID              TYPE            STATUS
-----------------------------------------------------------------------------------------
1    LUGRP1          LUGRP           INACT
=========================================================================================

2. ACT ID LIST
=========================================================================================
NO.  ID              TYPE            STATUS
-----------------------------------------------------------------------------------------
=========================================================================================
DISPLAY COMMAND COMPLETE
vtamcmd -c 'CLEAR NET,INACT,ID=LUGRP1'

15. vtamdump

vtamdumpは、VTAMデータベースに保存されているVTAMリソース情報をファイルに出力するツールです。

使用方法

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

VTAM Definition Dump Utility

Usage: vtamdump [<file>]
     | vtamdump [-h | -v]

<file>   Specify output file name

    -h      Display this information
    -v      Display version information
  • 入力項目

    項目 説明

    file

    VTAMリソース情報を出力するファイルを指定します。

  • [options]

    オプション 説明

    [-h]

    ツールのヘルプを表示します。

    [-v]

    ツールのバージョン情報を表示します。

16. vtamgen

vtamgenは、BEGINVTAMマクロをコンパイルしてVTAMデータベースに情報を保存するツールです。

BEGINVTAMマクロの使用方法については、OpenFrame GW『管理者ガイド』の「LUの自動割り当て」を参照してください。

使用方法

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

VTAM Definition Generator
Usage: vtamgen <file>
     | vtamgen [options]
<file>      Specify definition script file
Options:
  -h            Display this information
  -v            Display version information
  • 入力項目

    項目 説明

    file

    BEGINVTAM文が定義されているテキスト・ファイルを指定します。

  • [options]

    オプション 説明

    [-h]

    ツールのヘルプを表示します。

    [-v]

    ツールのバージョン情報を表示します。

17. vtamrgadm

vtamrgadmは、VTAM DBのリージョン・マップ関連のリソースを出力および管理するツールです。

使用方法

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

Openfram VTAM Region Map Admin Tool
Usage: vtamrgadm [options1]
  -l                  Display VTAM region map list
  -t                  Truncate VTAM region map table
  -d <name>           Remove VTAM region map resource using name
  -i                  Insert VTAM region map resource by USER
  -h                  Display this information
  -v                  Display version information
  • [options1]

    オプション 説明

    [-l]

    リージョン・マップ関連のVTAMリソース情報を出力します。

    [-t]

    DBに保存されているリージョン・マップ関連のすべてのVTAMリソースを削除します。

    [-d] {name}

    DBから指定したVTAMリソースを削除します。

    [-i]

    ユーザーから情報を入力してもらい、VTAM DBにリソースを登録します。

    [-h]

    プログラムの詳細な使用方法を出力します。

    [-v]

    vtamrgadmツールのバージョン情報を表示します。

使用例

以下は、vtamadm -iを使用してユーザーから情報を入力してもらい、VTAMリソースを登録する例です。

$ vtamrgadm -i
Enter NAME (max 8 chars): X240
Enter APPLID (max 8 chars): AIM
Enter RGMAP (max 512 chars): LOGON AIM,,X240

以下は、vtamrgadm -lを使用して現在保存されているリージョン・マップ関連のVTAM DB情報を出力する例です。

$ vtamrgadm -l

 VTAM REGION ALIAS infomation

=====================================================================================================================
 NO.  NAME        TYPE       FORMAT       APPLID          RGMAP                         LAST_UPDT_TIME
---------------------------------------------------------------------------------------------------------------------
  1   AIM                                 AIM         LOGON AIM,,                   2024/08/27 06:19:29.105740
  2   OIVP                                TTTT        LOGON AIM,,OIVPPROC           2024/08/14 01:37:58.932119
  3   X240                                AIM         LOGON AIM,,X240               2024/08/27 06:19:10.837054
=====================================================================================================================