データセット管理ツール
本章では、データセット管理ツールを使用してデータセット処理を行う方法について説明します。
1. 概要
以下は、OpenFrameのデータセット管理ツールの一覧です。
ツール | 説明 |
---|---|
データセットを他ボリュームまたは別名のデータセットにコピーします。 |
|
非VSAMデータセットを新規作成します。 |
|
既存の非VSAMデータセットを削除します。 |
|
データセットの内容を表示および変更します。 |
|
特定のボリュームに存在するデータセットの情報を表示します。 |
|
非VSAMデータセットをUNIXファイルにバックアップする機能を提供します。 |
|
データセットを移動させるツールで、データセットのボリュームを変更したり、名前を変更したりする場合に使用します。 |
|
dsloadでバックアップしたUNIXファイルを再び非VSAMデータセットに更新します。 |
|
データセットの割り当て時に生成されるDCB構造体の保存先であるOFM_BASE_ALLOCシステム表を管理します。 |
|
カタログやVTOCに保存されているデータセットの統計情報および作成日を更新します。 |
|
データセットの内容を表示します。 |
|
GDG項目を新規作成します。 |
|
既存のGDG項目を削除します。 |
|
データセットが登録されているカタログを変更します。 |
|
VSAMデータセットまたはユーザー・カタログを作成および削除します。 |
|
特定のカタログに登録されている項目の情報を表示します。 |
|
データセットを独占的に使用するためのデータセット・ロック情報を照会または削除します。 |
|
SMFデータセットの状態を照会・管理します。 |
|
非VSAMデータセットの編集機能を提供します。 |
2. dscopy
dscopyは、データセットを他のボリュームまたは別名のデータセットにコピーするツールです。元のデータセットのカタログ情報とボリューム情報、そしてコピーされたデータセットが存在するボリュームと登録されるカタログをオプションで指定することができます。オプションを何も指定しない場合、マスター・カタログ、またはエイリアス情報で元のデータセットを探します。
使用方法
以下は、dscopyツールの実行方法です。
Usage: dscopy [options] <source> <dest>
-
[options]
オプション 説明 [-c catalog]
元のデータセットを検索するカタログを指定します。
[-v volume]
元のデータセットを検索するボリューム・シリアルを指定します。このオプションを指定しない場合、-cオプションは無視され、コピーされたデータセットのカタログを更新しません。
[-d catalog]
コピーされたデータセットが存在するカタログを指定します。このオプションを指定しない場合、元のデータセットがカタログに登録されていれば、コピーされたデータセットも同じカタログに登録されます。
[-t volume]
コピーされたデータセットが存在するボリューム・シリアルを指定します。このオプションを指定しない場合、デフォルトのボリュームにデータセットをコピーします。
-
入力項目
項目 説明 source
元のデータセット名を指定します。
dest
コピーされたデータセット名を指定します。
使用例
以下は、カタログされたデータセットをコピーする例です。
$ dscopy TEST.DSCOPY01 TEST.DSCOPY02
上記を実行する前のTEST.DSCOPY01情報は以下のとおりです。
Data Set Name . . . : TEST.DSCOPY01 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/08/24 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 2048(MB) Number of Extents : 0 Secondary Space . : 0(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/08/24 Last Access Time : 19:56:01
dscopyツールの実行後のTEST.DSCOPY02情報は以下のとおりです。
Data Set Name . . . : TEST.DSCOPY02 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2009/08/24 Data Set Owner . : igkang Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 2048(MB) Number of Extents : 0 Secondary Space . : 4096(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2009/08/24 Last Access Time : 20:00:15
3. dscreate
dscreateは、非VSAMデータセットの作成に必要な引数をユーザーから直接取得して、非VSAMデータセットを新規作成するツールです。
使用方法
以下は、dscreateツールの実行方法です。
Usage: dscreate [options] dsname
-
[options]
オプション 説明 [-c catalog]
データセットを特定のカタログに登録する場合に指定します。
[-v volume]
新規データセットが存在するボリューム情報を指定します。
[-u unit]
新規データセットが割り当てられるUNITのタイプを指定します。
[-m member]
PDSのメンバー名を指定します。
[-o dsorg]
データセットのDSORGパラメータを指定します。
[-f recfm]
データセットのレコード形式パラメータを指定します。
[-b blksize]
データセットのブロック・サイズを指定します。
[-l lrecl]
データセットのレコード長を指定します。
[-k keylen]
データセットのキー長を指定します。
[-s space]
データセットのスペース・パラメータを指定します。
-
[TRK|CYL|unit] : TRK、CYL、サイズの単位を指定します。
-
DSORGがPSの場合
-s TRK,10,10
-s CYL,100,50
-
DSORGがPOの場合
-s TRK,10,10,10
-s CYL,100,50,50
-
-
primary : 1次スペースのサイズを指定します。
-
secondary : 2次スペースのサイズを指定します。
-
directory : ディレクトリ・スペースのサイズを指定します。
[-p keypos]
データセットのキーの位置を指定します。
[-x expdt]
データセットの有効期限を指定します。(YYYYMMDD形式)
[-r retpd]
データセットの保存期間を指定します。(保存日数)
[-dc retpd]
ストレージ管理システム(SMS)のデータ・クラスを指定します。
データ・クラスは、OpenFrame環境設定のsmsサブジェクトのDATACLASセクションに定義されます。
[-mc retpd]
ストレージ管理システム(SMS)のマネジメント・クラスを指定します。
マネジメント・クラスは、OpenFrame環境設定のsmsサブジェクトのMGMTCLASセクションに定義されます。
[-sc retpd]
ストレージ管理システム(SMS)のストーレジ・クラスを指定します。
ストーレジ・クラスは、OpenFrame環境設定のsmsサブジェクトのSTORCLASセクションに定義されます。
[-N]
データセットを新規作成しますが、カタログには登録せず、VTOCにのみエントリを追加します。(NOCATALOGオプション)
データセットを新規作成するため、カタログにエントリがすでに存在している場合にはエラーが発生します。
このオプションを指定する場合、[-R] (RECATALOG)オプションは指定できません。
[-R]
データセットを作成せず、カタログに登録のみ行います。(RECATALOGオプション)
このオプションは、カタログにすでに登録されているエントリを再登録する機能をするので、カタログにエントリが必ず存在する必要があります。エントリが存在しない場合は、エラーが発生します。
このオプションを指定する場合、[-N](NOCATALOG)オプションは指定できません。
このオプションを指定する場合、[-v]オプションでボリューム・シリアルを指定する必要があります。ボリューム・シリアルを指定しない場合は、エラーが発生します。すでに同名のデータセットがカタログされている場合には、要求したデータセットがカタログされたデータセットでなければ(たとえば、カタログ項目と名前は同じであるが、他のボリュームにあるデータセット)、エラーが発生します。
[-tl track_limit]
ACTUAL KEYを使用するデータセット内で1トラックに格納できるレコード数を指定します。
[-ts track_start]
ACTUAL KEYを使用するデータセット内でトラックの開始番号を指定します。
-
-
入力項目
項目 説明 dsname
作成するデータセットの名前を指定します。
BDAMデータセットがACTUAL KEYを使用する場合、0以上のtrack_limitと4以上のkeylenを必ず指定する必要があります。 |
使用例
以下は、ボリューム100000にデータセットを新規作成する例です。
$ dscreate AAA.BBB -v 100000 -f FB -l 120 -b 1200
以下は、データセットを作成して特定のユーザー・カタログに登録する例です。
$ dscreate AAA.BBB -c USERCAT -f FB -l 120 -v 100000
関連環境設定
OpenFrame環境設定のdstoolサブジェクトのDSCREATEセクションのDUPLICATE_MEMBER_ERROR、DUPLICATE_CATALOG_ERROR、RECAT_UPDATE_DSATTRキーのVALUE項目に設定します。
$ ofconfig list -s dstool -sec DSCREATE
======================================================================================
SUBJECT | SECTION | KEY | VALUE
======================================================================================
dstool | DSCREATE | DUPLICATE_CATALOG_ERROR | YES
| | DUPLICATE_MEMBER_ERROR | YES
| | RECAT_UPDATE_DSATTR | YES
======================================================================================
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。 |
4. dsdelete
dsdeleteは、既存の非VSAMデータセットを削除するツールです。削除するデータセットのカタログとボリューム情報をオプションとして指定することができます。オプションを指定しない場合は、マスター・カタログまたはエイリアス情報を用いて対象データセットを検索します。カタログに登録されていないデータセットを削除する場合は、ボリュームを指定する必要があります。
ISAMデータセットまたはOpenFrame環境設定でdsサブジェクトのDATASET_DEFAULTセクションのUSE_BDAM_AS_TSAMキーのVALUE項目を「YES」に指定した場合に生成された BDAMデータセットを削除すると、そのデータセットと関連付けられた共有オブジェクト・ファイルも一緒に削除されます。 |
使用方法
以下は、dsdeleteツールの実行方法です。
Usage: dsdelete [options] dsname
-
[options]
オプション 説明 [-c catalog]
特定のカタログに登録されているデータセットを削除するときに指定します。
[-v volume]
削除するデータセットが位置するボリューム情報を指定します。データセットがカタログに登録されている場合、カタログ・エントリは削除しません。
[-m member]
PDSのメンバー名を指定します。
[-U]
データセットを削除せず、カタログ・エントリのみ削除します。(UNCATALOGオプション)
UNCATALOGを実行すると、データセットの情報はVTOCにのみ存在することになります。したがって、UNCATALOGされたデータセットを使用する場合は、該当するエントリが属しているボリュームを指定する必要があります。
-
入力項目
項目 説明 dsname
削除するデータセットの名前を指定します。
使用例
以下は、ボリューム100000に存在するデータセットを削除する例です。
$ dsdelete AAA.BBB -v 100000
以下は、特定のユーザー・カタログに登録されているデータセットを削除する例です。
$ dsdelete AAA.BBB -c USERCAT
5. dsedit
dseditは、dsviewと同様にデータセットの内容を表示するツールであり、データセットの内容を変更する機能を追加提供します。データセット・レコードを追加・削除することはできず、既存のレコードの変更のみ可能です。データセットの変更中には、そのデータセットに排他的ロックを実行します。
使用方法
以下は、dseditツールの実行方法です。
Usage: dsedit [options] <dsname> [<member>] [-v <volser>] [-c <catalog>]
-
[options]
オプション 説明 [-V]
ツールのバージョン情報を表示します。
-
入力項目
項目 説明 dsname
変更するデータセット名を指定します。
[member]
変更するデータセットのメンバー名を指定します。
[-v volser]
変更するデータセットのボリューム・シリアルを指定します。変更するデータセットがカタログに登録されていない場合は、このオプションで指定したボリューム・ディレクトリに存在するデータセットが取得できます。
[-c catalog]
変更するデータセットがユーザー・カタログに登録されている場合、このオプションを設定します。ただし、ユーザー・カタログにエイリアスが設定されていて、データセット名だけで検索できる場合は、このオプションを指定する必要がありません。
詳細については、『OpenFrame データセットガイド』の「第4章 統合カタログ」の「カタログの管理」節を参照してください。
-
コマンド
以下は、dseditで使用できるコマンドです。
コマンド 説明 <CTRL>+b
前のページに移動します。
<CTRL>+f
次のページに移動します。
^
現在の行の最初の文字に移動します。
$
現在の行の最後の文字に移動します。
125G
125番目の行に移動します。
:125
125番目の行に移動します。
G
最後の行に移動します。
h,j,k,l
hは左、jは上、kは下、lは右に移動します。
前に数字を付けると、その数字の分だけ移動します。(例: 5hは、5桁左側に移動します)
/abc
abcを検索します。
/abc 5
5行でabcを検索します。
//616263
Hexコードで検索します。
n
次の内容を検索します。
:s/old/new
現在カーソルが置かれたレコードのすべてのoldをnewに置換します。
以下は、置換コマンドの文法とその説明です。
:[%]s[x]/<マッチング文字列>/<置換文字列>[/置換位置]
-
%: データセットの全レコードで置換する場合に指定します。指定しない場合は、現在のレコードでのみ置換されます。
-
x: Hexコードで置換する場合に指定します。
-
マッチング文字列: 置換前の文字列を入力します。xを指定した場合は、Hexコードを記述します。
-
置換文字列: 置換後の文字列を入力します。xを指定した場合は、Hexコードを記述します。
-
置換位置: 置換するレコードの位置をバイト単位で記述します。1から始まります。置換位置を入力しないか、ゼロを入力した場合は、全レコードで置換されます。
置換コマンドの制約事項は以下のとおりです。
-
マッチング文字列と置換文字列の長さは同じである必要があります。
-
Hex文字列は1バイトあたり2文字を入力し、各バイトは空白なしで入力します。
-
KSDSのキー部分は置換処理されません。
-
可変(VB)形式の非VSAMデータセットやAIX PATHを使用するVSAMデータセットでは置換機能が使用できません。
-
置換コマンドを実行した後は置換された内容を取り消すことができないので注意が必要です。
-
置換コマンドの入力中にコマンドを修正することはできません。Escキーを押してコマンドの入力を取り消した後に再入力してください。
:s/old/new/5
現在カーソルが置かれたレコードの5バイト目に位置したoldをnewに置換します。
:%s/old/new
データセットの全レコードですべてのoldをnewに置換します。
:sx/f1f1/e1e1
現在カーソルが置かれたレコードのすべてのHexコード「f1f1」を「e1e1」に置換します。
R
置換モードを開始します。VSAMデータセットの場合、キー・フィールドは変更できません。
ESC
置換した内容を保存します。
Backspace
置換モードで変更した内容を元に戻します。
<CTRL>+l
画面を更新します。
:h
ヘルプを表示します。
:q
終了します。
-
使用例
以下は、データセットに属しているメンバーの内容を変更する例です。
$ dsedit AAA.PDS TESTPGM
以下は、指定したボリュームに存在するデータセットの内容を変更する例です。
$ dsedit AAA.BBB -v DEFVOL
以下は、ユーザー・カタログに登録されているデータセットを変更する例です。
$ dsedit AAA.BBB -c USERCAT
関連環境設定
カタログに登録されていない非VSAMデータセットの内容を変更するために、OpenFrameの環境設定に以下を設定します。
-
dstoolサブジェクトのDSVIEWセクションのNOCATALOG_VIEWキーのVALUE項目を設定します。
$ ofconfig list -s dstool -sec DSVIEW -k NOCATALOG_VIEW ===================================================================================== SUBJECT | SECTION | KEY | VALUE ===================================================================================== dstool | DSVIEW | NOCATALOG_VIEW | YES =====================================================================================
-
NOCATALOG_VIEW=YESで、-vオプションが指定されていない場合は、dsサブジェクトのDATASET_DEFAULTセクションのDEFAULT_VOLSERキーに設定されているボリュームからデータセットを検索します。
$ ofconfig list -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER ===================================================================================== SUBJECT | SECTION | KEY | VALUE ===================================================================================== ds | DATASET_DEFAULT | DEFAULT_VOLSER | DEFVOL =====================================================================================
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。 |
6. dslist
dslistは、特定のボリュームに存在するデータセットの情報を検索するか、特定のカタログに登録されているデータセットの情報を検索するときに使用するツールです。
dslistはユーザーのオプションに応じて、以下の機能を提供します。
-
特定のボリュームに含まれているデータセットの情報を検索します。
-
特定のカタログに登録されているデータセットの情報を検索します。
-
作成日、最終参照日、データセットのサイズなどの条件を与え、条件を満たすデータセットの情報を検索します。
使用方法
以下は、dslistツールの実行方法です。
Usage: dslist [options] [dsname]
-
[options]
オプション 説明 [-c catalog]
特定のカタログに登録されているデータセットを検索します。指定したカタログに登録されているデータセットの情報のみ検索されます。
[-v volume]
特定のボリュームに属しているデータセットを検索します。指定したボリュームに該当するデータセットの情報のみ検索されます。
[-n dsname]
検索する単一のデータセット名を指定します。
このオプションは単一データセットを検索するためのオプションなので、多数のデータセットを検索するためにワイルドカード文字を使用することはできません。多数のデータセットを検索する場合は、このオプションを使用せずに検索するデータセット名を直接入力します。
[-l]
データセットの詳細情報を表示します。
[-a]
データセットの詳細情報を表示し、PDSメンバーの一覧と関連するカタログ項目を表示します。
[-cd date]
特定の日付に作成されたデータセットの一覧を表示します。日付はYYYYMMDD形式で指定するか、YYYYMMDD-YYYYMMDD形式で期間を指定します。
[-rd date]
特定の日付に参照されたデータセットの一覧を表示します。日付はYYYYMMDD形式で指定するか、YYYYMMDD-YYYYMMDD形式で期間を指定します。
[-sz size]
検索するデータセットのサイズの範囲をMIN-MAX形式で指定します。
-
入力項目
項目 説明 [dsname]
検索するデータセット名の前の一部文字を指定します。ワイルドカード文字を使用できます。
ワイルドカードを使用して検索するデータセット名を指定する場合、以下のような方法があります。
-
AAA.*は、AAA.BBBやAAA.CCCのように、「AAA.」で始まる2つの修飾子で構成されているデータセットを検索します。
-
AAA.**は、AAA.BBB、AAA.CCC、AAA.BBB.FFF、AAA.BBB.GGGのように、「AAA.」で始まるすべてのデータセットを検索します。
-
ボリューム・ディレクトリ内で検索する場合には、指定するデータセット名を引用符で囲んで検索します。
$ dslist 'AAA.**'
-
使用例
以下は、ボリューム100000に属しているデータセットの情報を検索する例です。
$ dslist -v 100000
上記の実行結果表示される内容は以下のとおりです。
Print Dataset List and Information ----------------------------------------------------------------------------- SYS1.VTOC.V100000 VOLUME DSORG RECFM LRECL ----------------------------------------------------------------------------- PROD.BATCHLIB 100000 PO LB 32760 SMLOG.N1 100000 PS VB 32760 SMLOG.N2 100000 PS VB 32760 SMLOG.N3 100000 PS VB 32760 SMLOG.N4 100000 PS VB 32760 SYS1.COBLIB 100000 PO LB 32760 SYS1.JCLLIB 100000 PO LB 32760 SYS1.PARMLIB 100000 PO LB 32760 SYS1.PROCLIB 100000 PO LB 32760 SYS1.TEMPLIB 100000 PO LB 32760 SYS1.TSOLIB 100000 PO LB 32760 SYS1.TSOMAP 100000 PO LB 32760 SYS1.USERLIB 100000 PO LB 32760 ----------------------------------------------------------------------------- * Total 13 entries in volume 100000 printed.
以下は、各項目の説明です。
項目 | 説明 |
---|---|
カタログ名 |
カタログに登録されているデータセットの名前です。 |
VOLUME |
データセットが存在するボリュームのシリアル番号です。 |
DSORG |
データセットの編成です。 |
RECFM |
データセットのレコード形式です。 |
LRECL |
データセットのレコード長です。 |
DSORG項目のデータセットの編成およびRECFM項目のレコード形式の詳細については、OpenFrame Base 『データセットガイド』の「非VSAMデータセット」を参照してください。 |
以下は、ボリューム100000に属しているデータセットのうち、名前がSYS1で始まるデータセットの情報を検索する例です。
$ dslist -v 100000 SYS1.** -a
以下は、上記の実行結果です。
Print Dataset List and Information ----------------------------------------------------------------------------- Data Set Name . . . : SYS1.JCLLIB Data Set Type . . . : NONVSAM Management Class . : Creation Date . . : 2019/12/21 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : DEFVOL Device Type . . . : 3380 Data Class . . . . : Organization . . : PO Record Format . . : LB KEYLEN . . . . . : 0 Record Length . . : 32760 KEYPOS . . . . . : 0 Block Size . . . : 32768 Current Allocation Primary Space . . : N.A. Number of Extents : Secondary Space . : N.A. Data Set Size . . : 0 Last Access Date Last Access Date : ***None*** Last Access Time : 17:45:38 Members ------------------------------------------------------------------ Name Owner Size Last Access Date ------------------------------------------------------------------ TSTENV 73 2019/12/21 17:45:39 TSTSLEEP 83 2019/12/21 17:45:39 ----------------------------------------------------------------------------- Data Set Name . . . : SYS1.PROCLIB Data Set Type . . . : NONVSAM Management Class . : Creation Date . . : 2019/12/21 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : DEFVOL Device Type . . . : 3380 Data Class . . . . : Organization . . : PO Record Format . . : LB KEYLEN . . . . . : 0 Record Length . . : 32760 KEYPOS . . . . . : 0 Block Size . . . : 32768 Current Allocation Primary Space . . : N.A. Number of Extents : Secondary Space . : N.A. Data Set Size . . : 0 Last Access Date Last Access Date : ***None*** Last Access Time : 17:45:38 Members ------------------------------------------------------------------ Name Owner Size Last Access Date ------------------------------------------------------------------ INITPROC 516 2019/12/21 17:45:39 ----------------------------------------------------------------------------- * Total 2 entries in volume 100000 printed.
以下は、上記の表示項目についての説明です。
項目 | 説明 |
---|---|
Data Set Name |
データセットの名前です。 |
Data Set Type |
データセットの種類です。 データセットの種類については、『OpenFrame データセットガイド』の「第1章 データセットの紹介」を参照してください。 |
Management Class |
データセットが属しているマネジメント・クラスの名前です。 |
Creation Date |
データセットの作成日です。 |
Expiration Date |
データセットの有効期限です。 |
Data Set Owner |
データセットの所有者IDです。 |
Storage Class |
データセットが属しているストレージ・クラスの名前です。 |
Volume Serial |
データセットのボリューム・シリアル番号です。 |
Device Type |
データセットのデバイス・タイプです。 |
Data Class |
データセットが属しているデータ・クラスの名前です。 |
Organization |
データセットの編成です。 データセットの編成やレコード形式については、『OpenFrame データセットガイド』の「第2章 非VSAMデータセット」を参照してください。 |
KEYLEN |
データセットがISAMの場合のキーの長さです。 |
KEYPOS |
データセットがISAMの場合のキーの開始位置です。 |
Record Format |
データセットのレコード形式です。 |
Record Length |
データセットのレコード長です。 |
Block Size |
データセットのブロック・サイズです。 |
Primary Space |
データセットに割り当てられたプライマリ領域のサイズです。 |
Secondary Space |
データセットに割り当てられたセカンダリ領域のサイズです。 |
Number of Extents |
データセットの最大エクステント数です。 |
Data Set Size |
データセットの物理的なサイズをバイト単位で表示します。 |
Last Access Date |
データセットに最後にアクセスした日付です。 |
Last Access Time |
データセットに最後にアクセスした時刻です。 |
7. dsload
dsloadは、dseditの機能を補完するためのツールです。非VSAMデータセットをUNIXファイルにバックアップする機能を提供します。バックアップしたファイルの内容を修正した後、編集したファイルをdssaveツールを使用して再び非VSAMデータセットに更新することができます。
関連ツールには、dssaveがあります。 |
使用方法
以下は、dsloadツールの実行方法です。
Usage: dsload <dsname> [options]
-
入力項目
項目 説明 dsname
バックアップするデータセットの名前です。
-
[options]
オプション 説明 [-v volser]
バックアップするデータセットが存在するボリューム・シリアルを指定します。
[-c catalog]
バックアップするデータセットがユーザー・カタログに登録されている場合に設定します。ただし、ユーザー・カタログにエイリアスが設定されていて、データセット名だけで検索できる場合は、このオプションを指定する必要がありません。
[-m member]
バックアップするデータセットのメンバー名を指定します。
[-t target]
ターゲット・ファイルのUNIXファイル・パスを指定します。
このオプションを設定しない場合、環境設定のLOAD_DIRに指定されているディレクトリをターゲットUNIXファイル・パスとして使用し、データセット名と同じファイルを作成します。
[-d delimiter]
データセットのレコードのデリミターを指定します。
改行デリミターを使用する場合は、「NEWLINE」と指定します。
このオプションを設定しない場合、環境設定のうちDELIMITERの値を参照します。
[-F]
ターゲット・ファイルがすでに存在する場合、既存のファイルを上書きします。
使用例
以下は、データセットをUNIXファイルにバックアップする一般的な例です。
$ dsload AAA.BBB
以下は、データセットのメンバーをUNIXファイルにバックアップする例です。
$ dsload AAA.PDS -m MEMBER01
以下は、ユーザー・カタログに登録されているデータセットをUNIXファイルにバックアップする例です。
$ dsload AAA.BBB -c USERCAT
以下は、データセットをUNIXファイルにバックアップするとき、UNIX上に同じファイルが存在する場合にそのファイルを上書きする例です。
$ dsload AAA.BBB –F
以下は、データセットをUNIXファイルにバックアップするとき、レコードのデリミターを「%%」に指定する例です。
$ dsload AAA.BBB -d %%
関連環境設定
OpenFrame環境設定のdstoolサブジェクトのDSLOADセクションに以下を設定します。
-
DELIMITERキーのVALUE項目にdsloadする際、レコードのデリミターとして文字または「NEWLINE」を指定します。DELIMITERキーと[-d delimiter]オプションのいずれも設定しない場合、デリミターはNULL文字列になります。
$ ofconfig list -s dstool -sec DSLOAD -k DELIMITER ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSLOAD | DELIMITER | \r\n ======================================================================================
-
LOAD_DIRキーのVALUE項目にdsloadする際、ファイルを作成するUNIXディレクトリ・パスを指定します。LOAD_DIRキーと[-t target]オプションのいずれも設定しない場合は、エラーが発生します。
$ ofconfig list -s dstool -sec DSLOAD -k LOAD_DIR ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSLOAD | LOAD_DIR |/home/tmax/oframe_7_1/temp ======================================================================================
-
SIZE_LIMITキーのVALUE項目にdsloadする際、データセットのサイズを制限する値を指定します。設定値以下のデータセットのみ使用できます。ゼロより大きい値をバイト単位で指定します。
$ ofconfig list -s dstool -sec DSLOAD -k SIZE_LIMIT ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSLOAD | SIZE_LIMIT | 1000000 ======================================================================================
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。 |
8. dsmove
dsmoveは、データセットを移動させるツールです。元のデータセットを検索するカタログとボリューム情報、データセットを移動させるボリュームと新たに登録するカタログ情報をオプションとして指定することができます。オプションを何も指定しない場合は、マスター・カタログまたはエイリアス情報で元のデータセットを検索します。移動されたデータセットの作成日は、元のデータセットの作成日になります。
使用方法
以下は、dsmoveツールの実行方法です。
Usage: dsmove [options] <source> <dest>
-
[options]
オプション 説明 [-c catalog]
元のデータセットを検索するカタログを指定します。
[-v volume]
元のデータセットを検索するボリューム・シリアルを指定します。このオプションを指定する場合、[-c]オプションは無視され、元のデータセットと移動されたデータセットについてカタログは更新しません。
[-t volume]
データセットを移動させるボリューム・シリアルを指定します。このオプションを指定しない場合、デフォルトのボリュームにデータセットを移動させます。
[-d catalog]
データセットを移動させるカタログを指定します。このオプションを指定しない場合、元のデータセットがカタログに登録されていれば、移動されたデータセットも同じカタログに登録されます。
-
入力項目
項目 説明 source
元のデータセット名を指定します。dsmoveが正常に終了すると、元のデータセットは削除されます。
dest
移動させるデータセット名を指定します。
使用例
以下は、カタログされたデータセットのボリュームのみを変更する例です。
$ dsmove TEST.DSMOVE01 TEST.DSMOVE01 -t 200000
以下は、上記を実行する前のTEST.DSMOVE01の情報です。
Data Set Name . . . : TEST.DSMOVE01 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/02/03 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 2048(MB) Number of Extents : 0 Secondary Space . : 0(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/02/03 Last Access Time : 12:56:46
以下は、dsmoveツールの実行後のTEST.DSMOVE01の情報です。
Data Set Name . . . : TEST.DSMOVE01 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/02/03 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 200000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 2048(MB) Number of Extents : 0 Secondary Space . : 4096(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/02/03 Last Access Time : 12:58:43
上記の例では、データセットTEST.DSMOVE01のボリュームが100000から200000に変更されています。
以下は、データセットの名前を変更する例です。
$ dsmove TEST.DSMOVE02 TEST.DSMOVE03
以下は、上記を実行する前のTEST.DSMOVE02の情報です。
Data Set Name . . . : TEST.DSMOVE02 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/02/03 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 200000 Device Type . . . : 3480 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : N.A. Number of Extents : N.A. Secondary Space . : N.A. Data Set Size . . : 0 Last Access Date Last Access Date : 2019/02/03 Last Access Time : 13:04:40
実行結果、データセットTEST.DSMOVE02は削除され、データセットTEST.DSMOVE03が作成されます。以下は、TEST.DSMOVE03の情報です。
Data Set Name . . . : TEST.DSMOVE03 Data Set Type . . . : NONVSAM Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/02/03 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 4096(KB) Number of Extents : 0 Secondary Space . : 4096(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/02/03 Last Access Time : 13:05:16
上記の例では、データセット名がTEST.DSMOVE03に変更され、デフォルト・ボリュームに登録されています。
9. dssave
dssaveは、dseditの機能を補完するためのツールです。既存の非VSAMデータセットをUNIXファイルの内容で更新します。dssaveツールを使用する場合、新規データセットは作成せず、すでにカタログに登録されているデータセットに上書きします。
関連ツールには、dsloadがあります。 |
使用方法
以下は、dssaveツールの実行方法です。
Usage: dssave <dsname> [options]
-
入力項目
項目 説明 dsname
更新するデータセット名を指定します。
-
[options]
オプション 説明 [-c catalog]
更新するデータセットがユーザー・カタログに登録されている場合に設定します。ただし、ユーザー・カタログにエイリアスが設定されていて、データセット名だけで検索できる場合は、このオプションを指定する必要がありません。
[-v volser]
更新するデータセットのボリューム・シリアル番号を指定します。
[-m member]
更新するデータセットのメンバー名を指定します。
[-s source]
ソース・ファイルのUNIXファイルのパスを指定します。
このオプションを設定しない場合、環境設定のうちLOAD_DIRに指定されているディレクトリをソースのUNIXファイルのパスとして使用し、このディレクトリからデータセット名でファイルを検索します。
[-d delimiter]
データセット・レコードのデリミターを指定します。
改行デリミターを使用する場合は、「NEWLINE」と指定します。
このオプションを設定しない場合、環境設定のうちDELIMITERの値を参照します。
[-B blank]
適用するデータセットのレコード形式(RECFM)が固定長(FB)である場合、ソース・ファイルの1レコードの長さが短いと、その分だけレコードの後ろの部分を空白で埋めます。
[-R remove]
データセットに更新した後、ソース・ファイルを削除します。
[-T test]
ソース・ファイルのデータセットへの更新の有無とレコード長、形式、デリミターを確認します。
使用例
以下は、UNIXファイルを非VSAMデータセットに更新する一般的な例です。
$ dssave AAA.BBB
以下は、UNIXファイルを非VSAMデータセットのメンバーに更新する例です。
$ dssave AAA.PDS -m MEMBER01
以下は、UNIXファイルをユーザー・カタログに登録されている非VSAMデータセットに更新する例です。
$ dssave AAA.BBB -c USERCAT
以下は、データセットのレコードのデリミターを「%%」に指定する例です。
$ dssave AAA.BBB -d %%
以下は、RECFM=FBである非VSAMデータセットに更新するとき、レコード長の不足を空白で埋める例です。
$ dssave AAA.BBB –B
以下は、UNIXファイルをデータセットに更新した後、ソース・ファイルを削除する例です。
$ dssave AAA.BBB –R
以下は、UNIXファイルをデータセットに更新できるかどうかを確認する例です。
$ dssave AAA.BBB -T
関連環境設定
OpenFrame環境設定のdstoolサブジェクトのDSLOADセクションに以下のキー値を設定します。
-
DELIMITERキーのVALUE項目にdssaveする際、レコードのデリミターとして文字または「NEWLINE」を指定します。DELIMITERキーと[-d delimiter]オプションのいずれも設定しない場合、デリミターはNULL文字列になります。
$ ofconfig list -s dstool -sec DSLOAD -k DELIMITER ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSLOAD | DELIMITER | \r\n ======================================================================================
-
LOAD_DIRキーのVALUE項目にdssaveする際、ソース・ファイルのUNIXディレクトリ・パスを指定します。LOAD_DIRキーと[-s source]オプションのいずれも設定しない場合、エラーが発生します。
$ ofconfig list -s dstool -sec DSLOAD -k LOAD_DIR ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSLOAD | LOAD_DIR | /home/tmax/oframe_7_1/temp ======================================================================================
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。 |
10. dsrdb
dsrdbは、データセットの割り当て時に生成されるDCB(Data Control Block)構造体の保存先であるOFM_BASE_ALLOCシステム表情報の表示および削除などの管理を行うためのツールです。
データセットの割り当て後に記録されるリストは自動的に再使用されるように設計されていてOpenFrameが正常に運用される場合には特に注意する必要がありませんが、プログラムの異常終了などによって割り当てられた表に不要なリストが残っていることがあります。このリストが多すぎると、DSALC_ERR_NO_AVAILABLE_SLOTエラーが発生しますが、そのような場合はdsrdbツールを利用して使用されないデータセットの割り当て領域を削除するか、またはOpenFrameを再起動すると問題を解決できます。 システム不安定により、異常終了が頻繁に発生する場合や、OpenFrameを長時間再起動せずに運用する場合は、データセットの割り当てリストを確認することをお勧めします。 |
使用方法
以下は、dsrdbツールの実行方法です。
Usage: dsrdb command [options]
-
入力項目
項目 説明 command
-
list : 割り当てられたデータセットの一覧を表示します。
-
delete : データセットの割り当てを解除して一覧から削除します。
-
-
[options]
オプション 説明 [-a]
共有メモリに保存されている情報を詳細表示します。
[-i index]
表示または削除する共有メモリの索引を指定します。
[-r from to]
表示または削除する共有メモリの範囲を指定します。
[-d date]
表示または削除する共有メモリの割り当て日を指定します。
[-j jobid]
表示または削除する共有メモリのジョブIDを指定します。
[-p pid]
表示または削除する共有メモリのPIDを指定します。
[-n name]
表示または削除する共有メモリのデータセット名を指定します。
[all]
割り当てられたデータセット一覧をすべて削除します。deleteコマンドでのみ使用できます。
使用例
以下は、データセットの割り当てに使用される共有メモリの一覧を表示する例です。
$ dsrdb list
上記を実行すると、以下のように共有メモリの一覧が表示されます。
Dataset allocation table Slot Mangement Program [000000] JOBID=,DATE=20191209,PID=26446,DCB_NAME=SYS1.MASTER.ICFCAT:SMLOG.N1 *** Total 1 allocation items printed.
11. dstouch
dstouchは、カタログまたはVTOCに保存されているデータセットの統計情報(総レコード数、データセットのサイズ)と作成日を更新するツールです。データセットの実際のレコード数がカタログに保存されている数と異なる場合は、カタログ情報を実際のレコード数で更新します。
使用方法
以下は、dstouchツールの実行方法です。
Usage: dstouch dsname [member] [-v volser] [-c catalog] [-d date]
-
入力項目
項目 説明 dsname
情報を更新するデータセット名を指定します。PDSの場合、メンバーを指定しないと、PDS情報のみ更新されます。
[member]
情報を更新するデータセットのメンバー名を指定します。
[-v volser]
データセットが存在するボリューム・シリアル番号を指定します。データセットがカタログに登録されていない場合は、必ず指定します。
[-c catalog]
データセットがユーザー・カタログに登録されている場合に指定します。ただし、ユーザー・カタログにエイリアスが設定されていて、データセット名だけでユーザー・カタログが検索できる場合は、このオプションを指定する必要がありません。
詳細については、『OpenFrame データセットガイド』の「第4章 統合カタログ」の「カタログの管理」節を参照してください。
[-d date]
情報を更新するデータセットの作成日をYYYYMMDD形式で指定します。
使用例
以下は、カタログされているTEST.AAAデータセットの総レコード数を更新する例です。
$ dstouch TEST.AAA
以下は、カタログされているPDS TEST.BBB情報を更新する例です。
$ dstouch TEST.BBB
以下は、カタログされているPDS TEST.CCCのMEMBER01メンバーの情報を更新する例です。
$ dstouch TEST.CCC MEMBER01
以下は、ユーザー・カタログのUSERCATに登録されているTEST.DDDデータセットの合計レコード数を更新する例です。
$ dstouch TEST.DDD -c USERCAT
以下は、TEST.EEEデータセットの合計レコード数を更新し、作成日を2007年4月30日に変更する例です。
$ dstouch TEST.EEE -d 20070430
データセットの詳細ついては、OpenFrame Base『データセットガイド』を参照してください。 |
12. dsview
dsviewは、データセットの内容を表示するツールです。特定の文字の検索、Hexコードの検索機能を追加提供します。
使用方法
以下は、dsviewツールの実行方法です。
Usage: dsview [options] <dsname> [<member_name>] [-v <volser>] [-c <catalog>]
-
[options]
オプション 説明 [-V]
ツールのバージョン情報を表示します。
[-n]
ロックを実行せずにデータセットの内容を表示するため、データセットの表示中にも他のユーザーがそのデータセットを変更することができます。
-
入力項目
項目 説明 dsname
表示するデータセット名を指定します。
[member_name]
表示するデータセットのメンバー名を指定します。
[-v volser]
表示するデータセットのボリューム・シリアル番号を指定します。表示するデータセットがカタログに登録されていない場合は、このオプションで指定したボリューム・ディレクトリに存在するデータセットを表示します。
[-c catalog]
表示するデータセットがユーザー・カタログに登録されている場合、このオプションを設定します。ただし、ユーザー・カタログにエイリアスが設定されており、データセット名だけで検索できる場合は、このオプションを指定する必要がありません。
[-fn,--from N]
1から始まる開始レコード番号を指定します。
[-tn,--to N]
1から始まる終了レコード番号を指定します。--fromと一緒に使用する場合、その値より大きい必要があります。
詳細については、OpenFrame Base『データセットガイド』の「統合カタログ」の「カタログの管理」を参照してください。
-
コマンド
以下は、dsviewツールで使用可能なコマンドです。
コマンド 説明 <CTRL>+b
前のページに移動します。
<CTRL>+f
次のページに移動します。
^
現在の行の最初の文字に移動します。
$
現在の行の最後の文字に移動します。
125G
125番目の行に移動します。
:125
125番目の行に移動します。
G
最後の行に移動します。
h,j,k,l
hは左、jは上、kは下、lは右に移動します。
前に数字を付けると、その数字の分だけ移動します。(例: 5hは、5桁左側に移動します)
/abc
abcを検索します。
/abc 5
5行でabcを検索します。
//616263
Hexコードで検索します。
n
次のデータを検索します。
N
前のデータを検索します。
<CTRL>+l
画面を更新します。
:h
ヘルプを表示します。
:q
終了します。
使用例
以下は、データセットに属しているメンバーの内容を表示する例です。
$ dsview AAA.PDS TESTPGM
以下は、指定したボリュームに存在するデータセットの内容を表示する例です。
$ dsview AAA.BBB -v DEFVOL
以下は、ユーザー・カタログに登録されているデータセットの内容を表示する例です。
$ dsview AAA.BBB -c USERCAT
関連環境設定
カタログに登録されていない非VSAMデータセットを確認する場合は、OpenFrameの環境設定に以下を設定します。
-
dstoolサブジェクトのDSVIEWセクションのNOCATALOG_VIEWキーのVALUE項目を設定します。
$ ofconfig list -s dstool -sec DSVIEW -k NOCATALOG_VIEW ====================================================================================== SUBJECT | SECTION | KEY | VALUE ====================================================================================== dstool | DSVIEW | NOCATALOG_VIEW | YES ======================================================================================
-
NOCATALOG_VIEW=YESで、-vオプションが指定されていない場合は、dsサブジェクトのDATASET_DEFAULTセクションのDEFAULT_VOLSERキーに設定されたボリュームからデータセットを検索します。
$ ofconfig list -s ds -sec DATASET_DEFAULT -k DEFAULT_VOLSER ===================================================================================== SUBJECT | SECTION | KEY | VALUE ===================================================================================== ds | DATASET_DEFAULT | DEFAULT_VOLSER | DEFVOL =====================================================================================
|
13. gdgcreate
gdgcreateは、GDG項目の作成に必要な引数をユーザーから直接取得してGDG項目を新規作成するツールです。
使用方法
以下は、gdgcreateツールの実行方法です。
Usage: gdgcreate [options] gdgname
-
[options]
オプション 説明 [-c catalog]
GDG項目を特定のカタログに登録するときに指定します。
[-l limit]
GDGのLIMIT値を指定します。指定しない場合は255が設定されます。
[-x expdt]
GDG項目の有効期限を指定します。(YYYYMMDD形式)
[-E empty]
GDSを作成するとき、GDGのLIMIT値を超えた場合にカタログのGDGエントリからGDSのアソシエーション情報を削除する範囲を指定します。
-
EMPTY : GDGエントリから最新のGDSを除く他のGDSのアソシエーション情報を削除します。
-
NOEMPTY : GDGエントリから最も古いGDSのアソシエーション情報のみを削除します。(デフォルト値)
[-S scratch]
EMPTY/NOEMPTYオプション処理によってカタログのGDGエントリからアソシエーション情報が削除されたGDSを物理的に削除します。
[-NS noscratch]
EMPTY/NOEMPTYオプション処理によってカタログのGDGエントリからアソシエーション情報が削除されたGDSを一般の非VSAMデータセットとして扱い、カタログに再登録します。
-
-
入力項目
項目 説明 gdgname
作成するGDG項目の名前を指定します。
使用例
以下は、GDGのLIMITが12であるGDG項目を作成する例です。
$ gdgcreate TEST.GDGBASE -l 12
以下は、GDG項目を特定のユーザー・カタログに登録する例です。
$ gdgcreate TEST.GDGBASE -c USERCAT
14. gdgdelete
gdgdeleteは、すでに登録されているGDG項目を削除するツールです。
使用方法
以下は、gdgdeleteツールの実行方法です。
Usage: gdgdelete [options] gdgname
-
[options]
オプション 説明 [-c catalog]
特定のカタログに登録されているGDG項目を削除するときに指定します。
[-F]
関連付けられているGDSが存在する場合は一緒に削除します。(FORCEオプション)
-
入力項目
項目 説明 gdgname
削除するGDG項目の名前を指定します。
使用例
以下は、GDG項目をGDSと一緒に削除する例です。
$ gdgdelete TEST.GDGBASE -F
以下は、特定のユーザー・カタログに登録されているGDG項目を削除する例です。
$ gdgdelete TEST.GDGBASE -c USERCAT
15. icfmove
icfmoveは、データセットが登録されているカタログを変更するツールです。元のカタログからすべてのデータセットを別のカタログに移動するか、特定のデータセットのみを移動することができます。
使用方法
以下は、icfmoveツールの実行方法です。
Usage: icfmove <-s src_cat> <-d dst_cat> [-e entname]
-
入力項目
項目 説明 src_cat
元のカタログ名を指定します。
dst_cat
移動するカタログ名を指定します。
-
[options]
オプション 説明 [-e entname]
移動する特定のデータセット名を指定します。このオプションを指定しない場合、元のカタログからすべてのデータセットが移動されます。
使用例
以下は、マスター・カタログのすべてのデータセットをUSERCAT1カタログに移動する例です。
$ icfmove -s SYS1.MASTER.ICFCAT -d USERCAT1
以下は、マスター・カタログのTEST.ICFMOVEデータセットのみをUSERCAT1カタログに移動する例です。
$ icfmove -s SYS1.MASTER.ICFCAT -d USERCAT1 -e TEST.ICFMOVE
16. idcams
idcamsは、IDCAMSユーティリティ機能をUNIXシェルで直接実行できるようにしたツールです。
idcamsツールを利用すると、VSAMデータセットまたはユーザー・カタログを作成および削除したり、REPROコマンドでデータセットをコピーすることができます。
|
使用方法
以下は、idcamsツールの実行方法です。
Usage: idcams command [options]
-
入力項目
項目 説明 command
-
define : VSAMデータセットまたはユーザー・カタログを定義します。
-
delete : VSAMデータセットまたはユーザー・カタログを削除します。
-
repro : VSAMまたは非VSAMデータセットの内容をコピーします。
-
libgen : VSAMデータセットの共有オブジェクト・ファイルを再作成します。
-
-
ユーザー・カタログの定義オプション
オプション 説明 [-t type]
ユーザー・カタログの定義を指定します。
type項目は、[-t]オプションを使用せずに指定できます。
-
USERCATALOG
-
UCAT
[-n name]
定義するユーザー・カタログの名前を指定します。
[-v volume]
ユーザー・カタログが位置するボリューム情報を指定します。
[-s space]
データセットのスペース・パラメータを指定します。
-
[TRK|CYL|unit] : TRK、CYL、サイズの単位を指定します。
-s TRK,10,10
-s CYL,100,50
-
primary : 1次スペースのサイズを指定します。
-
secondary : 2次スペースのサイズを指定します。
-
-
エイリアスの定義オプション
オプション 説明 [-t type]
エイリアスの定義を指定します。
type項目は、[-t]オプションを使用せずに指定できます。
-
ALIAS
[-n name]
定義するエイリアス名を指定します。
[-r relate]
エイリアスに関連付けられるカタログ項目の名前を指定します。
-
-
VSAMデータセットの定義オプション
オプション 説明 [-t type]
VSAMデータセットの定義を指定します。
type項目は、[-t]オプションを使用せずに指定できます。
-
CLUSTER
-
CL
[-n name]
定義するVSAMデータセットの名前を指定します。
[-o recorg]
定義するVSAMデータセットの編成を指定します。
-
KS
-
ES
-
RR
[-v volume]
VSAMデータセットが位置するボリューム情報を指定します。
[-s space]
データセットのスペース・パラメータを指定します。
-
[TRK|CYL|unit]
-
primary
-
secondary
[-c catalog]
データセットを特定のカタログに登録するときに指定します。
[-l lrecl]
VSAMデータセットのレコード長を指定します。(平均長、最大長)
[-k keys]
VSAMデータセットのキー情報を指定します。(キーの長さ、オフセット)
[-O occurs]
それぞれのOCCURSフィールドを列に指定します。
[-F force]
メタ表に生成しようとするデータセットのメタデータが残っている場合は、それを削除してから生成します。
生成しようとするデータセットの代替索引とパスが定義されている場合は、代替索引とパスも削除されます。
-
-
代替索引の定義オプション
オプション 説明 [-t type]
代替索引の定義を指定します。
type項目は、[-t]オプションを使用せずに指定できます。
-
ALTERNATEINDEX
-
AIX
[-n name]
定義する代替索引の名前を指定します。
[-r relate]
代替索引に関連付けられる基本クラスター名を指定します。
[-v volume]
代替索引が存在するボリューム情報を指定します。
[-s space]
代替索引のスペース・パラメータを指定します。
-
[TRK|CYL|unit]
-
primary
-
secondary
[-c catalog]
代替索引を特定のカタログに登録するときに指定します。
[-l lrecl]
代替索引のレコード長を指定します。(平均長、最大長)
[-k keys]
基本クラスターで代替索引のキー情報を指定します。(キーの長さ、オフセット)
[-U]
基本クラスターで代替キー値が一意であるかどうかを指定します。(UNIQUEKEY属性)
-
-
パスの定義オプション
オプション 説明 [-t type]
パスの定義を指定します。
type項目は、[-t]オプションを使用せずに指定できます。
-
PATH
[-n name]
定義するパスの名前を指定します。
[-p pathentry]
パスを構成するカタログ項目の名前を指定します。
[-c catalog]
VSAMデータセットまたは代替索引が含まれているカタログを指定します。
-
-
削除オプション
オプション 説明 [-n name]
削除する項目の名前を指定します。
name項目は、[-n]オプションを使用せずに指定できます。
[-t type]
削除する項目の種類を指定します。
-
ALIAS
-
AIX
-
CL
-
PATH
-
UCAT
[-c catalog]
削除する項目が含まれているカタログを指定します。
[-F]
空でない項目も削除するために指定します。(FORCEオプション)
-
-
REPROオプション
オプション 説明 [-i ids]
コピーするデータセットの名前を指定します。(入力データセットとしてAIXは使用できません)
[-o ods]
ターゲット・データセットの名前を指定します。
[-e elimit]
REPROコマンドの実行中に許容するエラーの数を指定します。
[-f from]
ソース・データセットでコピーを開始する位置を指定します。
[-t to]
ターゲット・データセットでコピーを停止する位置を指定します。
[-r ridtype]
from値とto値を指定する方法を指定します。
-
KEY
-
NUM
-
ADDR
[-s skip]
レコードをコピーする前にスキップするレコード数を指定します。
[-c count]
コピーするレコード数を指定します。
[-k keep]
tbloaderを使用するために作成したファイルを削除せずに保持するかどうかを指定します。
[-R replace]
ターゲット・データセットのレコードを置き換えるかどうかを指定します。(REPLACEオプション)
[-C catalog]
データセットをコピーしたファイルが定義されるカタログを指定します。
[-bs] <n>
tbloaderのブロック・サイズを指定します。
[-pc] <n>
tbloaderの並列数を指定します。
-
-
LIBGENオプション
オプション 説明 [-n name]
共有オブジェクト・ファイルを再作成する項目の名前を指定します。
[-t type]
削除する項目のタイプを指定します。
type項目は、-tオプションを省略できます。
-
CL
-
AIX
-
IS
-
ALL
[-c catalog]
共有オブジェクト・ファイルを再作成する項目が含まれているカタログを指定します。
[-v volume]
共有オブジェクト・ファイルを再作成するISAMデータセットが含まれているボリュームを指定します。カタログに登録されていないISAMの場合は、必ず指定します。
-
使用例
以下は、ボリューム100000にユーザー・カタログUSERCAT1を定義する例です。
$ idcams define UCAT -n USERCAT1 -v 100000
以下は、上記のコマンドで定義したユーザー・カタログをlistcatで照会した結果です。
Data Set Name . . . : USERCAT1 Data Set Type . . . : UCAT Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/08/25 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : KSDS AVGLRECL . . . . : N.A. KEYLEN . . . . . : N.A. MAXLRECL . . . . : N.A. KEYPOS . . . . . : N.A. CISIZE . . . . . : N.A. AIXRKP . . . . . : N.A. Current Allocation Primary Space . . : 1024(KB) Number of Extents : 0 Secondary Space . : 1024(KB) Data Set Size . . : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None**
以下は、USERCAT1と関連付けられているTESTというエイリアスを定義する例です。
$ idcams define ALIAS -n TEST -r USERCAT1
以下は、上記のコマンドで定義したエイリアスをlistcatで照会した結果です。
Entry Name . . . . : TEST Entry Type . . . . : ALIAS Catalog Name . . . : SYS1.MASTER.ICFCAT Associations UCAT . . . . . . : USERCAT1
以下は、TEST.KSDSという名前のKSDSを定義する例です。
$ idcams define CLUSTER -n TEST.KSDS -o KS -k 15,0 -l 250,250
以下は、TEST.ESDSという名前のESDSを定義する例です。
$ idcams define CL -n TEST.ESDS -o ES -v 100000 -l 250,250
以下は、上記のコマンドで定義したESDSをlistcatで照会した結果です。
Data Set Name . . . : TEST.ESDS Data Set Type . . . : CLUSTER Catalog Name . . . : USERCAT1 Management Class . : Creation Date . . : 2019/08/25 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : ESDS AVGLRECL . . . . : 250 KEYLEN . . . . . : 0 MAXLRECL . . . . : 250 KEYPOS . . . . . : 0 CISIZE . . . . . : 4096 AIXRKP . . . . . : N.A. Current Allocation Primary Space . . : 1024(KB) Number of Extents : 0 Secondary Space . : 1024(KB) Data Set Size . . : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None**
以下は、データセットTEST.ESDSにTEST.AIXという名前の代替索引を定義する例です。
$ idcams define AIX -n TEST.AIX -r TEST.ESDS -k 3,0 -l 40,50 -s TRK,20,10
以下は、上記のコマンドで定義した代替索引をlistcatで照会した結果です。
Data Set Name . . . : TEST.AIX Data Set Type . . . : AIX Catalog Name . . . : USERCAT1 Management Class . : Creation Date . . : 2019/08/25 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : KSDS AVGLRECL . . . . : 40 KEYLEN . . . . . : 3 MAXLRECL . . . . : 50 KEYPOS . . . . . : N.A. CISIZE . . . . . : 4096 AIXRKP . . . . . : 0 Current Allocation Primary Space . . : 960(KB) Number of Extents : 0 Secondary Space . : 480(KB) Data Set Size . . : 0 Last Access Date Last Access Date : ***None*** Last Access Time : **None**
以下は、代替索引TEST.AIXにTEST.PATHという名前のパスを定義する例です。
$ idcams define PATH -n TEST.PATH -p TEST.AIX -c USERCAT1
以下は、上記のコマンドで定義したパスをlistcatで照会した結果です。
Entry Name . . . . : TEST.PATH Entry Type . . . . : PATH Catalog Name . . . : USERCAT1 Attributes Creation Date . . : 2019/08/25 Entry Owner . . . : ROOT Expiration Date . : ***None*** Associations AIX . . . . . . . : TEST.AIX
以下は、USERCAT1に登録されているデータセットTEST.KSDSを削除する例です。
$ idcams delete TEST.KSDS -c USERCAT1
以下は、USERCAT1カタログを削除する例です。
$ idcams delete -n USERCAT1
以下は、データセットTEST.ISAMのキー値が「AAAA」から「FFFF」までのレコードを、データセットTEST.KSDSにコピーする例です。
$ idcams repro -i TEST.ISAM -o TEST.KSDS -f AAAA -t FFFF -r KEY
以下は、TEST.KSDSの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen CL -n TEST.KSDS
以下は、TEST.AIXの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen AIX -n TEST.AIX
以下は、カタログに登録されているTEST.ISAMの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen IS -n TEST.ISAM
以下は、カタログに登録されていないTEST.ISAMの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen IS -n TEST.ISAM -v DEFVOL
以下は、カタログに登録されているTEST.BDAMの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen DA -n TEST.BDAM
以下は、カタログに登録されていないTEST.ISAMの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen IS -n TEST.ISAM -v DEFVOL
以下は、システムのすべてのCLUSTER、AIX、ISAMの共有オブジェクト・ファイルを再作成する例です。
$ idcams libgen ALL
17. listcat
listcatは、特定のカタログに登録されている項目の情報を表示するツールです。
使用方法
以下は、listcatツールの実行方法です。
Usage: listcat [options] [entname]
-
[options]
オプション 説明 [-c catalog]
特定のカタログに登録されている項目を検索するときに使用します。指定したカタログに登録されている項目情報のみ検索されます。
[-n entname]
検索する単一の項目名を指定します。このオプションは単一データセットを検索するためのものであり、多数の項目を検索するためにワイルドカード文字を使用することはできません。多数の項目を検索する場合は、このオプションを使用せずに、検索する項目名を直接入力します。
[-l]
カタログ項目の情報を詳細に表示します。
[-a]
カタログ項目の情報を詳細に表示し、関連付けられているカタログ項目も一緒に表示します。PDSの場合は、メンバーの一覧が表示されます。
-
入力項目
項目 説明 [entname]
検索する項目名の前の一部文字を指定します。ワイルドカード文字を使用できます。
ワイルドカードを使用して検索する項目名を指定する場合、以下のような方法があります。
-
AAA.*は、AAA.BBBやAAA.CCCのように、「AAA.」で始まる2つの修飾子で構成されている項目を検索します
-
AAA.**は、AAA.BBB、AAA.CCC、AAA.BBB.FFF、AAA.BBB.GGGのように、「AAA.」で始まるすべての項目を検索します。
-
ボリューム・ディレクトリ内で検索する場合には、指定する項目名を引用符で囲んで検索します。
$ listcat 'AAA.**'
-
使用例
以下は、マスター・カタログに登録されている項目情報を検索する例です。
$ listcat -c SYS1.MASTER.ICFCAT
以下は、上記の実行結果です。
List Catalog Entry Information ----------------------------------------------------------------------------- SYS1.MASTER.ICFCAT VOLUME ENTTYPE VSAM NVSM ----------------------------------------------------------------------------- SYS1.DSLOCK.DATA 100000 CLUSTER KSDS SYS1.DSLOCK.LOG 100000 CLUSTER KSDS SYS1.JCLLIB 100000 NONVSAM PDS SYS1.JESST 100000 CLUSTER KSDS SYS1.JOBQ 100000 CLUSTER KSDS ... SYS1.VVDS.V100000 100000 CLUSTER ESDS SYS1.VVDS.V200000 200000 CLUSTER ESDS SYS1.VVDS.V300000 300000 CLUSTER ESDS ... TEST.DSCOPY01 100000 NONVSAM SDS TEST.DSCOPY02 100000 NONVSAM SDS TEST.GDGBASE ------ GDG TEST.GDGBASE.G0001V00 100000 NONVSAM GDS TEST.GDGBASE.G0002V00 100000 NONVSAM GDS ----------------------------------------------------------------------------- * Total 82 entries in catalog SYS1.MASTER.ICFCAT printed.
以下は、各項目の説明です。
項目 | 説明 |
---|---|
カタログ名 |
カタログに登録されている項目の名前です。 |
VOLUME |
検索した項目が存在するボリュームの名前です。 |
ENTTYPE |
検索した項目のタイプです。 検索項目のタイプについては、OpenFrame Base『データセットガイド』の「統合カタログ」を参照してください。 |
VSAM |
検索した項目のVSAMタイプです。 VSAMタイプの詳細については、OpenFrame Base『データセットガイド』の「VSAMデータセット」を参照してください。 |
NVSAM |
検索した項目の非VSAMタイプです。 非VSAMタイプの詳細については、OpenFrame Base『データセットガイド』の「非VSAMデータセット」を参照してください。 |
以下は、ユーザー・カタログのIYA.UCATに登録されている項目のうち、IYA.NONVSAMデータセットの情報を詳細検索する例です。
$ listcat -c IYA.UCAT -l IYA.NONVSAM
以下は、上記の実行結果です。
List Catalog Entry Information ----------------------------------------------------------------------------- Data Set Name . . . : IYA.NONVSAM Data Set Type . . . : NONVSAM Catalog Name . . . : IYA.UCAT Management Class . : Creation Date . . : 2019/07/14 Data Set Owner . : ROOT Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : 100000 Device Type . . . : 3380 Data Class . . . . : Organization . . : PS Record Format . . : FB KEYLEN . . . . . : 0 Record Length . . : 80 KEYPOS . . . . . : 0 Block Size . . . : 4096 Current Allocation Primary Space . . : 2048(MB) Number of Extents : 0 Secondary Space . : 0(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/07/14 Last Access Time : 11:38:51 ----------------------------------------------------------------------------- * Total 1 entries in catalog IYA.UCAT printed.
以下は、VSAMデータセットのTEST.KSDSの情報を詳細検索する例です。
$ listcat TEST.KSDS -l
以下は、上記の実行結果です。
List Catalog Entry Information ----------------------------------------------------------------------------- Data Set Name . . . : TEST.KSDS Data Set Type . . . : CLUSTER Catalog Name . . . : SYS1.MASTER.ICFCAT Management Class . : Creation Date . . : 2019/11/19 Data Set Owner . : NOUSER Expiration Date . : ***None*** Storage Class . . . : Volume Serial . . : DEFVOL Device Type . . . : 3380 Data Class . . . . : Organization . . : KSDS AVGLRECL . . . . : 21 KEYLEN . . . . . : 15 MAXLRECL . . . . : 21 KEYPOS . . . . . : 0 CISIZE . . . . . : 0 AIXRKP . . . . . : N.A. Current Allocation Primary Space . . : 0(KB) Number of Extents : 0 Secondary Space . : 0(KB) Data Set Size . . : 0 Last Access Date Last Access Date : 2019/11/19 Last Access Time : **None** ----------------------------------------------------------------------------- * Total 1 entries in catalog SYS1.MASTER.ICFCAT printed.
以下は、各項目の説明です。
項目 | 説明 |
---|---|
Data Set Name |
データセットの名前です。 |
Data Set Type |
データセットの種類です。 データセットの種類については、『OpenFrame データセットガイド』の「第1章 データセットの紹介」を参照してください。 |
Catalog Name |
データセットが登録されているカタログの名前です。 |
Management Class |
データセットが属しているマネジメント・クラスの名前です。 |
Creation Date |
データセットの作成日です。 |
Expiration Date |
データセットの有効期限です。 |
Data Set Owner |
データセットの所有者IDです。 |
Storage Class |
データセットが属しているストレージ・クラスの名前です。 |
Volume Serial |
データセットのボリューム・シリアル番号です。 |
Device Type |
データセットのデバイス・タイプです。 |
Data Class |
データセットが属しているデータ・クラスの名前です。 |
Organization |
データセットの編成です。 データセットの編成やレコード形式については、『OpenFrame データセットガイド』の「第2章 非VSAMデータセット」と「第3章 VSAMデータセット」を参照してください。 |
KEYLEN |
データセットがISAMまたはKSDSの場合のキーの長さです。 |
KEYPOS |
データセットがISAMまたはKSDSの場合のキーの開始位置です。 |
Record Format |
データセットのレコード形式です。 |
Record Length |
データセットのレコード長です。 |
Block Size |
データセットのブロック・サイズです。 |
Primary Space |
データセットに割り当てられたプライマリ領域のサイズです。 |
Secondary Space |
データセットに割り当てられたセカンダリ領域のサイズです。 |
Number of Extents |
データセットの最大エクステント数です。 |
Data Set Size |
データセットの物理的なサイズをバイト単位で表示します。 |
Last Access Date |
データセットに最後にアクセスした日付です。 |
Last Access Time |
データセットに最後にアクセスした時刻です。 |
18. lockm
lockmは、データセットを独占的に使用するために管理するデータセットのロック情報の照会機能を提供するツールです。
使用方法
以下は、lockmツールの実行方法です。
Usage: lockm command [options]
-
入力項目
項目 説明 command
-
lock : データセットのロックを要求します。
-
list : データセットのロック一覧を表示します。
-
-
[options]
以下は、command項目に指定したコマンドごとに使用できるオプションについての説明です。
-
lock
ロックの名前と種類は必須オプションです。
オプション 説明 [-n name]
要求するロックの名前を指定します。(必須)
[-t type]
要求するロックの種類を指定します。(必須)
-
EX(独占)
-
SHR(共有)
[-p pid]
要求するロックのPIDを指定します。
[-w time]
ロックの要求待ちオプションを指定します。
-
FOREVER
-
NOWAIT
[-c shell command]
実行するシェル・コマンドを入力します。
-
-
list
オプション 説明 [-p pid]
表示するロックの所有PIDを指定します。
[-n name]
表示するロックの名前を指定します。
[-j jobid]
表示するロックのジョブIDを指定します。
[-t type]
表示するロックの種類を指定します。
-
EX(独占)
-
SHR(共有)
[-nd node name]
表示するロックのノード名を指定します。
-
-
使用例
以下は、カタログTESTCATのデータセットTESTDS.TESTLOCKに対して強制的にロックを要求する例です。
$ lockm lock -n TESTCAT:TESTDS.TESTLOCK -t EX
以下は、lockmツールを利用して現在のシステムで管理しているロック一覧を照会する例です。
$ lockm list
上記を実行すると、以下のように一覧が表示されます。
Dataset Lock Token Management Program ----------------------------------------------------------------------------- PID NODENAME JOBID JOBNAME TYPE LOCKNAME ----------------------------------------------------------------------------- *6163 tp3lab SHR TEST.IMS43643.FIRST *6163 tp3lab EX TESTDS.TESTLOCK *30752 tp3lab dsview SHR TMAX.LOCK.TEST ----------------------------------------------------------------------------- * List command completed successfully.
以下は、上記の表示項目についての説明です。
項目 | 説明 |
---|---|
オプション (1、2列) |
|
PID |
データセットにロックを設定したプロセスIDを表示します。 |
NODENAME |
データセットにロックを設定したプロセスが属しているノード名を表示します。 |
JOBID |
データセットにロックを設定したプロセスが属しているジョブIDを表示します。ジョブIDは、バッチでJCLが実行される際に割り当てられます。 |
JOBNAME |
データセットにロックを設定したツールの名前を表示します。 |
TYPE |
ロックの種類であり、SHR(共有)またはEX(独占)を表示します。 |
LOCKNAME |
ロックの名前を表示します。 |
19. smfmgr
smfmgrは、SMFデータセットの状態を表示・管理するツールであり、以下のような機能を持ちます。
-
SMFデータセットの現在の状態を表示します。
SMFデータセットは次の3つの状態を持ちます。
状態 説明 F(FULL)
データセットがいっぱいになっている状態です。IFASMFDPユーティリティ(MVS環境でのみ使用可能)を利用して内容をコピーし、EMPTY状態に変更することができます。
U(USING)
SMFでデータセットを使用している状態です。
E(EMPTY)
データセットが空の状態です。切り替えの対象になります。
-
SMFデータセットを切り替えます。
SMFはある時点で1つのデータセットだけを使用します。使用中のデータセットがいっぱいになると、自動的に空のデータセットに切り替えられますが、データセットがいっぱいになる前にsmfmgrのSWITCHコマンドを使用して手動で切り替えることもできます。
使用方法
以下は、smfmgrツールの実行方法です。
Usage: smfmgr command [option]
-
入力項目
項目 説明 command
-
STATUS : SMFデータセットの状態を表示します。
-
SWITCH : SMFデータセットを切り替えます。オプションとしてDSNを指定できます。DSNを指定しない場合は、空のデータセットのうち1つに切り替えられます。
-
-
[options]
オプション 説明 dsn
USING状態に変更するデータセット名を指定します。SWITCHコマンドにのみ有効です。
使用例
以下は、SMFデータセットの状態を表示する例です。
$ smfmgr STATUS
以下は、上記の実行結果です。SMLOG.DS1とSMLOG.DS2はいっぱいで、SMLOG.DS3は使用中です。SMLOG.DS4は空の状態です。
DSNAME STATUS -------------------------------------------------------------- SMLOG.DS1 F SMLOG.DS2 F SMLOG.DS3 U SMLOG.DS4 E
以下は、SMFデータセットを切り替える例です。SMLOG.DS3をSMLOG.DS4に切り替えます。
$ smfmgr SWITCH SMLOG.DS4
上記を実行すると、以下のメッセージが表示されます。
SMF Dataset is switched to SMLOG.DS4
上記の実行結果は以下のとおりです。
$ smfmgr STATUS
DSNAME STATUS
--------------------------------------------------------------
SMLOG.DS1 F
SMLOG.DS2 F
SMLOG.DS3 F
SMLOG.DS4 U
関連環境設定と初期化
smfmgrを使用するには、OpenFrame環境設定のsmfサブジェクトでSMFの環境設定をしてから、システムに適用するためにSMFを初期化する必要があります。
-
SMFの環境設定
OpenFrame環境設定のsmfサブジェクトのDATASETセクションでデータセット名をキーとして設定した後、使用可能なノード名を値として指定します。(現在はALLのみ指定可能であり、すべてのノードで使用できることを意味します)
$ ofconfig list -s smf -sec DATASET ==================================================================================== SUBJECT | SECTION | KEY | VALUE ==================================================================================== smf | DATASET | NODE1.SMLOG1 | ALL | | NODE1.SMLOG2 | ALL | | NODE2.SMLOG1 | ALL | | NODE2.SMLOG2 | ALL | | SMLOG1.NODE1 | ALL | | SMLOG2.NODE2 | ALL | | SMLOG3.NODE3 | ALL | | SMLOG4.NODE4 | ALL ====================================================================================
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。
-
SMFの初期化
以下は、SMFを初期化する手順です。
-
SMFが動作している場合、以下の方法でSMFの動作を停止します。
tmdown -s ofrsmlog
-
smfサブジェクトに設定されている全データセットを以下の属性で作成します。
recfm=VB, lrecl=32760
-
$OPENFRAME_HOME/shared/SMFディレクトリ内のSMF_INFOを削除します。
-
次のコマンドを使用してSMFを起動します。
tmboot -s ofrsmlog
-
20. spfedit
spfeditは、非VSAMデータセットを直接編集するツールであり、以下の機能を提供します。
-
SDSまたはPDSメンバーなどの非VSAM編成データセット内容の編集(ISAMを除く)
-
指定した位置へのレコードの挿入、複製、削除、移動
-
データセットの内容をHEX値に変換して表示または修正
-
特定の文字列の検索または置換
-
フィルター・キーを使用したデータセットの検索およびPDSメンバーの作成
-
データセット・レコードのソート
-
JCLバッチ・ジョブのサブミット
spfeditは、メインフレームで提供しているデータセット・エディターに慣れているユーザー向けに、基本的に同じインターフェースとコマンドを提供します。さらに、UNIXのviエディターに慣れているユーザー向けに、編集機能に対応するviのコマンドを一緒にサポートしています。 |
使用方法
以下は、spfeditツールの実行方法です。
Usage: spfedit [options] [dataset_name] [member_name]
-
[options]
オプション 説明 [-V]
ツールのバージョン情報を表示します。
[-h]
ツールのヘルプを表示します。
[-b]
読み取り専用(BROWSE)モードでデータセットを開きます。読み取り専用モードではデータセットへのロックをかけず、データセットを編集あるいは保存することができません。また、データセットのサイズに関係なく、一定量のメモリを使用します。TSAM/ISAMの場合、読み取り専用モードでのみデータセットをオープンできます。
[-v volume_serial]
編集するデータセットがカタログに登録されていない場合、編集するデータセットのボリューム・シリアルを指定します。
[-c user_catalog]
編集するデータセットがユーザー・カタログに登録されている場合、編集するデータセットのユーザー・カタログを指定します。
-
入力項目
項目 説明 [dataset_name]
編集するデータセットの名前を記述します。データセットがPDSの場合は、必ずメンバー名を一緒に記述します。データセット名を省略した場合、データセットのフィルタリング検索画面が表示されます。
[member_name]
編集するデータセットがPDSの場合、メンバー名を一緒に記述します。
画面構成
データセットの編集画面で、Line command fieldとPrimary command lineにコマンドを入力します。
Line command fieldに入力したコマンドはライン・コマンドとして、Primary command lineに入力したコマンドはプライマリ・コマンドとして認識し、同時に入力した場合は、プライマリ・コマンドを優先して処理します。各コマンドの詳細については、ライン・コマンドとプライマリ・コマンドを参照してください。

以下は、データセットの編集画面の機能キーについての説明です。
機能キー | vi対応の機能キー | 説明 |
---|---|---|
<F1> |
ヘルプ画面を表示します。 |
|
<F2> |
編集画面を2つに分割します。分割状態でF2キーを押すと、分割状態が解除されます。 |
|
<F3> |
編集された内容を保存し、spfeditを終了します。 |
|
<F5> |
最後に実行したFINDコマンドを繰り返し実行します。 |
|
<F6> |
最後に実行したCHANGEコマンドを繰り返し実行します。 |
|
<F7> |
<Ctrl>+<b>, <Page Up> |
画面を上にスクロールします。 |
<F8> |
<Ctrl>+<f>, <Page Down> |
画面を下にスクロールします。 |
<F9> |
画面を分割した場合、分割した画面間でカーソルを移動します。 |
|
<F10> |
画面を左にスクロールします。 |
|
<F11> |
画面を右にスクロールします。 |
|
<F12> |
編集された内容を保存せずに、spfeditを終了します。 |
|
<Esc> |
<F12>キーと同じ機能をします。 |
|
<Home> |
カーソルをPrimary command lineに移動させます。 |
|
<Insert> |
編集モードをINSERTまたはREPLACEのいずれかに切り替えます。基本はREPLACEモードです。 |
|
<Enter> |
コマンドを入力した場合、入力したコマンドを実行します。 |
|
<Tab> |
カーソルを次の項目に移動させます。 |
|
<End> |
レコードの最後の列にカーソルを移動させます。 |
|
<Ctrl>+<A> |
レコードの最初の列にカーソルを移動させます。 |
|
<Ctrl>+<L> |
画面を再描画します。 |
|
<↑> |
カーソルを前のレコードに移動させます。画面の最初のレコードでは上にスクロールします。 |
|
<↓> |
カーソルを次のレコードに移動させます。画面の最後のレコードでは下にスクロールします。 |
以下は、データセットのフィルタリング検索画面です。データセット名を指定せずに、spfeditを実行したりEDITまたはBROWSEコマンドを入力した場合に表示されます。spfeditをデータセットのフィルタリング検索画面で開始した場合は、編集画面を終了すると、再び検索画面に戻ります。また、編集モードで検索画面にPDSに存在しないメンバー名を入力した場合は、編集画面が開かれ、新しいメンバーが作成されます。

以下は、データセットのフィルタリング検索画面の機能キーについての説明です。
機能キー | vi対応の機能キー | 説明 |
---|---|---|
<F1> |
ファイルター・キーについてのヘルプ画面を表示します。 |
|
<F7> |
<Ctrl>+<b>, <Page Up> |
検索したデータセット一覧を上にスクロールします。 |
<F8> |
<Ctrl>+<f>, <Page Down> |
検索したデータセット一覧を下にスクロールします。 |
<F12> |
データセット編集画面に戻るか、終了します。 |
|
<Esc> |
<F12>キーと同じ機能をします。 |
|
<Home> |
カーソルをデータセット名入力項目に移動します。 |
|
<Enter> |
現在入力した条件に該当するデータセット一覧を取得します。データセットを選択すると、そのデータセットを開いて編集画面に移動します。 |
|
<↑> |
データセット検索入力項目のカーソルを前の項目に移動したり、データセットの選択バーを上に移動します。 |
|
<↓> |
データセット検索入力項目のカーソルを次の項目に移動したり、データセットの選択バーを下に移動します。 |
|
<Tab> |
データセット検索入力項目のカーソルを次の項目に移動します。 |
以下は、データセットの検索画面で使用できるフィルター・キーについての説明と使用例です。
-
フィルター・キーについての説明
フィルター・キー 説明 *
1つの修飾子を意味します。
**
0または1つ以上の修飾子です。
%
1つの文字を意味します。
-
フィルター・キーの使用例
フィルター・キーの条件 条件に該当するデータセット名 条件に該当しないデータセット名 TEST.DATA.SET%
TEST.DATA.SET1
TEST.DATA.SET
TEST.*.SET
TEST.DATA1.SET
TEST.SET
TEST.DATA*
TEST.DATA23
TEST.DATA.SET
TEST.**
TEST.DATA.SET
TEST1.DATA.SET
**.SET
TEST.DATA.SET
TEST.DATA.SET1
VSAM.DATA.SET
VSAM.DATA.SET
**
すべてのデータセット
関連環境設定
OpenFrame環境設定のdstoolサブジェクトのSPFEDITセクションのすべてのキーを設定します。
-
RECORD_READ_COUNT
-
END_KEY_FUNC_DEL_EOL
-
F12_KEY_FUNC_RETRIEVE
-
REPLACE_CREATE_NEEDED
-
EDIT_SIZE_LIMIT
-
DEFAULT_CURSOR_ON_LINE_COMMAND
-
CURSOR_KEY_FUNC_SCROLL
-
CPM_PATH
-
LOCALE
OpenFrame環境設定の詳細については、OpenFrame Base『環境設定ガイド』を参照してください。 |
注意事項
-
画面の表示可能な最小幅は、編集画面は35列、データ検索画面は73列です。
-
EDITモードでデータセットを編集または保存する場合は、データセットの内容全体がメモリにロードされるため、大容量のデータセットを編集する際には、システム・リソースの管理に注意してください。
-
データセットをBROWSEモードで開く場合、データセット全体をメモリにロードするのではなく、OpenFrame環境設定のdstoolサブジェクトのSPFEDITセクションのRECORD_READ_COUNTキーに設定したレコードのみを常にメモリに維持させます。BROWSEモードを実行するには、spfeditを実行時に[-b]オプションを指定するか、あるいはBROWSEコマンドでデータセットを開きます。
-
OpenFrame環境設定のdstoolサブジェクトのSPFEDITセクションのEDIT_SIZE_LIMITキーで編集可能なデータセットのサイズを制限することができます。ただし、BROWSEモードでデータセットを開く場合は、この設定値に影響されません。
-
EDITまたはBROWSEコマンドで他のデータセットを開くと、既存のデータセットは編集内容が保存されずに閉ざされます。
-
制御文字や未定義2バイト文字のように表示が不可能な文字は画面にピリオド(.)で表示されます。
-
システムのオペレーティング・システムがLinuxであり、文字コードとしてShift_JISを使用している場合、拡張された特殊文字や日本語が正常に表示されないことがあります。そのような場合は、spfeditのLOCALE環境設定をShift_JISの拡張文字コードセットのja_JP.windows31jに指定します。Linuxシェルで「locale -a」を実行してja_JP.windows31jが使用可能なロケール・リストにあるか確認します。リストにない場合は、Linuxのlocaldefコマンドを実行して、このロケールをインストールします。
20.1. ライン・コマンド
ライン・コマンドは、コマンドが入力された行にのみ適用されます。コマンドを1つ以上のLine command fieldに入力し、<Enter>キーを押すと、コマンドが実行されます。Line command fieldは、画面の左端の6桁の数字フィールドです。
以下は、spfeditで入力可能なライン・コマンドの一覧です。
コマンド | vi対応コマンド | 説明 |
---|---|---|
p |
次の行に指定したデータを挿入します。 |
|
前の行に指定したデータを挿入します。 |
||
yy |
行をメモリにコピーします。 |
|
列ルーラーを挿入します。 |
||
指定した行を削除します。 |
||
非表示された行を最初から再表示します。 |
||
一時行を挿入します。 |
||
非表示された行を最後から再表示します。 |
||
アルファベットの大文字を小文字に変換します。 |
||
指定した行を別の場所に移動させます。 |
||
指定した行を別の場所に上書きします。 |
||
アルファベットの小文字を大文字に変換します。 |
||
指定した行をコピーして次の行に挿入します。 |
||
非表示された行を再表示します。 |
||
指定した行を非表示し、点線を表示します。 |
A ( p )
コマンドが入力された行の次の行に、移動、複製、挿入対象のデータが入ります。一般的に、C(copy)コマンドやM(move)コマンドと一緒に使用されます。
-
使用方法
A[n]
オプション 説明 n
繰り返し挿入回数を指定します。省略した場合は1になります。
Aコマンドの実行前の画面Aコマンドの実行後の画面
B
コマンドが入力された行の前の行に、移動、複製、挿入対象のデータが入ります。一般的に、C(copy)コマンドやM(move)コマンドと一緒に使用されます。
-
使用方法
B[n]
オプション 説明 n
繰り返し挿入回数を指定します。省略した場合は1になります。
Bコマンドの実行前の画面Bコマンドの実行後の画面
C|CC ( yy )
一般的に、A(after)、B(before)、O(overlay)コマンドと一緒に使用されます。
-
使用方法
-
C
1つ以上のレコードをメモリにコピーします。
C[n]
オプション 説明 n
繰り返しコピー回数を指定します。省略した場合は1になります。
-
CC
コピー対象のブロックを、コピー開始行とコピー終了行にCCを入力して指定します。
CC
Cコマンドの実行前の画面Cコマンドの実行後の画面
-
COLS
列ルーラーを指定した位置に挿入します。挿入した列ルーラーはデータと一緒に保存されず、DコマンドやRESET COLS(プライマリ・コマンド)を使用して削除することができます。
-
使用方法
COLS
COLSコマンドの実行前の画面COLSコマンドの実行後の画面
D|DD
指定した行を削除します。
-
使用方法
-
D
1つ以上のレコードを削除します。
D[n]
オプション 説明 n
削除する対象行数を指定します。省略した場合は1になります。
-
DD
削除開始行と削除終了行にDDを入力して、削除対象ブロックを指定します。
DD
Dコマンドの実行前の画面Dコマンドの実行後の画面
-
F
コマンドが入力された位置の非表示行の非表示レコードを最初のレコードから指定した数だけ再表示します。
-
使用方法
F[n]
オプション 説明 n
再表示するレコードの数を指定します。省略した場合は1になります。
Fコマンドの実行前の画面Fコマンドの実行後の画面
I
1つ以上の一時レコードを指定した位置の後に挿入します。挿入された行に何も入力せずに<Enter>キーを押すと、自動的に削除されます。
-
使用方法
I[n]
オプション 説明 n
繰り返し挿入回数を指定します。省略した場合は1になります。
Iコマンドの実行前の画面Iコマンドの実行後の画面
L
コマンドが入力された位置の非表示行の非表示レコードを最後のレコードから指定した数だけ再表示します。
-
使用方法
L[n]
オプション 説明 n
再表示するレコードの数を指定します。省略した場合は1になります。
Lコマンドの実行前の画面Lコマンドの実行後の画面
LC|LCC|LCLC
指定したレコードのアルファベットの大文字を小文字に変換します。
-
使用方法
-
LC
1つ以上のレコードのアルファベットの大文字を小文字に変換します。
LC[n]
オプション 説明 n
小文字に変換する対象行数を指定します。省略した場合は1になります。
-
LCC|LCLC
変換開始行と変換終了行にLCCまたはLCLCを入力して、変換対象ブロックを指定します。
LCC|LCLC
LCコマンドの実行前の画面LCコマンドの実行後の画面
-
M|MM
一般的に、A(after)、B(before)、O(overlay)コマンドと一緒に使用されます。
-
使用方法
-
M
1つ以上のレコードを別の場所に移動させます。
M[n]
オプション 説明 n
移動対象行数を指定します。省略した場合は1になります。
-
MM
移動開始行と移動終了行にMMを入力して、移動対象ブロックを指定します。
MM
Mコマンドの実行前の画面Mコマンドの実行後の画面
-
O|OO
コピーしたレコードを、指定したレコードの空白文字の部分にのみ上書きします。一般的に、C(copy)コマンドやM(move)コマンドと一緒に使用されます。
-
使用方法
-
O
1つ以上のレコードに上書きします。
O[n]
オプション 説明 n
上書きする対象行数を指定します。省略した場合は1になります。
-
OO
上書き開始行と上書き終了行にOOを入力して、上書きする対象ブロックを指定します。
OO
OOコマンドの実行前の画面OOコマンドの実行後の画面
-
UC|UCC|UCUC
指定したレコードのアルファベットの小文字を大文字に変換します。
-
使用方法
-
UC
1つ以上のレコードのアルファベットの小文字を大文字に変換します。
UC[n]
オプション 説明 n
大文字に変換する対象行数を指定します。省略した場合は1になります。
-
UCC|UCUC
変換開始行と変換終了行にUCCまたはUCUCを入力して、変換対象ブロックを指定します。
UCC|UCUC
UCコマンドの実行前の画面UCコマンドの実行後の画面
-
R|RR
指定したレコードの内容を次の行に挿入します。
-
使用方法
-
R
指定したレコードを繰り返し挿入する回数を指定します。
R[n]
オプション 説明 n
レコードの繰り返し挿入回数を指定します。省略した場合は1になります。
-
RR
繰り返し開始行と繰り返し終了行にRRを入力して、繰り返しの対象ブロックを指定します。
RR
Rコマンドの実行前の画面Rコマンドの実行後の画面
-
S
コマンドが入力された位置の非表示行の非表示レコードの全体または指定した数のレコードを再表示します。
-
使用方法
S[n]
オプション 説明 n
再表示するレコードの数を指定します。省略した場合は、非表示レコード全体を再表示します。
Sコマンドの実行前の画面Sコマンドの実行後の画面
X|XX
指定したレコードを非表示し、点線を表示します。点線の後に非表示レコードの数が表示されます。指定したレコードに隣接するレコードが非表示レコードである場合は、点線が1つに連結されます。
非表示レコードを再表示するには、ライン・コマンドのF、L、Sを使用するか、RESETコマンドでEXCLUDEオプションを使用します。また、非表示レコードがFINDコマンドやLOCATEコマンドの対象になった場合も、該当する行が再表示されます。
-
使用方法
-
X
非表示する1つ以上のレコードを指定します。
X[n]
オプション 説明 n
非表示する対象行数を指定します。省略した場合は1になります。
-
XX
非表示開始行と非表示終了行にXXを入力して、非表示対象ブロックを指定します。
XX
Xコマンドの実行前の画面Xコマンドの実行後の画面
-
20.2. プライマリ・コマンド
プライマリ・コマンドは、全データセットに影響を及ぼすコマンドです。コマンドを画面の2行目のコマンド・ライン(「Command ===>」)に入力して<Enter>キーを押すと、コマンドが実行されます。
以下は、入力可能なプライマリ・コマンドの一覧です。
コマンド | vi対応コマンド | 説明 |
---|---|---|
データセットの末尾に移動します。 |
||
SORTコマンドでデフォルトで使用するキー領域を指定します。 |
||
読み取り専用モードで別のデータセットを開きます。 |
||
:q |
編集された内容を保存せずに終了します。 |
|
常に大文字で入力します。 |
||
指定した文字列を別の文字に置換します。 |
||
列ルーラーがPrimary command lineの下に表示されます。 |
||
他のデータセットのレコードを現在編集しているデータセットにコピーします。 |
||
現在編集しているレコードを新規データセットを作成してコピーします。 |
||
編集しているレコードをクリップボードに保存します。 |
||
指定した行を削除します。 |
||
編集しているレコードから下にスクロールします。 |
||
:e |
編集モードで別のデータセットを開きます。 |
|
:wq |
編集された内容を保存して終了します。 |
|
特定の文字列が含まれているレコードを非表示します。 |
||
/ |
特定の文字列を検索します。 |
|
ヘルプ画面を表示します。 |
||
データセットの表示形式を一般またはHEXモードに切り替えます。 |
||
画面を左にスクロールします。 |
||
:[n] |
特定の行に画面を移動します。 |
|
画面下部の機能キーの一覧を表示または非表示にします。 |
||
クリップボードに保存したレコードを現在編集しているデータセットに貼り付けます。 |
||
最後に実行したCHANGEコマンドを繰り返し実行します。 |
||
現在編集しているレコードを他のデータセットのレコードとして保存します。 |
||
画面を初期化して表示します。 |
||
最後に実行したFINDコマンドを繰り返し実行します。 |
||
画面を右にスクロールします。 |
||
:w |
現在編集中のデータセットを保存します。 |
|
画面のページ・スクロール方法を決定します。 |
||
データセットの全レコードを指定した順でソートします。 |
||
現在編集している内容でバッチ処理を行います。 |
||
データセットの先頭に移動します。 |
||
編集しているレコードから上にスクロールします。 |
BOTTOM|BOT
データセットの末尾に画面を移動します。
-
使用方法
BOTTOM|BOT
BOUNDS|BOUND|BNDS|BND|BOU
SORTコマンドでデフォルト値として使用するキー領域を指定します。オプションを省略した場合は、現在指定したキー領域の値が表示されます。
-
使用方法
BOUNDS|BOUND|BNDS|BND|BOU [left_column right_column]
オプション 説明 left_column
キー領域の開始列の位置を指定します。(デフォルト値:1)
right_column
キー領域の終了列の位置を指定します。(デフォルト値: レコードの最大長)
以下は、開始列を1、終了列を72に設定した例です。
BOUNDS 1 72
BROWSE|BR
現在の画面で編集しているデータセットを閉じて、別のデータセットを読み取り専用モードで開きます。データセットのロックをかけず、データセットの編集や保存ができません。読み取り専用モードでは、データセットのサイズに関係なく、環境設定のRECORD_READ_COUNTで指定したサイズのメモリのみを使用します。このコマンドを使用して現在開いているデータセットを再び開くことはできません。
-
使用方法
BROWSE|BR [dataset_name] [member_name]
オプション 説明 dataset_name
読み取り専用モードで開くデータセットの名前を指定します。データセットはカタログに登録されている必要があります。このオプションを省略した場合は、データセットの検索画面が表示されます。
member_name
開くデータセットがPDSの場合、メンバー名を一緒に記述します。
CANCEL|CAN (:q)
編集したデータセットを保存せずにspfeditを終了します。<F12>キーを押した場合も、同じ機能をします。
-
使用方法
CANCEL|CAN
CAPS
キーボードで入力する英文字を大文字に変換するかどうかを指定します。
-
使用方法
CAPS {ON|OFF}
オプション 説明 ON
キーボードの<CAPS>キーの設定とは関係なく、入力されるすべての英文字を大文字に変換して入力します。
OFF
キーボードで入力されたとおりに英文字を入力します。(デフォルト値)
CHANGE|C
指定した文字列を別の文字列に置換します。データセットがFまたはFB形式の場合、置換前の文字列と置換後の文字列の長さは同じである必要があります。
-
使用方法
CHANGE|C string-1 string-2 [NEXT|PREV|ALL|FIRST|LAST] [left-col [right-col]]
-
入力項目
項目 説明 string-1
置換前の対象文字列を入力します。基本的に大小文字を区別しません。
大小文字を区別して置換する場合は、C+‘文字列’を入力します。
置換対象の文字列に空白が含まれている場合、‘文字列’または“文字列”を入力します。
HEX値で置換対象の文字列を検索する場合、X+’HEX値’を入力します。
string-2
置換後の文字列を入力します。
置換後の文字列に空白が含まれている場合、‘文字列’または“文字列”を入力します。
-
オプション
オプション 説明 NEXT
現在の画面の最初の行から検索を始めて置換します。(デフォルト値)
PREV
現在の画面の最初の行以前から逆方向に検索をして置換します。
ALL
データセット全体を検索して対象文字列をすべて置換し、置換した総数を表示します。
FIRST
データセットの先頭から検索を開始して置換します。
LAST
データセットの末尾から逆方向に検索して置換します。
left-col
置換領域の最初の列を指定します。(デフォルト値: 1)
right-col
置換領域の最後の列を指定します。(デフォルト値: レコードの最終列)
-
以下は、データセットを先頭から検索して「AAA」を「BBB」に置換する例です。
CHANGE AAA BBB FIRST
以下は、データセット全体で空白文字が含まれている「HOME A」を「 HOME B」にすべて置換する例です。
CHAGNE 'HOME A' 'HOME B' ALL
以下は、現在の画面に表示されているレコードから検索してHEX値「6565」を「6767」に置換する例です。
CHANGE X'6565' X'6767'
以下は、レコードの5列から8列までの範囲内でのみ「XXX」を「YYY」に置換する例です。
CHANGE XXX YYY NEXT 5 8
COLS
列ルーラーをPrimary command lineの下に表示するかどうかを指定します。オプションを省略した場合は、現在の設定に従ってトグルされます。
-
使用方法
COLS [{ON|OFF}]
オプション 説明 ON
列ルーラーを表示します。
OFF
列ルーラーを表示しません。(デフォルト値)
COPY
他のデータセットのレコードを読み込んで現在編集しているデータセットにコピーします。
-
使用方法
COPY dataset_name {BEFORE|AFTER} label [start-line] [end-line]
オプション 説明 dataset_name
レコードを読み込むデータセットの名前を指定します。
BEFORE
指定したラベルの前に挿入します。
AFTER
指定したラベルの後ろに挿入します。
label
読み込んだレコードを挿入するラベルを指定します。
start-line
コピーする対象レコードの開始番号を指定します。
end-line
コピーする対象レコードの終了番号を指定します。
コピーするデータセットの場所は、spfeditの実行時に指定されたオプションによって異なります。-cオプションが指定された場合は、そのカタログからデータセットを検索し、-vオプションが指定された場合は、そのボリュームから検索します。両方のオプションが指定された場合はボリュームから検索され、どちらのオプションも指定されていない場合は、マスター・カタログから検索されます。
以下は、データセットXXXを読み込んで現在編集しているデータセットの先頭にコピーする例です。
COPY XXX AFTER .ZFIRST
CREATE
編集しているレコードを新しいPDSメンバー・データセットとして作成します。PDSメンバー以外の他のデータセットとして保存することはできません。
-
使用方法
CREATE dataset_name label1 label2
オプション 説明 dataset_name
新規作成するデータセットのPDS名とメンバー名を指定します。編集中のデータセットがPDSメンバーでない場合や、他のPDSメンバーとして保存する場合は、PDS名とメンバー名を一緒に指定する必要があります。同じPDS内の別のメンバーとして保存する場合は、PDS名は省略できます。
label1
保存するレコードの開始ラベルを指定します。
label2
保存するレコードの終了ラベルを指定します。
以下は、現在編集しているレコードの.L1ラベルから.L2ラベルまで読み込んで、XXX(YYY)データセットを作成する例です。
CREATE XXX(YYY) .L1 .L2
CUT
編集しているレコードの一部または全体をクリップボードに保存したり、クリップボードの内容を表示したりできます。
-
使用方法1
COPY [label1 label2] [X|NX] [REPLACE|APPEND]
オプション 説明 label1
クリップボードに保存するレコードの開始ラベルを指定します。
label2
クリップボードに保存するレコードの終了ラベルを指定します。
X
非表示に指定したレコードのみクリップボードにコピーします。
NX
非表示に指定していないレコードのみクリップボードにコピーします。
REPLACE
既存のクリップボードの内容を上書きします。(デフォルト値)
APPEND
既存のクリップボードの内容の末尾に選択した部分を追加します。
-
使用方法2
COPY DISPLAY
オプション 説明 DISPLAY
クリップボードの内容を表示します。
DELETE|DEL
指定した範囲の行を削除します。
-
使用方法
DELETE|DEL _from-line [to-line]
項目 説明 from-line
削除開始行の番号を入力します。
to-line
削除終了行の番号を入力します。
DOWN
現在編集しているレコードから下にスクロールします。
-
使用方法
DOWN {MAX|HALF|PAGE|CURSOR|nnn}
項目 説明 MAX
最後のレコードに移動します。
HALF
ページの半分を下に移動します。
PAGE
次のページのレコードに移動します。
CURSOR
現在カーソルが置かれたレコードが一番上に表示されるように移動します。
nnn
指定した行数を下に移動します。
EDIT|E ( :e )
現在の画面で編集しているデータセットを閉じて、別のデータセットを編集モードで開きます。このデータセットは排他ロックがかけられ、他のユーザーが編集モードでアクセスできなくなります。このコマンドを使用して現在開いているデータセットを再び開くことはできません。
-
使用方法
EDIT|E [dataset_name] [member_name]
オプション 説明 dataset_name
編集するデータセットの名前を入力します。この場合、カタログに登録されている必要があります。データセット名を省略した場合は、データセット検索画面が表示されます。
member_name
編集するデータセットがPDSの場合、メンバー名を一緒に指定します。
END ( :wq )
データセットを保存した後、spfeditを終了します。<F3>キーも同じ機能をします。
-
使用方法
END
EXCLUDE
特定の文字列を検索し、その文字列が含まれているレコードを非表示します。
-
使用方法
EXCLUDE string [label1 label2] [NEXT|PREV|ALL|FIRST|LAST] [left-col] [right-col]
オプション 説明 string
編集するデータセットの名前を指定します。データセットはカタログに登録されている必要があります。データセット名を省略すると、データセット検索画面が表示されます。
label1
コマンドを実行する開始ラベルを指定します。
label2
コマンドを実行する終了ラベルを指定します。
NEXT
指定した範囲内で現在の位置から順次に検索します。(デフォルト値)
PREV
指定した範囲内で現在の位置から逆方向に検索します。
ALL
指定した範囲内のすべての行を検索します。
FIRST
指定した範囲内で最初から検索を始めます。
LAST
指定した範囲内で最後から逆方向に検索します。
left-col
検索領域の最初の列を指定します。(デフォルト値: 1)
right-col
検索領域の最後の列を指定します。(デフォルト値: レコードの最後の列)
member_name
編集するデータセットがPDSの場合は、メンバー名を一緒に指定します。
FIND|F ( / )
入力した文字列を検索し、その文字列の位置に移動します。探した文字列は画面上で反転表示されます。
-
使用方法
FIND|F string [NEXT|PREV|ALL|FIRST|LAST] [left-col [right-col]]
-
入力項目
項目 説明 string
検索する文字列を入力します。基本的に大小文字を区別しません。大小文字を区別して検索する場合は、C+’文字列’を入力します。
検索する文字列に空白が含まれている場合、‘文字列’または“文字列”を入力します。HEX値で検索する場合、X+’HEX値’を入力します。
-
オプション
オプション 説明 NEXT
現在の画面の最初の行から順に検索します。(デフォルト値)
PREV
現在の画面の最初の行以前から逆方向に検索します。
ALL
データセットの先頭から末尾まで検索して探した文字列の総数を表示します。
FIRST
データセットの先頭から検索します。
LAST
データセットの末尾から逆方向に検索します。
left-col
検索領域の最初の列を指定します。(デフォルト値: 1)
right-col
検索領域の最後の列を指定します。(デフォルト値: レコードの最終列)
-
以下は、データセットの先頭から文字列「DISP」を検索する例です。
FIND DISP FIRST
以下は、データセット全体で空白文字が含まれている文字列「S P A C E」を検索する例です。
FIND 'S P A C E' ALL
以下は、現在の画面に表示されているレコードから検索してHEX値「656667」を検索する例です。
FIND X'656667'
以下は、レコードの6列から11列までの範囲でのみ文字列「XXX」を検索する例です。
FIND XXX 6 11
HELP
spfeditで入力可能なコマンドやキーの一覧と簡単な説明が含まれた別のウィンドウを表示します。
-
使用方法
HELP
HEX
データセットの内容をHEX値と一緒に表示するかどうかを指定します。
-
使用方法
HEX {ON|OFF}
オプション 説明 ON
編集中のデータセットの内容について行ごとにHEX値を縦に表示します。
表示されたHEX値でデータセットの内容を修正することも可能です。
OFF
HEX表示モードを解除します。(デフォルト値)
LEFT
画面をページ単位で左にスクロールします。
-
使用方法
LEFT [MAX]
オプション 説明 MAX
レコードの開始部分に移動します。
LOCATE|L ( :[n] )
指定した行番号に移動し、内容を画面に表示します。
-
使用方法
LOCATE|L line-number
入力項目 説明 line-number
画面の最上部に表示する行番号を指定します。
MENU
画面の下部に機能キーの一覧を表示するかどうかを設定します。
-
使用方法
MENU {ON|OFF}
オプション 説明 ON
画面の下部に機能キーの一覧を表示します。(デフォルト値)
OFF
画面の下部に機能キーの一覧を表示しません。
PASTE
CUTコマンドを使用してクリップボードに保存したレコードを現在編集しているデータセットに貼り付けます。
-
使用方法
PASTE [{AFTER|BEFORE} label] [KEEP|DELETE]
オプション 説明 AFTER
クリップボードの内容をコピーして指定したラベルの前に貼り付けます。
BEFORE
クリップボードの内容をコピーして指定したラベルの後ろに貼り付けます。
label
クリップボードの内容を現在編集しているデータセットに貼り付ける位置を設定するためのレコードのラベルを指定します。
KEEP
クリップボードの内容を現在編集しているレコードに貼り付けた後も維持します。
DELETE
クリップボードの内容を現在編集しているレコードに貼り付けた後に削除します。
RCHANGE
最後に実行したCHANGEコマンドを現在のカーソル位置で再実行します。<F6>キーも同じ機能をします。
-
使用方法
RCHANGE
REPLACE
現在編集しているレコードを他のデータセットのレコードとして保存します。
-
使用方法
REPLACE dataset_name [label1 label2]
オプション 説明 dataset_name
現在編集しているレコードを保存するデータセットの名前を指定します。
label1
保存するレコードの開始ラベルを指定します。
label2
保存するレコードの終了ラベルを指定します。
RESET|RES
指定した対象を初期化して画面を再表示します。
-
使用方法
RESET|RES {COMMAND|COLS|CHANGE|EXCLUDE|ALL}
オプション 説明 COMMAND
Line command fieldに入力したコマンドをすべて初期化し、行番号を再表示します。
COLS
COLSコマンドで実行した列ルーラーをすべて削除し、再表示します。
CHANGE
文字列を置換し、表示される内容をすべて初期化します。
EXCLUDE
非表示レコードをすべて再表示します。
ALL
上記の内容をすべて実行します。
RFIND
最後に実行したFINDコマンドまたはCHANGEコマンドの検索キーワードを現在のカーソル位置で再検索します。<F5>キーも同じ機能をします。
-
使用方法
RFIND
RIGHT
画面をページ単位で右に移動します。
-
使用方法
RIGHT [MAX]
オプション 説明 MAX
レコードの最後の部分に移動します。
SAVE ( :w )
spfeditを終了せずに、現在まで編集されたデータセットの内容を保存します。
-
使用方法
SAVE
SCROLL|SCR
<F7>キーまたは<F8>キーを入力した際の画面のページ・スクロール方法を決定します。
-
使用方法
SCROLL|SCR {PAGE|CSR}
オプション 説明 PAGE
ページ単位でスクロールします。
CSR
現在のカーソル位置でスクロールします。
画面を上下にスクロールすると、カーソルが位置したレコードを画面の一番上か下に移動させます。
以下のような場合には、SCROLLが「CSR」に設定されていても、ページ単位でスクロールします。
-
カーソルがPrimary command lineに位置する場合
-
カーソルが画面の最初のレコード行に位置する場合
-
カーソルが画面の最後のレコード行に位置する場合
画面を左右にスクロールすると、カーソルが位置した列を画面の一番左か右に移動させます。しかし、以下のような場合には、SCROLLが「CSR」に設定されていても、ページ単位でスクロールします。
-
カーソルがPrimary command lineに位置する場合
-
カーソルが画面を基準にしてレコードの最初の列に位置する場合
-
カーソルが画面を基準にしてレコードの最後の列に位置する場合
SORT / SORTE
指定した順序でデータセットのすべてのレコードをソートします。SORT/SORTEコマンドは編集モードでのみ実行可能であり、ソートの基準となるキー領域は最大5つまで指定できます。キー領域を1つのみ適用する場合は、キー領域の指定を省略することができます。その場合は、BOUNDSコマンドで設定した領域が使用されます。キー領域を2つ以上指定する場合は、オプションをすべて指定する必要があります。SORT/SORTEコマンドが終了したら、RESETコマンドの対象となるCOLS、非表示行などがすべて初期化されます。可変長データセットをソートするときは、指定したキー領域に該当するデータがないか、一部しか存在しない場合は、2進数の0を埋めてソートします。SORTはASCII順にソートし、SORTEはEBCDIC順にソートします。
-
使用方法
SORT [[[{A|D}] [start-column [end-column]]]...]
オプション 説明 A
昇順でソートします。(デフォルト値)
D
降順でソートします。
start-column
ソートの基準となるキー領域の開始列の位置を指定します。(1~レコードの最大長)
end-column
ソートの基準となるキー領域の終了列の位置を指定します。(1~レコードの最大長)
以下は、昇順でソートする例です。start-columnとend-columnは、BOUNDSコマンドで設定した開始列、終了列の値に従います。
SORT
以下は、start-columnは1、end-columnは5の領域を昇順でソートし、start-columnは9、end-columnは15の領域を降順でソートする例です。
SORT A 1 5 D 9 15
SUBMIT|SUB
TJESサーバーを呼び出して、現在編集中のJCLのバッチ処理を行います。SUBMITコマンドは編集モードでのみ実行可能であり、保存されている内容ではなく、現在の画面で編集している内容を実行します。SUBMITコマンドを使用するには、TACFにログインされている必要があります。
OpenFrame環境設定のdstoolサブジェクトのCOMMONセクションのCHECHK_DSAUTHキーの値が「YES」に設定されているかを確認します。JCLデータセットがSDSである場合、実行JCLの名前は、JCLデータセット名の末尾に「.SPFTEMP」を付けます。JCLデータセットがPDSメンバーである場合は、「SPF+ PID」で処理されます。
コマンドの実行後、画面下部にSUBMITコマンドの実行メッセージが表示されます。任意のキーを押すと、Primary command lineに戻ります。ジョブの処理結果は、tjesmgrで確認します。
-
使用方法
SUBMIT|SUB
TOP
データセットの先頭に画面を移動します。
-
使用方法
TOP
UP
現在編集しているレコードから上にスクロールします。
-
使用方法
DOWN {MAX|HALF|PAGE|CURSOR|nnn}
オプション 説明 MAX
最初のレコードに移動します。
HALF
ページの半分を上に移動します。
PAGE
前のページのレコードに移動します。
CURSOR
現在カーソルが置かれたレコードが最後に表示されるように移動します。
nnn
指定した行数を上に移動します。