4 SMC ユーティリティー

この章では、次の SMC ユーティリティーについて説明します。

  • 統合ユーザーインタフェース (SMCUUUI)

    このユーティリティーを使用すると、HSC 統合ユーザーインタフェース (UUI) コマンド、VTCS コマンド、SMC コマンドをバッチジョブから発行できます。

  • POLicy および TAPEREQ バッチテストユーティリティー (SMCUTRQ)

    このユーティリティーを使用すると、POLicy および TAPEREQ 検索動作をテストできます。

  • テープ管理抽出ユーティリティー (SMCUDBX)

    このユーティリティーは、SMC クライアントホストと HSC CDS との間のスクラッチ同期をサポートします。

  • UUI シミュレーションユーティリティー (SMCUSIM)

    このユーティリティーを使用すると、テスト環境で SMC UUI コマンドを発行できます。SMC コマンド設定、テープポリシー、割り当てユーザー出口に対する変更は、本番環境に適用する前にテストでき、既存の SMC クライアントおよび HSC サーバーに影響を与えません。

  • トレースフォーマットユーティリティー (SMCUGTF)

    このユーティリティーは、SMC クライアントホストと HSC CDS との間のスクラッチ同期をサポートします。

  • VSM コンソール SMF オフロードユーティリティー (SMCUSMF)

    このユーティリティーを使用すると、VSM コンソールサーバーから SMF レコードをオフロードできます。

HSC および VTCS ユーティリティーとは異なり、すべての SMC ユーティリティーは、スタンドアロンユーティリティープログラムとしてパッケージ化されています。SMC オペレータコマンドの使用時は SMC ユーティリティーは起動されません。

SMC ユーティリティーのリターンコードおよびメッセージ

次の表では、SMC ユーティリティーのリターンコードについて説明します。

表4-1 SLUADMIN リターンコード

リターンコード
説明

0

すべてのユーティリティー機能は正常に完了しました。

4

少なくとも 1 つのユーティリティー機能で障害が発生したが、そのユーティリティー機能、または後続のユーティリティー機能は終了しませんでした。

8

少なくとも 1 つのユーティリティー機能で、そのユーティリティー機能の続行を妨げるエラーが発生したが、制御文で表された後続のユーティリティー機能はすべて試行されました。

12

ユーティリティー機能の開始を妨害したか、アクティブなユーティリティー機能を終了し、その後のユーティリティー機能の処理を妨害した、いずれかのエラーが検出されました。


SMC ユーティリティーで返される可能性のある SMC メッセージのリストについては、『ELS メッセージおよびコード』を参照してください。これらのメッセージは、SMCU 接頭辞で識別されます。

統合ユーザーインタフェースユーティリティー (SMCUUUI)

SMCUUUI ユーティリティーを使用すると、バッチジョブから SMC および HSC の統合ユーザーインタフェース (UUI) コマンドや VTCS 要求を発行できます。これらのコマンドは、ローカルまたはリモートの HSC TapePlex にルーティングできます。

UUI コマンドでは、次のようなさまざまな出力を受信できます。

  • プレーンテキスト出力

    このタイプの出力は、TEXTOUT に書き込まれ、HSC や VTCS コマンドまたはレポートユーティリティーで生成される通常の出力に相当します。HSC または VTCS レポートでプレーンテキスト出力が要求された場合、UUI はレポートの見出しを生成しません。

  • 構造化 XML

    このタイプの出力は、XMLOUT に書き込まれます。構造化 XML は、XML ヘッダータグ、XML データタグ要素、および XML データ要素の内容を含む整形式 XML データストリームです。SMC、HSC、および VTCS XML タグの名前およびタイプの完全なリストについては、『ELS プログラミングリファレンス』を参照してください。

  • カンマ区切り値 (CSV)

    この出力タイプはオプションであり、CSV コマンドが指定されている場合にのみ生成されます。詳細は、CSV コマンドを参照してください。

    このタイプの出力は、CSVOUT に書き込まれます。XML データタグ名の入力テンプレートは、特定の要求に対応する CSVOUT の形式を定義します。それぞれの要求に対する出力データでは、要求された XML データタグのコンマ区切りリストを含む CSV ヘッダー行のあとに、CSV 詳細行があります。CSV の各詳細行には、要求された XML データタグごとに 1 つのエントリがコンマで区切られて含まれています。このタイプの出力は、スプレッドシートまたはカスタマイズされたレポートライターへの入力に簡単に流用できます。CSV を指定するための形式の詳細は、『ELS プログラミングリファレンス』を参照してください。

受信する出力のタイプは、SMCUUUI ユーティリティーを実行するために JCL 内で定義されたデータセット定義文 (DD) で制御されます。

注:

  • 通常、CSV 出力に対してエラーメッセージは生成されません。UUI プロセスで生成されたエラーメッセージを表示するには、TEXTOUT または XMLOUT DD 文のどちらかを含める必要があります。

  • SMCUUUI ユーティリティーが、SORT を含む可能性のあるユーティリティー機能 (VOLRPTMVCRPT など) を、リモート TapePlex に送信している場合は、単一の SMC HTTP サーバーで同時に実行するこれらのジョブの数を制限するよう注意する必要があります。正確な数は、HTTP サーバーを稼働している SMC の領域サイズと、処理されるデータ量により異なります。

JCL の例

次に、SMCUUUI ユーティリティーを実行する JCL の例を示します。

例4-1 SMCUUUI ユーティリティーを実行する JCL

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI,PARM=’pgmparms’
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//STDOUT   DD DSN=yourstd.printout.dataset,DISP=SHR
//UUIIN    DD *
 CSV and uui commands
//******************************************************************
//* Specify at least one of the following output data sets:        *
//******************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR

パラメータ

JCL の例では、次の SMCUUUI ユーティリティーパラメータを pgmparms に指定できます。

SSYS(subsystem-name)

SMC サブシステム名を指定します (1 から 4 文字の長さ)。

TAPEPlex(name)

UUI コマンドの送信先の SMC TapePlex の名前を指定します。省略した場合、最初に見つかったアクティブな TapePlex が使用されます。

入力コマンドが TapePlex ではなく SMC に直接発行されるよう指定には、TAPEPlex(SMC) を使用します (SMC Display VolumeDisplay DRive コマンドなど)。

XMLCASE

XML および CSV 出力におけるアルファベットのデータフィールドの大文字と小文字を指定します。有効な大文字と小文字の書式は次のとおりです。

  • M は大文字と小文字の混在を示します。これがデフォルトです。

  • U は大文字を示します。

XMLDate(format)

XML および CSV 出力でのデータフィールドの書式を指定します。有効な日付書式は次のとおりです。

  • YYYYMONDD

  • YYYY-MM-DD

  • YYYY-MON-DD

  • HEXSTCK (16 進数文字 STCK 書式)

デフォルトの書式は yyyymondd です。たとえば、2005Oct14 です。

NOHDR

オプションで、STDOUT および TEXTOUT レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDRLINECNT は相互に排他的です。

LINECNT

オプションで、STDOUT および TEXTOUT レポートのページ区切り行数設定を指定します。LINECNTNOHDR は相互に排他的です。

nn はページあたりの行数です。有効な値は 10 - 99 です。

注:

STDOUT レポート見出しおよびページ区切りの設定は、EXEC 文のプログラムパラメータでのみ指定できます。TEXTOUT レポートの見出しの設定は、最初に、EXEC 文のプログラムパラメータで指定されますが、あとから UUIIN コマンドストリームで TEXTOUT UUI 制御文を指定して変更できます。

例:

次の図では、EXEC 文のプログラム PARM=’LINECNT(55)’ が、STDOUTTEXTOUT の両方の出力に対し、レポートのページ区切りをページあたり 55 行に設定しています。

ただし、UUIIN コマンドストリームの UUI コマンド TEXTOUT NOHDR では、レポートヘッダーおよびページ区切りを無効にするように、TEXTOUT レポートパラメータが変更されています。

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI,PARM=’LINECNT(55)’
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//UUIIN    DD *
  TEXTOUT NOHDR
  UUI commands
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR
NOCC

オプションで、プリンターのキャリッジ制御を含めないよう指定します。このオプションを選択した場合、入力されていないページには、指定した LINECNT に合わせ空白行が付加されます。

必須データセット定義 (DD) 文

このセクションでは、データセットについて説明します。

UUIIN データセット

UUIIN データセット定義を指定する必要があります。UUIIN データセットには次の内容が含まれます。

  • SMCUUUI ユーティリティーの制御文

  • SDD コマンド (SDD コマンドを参照)。

  • SMC UUI コマンド

  • HSC UUI コマンド

  • VTCS PGMI 要求

ネイティブ SMC UUI コマンドには次のものがあります。

  • Display DRive

  • Display Volume

  • POLicy

  • SIMulate

サポートされている HSC UUI コマンドおよび VTCS PGMI 要求のリストについては、『ELS プログラミングリファレンス』を参照してください。

構文規則

次の構文規則が適用されます。

  • 入力は 80 バイトのカードイメージにする必要があります。

  • 実際のコマンド入力を含むことができるのは、80 バイトのカードイメージの 1 - 72 列のみです。73 - 80 の列は、必要に応じて順序番号として使用できます。

  • 1 - 72 列の空白以外の最後の文字が「+」である場合、論理コマンドは次の物理カードでも継続します。

  • コメントは「/*」で始まり (列 2 以降)、「*/」で終わります。

  • 最大の論理コマンド長は 32000 バイトです。

制御文

ユーティリティー制御文を使用すると、TEXTOUT 出力のレポートページ区切りが可能になり、後続の SMC、HSC、および VTCS の UUI および PGMI コマンドに合わせてターゲットの TapePlex を変更できます。

PLEXDest

オプションで、後続のコマンドの送信先 TapePlex を、指定した tapeplex-name に設定します。PLEXDest 制御文の実行後、後続の SMC、HSC、または VTCS コマンドの実行中に通信エラーが発生すると、別の PLEXDest 制御文が実行されるまで、後続の SMC、HSC、VTCS コマンドすべてがバイパスされます。

tapeplex-name は、後続のコマンドに対するターゲットシステムの TapePlex 名です。

SMC」を指定した場合、後続のコマンドはすべて SMC UUI コマンドであるとみなされ、シミュレートされた SMC 環境に送信されます。

有効な HSC TapePlex (SMC TAPEPlex コマンドを通じて定義) が指定された場合、後続のコマンドはすべて HSC または VTCS コマンドであるとみなされ、シミュレートされた SMC 環境を通じて、指定の tapeplex-name に送信されます。

TEXTOUT

オプションで、TEXTOUT 出力のレポートページ区切りパラメータを設定します。エラーが TEXTOUT コマンドで発生した場合、正しい TEXTOUT コマンドが行われるまで、後続の UUI コマンドはすべてバイパスされます。

  • NOHDR はオプションで、TEXTOUT レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDRLINECNT は相互に排他的です。

  • LINECNT(nn) はオプションで、TEXTOUT レポートのページ区切り行数設定を指定します。LINECNTNOHDR は相互に排他的です。

    nn はページあたりの行数です。有効な値は 10 - 99 です。

注:

  • STDOUT レポートの見出しとページ区切りの設定は、EXEC 文のプログラムパラメータでのみ指定できます。TEXTOUT レポートの見出しの設定は、最初に、EXEC 文のプログラムパラメータで指定されますが、あとから UUIIN コマンドストリームで TEXTOUT UUI 制御文を指定して変更できます。

  • 単一の UUI コマンドの前に、複数の TEXTOUT 文が入力された場合、最後の TEXTOUT 文が TEXTOUT レポートのページ区切りを制御します。

  • PLEXDest および TEXTOUT コマンドを CSV コマンドとともに指定して、送信先 TapePlex と、後続の UUI コマンドの CSV および TEXTOUT 出力特性を変更できます。CSV コマンドを参照してください。

次に、SMCUUUI パラメータの指定例を示します。

//yourstd JOB card
//STEP EXEC PGM=SMCUUUI
//UUIIN DD *
PLEXDEST SMC                      /* Statement #1 */
D DRIVE                           /* Statement #2 */
PLEXDEST HSCN                     /* Statement #3 */
DISPLAY SCRATCH                   /* Statement #4 */
PLEXDEST HSCQ                     /* Statement #5 */
DISPLAY SCRATCH                   /* Statement #6 */
...other JCL statements

この例は、次のように解釈されます。

  • Statement #1 は、後続のコマンドの送信先をローカル SMC サブシステムに設定します。

  • D DRIVE Statement #2 はローカル SMC サブシステムに送信されます。

  • Statement #3 は、後続のコマンドの送信先 TapePlex を TapePlex HSCN にリセットします。

  • DISPLAY SCRATCH Statement #4HSCN に送信されます。

  • Statement #5 は、後続のコマンドの送信先 TapePlex を HSCQ にリセットします。

  • 最後に、DISPLAY SCRATCH Statement #6HSCQ に送信されます。

次に、SMCUUUI パラメータの別の指定例を示します。

//yourstd JOB card//STEP EXEC PGM=SMCUUUI...other JCL statements//UUIIN DD *                      PLEXDEST HSCN                     /*Statement #1 */CSV ...csv parameters             /*Statement #2 */SCRATCH VOL ACT001-ACT002         /*Statement #3 */SCRATCH VOL PAY001-PAY002         /*Statement #4 */SCRATCH VOL REC001-REC002         /*Statement #5 */PLEXDEST HSCQ                     /*Statement #6 */SCRATCH VOL Q00001-Q00002         /*Statement #7 */CSV ...csv parameters             /*Statement #8 */DISPLAY SCRATCH                   /*Statement #9 */...other UUI commands...other JCL statements

この例は、次のように解釈されます。

  • Statement 1 は、後続のコマンドの送信先 TapePlex を TapePlex HSCN に設定します。

    HSCN が利用できない場合、または文 3 - 5 の処理中に通信エラーが発生した場合、次の PLEXDest コマンドが行われるまで (この例では文 6)、後続の UUI コマンドはバイパスされます。

  • 文 2 は、後続の UUI コマンドの CSV 出力パラメータを設定します。

    CSV コマンドでエラーが発生した場合、後続の有効な CSV コマンドが読み取られるまで、後続の UUI コマンドはすべてバイパスされます。この場合、statement #2CSV コマンドが無効であれば、文 3 - 5 がバイパスされるだけでなく、statement #7 もバイパスされます。Statement #6 はそのまま処理され、後続のコマンドを HSCQ に送信します。

  • Statement #8 は、statement #9 で使用するように新しい CSV 出力パラメータを設定します。

STDOUT データセット

STDOUT データセットは、SMCUUUI ユーティリティーが、各 UUI 要求の入力および最終完了コードを報告する場所です。STDOUT DD 文は必須ではありません。ただし、ユーティリティーエラーが発生しないように、この文を含めることをお勧めします。

出力データセット定義 (DD) 文

次のように、XMLOUTCSVOUT、または TEXTOUT 出力データセット定義文から少なくとも 1 つを指定する必要があります。

  • XMLOUT

    XMLOUT データセットは、次の例に示すように、SMCUUUI ユーティリティーが UUIIN コマンドに対応する構造化 XML 出力を出力する場所です。

    //yourstd JOB card
    //STEP EXEC PGM=SMCUUUI
    ...
    //UUIIN  DD *
    SCRATCH VOL(400720)
    //XMLOUT DD DSN=yourxml.output.dataset,DISP=SHR
    ...
    

    XMLOUT DD には次の出力が含まれます。

    <scratch request>
    <header>
    <hsc_version>7.2.0</hsc_version>
    <date>2008Apr19</date>
    <time>13:54:34</time>
    <host_name>MSPB</host_name>
    </header>
    <volume_data>
    <volser>400720</volser>
    <result>success</result>
    <reason>SLS0167I Volume 400720 successfully added to library as scratch
    </reason>
    </volume_data>
    </scratch_request>
    
  • CSVOUT

    CSVOUT データセットは、SMCUUUI ユーティリティーが、対応する CSV 形式を指定した、要求された UUIIN コマンドに対して、CSV 出力を書き込む場所です。コンマ区切り値 (CSV) 仕様の詳細は、『ELS プログラミングリファレンス』を参照してください。最大の論理 CSV 入力長は 4096 バイトです。

  • TEXTOUT

    TEXTOUT データセットは、SMCUUUI ユーティリティーがプレーンテキスト UUI 応答を出力する場所です。これは、ページおよび列の見出しが生成されないという点を除き、対応する SMC、HSC、または VTCS コマンドから受信される出力や、SLUADMIN または SWSADMIN ユーティリティーによって SLSPRINT DD に書き込まれる出力と同じです。このデータセットはオプションです

リモート UUI 入力および出力

新しい XAPI/UUI インタフェースは、リモート UUI 入力および出力をサポートします。このサポートを有効にするには、SDD コマンドを SMCUUUI ユーティリティーに含めます。

注:

リモート UUI 入力および出力は、NCSCOMM インタフェースを使用して要求することもできます。詳細は、ELS Programming Referenceを参照してください。

リモート UUI 入力

データセットは、サーバーに常駐している必要はなく、クライアントからリモートサーバーに転送され入力されます。

リモート UUI 入力は、コマンド行以外のソースからの大量の入力データを必要とするコマンドに必要です。コマンドには、VTCS CONFIgIMPORT、および MERGMFST が含まれます。

リモート UUI 出力

リモートコマンドは、サーバーに物理的に書き込まれるのではなく、要求側のクライアントに転送されて、そこで物理的に書き込まれる出力データセットを生成します。

リモート UUI 出力は、非テキスト、非 XML、非 CSV の出力データセットを生成するコマンドで必要です。コマンドには、VTCS EXPORT および MERGMFST が含まれます。

SDD コマンド

SDD コマンドは、その直後に続く「実際」の HSC または VTCS コマンドに関連付けられるように、入力または出力データセットを定義します。

次の例では、SDD コマンドは IMPORT コマンドに関連付けられていますが、後続の VTVRPT コマンドには関連付けられていません。

SDD DDNAME(MAININ) INPUT BINARY
IMPORT MANIFEST(MANIIN)
CSV FIELD(VOLSER,DATE_MIGRATED),BREAK(VTV_DATA)
VTVRPT VTV(SA2000-SA2999)

SDD コマンドは SLUADMIN または SMCUUUI ユーティリティーで使用できます。ただし、リモート UUI コマンドの実行は、SMCUUUI ユーティリティーのみがサポートしています。

構文

次の図は、SDD コマンドの構文を示しています。

図4-1 SDD コマンドの構文

図4-1 については、周囲のテキストで説明しています。
パラメータ
DDname(dddddddd)

コマンド行以外の追加入力を含むか、コマンドの完了時に出力データを含む、JCL DD の名前。

INput|OUTput

オプションで、DDname パラメータで指定されるデータセットが入力データセットか、出力データセットかを指定します。

INput は、コマンドへの非コマンド行入力を追加するために、データセットが読み取られるよう指定します。INputOUTput も指定されていない場合、これがデフォルトです。

OUTput は、コマンドによって生成される非 XML、非テキスト、非 CSV の出力にデータセットが書き込まれるよう指定します。

BInary|TEXT

オプションで、読み取られたり生成されるデータが、Binary (つまり非表示) 文字を含むか、SLSIN TEXT コマンドの形式になっているかを指定します。

TEXTINput パラメータとともに指定した場合、入力データが SLSIN 形式にするよう指定します。最初の 72 文字のみが読み取られ、継続文字を使用できます。コメント文は、後続の HSC または VTCS には渡されません。

BInaryTEXT も指定されていない場合、BInary がデフォルトです。

注:

SDD 制御文を VTCS CONFIG コマンドに関連付ける場合、TEXT を指定する必要があります。
MAXSIZE(nnnnnnnn)

オプションで、入力または出力ファイルの最大サイズ (K 単位) を指定します。MAXsize を指定しない場合、最大サイズに制限はありません。

CONFIg コマンドの例

SDD コマンドを使用しない場合、VTCS CONFIg コマンドは、SLUADMIN ユーティリティーでのみサポートされます。SDD コマンドを使用しない SLUADMIN では、SLUADMIN CONFIg は、SLSIN データセットの残りを読み取って、残りの入力カードが CONFIg 制御文であるとみなします。

SDD コマンドを使用すると、SMCUUUI または SLUADMIN ユーティリティーのどちらかの下で、VTCS CONFIg を指定できます。さらに、次の例に示すように、VTCS CONFIG コマンドのあとに、同じ入力ストリームでほかのコマンドを実行できます。

SLUADMIN:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SLUADMIN,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Optional UUI output definition DD(s)                       *
//**************************************************************
//SLSCSV   DD DSN=yourcsv.output.dataset,DISP=SHR
//SLSXML   DD DSN=yourxml.output.dataset,DISP=SHR
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//CONFIGIN DD DSN=your.config.dataset,DISP=SHR
//**************************************************************
//* Required SLUADMIN output and input DDs                     *
//**************************************************************
//SLSPRINT DD SYSOUT=A
//SLSIN    DD *
SDD DDNAME(CONFIGIN) INPUT TEXT
.CONFIG CDSLEVEL(V61ABOVE)
DISPLAY CLINK
/*

SMCUUUI:

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//CONFIGIN DD DSN=your.config.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(CONFIGIN) INPUT TEXT
CONFIG CDSLEVEL(V61ABOVE)
DISPLAY CLINK
/*

注:

  • CONFIGIN データセットは、CONFIg コマンドが読み取られる前に読み取られ、実行可能な転送処理向けに内部でパッケージ化されます。TEXT パラメータを指定すると、SLSIN のフォーマットが内部パッケージングの一部として解決されます (つまり、「+」で連結した文が解決されます)。

  • SDD コマンドエラーが発生した場合 (つまり、CONFIGIN DD が JCL にない、またはデータセットを読み取れない場合)、後続の CONFIg 文はバイパスされます。

  • 上記のいずれかの例において、SDD コマンド TEXT パラメータは、CONFIg コマンドに関連付けられたときに必要になります。SDD コマンド INPUT パラメータはデフォルトであり、省略できます。

IMPORT コマンドの例

SDD コマンドを使用しない場合、VTCS IMPORT コマンドは、SLUADMIN または SMCUUUI のどちらかのユーティリティーの下でのローカル処理でのみサポートされます。

次の例に示すように、SDD コマンドを使用すると、SMCUUUI ユーティリティーを使用してリモートサーバー上で VTCS IMPORT を実行できます。

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//MANIIN   DD DSN=your.manifest.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(MANIIN) MVCS(volser) INPUT BINARY
.IMPORT REPLACE=ALL MANIFEST(MANIIN)
/*

注:

  • MANIIN データセットは、IMPORT コマンドが読み取られる前に読み取られ、ネットワークで実行可能な転送処理向けに内部でパッケージ化されます。BINARY パラメータを使用すると、レコードイメージの転送処理になります。

  • 上記の例では、SDD コマンドの BINARY および INPUT の両方のパラメータがデフォルトであり、省略できます。

  • SDD コマンドを使用した同様の SLUADMIN ジョブを構築できますが、引き続きローカルでの実行に制限されます。SMCUUUI ユーティリティーのみが、リモートの UUI コマンドの実行をサポートします。

EXPORT コマンドの例

SDD コマンドを使用しない場合、VTCS EXPORT コマンドは、SLUADMIN または SMCUUUI のどちらかのユーティリティー下でのローカル処理でのみサポートされます。次の例に示すように、SDD コマンドを使用すると、SMCUUUI ユーティリティーを使用してリモートサーバー上で VTCS EXPORT を実行できます。

//jobname job (account),programmer,REGION=0M
//S1 EXEC  PGM=SMCUUUI,PARM=MIXED
//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR
//**************************************************************
//* Specify as least one of the following output definitions   *
//**************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD SYSOUT=A
//**************************************************************
//* SDD associated DD(s)                                       *
//**************************************************************
//MANIOUT  DD DSN=your.manifest.dataset,DISP=SHR
//**************************************************************
//* Required SMCUUUI input DD                                  *
//**************************************************************
//UUIIN    DD *
SDD DDNAME(MANIOUT) OUTPUT BINARY
EXPORT MVC(volser) MANIFEST(MANIIN)
/*

注:

  • MANIOUT データセットは、リモート出力が受信されるときに、クライアントに書き込まれます。ただし、MANIOUT DD は、EXPORT コマンドが読み取られる前に検証されます。

  • 上記の例では、SDD コマンドパラメータ OUTPUTEXPORT に対して指定する必要があります。ただし、BINARY はデフォルトであり、省略できます。

  • SDD コマンドを使用した同様の SLUADMIN ジョブを構築できますが、引き続きローカルの実行に制限されます。SMCUUUI ユーティリティーのみが、リモートの UUI コマンドの実行をサポートします。

MERGMST コマンドの例

次の例に示すように、MERGMFST プロセスは、SMCUUUI ユーティリティーで入力と出力の SDD コマンドの組み合わせを使用します。

//jobname job (account),programmer,REGION=0M//S1 EXEC  PGM=SMCUUUI,PARM=MIXED//STEPLIB  DD DSN=your.sea.linklib,DISP=SHR//**************************************************************//* Specify as least one of the following output definitions   *//**************************************************************//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR//TEXTOUT  DD SYSOUT=A//**************************************************************//* SDD associated DD(s)                                       *//**************************************************************//MANIIN   DD DSN=your.mergein.dataset1,DISP=SHR//         DD DSN=your.mergein.dataset2,DISP=SHR. . . //         DD DSN=your.mergein.datasetn,DISP=SHR//MANIOUT  DD DSN=your.mergeout.dataset,DISP=SHR//**************************************************************//* Required SMCUUUI input DD                                  *//**************************************************************//UUIIN    DD *SDD DDNAME(MANIIN) INPUT BINARYSDD DDNAME(MANIOUT) OUTPUT BINARY.MERGMFST MERGEIN(MANIIN) MERGEOUT(MANIOUT)/*

注:

  • MANIOUT データセットは、リモート出力が受信されるときに、クライアントに書き込まれます。ただし、MERGMFST コマンドが読み取られる前に MANIOUT DD は検証されます。

  • 上記の例では、SDD MANIOUT コマンドの OUTPUT パラメータを、MERGEOUT 関連 DD に対して指定する必要があります。ただし、BINARY はデフォルトであり、省略できます。

  • SDD コマンドを使用した同様の SLUADMIN ジョブを構築できますが、引き続きローカルの実行に制限されます。SMCUUUI ユーティリティーのみが、リモートの UUI コマンドの実行をサポートします。

POLicy および TAPEREQ バッチテストユーティリティー (SMCUTRQ)

SMCUTRQ ユーティリティーを使用すると、SMC テープポリシー検索をテストできます。このプログラムは、テープ割り当ておよびマウント処理中に SMC によって抽出される同じタイプの情報を含む制御カードを受け入れます。

制御カード上でジョブ名、ステップ名、プログラム名、およびほかの属性を入力したあと、このユーティリティーは、これらの属性をフォーマットし、シミュレートした特性を持つジョブであるかのように SMC サブシステムから SMC テープポリシー検索を要求します。

次に、ユーティリティーは、どのポリシーに一致したか、または TREQDef TAPEREQ 文がある場合はどれが特定の条件に一致していたかを示すレポートを生成します。TREQDef LIst コマンドで示されているように、現在アクティブな TREQDef ファイルにアクセスできる場合は、各検索に一致する実際の TAPEREQ 文が一覧表示されます。

SMCUTRQ ユーティリティーは、同じホスト上にあるアクティブな SMC サブシステムを必要とします。SMC がアクティブでない場合、エラーメッセージが生成され、プログラムが終了します。

JCL の例

SMC linklib のロードモジュール SMCUTRQ を実行して、レポートを生成します。次に、SMCUTRQ ユーティリティーを実行する JCL の例を示します。

例4-2 SMCUTRQ ユーティリティーを実行する JCL

//yourstd JOB card
//STEP    EXEC PGM=SMCUTRQ
//STEPLIB DD   DSN=your.sea.linklib,DISP=SHR
//STDOUT  DD   DSN=yourstd.printout.dataset,DISP=SHR
//SYSOUT  DD   SYSOUT=*
//SMCIN   DD   *
POL1 jobname stepname pgmname ddname nnnn yyyy/ddd mgmtclas
POL2 C volser dataset.name

制御カード

それぞれの TAPEREQ POLicy 検索では、少なくとも 1 つの制御カード (POL1) を入力する必要があり、オプションで、シミュレートするジョブステップ特性を指定して 1 つまたは 2 つの制御カード (POL2POL3) を入力できます。制御カードの形式は次のとおりです。

カード 1:

次の表は、制御カード 1 の情報を示します。

表4-2 制御カード 1 の情報


長さ
フィールド
形式

1

4

ID

POL1」必須識別子

6

8

jobname

1 - 8 文字の汎用でないジョブ名

15

8

stepname

1 - 8 文字の汎用でないステップ名

24

8

program name

1 - 8 文字の汎用でないプログラム名

33

8

ddname

1 - 8 文字の汎用でない DD 名

43

4

retention period

4 桁の保存期間

47

8

expiration date

yydddyyyyddd、または yyyy/ddd 形式の有効期限

56

8

management class

1 - 8 文字の汎用でない SMS 管理クラス名


カード 2:

次の表は、制御カード 2 の情報を示します。

表4-3 制御カード 2 の情報


長さ
フィールド
形式

1

4

ID

POL2」必須識別子

6

1

volume type

特定する場合は「S」、または特定しない場合は「N」(スクラッチ)

8

6

volume serial

6 文字の volser

15

44

data set name

44 文字の非 PDS MSP データセット名


カード 3:

次の表は、制御カード 3 の情報を示します。

表4-4 制御カード 3 の情報


長さ
フィールド
形式

1

4

ID

POL3」必須識別子

6

8

actual RECTECH

有効な記録技法

15

3

label type

SLNLALNSL の値

19

8

JCL esoteric

エソテリック名


注:

  • すべての変数長フィールドは左詰めにする必要があります。

  • 保存期間と有効期限のフィールドは相互に排他的です。両方を指定した場合は、保存期間が使用されます。

  • 管理クラスフィールドでは、返される SMS ACS MGMTCLAS をシミュレートでき、SMC SMSDEF MGMTPol(ALL) または (IDAX) ポリシーが指定されているとみなされます。SMC が一致するポリシー名を検出すると、残りのテープポリシー検索はバイパスされます。

  • 指定された管理クラス名に一致するポリシー名が見つからない場合、または管理クラスフィールドが指定されなかった場合、残りの入力基準を使用して一連の TAPEREQ 検索が実行されます。

  • 検索に重要ではない検索フィールドは無視できます。これは TAPEREQ 文で実際に使用する選択基準を調べて指定されます。ただし、相互に排他的ではないフィールドをすべて指定することをお勧めします。

  • 「POL1」制御カードは、入力フィールドがコード化されていない場合でも必要です。「POL2」「POL3」の制御カードはどちらもオプションです。

  • 複数セットの制御カードを入力できます。

入力例

次に、TAPEREQ 検索シナリオの例を示します。

例 1

次の例では、次の場合に行われる TAPEREQ 検索をシミュレートします。

  • DSN ABC.QUAL1.QUAL2.TEST の特定のボリューム 123456

  • DD MYTAPE1 に割り当てられ、ジョブ TSTNEWPG、ステップ STEP1、実行プログラム TESTPGM の場合。

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1
POL2 S 123456 ABC.QUAL1.QUAL2.TEST

例 2

次の例では、次の場合に行われる TAPEREQ 検索をシミュレートします。

  • DSN ABC.QUAL1.QUAL2.TEST のスクラッチボリューム

  • DD MYTAPE1 に割り当てられ、99 日の保存期間

  • ジョブ TSTNEWPG、ステップ STEP1、実行プログラム TESTPGM の場合。

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1  0099
POL2 N        ABC.QUAL1.QUAL2.TEST

例 3

次の例では、次の場合に行われる TAPEREQ 検索をシミュレートします。

  • DSN ABC.QUAL1.QUAL2.TEST のスクラッチボリューム

  • DD MYTAPE1 に割り当て

  • ジョブ TSTNEWPG、ステップ STEP1、実行プログラム TESTPGM で、DFSMS ACS ルーチンが MCLASS01 の管理クラスを返す場合。

POL1 TSTNEWPG STEP1    TESTPGM  MYTAPE1  MCLASS01
POL2 N 123456 ABC.QUAL1.QUAL2.TEST

出力例

次の例は、SMCUTRQ ユーティリティーからの出力を示しています。

例4-3 SMCUTRQ ユーティリティーの出力

SMCUTRQ 7.2.0    SMC POLICY/TAPEREQ TEST
Time 11:25:49    POLICY/TAPEREQ Lookup Report

SMCU0019 SMC subsystem=SMC0

Card 0001: *OL1|JOBNAME |STEPNAME|PGMNAME |DDNAME |RETP|EXPDT |SMSMGMT
Card 0002: *OL2|T|VOLSER|DSN
Card 0003: POL1 ANYJOB   STEP1    TESTPGM  DD1
Card 0004: POL2 S 123456 ABC.QUAL1.QUAL2.TEST

TAPEREQ lookup keys:
        JOBname=ANYJOB   STEPname=STEP1    PROGname=TESTPGM DDname=DD1
        VOLType=S        VOLSer=123456     DSN=ABC.QUAL1.QUAL2.TEST

        Lookup for POLICY         not matched
        Lookup for RECTECH/MEDIA  matched TREQDEF record 5
        Statement: TAPEREQ DSN(ABC.**.TEST) MEDIA(VIRTUAL)
        Lookup for SUBPOOL        not matched
        Lookup for ESOTERIC       not matched
        Lookup for MGMTCLAS       not matched
        Lookup for DEVTPREF       not matched

Card 0005: POL1 ANYJOB   ANYSTEP  ANYPGM   DD1
Card 0006: POL2 S 123456 ABC.D11.XYZ.ABC

TAPEREQ lookup keys:
        JOBname=ANYJOB   STEPname-ANYSTEP  PROGname=ANYPGM   DDname=DD1
        VOLType=S        VOLSer=123456     DSN=ABC.D11.XYZ.ABC

        Lookup for POLICY         not matched
        Lookup for RECTECH/MEDIA  matched TREQDEF record 10
        Statement: TAPEREQ DSN(**.XYZ.**) MEDIA(VIRTUAL)
        Lookup for SUBPOOL        not matched
        Lookup for ESOTERIC       not matched
        Lookup for MGMTCLAS       not matched
        Lookup for DEVTPREF       not matched

Processing complete; RC=0

テープ管理抽出ユーティリティー (SMCUDBX)

SMCUDBX ユーティリティーは、SMC クライアントホストと HSC CDS 間のスクラッチ同期をサポートします。共通のテープ管理システムインタフェース (SLUDR*) ルーチンを HSC と使用することで、SMC はクライアントテープ管理システムにアクセスして、HSC スクラッチ変換ユーティリティー (SLUCONDB) で入力として読み取り可能な抽出ファイルを生成します。

注:

これらのルーチンの詳細は、付録C テープ管理システムインタフェース (SLUDR*) ルーチンを参照してください。

次の図は、SMCUDBX プロセスを示しています。

図4-2 SMC クライアントホストと HSC CDS 間のスクラッチ同期

図4-2 については、周囲のテキストで説明しています。

クライアントとサーバーがテープ管理システムを共有している場合、共通のテープ管理システムデータベースを入力として使用して、HSC ユーティリティー SLUCONDB を直接実行できます。

ただし、クライアントホストに、HSC ホストにアクセスできないテープ管理システムがある場合、SMC ユーティリティー SMCUDBX を使用して、ラベルおよび日付パラメータを用いてテープ管理システムからスクラッチボリュームを抽出できます。SMCUDBX 出力はその後、HSC ホスト上で SLUCONDB ユーティリティーへの入力として使用できます。SMC プロセスでは、SMCUDBX 実行の GMT 時間を HSC CDS ボリュームレコードの最後の選択時間と比較することによってタイミングの同期をサポートします。SMC スクラッチ実行後にボリュームが選択された場合、SLUCONDB によるスクラッチの対象にはなりません。

SMC スクラッチ抽出ユーティリティーの実行

SMC がホスト上で稼働しているかどうかにかかわらず、SMC スクラッチ抽出ユーティリティーを実行できます。

SMCUDBX は、CA-1 テープ管理カタログ (TMC)、CA-DYNAM/TLMS ボリュームマスターファイル (VMF)、DFSMSrmm レポート抽出ファイル、または Zara データベースを処理し、JCL EXEC 文の PARM パラメータで指定された情報に基づいて処理するためのボリュームシリアル番号を選択します。

CA-1、CA-DYNAM/TLMS、および DFSMSrmm の場合、SMCUDBX は適切なテープ管理システムインタフェースルーチンを呼び出します。Zara の場合、SMCUDBXSLUDRZAR ルーチンを呼び出し、今度はこのルーチンがアプリケーションプログラミングインタフェース (API) を呼び出して、データベースを読み取ります。これらのルーチンから返されるデータは、SMC スクラッチ抽出ファイルのフォーマットに使用されます。これらのルーチンの詳細は、付録C テープ管理システムインタフェース (SLUDR*) ルーチンを参照してください。

インストールで別のテープ管理システムを使用する場合は、提供されている SLUDRCA1SLUDRRMMSLUDRTLMSLUDRSMCSLUDRTLM、または SLUDRZAR のいずれかの例をモデルとしてプログラムを開発するか、次の形式の抽出ファイルを生成する独自のプログラムを作成できます。

表4-5 テープ管理サブシステム抽出ファイルの形式

位置
フィールド
形式

1

Scratch volume

CL6

7

GMT of run

XL8

15

Unused

CL2


SMC スクラッチ抽出ファイルの時間フィールドは、MSP STCK マクロ出力の最初の 4 バイトの文字で表されます。たとえば、STCK マクロが X’B0912345 6789ABCD’ という結果を生成した場合、SMC 抽出の GMT フィールドには、文字値 C’B0912345’ が含まれます。

SMCUDBXSLUDRCA1SLUDRTLMSLUDRRMM、および SLUDRZAR はロードモジュールとして与えられます。これらのロードモジュールの現在バージョンは、CA-DYNAM/TLMS リリース 5.4 以上、CA-1 リリース 5.0 以上、DFSMSrmm 1.1、および Zara 1.2 で使用できます。ELS インストールテープの上の ELS MACLIB ファイルには、サンプルのソースコードが含まれています。

注:

  • テープ管理システムにローカルでの変更がある場合は、関連付けられている TMS のインタフェースルーチンを再アセンブルする必要があります。

  • テープ管理システムが CA-1 リリース 4.9 以下である場合は、SLUDRCA1 ルーチンを変更し再アセンブルする必要があります。このルーチンの変更および再アセンブルの詳細は、CA-1 リリース 4.9 以下での SMCUDBX の使用を参照してください。

  • テープ管理システムが Zara の場合、SMCUDBX ユーティリティーは、Zara API モジュール (ZARAAPI1) を含むデータセットにアクセスできる必要があります。このモジュールを LINKLIST に保存するか、モジュールを含んだライブラリをポイントする SMCUDBX JCL に、JOBLIB または STEPLIB DD 文を含めることができます。

  • 変更し再アセンブルするルーチンはすべて、非リエントラント (NORENT パラメータ) として、AMODE=24 および RMODE=24 と再リンクする必要があります。

CA-1 リリース 4.9 以下での SMCUDBX の使用

CA-1 リリース 4.9 以下で SMCUDBX を使用するには、SLUDRCA1 ルーチンを変更し再アセンブルする必要があります。アセンブル中、TMRECORD MACRO を含んだ CA-1 MACLIB にアクセスできる必要があります。

CA-1 リリース 4.9 の場合、次の手順を行います。

  1. 次の行の列 1 でアスタリスクを削除します。

    TMRECORD
    
  2. 次の行の列 1 にアスタリスクを追加します。

    TMMTMREC
    
  3. SLUDRCA1 ルーチンを再アセンブルします。

構文

SMCUDBX は、プログラムパラメータを使用して、呼び出すテープ管理システムインタフェース (SLUDR*) ルーチンと操作方法を指定します。これらのルーチンの詳細は、付録C テープ管理システムインタフェース (SLUDR*) ルーチンを参照してください。

SMCUDBX ユーティリティーの実行時に、JCL EXEC 文の PARM パラメータに対して次の値を指定できます。

注:

指定した順序でパラメータを入力し、省略したパラメータの代わりにカンマを含める必要があります。

次の図は、SMCUDBX ユーティリティーの構文を示しています。

図4-3 SMCUDBX PARM パラメータ構文

図4-3 については、周囲のテキストで説明しています。

パラメータ

PARM=

JCL の PGM パラメータで示されているプログラムから、後続のパラメータにアクセスできるよう指定します。

TMS

オプションで、CA-1 テープ管理システム (TMS) を指定します。これがデフォルトです。

TLMS

オプションで、TLMS: CA-DYNAM/TLMS テープ管理システムを指定します。

RMM

オプションで、DFSMSrmm テープ管理システムを指定します。

ZARA

オプションで、ZARA テープ管理システムを指定します。

SL

オプションで、スクラッチボリュームの選択に標準ラベルタイプを指定します。これがデフォルトです。

NL

オプションで、スクラッチボリュームの選択にラベルなしタイプを指定します。

AL

オプションで、スクラッチボリュームの選択に ANSI ラベルタイプを指定します。

NSL

オプションで、スクラッチボリュームの選択に非標準ラベルタイプを指定します。

SUL

オプションで、スクラッチボリュームの選択に標準ユーザーラベルタイプを指定します。

注:

次の日付関連パラメータは、ボリュームが TMC でスクラッチ化した日付または日付範囲を指定します。

日付関連パラメータ

次の日付関連パラメータは、ボリュームが TMC でスクラッチ化した日付または日付範囲を指定します。

1900001

オプションで、日付として 1900 年 1 月 1 日を指定します。これがデフォルトです。

TODAY

オプションで、現在のシステム日を示します。この日付にスクラッチステータスになったボリュームだけが処理されます。

yyyyddd1

オプションで、「開始」日付を示します。「終了」日付はデフォルトで現在のシステム日になります。指定する日付はすべてユリウス歴表記です。

yyyyddd1 の日から今日の日付までにスクラッチステータスになったすべてのボリュームが処理されます。

yyyyddd1-yyyyddd2

オプションで、ボリュームがスクラッチ化される日付範囲を示します。これらの日付のどちらも、現在のシステム日付よりもあとにすることはできません。

yyyyddd1 の日から yyyyddd2 の日までにスクラッチステータスになったボリュームがすべて処理されます。

zara-subsys-name

Zara テープ管理システムのサブシステム名を指定します。ここで zara-subsys-name は 4 文字の名前です。デフォルトのサブシステム名は ZARA です。

JCL の要件

次の定義が、SMCUDBX JCL に適用されます。

DBTMS

CA-1 TMS、CA-DYNAM/TLMS VMS、または DFSMSrmm レポート抽出ファイルの形式で、スクラッチ抽出ユーティリティーに入力します。この DD 文は Zara では必要ありません。

STDOUT

スクラッチ抽出ユーティリティーからメッセージを出力します。この DD 文は必須です。

DBEXTFIL

スクラッチ抽出ユーティリティーからの出力ファイル。DCB LRECL を指定した場合、16 バイト値を指定する必要があります。

Zara がテープ管理システムである場合、Zara API モジュールが MSP LINKLIST に存在するか、モジュールにアクセスするために次の JCL 文のいずれかを含める必要があります。

//STEPLIB DD DISP=SHR, DSN=your.zaraapi1.library
             DISP=SHR, DSN=your.tmsextract.library
//JOBLIB DD DISP=SHR, DSN=your.zaraapi1.library

次に、2003 年にスクラッチされたすべてのテープに対して CA-DYNAM/TLMS VMF を処理するためにスクラッチ抽出ユーティリティーを呼び出す JCL 例を示します。

例4-4 スクラッチ抽出ユーティリティーの JCL 例

//yourstd JOB card
//STEP0 EXEC PGM=SMCUDBX,PARM=’TLMS,,2003001-2003365’
//STEPLIB DD DISP=SHR,DSN=your.sea.linklib
// DD DISP=SHR,DSN=your.SLUDRxxx.linklib
//DBTMS DD DISP=SHR,DSN=your.tlms.database
//DBEXTFIL DD DISP=(NEW,KEEP),DSN=scratch.extract.file,
// SPACE=(TRK,(5,1)),UNIT=SYSDA
//STDOUT DD SYSOUT=*
/*

出力の説明

SMCUDBX 出力には次の内容が含まれます。

  • スクラッチ抽出処理を実行しようとして失敗した結果生じたエラー状況に関連したメッセージ

  • 処理中に発生したエラーまたはアクションを示すメッセージ

  • スクラッチ更新ユーティリティー制御文を含む出力データセット

次に、SMCUDBX ユーティリティーからの出力例を示します。

例4-5 スクラッチ抽出ユーティリティーの出力メッセージ例

SMCUDBX 7.2.0    SMC TMS DB SCRATCH EXTRACT                                     Page 0001
TIME 15:26:41                                                             Date 2015-08-14

Total records extracted for scratch volumes = 977

SMC UUI シミュレーションユーティリティー (SMCUSIM)

SMCUSIM ユーティリティーを使用すると、SMC SIMulate コマンドなどの SMC UUI コマンドをテスト環境で発行できます。SMC コマンド設定、テープポリシー、割り当てユーザー出口に対する変更は、本番環境に適用する前にテストでき、既存の SMC クライアントおよび HSC サーバーに影響を与えません。

SMCUSIM コードは、SMC サブシステムと同様に実行しますが、次の例外があります。

  • MSP SSI 割り当てインタフェースを初期化しません。

  • インターセプトを処理するコマンドやメッセージを設定しません。

  • CSA ストレージを処理に使用しません。

SMCUSIM ユーティリティーは、バッチプログラムを実行し、SMC クライアントの動作を妨げずに既存の SMC サブシステムと同じホスト上で実行できます。SMCUSIM 処理は 2 つのフェーズで行われます。

フェーズ 1 での処理

このフェーズでは、ユーティリティーは、SMC サブシステム起動ルーチンと同様に動作します。SMC モジュールがロードされ、SMCPARMS および SMCCMDS データセットが読み取られます。

SMC サブシステムの起動と同様に、SMCPARMS および SMCCMDS データセットはオプションです。ただし、SMCUSIM は、SMC サブシステムコマンドインターセプトを含まないので、このフェーズ中、テスト環境を設定するために必要なコマンドを指定する必要があります。

注:

  • SMCPARMS および SMCCMDS データセットに含めるコマンドについては、52 ページの「SMCCMDS または SMCPARMS データセットでの SMC コマンドの指定」のガイドラインに従ってください。

  • 個々のコマンドそれぞれの詳細は、第2章 SMC コマンド、ユーティリティー、および制御文を参照してください。

SMCUSIM ユーティリティーは、アクティブな SMC サブシステムであるかのように TAPEPLEX および SERVER コマンドを処理し、TCP/IP サービスが必要になる場合があります。したがって、Oracle の ELS ドキュメント『SMC の構成および管理』で説明している通信に関するセキュリティー管理上の考慮事項が適用されます。

次の SMC コマンドは、実際の SMC サブシステムまたは HSC サーバーと干渉する可能性があるので、SMCUSIM によって無効にされます。

  • CMDDef

  • HTTP

  • LOG

  • Route

これらのコマンドは、SMCPARMS または SMCCMDS データセットに含めることはできますが、ユーティリティーによって無視されます。

フェーズ 2 での処理

このフェーズでは、ユーティリティーは、SMCUUUI ユーティリティーと同様に UUIN データセットを読み取って処理しますが、SMC コマンドのみが許可される点が異なります。これらのコマンドは、SMCUSIM シミュレート環境を対象にし、実際の SMC サブシステムには影響はありません。

SMC SIMulate コマンド、またはその他の SMC コマンドを UUIN データセットに含めて、指定したパラメータを持つジョブが、フェーズ 1 で構成した SMCPARMS および SMCCMDS データセットを使用してどのように処理されるかをテストできます。HSC UUI コマンドは無効で、エラー状態のフラグが付けられます。次のような複数のタイプの出力を受信できます。

  • プレーンテキスト出力

    この出力タイプは、TEXTOUT に書き込まれ、SMC コマンドによって生成される通常の出力に対応します。

  • 構造化 XML

    このタイプの出力は、XMLOUT に書き込まれます。構造化 XML は、XML ヘッダータグ、XML データタグ要素、および XML データ要素の内容を含む整形式 XML データストリームです。特定の SMC コマンドのみが構造化 XML を生成しました。SMC XML タグ名およびタイプの完全なリストについては、『ELS プログラミングリファレンス』を参照してください。

  • カンマ区切り値 (CSV)

    このタイプの出力は、CSVOUT に書き込まれます。XML データタグ名の入力テンプレートは、特定の要求に対応する CSVOUT の形式を定義します。各要求に対する出力データでは、要求された XML データタグのコンマ区切りリストが含まれる CSV ヘッダー行のあとに CSV 詳細行があります。CSV の各詳細行には、要求された XML データタグごとに 1 つのエントリがコンマで区切られて含まれています。このタイプの出力は、スプレッドシートまたはカスタマイズされたレポートライターへの入力に簡単に流用できます。CSV を指定するための形式の詳細は、『ELS プログラミングリファレンス』を参照してください。

受信する出力のタイプは、SMCUSIM ユーティリティーを実行するために JCL 内で定義されたデータセット定義文 (DD) で制御されます。

JCL の例

次に、SMCUSIM ユーティリティーを実行する JCL の例を示します。

例4-6 SMCUSIM ユーティリティーを実行する JCL

//yourstd JOB card
//STEP EXEC PGM=SMCUSIM,PARM=’pgmparms’
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//         DD DISP=SHR,DSN=your.sea.exitlib
//***************************************************************************
//* The following data sets are input to phase 1 and are optional
//***************************************************************************
//SMCPARMS DD DISP=SHR,DSN=parmlib_name(parm_member_name)
//SMCCMDS  DD DISP=SHR,DSN=cmdlib_name(cmd_member_name)
//***************************************************************************
//* The following data set is required
//***************************************************************************
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//***************************************************************************
//* The following data set is input to phase 2 and is required
//***************************************************************************
//UUIIN    DD *
CSV and UUI commands
//***************************************************************************
//* At least 1 of the following data sets must be specified
//***************************************************************************
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR

パラメータ

JCL 例では、次の SMCUSIM ユーティリティーパラメータを pgmparms に指定できます。

SSYS(subsystem-name)

SMC サブシステム名を指定します (1 から 4 文字の長さ)。

TAPEPlex(name)

UUI コマンドの送信先の SMC TapePlex の名前を指定します。省略した場合、最初に見つかったアクティブな TapePlex が使用されます。

入力コマンドが TapePlex ではなく SMC に直接発行されるよう指定には、TAPEPlex(SMC) を使用します (SMC Display VolumeDisplay DRive コマンドなど)。

XMLCASE

XML および CSV 出力におけるアルファベットのデータフィールドの大文字と小文字を指定します。有効な大文字と小文字の書式は次のとおりです。

  • M は大文字と小文字の混在を示します。これがデフォルトです。

  • U は大文字を示します。

XMLDate(format)

XML および CSV 出力でのデータフィールドの書式を指定します。有効な日付書式は次のとおりです。

  • YYYYMONDD

  • YYYY-MM-DD

  • YYYY-MON-DD

  • HEXSTCK (16 進数文字 STCK 書式)

デフォルトの書式は yyyymondd です。たとえば、2005Oct14 です。

NOHDR

オプションで、STDOUT および TEXTOUT レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDRLINECNT は相互に排他的です。

LINECNT

オプションで、STDOUT および TEXTOUT レポートのページ区切り行数設定を指定します。LINECNTNOHDR は相互に排他的です。

nn はページあたりの行数を示します。有効な値は 10 - 99 です。

注:

STDOUT レポート見出しおよびページ区切りの設定は、EXEC 文のプログラムパラメータでのみ指定できます。TEXTOUT レポートの見出しの設定は、最初に、EXEC 文のプログラムパラメータで指定されますが、あとから UUIIN コマンドストリームで TEXTOUT UUI 制御文を指定して変更できます。

例:

次の図では、EXEC 文のプログラム PARM=’LINECNT(55)’ が、STDOUTTEXTOUT の両方の出力に対し、レポートのページ区切りをページあたり 55 行に設定しています。

ただし、UUIIN コマンドストリームの UUI コマンド TEXTOUT NOHDR は、レポートヘッダーおよびページ区切りを無効にするように、TEXTOUT レポートパラメータを変更します。

//yourstd JOB card
//STEP EXEC PGM=SMCUSIM,PARM=’LINECNT(55)’
//STEPLIB  DD DISP=SHR,DSN=your.sea.linklib
//         DD DISP=SHR,DSN=your.sea.exitlib
//SMCPARMS DD DISP=SHR,DSN=parmlib_name(parm_member_name)
//SMCCMDS  DD DISP=SHR,DSN=cmdlib_name(cmd_member_name)
//STDOUT   DD DISP=SHR,DSN=your.stdout.dataset
//UUIIN    DD *
  TEXTOUT NOHDR
  UUI commands
//CSVOUT   DD DSN=yourcsv.output.dataset,DISP=SHR
//XMLOUT   DD DSN=yourxml.output.dataset,DISP=SHR
//TEXTOUT  DD DSN=yourtext.output.dataset,DISP=SHR
MAXRC

指定したコマンドのリターンコードを超えたときに、SMCUSIM の初期化を終了させるかどうか指定します。MAXRC を指定しない場合、SMCPARMSSMCCMDS コマンドが失敗したかどうかにはかかわらず、SMCUSIM は常に初期化の実行を試みます。これがデフォルトの動作です。

nn はリターンコードの最大許容値を指定します。SMCPARMS または SMCCMDS データセットから実行された SMC コマンドがこの値を超えた場合、SMC0236 および SMC0237 メッセージが生成され、SMCUSIM ユーティリティーは、UUIIN DD からコマンドが読み取られる前に終了します。有効な値は、0、4、8、および 12 です。

注:

  • SMC サブシステム環境で使用できるが、SMCUSIM 環境では使用できない CMDDefHTTPLOGRoute などの特定の SMC コマンドは、指定しても SMCUSIM では無視され、MAXRC 処理に影響を与えません。

  • シミュレートした SMC サブシステムの起動の一部として実行されたコマンド (つまり、SMCPARMS および SMCCMDS データセットから読み取られたコマンド) だけが、MAXRC 処理の一部として評価されます。UUIIN DD から読み取られるコマンドで、指定した MAXRC 値よりも大きなリターンコードになるコマンドは、SMCUSIM ユーティリティーを自動的に終了しません。

PLEXRC

自動的に発行される RESYNC コマンドから返された TapePlexes のステータスに基づいて SMC サブシステムの初期化を終了するかどうか指定します。

PLEXRC を指定していない場合、SMC サブシステムは、RESYNC コマンドの結果には関係なく初期化を完了します。これがデフォルトの動作です。

nRESYNC コマンドからのリターンコードの最大許容値を指定します。有効な値は、0 および 4 です。

SMC RESYNC コマンドは、SMC がどの定義済み TapePlex とも通信できない場合は 8 のリターンコードを、SMC が (すべてではなく) 1 つ以上の定義済み TapePlex と通信できる場合は 4 のリターンコードを設定します。

NOCC

オプションで、プリンターのキャリッジ制御を含めないよう指定します。このオプションを選択した場合、入力されていないページには、指定した LINECNT に合わせ空白行が付加されます。

必須データセット定義 (DD) 文

UUIIN および STDOUT データセット定義を指定する必要があります。

UUIIN データセット

UUIIN データセットには次の内容を含めることができます。

  • SMC UUI コマンド

  • HSC UUI コマンド

  • VTCS PGMI 要求

ネイティブな SMC UUI コマンドには次のものがあります。

  • Display Drive

  • Display Volume

  • POLicy

  • SIMulate

サポートされている HSC UUI コマンドおよび VTCS PGMI 要求のリストについては、『ELS プログラミングリファレンス』を参照してください。

構文規則

次の構文規則が適用されます。

  • 入力は 80 バイトのカードイメージにする必要があります。

  • 実際のコマンド入力を含むことができるのは、80 バイトのカードイメージの 1 - 72 列のみです。73 - 80 の列は、必要に応じて順序番号として使用できます。

  • 1 - 72 列の空白以外の最後の文字が「+」である場合、論理コマンドは次の物理カードでも継続します。

  • コメントは「/*」で始まり (列 2 およびそれ以降)、「*/」で終わります。

  • 最大の論理コマンド長は 32000 バイトです。

制御文

ユーティリティー制御文を使用すると、TEXTOUT 出力のレポートページ区切りが可能になり、後続の SMC、HSC、および VTCS の UUI および PGMI コマンドに合わせてターゲットの TapePlex を変更できます。

TEXTOUT

オプションで、TEXTOUT 出力のレポートページ区切りパラメータを設定します。エラーが TEXTOUT コマンドで発生した場合、正しい TEXTOUT コマンドが行われるまで、後続の UUI コマンドはすべてバイパスされます。

  • NOHDR はオプションで、TEXTOUT レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDRLINECNT は相互に排他的です。

  • LINECNT(nn) はオプションで、TEXTOUT レポートのページ区切り行数設定を指定します。nn はページあたりの行数です。有効な値は 10 - 99 です。LINECNTNOHDR は相互に排他的です。

注:

  • STDOUT レポート見出しおよびページ区切りの設定は、EXEC 文のプログラムパラメータでのみ指定できます。TEXTOUT レポートの見出しの設定は、最初に、EXEC 文のプログラムパラメータで指定されますが、あとから UUIIN コマンドストリームで TEXTOUT UUI 制御文を指定して変更できます。

  • 単一の UUI コマンドの前に、複数の TEXTOUT 文が入力された場合、最後の TEXTOUT 文が TEXTOUT レポートのページ区切りを制御します。

  • PLEXDext および TEXTOUT コマンドを CSV コマンドとともに指定して、送信先 TapePlex と、後続の UUI コマンドの CSV および TEXTOUT 出力特性を変更できます。

STDOUT データセット

STDOUT データセットは、SMCUSIM ユーティリティーが UUIIN 要求ごとの入力および最終完了コードを報告する場所です。

SMCUSIM ユーティリティーの CSV 例

次の CSV 例では、指定したシミュレートされるジョブステップに対するテープポリシーの主要ソースの Y/N 値が表示されています。XML タグとその構造の完全なリストについては、『ELS プログラミングリファレンス』を参照してください。

csv field=(jobname,dsname,idax_matched_policy_flag,            +
idax_matched_tapereq_flag,idax_policy_esoteric_flag,           +
idax_storgrp_esoteric_flag,sms_info_flag,                      +
policy_info_flag,tapereq_info_flag,                            +
userexit_info_flag,owning_tapeplex),                           +
break(simulate_request) notitle fixed

トレースフォーマットユーティリティー (SMCUGTF)

SMCUGTF ユーティリティーは、「コンパクト」形式 (デフォルト形式) で作成された SMC GTF 出力を元の SMC トレース形式に変換します。

JCL の例

次に、SMCUGTF ユーティリティーを実行する JCL の例を示します。

例4-7 SMCUGTF ユーティリティーを実行する JCL

// yourstd jobcard
//STEP     EXEC PGM=SMCUGTF
//STEPLIB DD DSN=your.sea.linklib,DISP=SHR
//GTFIN DD DSN=your.compact.gtftrace.dsn,DISP=SHR
//GTFOUT DD DSN=your.formatted.gtftrace.dsn,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(space parameters)

注:

出力 GTF トレースに必要な領域は、COMPACT 入力ファイルのサイズの約 6 倍です。

VSM コンソール SMF オフロードユーティリティー (SMCUSMF)

SMC SMCUSMF ユーティリティーを使用すると、SMF レコードを VSM コンソールサーバーからオフロードできます。SMF レコードは、次の DCB 属性の z/OS データセットに置かれます。

  • recfm - VB

  • lrecl - 27990

  • blksize - 27994

これらの HSC/VTCS SMF レコードの詳細は、ELS ドキュメント『ELS プログラミングリファレンス』を参照してください。

JCL の例

次の JCL 例では、SMCUSMF ユーティリティーを実行します。

例4-8 SMCUSMF ユーティリティーを実行する JCL

//jobname JOB (account),REGION=0M
//S1 EXEC PGM=SMCUSMF,PARM='pgmparms'
//STDOUT DD SYSOUT=*
//SMCSMF DD DISP=SHR,DSN=yoursmf.output.dataset

パラメータ

JCL 例では、次の SMCUSMF ユーティリティーパラメータを pgmparms に指定できます。

NOHDR

オプションで、STDOUT レポートの見出しとページ区切りキャリッジ制御が生成されるよう指定します。

LINECNT(nn)

オプションで、STDOUT レポートのページ区切り行数設定を指定します。

nn はページあたりの行数を示します。有効な値は 10 - 99 です。

SERVer(ssss)

SMF レコードのオフロード元の VSM コンソールサーバーの名前を指定します。

ssss はサーバー名を指定します。指定したサーバーは、VSM コンソール TapePlex のアクティブサーバーである必要があります。SERVer は必須パラメータです。

BEGIN(begin-date:begin-time)

SMF レコード作成の期間の開始を指定します。これはサーバーの日付と時間です。

begin-date は、開始日を yyyymmdd の形式で表します。

yyyymmdd

開始日です。

TODAY

開始日として TODAY を指定します。

YESTERDAY

開始日として、YESTERDAY を指定します。

begin-time は、開始時間 (24 時間値) を hhmmss の形式で表します。開始時間の許容範囲は、000000 から 235959 です。デフォルト値は 000000 です。

END(end-date:end-time)

オプションで、SMF レコード作成の期間の終わりを指定します。これはサーバーの日付と時間です。

end-date は、終了日を yyyymmdd の形式で表します。

yyyymmdd

終了日です。

TODAY

終了日として TODAY を指定します。

YESTERDAY

終了日として YESTERDAY を指定します。

end-time は、終了時間 (24 時間値) を hhmmss の形式で表します。終了時間パラメータの許容範囲は、000000 から 235959 です。デフォルト値は 235959 です。

SMFTYPE(nnn)

オプションで、出力レコードに SMF レコードタイプを指定します。

nnn はレコードタイプを示します。有効な値は 128 から 255 です。デフォルトは 255 です。

必須データセット定義 (DD) 文

次の DD 文が必要になります。

STDOUT

SMCUSMF ユーティリティーはSTDOUT データセットで最終完了コードとエラーメッセージを報告します。

SMCSMF

SMCUSMF ユーティリティーは、SMF レコードを SMCSMF データセットに置きます。これは可変ブロックファイルです。DCB 属性は次のようにする必要があります。

DCB=(RECFM=VB,LRECL=27990,BLKSIZE=27994)

SMCUSMF の使用法

VSM コンソールの TapePlex が、2 台のサーバーで定義されており、各サーバーが、SMCUSMF の最後の実行以降、その TapePlex のアクティブサーバーとして機能してきた場合、次の手順を実行して、両方のサーバーからすべての SMF レコードを収集する必要があります。

SERVER1 がアクティブで SERVER2 が非アクティブの場合:

  1. SERVER(SERVER1) とともに SMCUSMF を実行します。

  2. SERVER1 を無効にします。

    SERVER NAME(SERVER1) DISABLE

    このコマンドは SERVER2 をアクティブにします。

  3. SERVER(SERVER2) とともに SMCUSMF を実行します。

  4. SERVER1 を再度有効にします。

    SERVER NAME(SERVER1) ENABLE

SERVER2 はアクティブのままですが、SERVER2 が非アクティブになっている場合は、SERVER1 がアクティブサーバーになる対象となります。SERVER1 を (必要に応じて) もう一度アクティブサーバーにするには、SERVER2 を無効にしてから、SERVER1 が TapePlex のアクティブサーバーになったあとで有効にします。