この章では、次の 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 ユーティリティーのリターンコードについて説明します。
リターンコード |
説明 |
---|---|
|
すべてのユーティリティー機能は正常に完了しました。 |
|
少なくとも 1 つのユーティリティー機能で障害が発生したが、そのユーティリティー機能、または後続のユーティリティー機能は終了しませんでした。 |
|
少なくとも 1 つのユーティリティー機能で、そのユーティリティー機能の続行を妨げるエラーが発生したが、制御文で表された後続のユーティリティー機能はすべて試行されました。 |
|
ユーティリティー機能の開始を妨害したか、アクティブなユーティリティー機能を終了し、その後のユーティリティー機能の処理を妨害した、いずれかのエラーが検出されました。 |
SMC ユーティリティーで返される可能性のある SMC メッセージのリストについては、『ELS メッセージおよびコード』を参照してください。これらのメッセージは、SMCU
接頭辞で識別されます。
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
を含む可能性のあるユーティリティー機能 (VOLRPT
、MVCRPT
など) を、リモート TapePlex に送信している場合は、単一の SMC HTTP サーバーで同時に実行するこれらのジョブの数を制限するよう注意する必要があります。正確な数は、HTTP サーバーを稼働している SMC の領域サイズと、処理されるデータ量により異なります。
次に、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
に指定できます。
SMC サブシステム名を指定します (1 から 4 文字の長さ)。
UUI コマンドの送信先の SMC TapePlex の名前を指定します。省略した場合、最初に見つかったアクティブな TapePlex が使用されます。
入力コマンドが TapePlex ではなく SMC に直接発行されるよう指定には、TAPEPlex(SMC)
を使用します (SMC Display Volume
や Display DRive
コマンドなど)。
XML および CSV 出力におけるアルファベットのデータフィールドの大文字と小文字を指定します。有効な大文字と小文字の書式は次のとおりです。
M
は大文字と小文字の混在を示します。これがデフォルトです。
U
は大文字を示します。
XML および CSV 出力でのデータフィールドの書式を指定します。有効な日付書式は次のとおりです。
YYYYMONDD
YYYY-MM-DD
YYYY-MON-DD
HEXSTCK
(16 進数文字 STCK
書式)
デフォルトの書式は yyyymondd
です。たとえば、2005Oct14
です。
オプションで、STDOUT
および TEXTOUT
レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDR
と LINECNT
は相互に排他的です。
オプションで、STDOUT
および TEXTOUT
レポートのページ区切り行数設定を指定します。LINECNT
と NOHDR
は相互に排他的です。
nn
はページあたりの行数です。有効な値は 10 - 99 です。
注:
STDOUT
レポート見出しおよびページ区切りの設定は、EXEC
文のプログラムパラメータでのみ指定できます。TEXTOUT
レポートの見出しの設定は、最初に、EXEC
文のプログラムパラメータで指定されますが、あとから UUIIN
コマンドストリームで TEXTOUT UUI
制御文を指定して変更できます。例:
次の図では、EXEC
文のプログラム PARM=’LINECNT(55)’
が、STDOUT
と TEXTOUT
の両方の出力に対し、レポートのページ区切りをページあたり 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
オプションで、プリンターのキャリッジ制御を含めないよう指定します。このオプションを選択した場合、入力されていないページには、指定した LINECNT
に合わせ空白行が付加されます。
このセクションでは、データセットについて説明します。
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 を変更できます。
オプションで、後続のコマンドの送信先 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
コマンドが行われるまで、後続の UUI コマンドはすべてバイパスされます。
NOHDR
はオプションで、TEXTOUT
レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDR
と LINECNT
は相互に排他的です。
LINECNT(
nn
)
はオプションで、TEXTOUT
レポートのページ区切り行数設定を指定します。LINECNT
と NOHDR
は相互に排他的です。
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 #4
は HSCN
に送信されます。
Statement #5
は、後続のコマンドの送信先 TapePlex を HSCQ
にリセットします。
最後に、DISPLAY SCRATCH
Statement #6
が HSCQ
に送信されます。
次に、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 #2
の CSV
コマンドが無効であれば、文 3 - 5 がバイパスされるだけでなく、statement #7
もバイパスされます。Statement #6
はそのまま処理され、後続のコマンドを HSCQ に送信します。
Statement #8
は、statement #9
で使用するように新しい CSV 出力パラメータを設定します。
STDOUT
データセットは、SMCUUUI
ユーティリティーが、各 UUI 要求の入力および最終完了コードを報告する場所です。STDOUT
DD 文は必須ではありません。ただし、ユーティリティーエラーが発生しないように、この文を含めることをお勧めします。
次のように、XMLOUT
、CSVOUT
、または 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 に書き込まれる出力と同じです。このデータセットはオプションです
新しい XAPI/UUI インタフェースは、リモート UUI 入力および出力をサポートします。このサポートを有効にするには、SDD
コマンドを SMCUUUI
ユーティリティーに含めます。
注:
リモート UUI 入力および出力は、NCSCOMM
インタフェースを使用して要求することもできます。詳細は、ELS Programming Referenceを参照してください。データセットは、サーバーに常駐している必要はなく、クライアントからリモートサーバーに転送され入力されます。
リモート UUI 入力は、コマンド行以外のソースからの大量の入力データを必要とするコマンドに必要です。コマンドには、VTCS CONFIg
、IMPORT
、および MERGMFST
が含まれます。
リモートコマンドは、サーバーに物理的に書き込まれるのではなく、要求側のクライアントに転送されて、そこで物理的に書き込まれる出力データセットを生成します。
リモート UUI 出力は、非テキスト、非 XML、非 CSV の出力データセットを生成するコマンドで必要です。コマンドには、VTCS EXPORT
および MERGMFST
が含まれます。
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
ユーティリティーのみがサポートしています。
コマンド行以外の追加入力を含むか、コマンドの完了時に出力データを含む、JCL DD の名前。
オプションで、DDname
パラメータで指定されるデータセットが入力データセットか、出力データセットかを指定します。
INput
は、コマンドへの非コマンド行入力を追加するために、データセットが読み取られるよう指定します。INput
も OUTput
も指定されていない場合、これがデフォルトです。
OUTput
は、コマンドによって生成される非 XML、非テキスト、非 CSV の出力にデータセットが書き込まれるよう指定します。
オプションで、読み取られたり生成されるデータが、Binary
(つまり非表示) 文字を含むか、SLSIN TEXT
コマンドの形式になっているかを指定します。
TEXT
を INput
パラメータとともに指定した場合、入力データが SLSIN
形式にするよう指定します。最初の 72 文字のみが読み取られ、継続文字を使用できます。コメント文は、後続の HSC または VTCS には渡されません。
BInary
も TEXT
も指定されていない場合、BInary
がデフォルトです。
注:
SDD
制御文を VTCS CONFIG
コマンドに関連付ける場合、TEXT
を指定する必要があります。オプションで、入力または出力ファイルの最大サイズ (K 単位) を指定します。MAXsize
を指定しない場合、最大サイズに制限はありません。
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
パラメータはデフォルトであり、省略できます。
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 コマンドの実行をサポートします。
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
コマンドパラメータ OUTPUT
を EXPORT
に対して指定する必要があります。ただし、BINARY
はデフォルトであり、省略できます。
SDD
コマンドを使用した同様の SLUADMIN
ジョブを構築できますが、引き続きローカルの実行に制限されます。SMCUUUI
ユーティリティーのみが、リモートの UUI コマンドの実行をサポートします。
次の例に示すように、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 コマンドの実行をサポートします。
SMCUTRQ
ユーティリティーを使用すると、SMC テープポリシー検索をテストできます。このプログラムは、テープ割り当ておよびマウント処理中に SMC によって抽出される同じタイプの情報を含む制御カードを受け入れます。
制御カード上でジョブ名、ステップ名、プログラム名、およびほかの属性を入力したあと、このユーティリティーは、これらの属性をフォーマットし、シミュレートした特性を持つジョブであるかのように SMC サブシステムから SMC テープポリシー検索を要求します。
次に、ユーティリティーは、どのポリシーに一致したか、または TREQDef TAPEREQ
文がある場合はどれが特定の条件に一致していたかを示すレポートを生成します。TREQDef LIst
コマンドで示されているように、現在アクティブな TREQDef
ファイルにアクセスできる場合は、各検索に一致する実際の TAPEREQ
文が一覧表示されます。
SMCUTRQ
ユーティリティーは、同じホスト上にあるアクティブな SMC サブシステムを必要とします。SMC がアクティブでない場合、エラーメッセージが生成され、プログラムが終了します。
それぞれの TAPEREQ POLicy
検索では、少なくとも 1 つの制御カード (POL1
) を入力する必要があり、オプションで、シミュレートするジョブステップ特性を指定して 1 つまたは 2 つの制御カード (POL2
、POL3
) を入力できます。制御カードの形式は次のとおりです。
カード 1:
次の表は、制御カード 1 の情報を示します。
列 |
長さ |
フィールド |
形式 |
---|---|---|---|
1 |
4 |
|
「 |
6 |
8 |
|
1 - 8 文字の汎用でないジョブ名 |
15 |
8 |
|
1 - 8 文字の汎用でないステップ名 |
24 |
8 |
|
1 - 8 文字の汎用でないプログラム名 |
33 |
8 |
|
1 - 8 文字の汎用でない DD 名 |
43 |
4 |
|
4 桁の保存期間 |
47 |
8 |
|
|
56 |
8 |
|
1 - 8 文字の汎用でない SMS 管理クラス名 |
カード 2:
次の表は、制御カード 2 の情報を示します。
列 |
長さ |
フィールド |
形式 |
---|---|---|---|
1 |
4 |
|
「 |
6 |
1 |
|
特定する場合は「 |
8 |
6 |
|
6 文字の volser |
15 |
44 |
|
44 文字の非 PDS MSP データセット名 |
カード 3:
次の表は、制御カード 3 の情報を示します。
列 |
長さ |
フィールド |
形式 |
---|---|---|---|
1 |
4 |
|
「 |
6 |
8 |
|
有効な記録技法 |
15 |
3 |
|
|
19 |
8 |
|
エソテリック名 |
注:
すべての変数長フィールドは左詰めにする必要があります。
保存期間と有効期限のフィールドは相互に排他的です。両方を指定した場合は、保存期間が使用されます。
管理クラスフィールドでは、返される SMS ACS MGMTCLAS
をシミュレートでき、SMC SMSDEF MGMTPol(ALL)
または (IDAX)
ポリシーが指定されているとみなされます。SMC が一致するポリシー名を検出すると、残りのテープポリシー検索はバイパスされます。
指定された管理クラス名に一致するポリシー名が見つからない場合、または管理クラスフィールドが指定されなかった場合、残りの入力基準を使用して一連の TAPEREQ
検索が実行されます。
検索に重要ではない検索フィールドは無視できます。これは TAPEREQ
文で実際に使用する選択基準を調べて指定されます。ただし、相互に排他的ではないフィールドをすべて指定することをお勧めします。
「POL1」
制御カードは、入力フィールドがコード化されていない場合でも必要です。「POL2」
と「POL3」
の制御カードはどちらもオプションです。
複数セットの制御カードを入力できます。
次に、TAPEREQ 検索シナリオの例を示します。
次の例では、次の場合に行われる TAPEREQ
検索をシミュレートします。
DSN ABC.QUAL1.QUAL2.TEST
の特定のボリューム 123456
DD MYTAPE1
に割り当てられ、ジョブ TSTNEWPG
、ステップ STEP1
、実行プログラム TESTPGM
の場合。
POL1 TSTNEWPG STEP1 TESTPGM MYTAPE1 POL2 S 123456 ABC.QUAL1.QUAL2.TEST
次の例は、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
ユーティリティーは、SMC クライアントホストと HSC CDS 間のスクラッチ同期をサポートします。共通のテープ管理システムインタフェース (SLUDR*
) ルーチンを HSC と使用することで、SMC はクライアントテープ管理システムにアクセスして、HSC スクラッチ変換ユーティリティー (SLUCONDB
) で入力として読み取り可能な抽出ファイルを生成します。
次の図は、SMCUDBX
プロセスを示しています。
図
クライアントとサーバーがテープ管理システムを共有している場合、共通のテープ管理システムデータベースを入力として使用して、HSC ユーティリティー SLUCONDB
を直接実行できます。
ただし、クライアントホストに、HSC ホストにアクセスできないテープ管理システムがある場合、SMC ユーティリティー SMCUDBX
を使用して、ラベルおよび日付パラメータを用いてテープ管理システムからスクラッチボリュームを抽出できます。SMCUDBX
出力はその後、HSC ホスト上で SLUCONDB
ユーティリティーへの入力として使用できます。SMC プロセスでは、SMCUDBX
実行の GMT 時間を HSC CDS ボリュームレコードの最後の選択時間と比較することによってタイミングの同期をサポートします。SMC スクラッチ実行後にボリュームが選択された場合、SLUCONDB
によるスクラッチの対象にはなりません。
SMC がホスト上で稼働しているかどうかにかかわらず、SMC スクラッチ抽出ユーティリティーを実行できます。
SMCUDBX
は、CA-1 テープ管理カタログ (TMC)、CA-DYNAM/TLMS ボリュームマスターファイル (VMF)、DFSMSrmm レポート抽出ファイル、または Zara データベースを処理し、JCL EXEC
文の PARM
パラメータで指定された情報に基づいて処理するためのボリュームシリアル番号を選択します。
CA-1、CA-DYNAM/TLMS、および DFSMSrmm の場合、SMCUDBX
は適切なテープ管理システムインタフェースルーチンを呼び出します。Zara の場合、SMCUDBX
は SLUDRZAR
ルーチンを呼び出し、今度はこのルーチンがアプリケーションプログラミングインタフェース (API) を呼び出して、データベースを読み取ります。これらのルーチンから返されるデータは、SMC スクラッチ抽出ファイルのフォーマットに使用されます。これらのルーチンの詳細は、付録C テープ管理システムインタフェース (SLUDR*) ルーチンを参照してください。
インストールで別のテープ管理システムを使用する場合は、提供されている SLUDRCA1
、SLUDRRMM
、SLUDRTLM
、SLUDRSMC
、SLUDRTLM
、または SLUDRZAR
のいずれかの例をモデルとしてプログラムを開発するか、次の形式の抽出ファイルを生成する独自のプログラムを作成できます。
SMC スクラッチ抽出ファイルの時間フィールドは、MSP STCK
マクロ出力の最初の 4 バイトの文字で表されます。たとえば、STCK
マクロが X’B0912345 6789ABCD’
という結果を生成した場合、SMC 抽出の GMT
フィールドには、文字値 C’B0912345’
が含まれます。
SMCUDBX
、SLUDRCA1
、SLUDRTLM
、SLUDRRMM
、および 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
を使用するには、SLUDRCA1
ルーチンを変更し再アセンブルする必要があります。アセンブル中、TMRECORD MACRO
を含んだ CA-1 MACLIB
にアクセスできる必要があります。
CA-1 リリース 4.9 の場合、次の手順を行います。
次の行の列 1 でアスタリスクを削除します。
TMRECORD
次の行の列 1 にアスタリスクを追加します。
TMMTMREC
SLUDRCA1
ルーチンを再アセンブルします。
SMCUDBX
は、プログラムパラメータを使用して、呼び出すテープ管理システムインタフェース (SLUDR*
) ルーチンと操作方法を指定します。これらのルーチンの詳細は、付録C テープ管理システムインタフェース (SLUDR*) ルーチンを参照してください。
SMCUDBX
ユーティリティーの実行時に、JCL EXEC
文の PARM
パラメータに対して次の値を指定できます。
注:
指定した順序でパラメータを入力し、省略したパラメータの代わりにカンマを含める必要があります。次の図は、SMCUDBX
ユーティリティーの構文を示しています。
JCL の PGM
パラメータで示されているプログラムから、後続のパラメータにアクセスできるよう指定します。
オプションで、CA-1 テープ管理システム (TMS) を指定します。これがデフォルトです。
オプションで、TLMS: CA-DYNAM/TLMS テープ管理システムを指定します。
オプションで、DFSMSrmm テープ管理システムを指定します。
オプションで、ZARA テープ管理システムを指定します。
オプションで、スクラッチボリュームの選択に標準ラベルタイプを指定します。これがデフォルトです。
オプションで、スクラッチボリュームの選択にラベルなしタイプを指定します。
オプションで、スクラッチボリュームの選択に ANSI ラベルタイプを指定します。
オプションで、スクラッチボリュームの選択に非標準ラベルタイプを指定します。
オプションで、スクラッチボリュームの選択に標準ユーザーラベルタイプを指定します。
注:
次の日付関連パラメータは、ボリュームが TMC でスクラッチ化した日付または日付範囲を指定します。次の日付関連パラメータは、ボリュームが TMC でスクラッチ化した日付または日付範囲を指定します。
オプションで、日付として 1900 年 1 月 1 日を指定します。これがデフォルトです。
オプションで、現在のシステム日を示します。この日付にスクラッチステータスになったボリュームだけが処理されます。
オプションで、「開始」日付を示します。「終了」日付はデフォルトで現在のシステム日になります。指定する日付はすべてユリウス歴表記です。
yyyyddd1
の日から今日の日付までにスクラッチステータスになったすべてのボリュームが処理されます。
オプションで、ボリュームがスクラッチ化される日付範囲を示します。これらの日付のどちらも、現在のシステム日付よりもあとにすることはできません。
yyyyddd1
の日から yyyyddd2
の日までにスクラッチステータスになったボリュームがすべて処理されます。
Zara テープ管理システムのサブシステム名を指定します。ここで zara-subsys-name
は 4 文字の名前です。デフォルトのサブシステム名は ZARA です。
次の定義が、SMCUDBX
JCL に適用されます。
CA-1 TMS、CA-DYNAM/TLMS VMS、または DFSMSrmm レポート抽出ファイルの形式で、スクラッチ抽出ユーティリティーに入力します。この DD 文は Zara では必要ありません。
スクラッチ抽出ユーティリティーからメッセージを出力します。この DD 文は必須です。
スクラッチ抽出ユーティリティーからの出力ファイル。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 例を示します。
//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=* /*
SMCUSIM
ユーティリティーを使用すると、SMC SIMulate
コマンドなどの SMC UUI コマンドをテスト環境で発行できます。SMC コマンド設定、テープポリシー、割り当てユーザー出口に対する変更は、本番環境に適用する前にテストでき、既存の SMC クライアントおよび HSC サーバーに影響を与えません。
SMCUSIM
コードは、SMC サブシステムと同様に実行しますが、次の例外があります。
MSP SSI 割り当てインタフェースを初期化しません。
インターセプトを処理するコマンドやメッセージを設定しません。
CSA ストレージを処理に使用しません。
SMCUSIM
ユーティリティーは、バッチプログラムを実行し、SMC クライアントの動作を妨げずに既存の SMC サブシステムと同じホスト上で実行できます。SMCUSIM
処理は 2 つのフェーズで行われます。
このフェーズでは、ユーティリティーは、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
データセットに含めることはできますが、ユーティリティーによって無視されます。
このフェーズでは、ユーティリティーは、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) で制御されます。
次に、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
に指定できます。
SMC サブシステム名を指定します (1 から 4 文字の長さ)。
UUI コマンドの送信先の SMC TapePlex の名前を指定します。省略した場合、最初に見つかったアクティブな TapePlex が使用されます。
入力コマンドが TapePlex ではなく SMC に直接発行されるよう指定には、TAPEPlex(SMC)
を使用します (SMC Display Volume
や Display DRive
コマンドなど)。
XML および CSV 出力におけるアルファベットのデータフィールドの大文字と小文字を指定します。有効な大文字と小文字の書式は次のとおりです。
M
は大文字と小文字の混在を示します。これがデフォルトです。
U
は大文字を示します。
XML および CSV 出力でのデータフィールドの書式を指定します。有効な日付書式は次のとおりです。
YYYYMONDD
YYYY-MM-DD
YYYY-MON-DD
HEXSTCK
(16 進数文字 STCK
書式)
デフォルトの書式は yyyymondd
です。たとえば、2005Oct14
です。
オプションで、STDOUT
および TEXTOUT
レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDR
と LINECNT
は相互に排他的です。
オプションで、STDOUT
および TEXTOUT
レポートのページ区切り行数設定を指定します。LINECNT
と NOHDR
は相互に排他的です。
nn
はページあたりの行数を示します。有効な値は 10 - 99 です。
注:
STDOUT
レポート見出しおよびページ区切りの設定は、EXEC
文のプログラムパラメータでのみ指定できます。TEXTOUT
レポートの見出しの設定は、最初に、EXEC
文のプログラムパラメータで指定されますが、あとから UUIIN
コマンドストリームで TEXTOUT UUI
制御文を指定して変更できます。例:
次の図では、EXEC
文のプログラム PARM=’LINECNT(55)’
が、STDOUT
と TEXTOUT
の両方の出力に対し、レポートのページ区切りをページあたり 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
指定したコマンドのリターンコードを超えたときに、SMCUSIM
の初期化を終了させるかどうか指定します。MAXRC
を指定しない場合、SMCPARMS
や SMCCMDS
コマンドが失敗したかどうかにはかかわらず、SMCUSIM
は常に初期化の実行を試みます。これがデフォルトの動作です。
nn
はリターンコードの最大許容値を指定します。SMCPARMS
または SMCCMDS
データセットから実行された SMC コマンドがこの値を超えた場合、SMC0236
および SMC0237
メッセージが生成され、SMCUSIM
ユーティリティーは、UUIIN
DD からコマンドが読み取られる前に終了します。有効な値は、0、4、8、および 12 です。
注:
SMC サブシステム環境で使用できるが、SMCUSIM
環境では使用できない CMDDef
、HTTP
、LOG
、Route
などの特定の SMC コマンドは、指定しても SMCUSIM では無視され、MAXRC
処理に影響を与えません。
シミュレートした SMC サブシステムの起動の一部として実行されたコマンド (つまり、SMCPARMS
および SMCCMDS
データセットから読み取られたコマンド) だけが、MAXRC
処理の一部として評価されます。UUIIN
DD から読み取られるコマンドで、指定した MAXRC
値よりも大きなリターンコードになるコマンドは、SMCUSIM
ユーティリティーを自動的に終了しません。
自動的に発行される RESYNC
コマンドから返された TapePlexes のステータスに基づいて SMC サブシステムの初期化を終了するかどうか指定します。
PLEXRC
を指定していない場合、SMC サブシステムは、RESYNC
コマンドの結果には関係なく初期化を完了します。これがデフォルトの動作です。
n
は RESYNC
コマンドからのリターンコードの最大許容値を指定します。有効な値は、0 および 4 です。
SMC RESYNC
コマンドは、SMC がどの定義済み TapePlex とも通信できない場合は 8 のリターンコードを、SMC が (すべてではなく) 1 つ以上の定義済み TapePlex と通信できる場合は 4 のリターンコードを設定します。
オプションで、プリンターのキャリッジ制御を含めないよう指定します。このオプションを選択した場合、入力されていないページには、指定した LINECNT
に合わせ空白行が付加されます。
UUIIN
および STDOUT
データセット定義を指定する必要があります。
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
コマンドが行われるまで、後続の UUI コマンドはすべてバイパスされます。
NOHDR
はオプションで、TEXTOUT
レポートの見出しとページ区切りキャリッジ制御が生成されないよう指定します。NOHDR
と LINECNT
は相互に排他的です。
LINECNT
(nn
) はオプションで、TEXTOUT
レポートのページ区切り行数設定を指定します。nn
はページあたりの行数です。有効な値は 10 - 99 です。LINECNT
と NOHDR
は相互に排他的です。
注:
STDOUT
レポート見出しおよびページ区切りの設定は、EXEC
文のプログラムパラメータでのみ指定できます。TEXTOUT
レポートの見出しの設定は、最初に、EXEC
文のプログラムパラメータで指定されますが、あとから UUIIN
コマンドストリームで TEXTOUT
UUI 制御文を指定して変更できます。
単一の UUI コマンドの前に、複数の TEXTOUT
文が入力された場合、最後の TEXTOUT
文が TEXTOUT
レポートのページ区切りを制御します。
PLEXDext
および TEXTOUT
コマンドを CSV コマンドとともに指定して、送信先 TapePlex と、後続の UUI コマンドの CSV および TEXTOUT
出力特性を変更できます。
次の 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
ユーティリティーは、「コンパクト」形式 (デフォルト形式) で作成された SMC GTF
出力を元の SMC トレース形式に変換します。
次に、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 倍です。SMC SMCUSMF
ユーティリティーを使用すると、SMF レコードを VSM コンソールサーバーからオフロードできます。SMF レコードは、次の DCB 属性の z/OS データセットに置かれます。
recfm - VB
lrecl - 27990
blksize - 27994
これらの HSC/VTCS SMF レコードの詳細は、ELS ドキュメント『ELS プログラミングリファレンス』を参照してください。
JCL 例では、次の SMCUSMF
ユーティリティーパラメータを pgmparms
に指定できます。
オプションで、STDOUT
レポートの見出しとページ区切りキャリッジ制御が生成されるよう指定します。
オプションで、STDOUT
レポートのページ区切り行数設定を指定します。
nn
はページあたりの行数を示します。有効な値は 10 - 99 です。
SMF レコードのオフロード元の VSM コンソールサーバーの名前を指定します。
ssss
はサーバー名を指定します。指定したサーバーは、VSM コンソール TapePlex のアクティブサーバーである必要があります。SERVer
は必須パラメータです。
SMF レコード作成の期間の開始を指定します。これはサーバーの日付と時間です。
begin-date
は、開始日を yyyymmdd
の形式で表します。
開始日です。
開始日として TODAY
を指定します。
開始日として、YESTERDAY
を指定します。
begin-time
は、開始時間 (24 時間値) を hhmmss
の形式で表します。開始時間の許容範囲は、000000 から 235959 です。デフォルト値は 000000 です。
オプションで、SMF レコード作成の期間の終わりを指定します。これはサーバーの日付と時間です。
end-date
は、終了日を yyyymmdd
の形式で表します。
終了日です。
終了日として TODAY
を指定します。
終了日として YESTERDAY
を指定します。
end-time
は、終了時間 (24 時間値) を hhmmss
の形式で表します。終了時間パラメータの許容範囲は、000000 から 235959 です。デフォルト値は 235959 です。
オプションで、出力レコードに SMF レコードタイプを指定します。
nnn
はレコードタイプを示します。有効な値は 128 から 255 です。デフォルトは 255 です。
次の DD 文が必要になります。
SMCUSMF
ユーティリティーはSTDOUT
データセットで最終完了コードとエラーメッセージを報告します。
SMCUSMF
ユーティリティーは、SMF レコードを SMCSMF
データセットに置きます。これは可変ブロックファイルです。DCB 属性は次のようにする必要があります。
DCB=(RECFM=VB,LRECL=27990,BLKSIZE=27994)
VSM コンソールの TapePlex が、2 台のサーバーで定義されており、各サーバーが、SMCUSMF
の最後の実行以降、その TapePlex のアクティブサーバーとして機能してきた場合、次の手順を実行して、両方のサーバーからすべての SMF レコードを収集する必要があります。
SERVER1
がアクティブで SERVER2
が非アクティブの場合:
SERVER(SERVER1)
とともに SMCUSMF
を実行します。
SERVER1
を無効にします。
SERVER NAME(SERVER1) DISABLE
このコマンドは SERVER2 をアクティブにします。
SERVER(SERVER2)
とともに SMCUSMF
を実行します。
SERVER1
を再度有効にします。
SERVER NAME(SERVER1) ENABLE
SERVER2
はアクティブのままですが、SERVER2
が非アクティブになっている場合は、SERVER1
がアクティブサーバーになる対象となります。SERVER1
を (必要に応じて) もう一度アクティブサーバーにするには、SERVER2
を無効にしてから、SERVER1
が TapePlex のアクティブサーバーになったあとで有効にします。