このドキュメントでは、各種オペレーティングシステムでのエディタワークファイルの構造、使用、および管理について説明します。 以下のトピックについて説明します。
以下の項目も参照してください。
SYSEDT ユーティリティ(Natural の『ユーティリティ』ドキュメント)
Software AG Editor のインストール(Natural の『インストール』ドキュメント)
EDBP - Software AG エディタバッファプール定義(Natural の『パラメータリファレンス』)
Software AG Editor(Natural の『エディタ』ドキュメント)
エディタワークファイルは、固定長レコードの相対レコードデータセットです。 以下の 3 つの部分に分かれています。
注意:
プロファイルパラメータ EDPSIZE
で定義されるエディタ補助バッファプールを使用する場合は、エディタワークファイルは不要です。
制御レコードには、バッファプールパラメータを含むバッファプール制御情報が含まれています。
ワークファイルの初回初期化時、またはバッファプールコールドスタート(エディタバッファプールパラメータ COLD
によりトリガ)時に、エディタバッファプールのサブパラメータ EDBP
や対応するマクロ NTEDBP
で定義された値がワークファイル制御レコードに保存されます。
制御レコードを変更するには、SYSEDT ユーティリティの生成パラメータ機能を使用します。
バッファプールウォームリスタート時に、パラメータが制御レコードから読み込まれます。
ワークレコードには、フリーのバッファプールブロックが不足したためにバッファプールから移動した論理ファイルレコードが含まれています。
論理ワークファイルレコードは、バッファプールの再起動時または論理ファイルのタイムアウト時に失われます。
リカバリレコードには、エディタセッションのチェックポイント情報が保持されます。 システムが異常終了した場合に、エディタリカバリ機能がこの情報を使用して論理ファイルを回復します。 リカバリレコードは、バッファプールのコールドリスタート時に失われます。
リカバリ機能は、Natural ISPF でのみ使用されます。 この製品を使用しない場合は、エディタバッファプールサブパラメータ PWORK=100
を定義することで、リカバリ部分なしで実行できます。
1 つのエディタワークファイルは 1 つのエディタバッファプールに対応します。 グローバルエディタバッファプールを使用する場合は、そのグローバルエディタバッファプールを使用するすべてのユーザー間でエディタワークファイルを共有する必要があります。
エディタワークファイルは、すべてのユーザーのエディタセッションを収容できる大きさである必要があります。 エディタユーザーごとに最低 100 レコード分を用意することをお勧めします。 ワークファイルのレコード長は、必ず固定で、504~16384 バイトで定義でき、8 の倍数にする必要があります。
注意:
Natural ISPF で編集されるデータセットまたは PDS メンバのレコード長は、このエディタワークファイルのレコード長を超えることはできません。
ワークファイルレコードのサイズは、z/OS および z/VSE ではエディタワークファイルの割り当て時に指定され(デフォルトサイズは 4088)、BS2000/OSD ではバッファプールパラメータマクロで定義することにより指定されます(デフォルトサイズは 4096)。
エディタワークファイルレコードの総数は、エディタワークファイルに割り当てられたデータセットのスペースによって異なります。
エディタワークファイルのフォーマットには、以下の 2 通りの方法があります。
バッチフォーマットユーティリティを使用してオフラインで実行する
バッファプールの初期化中にオンラインで実行する。
この方法ではオンラインユーザーがフォーマットの終了を待つ必要がないため、この方法をお勧めします。 必要に応じて、Natural パラメータモジュールをアセンブルしバッチフォーマットユーティリティにリンクして、NTEDBP
マクロを使用してエディタバッファプールパラメータを指定できます。 指定しない場合は、デフォルトのパラメータ値が適用されます。
ただし、再フォーマット中は、ワークファイルを使用しないでください。対応するバッファプールを使用しているシステムは再フォーマットの前に終了しています。
エディタバッファプールが非初期化状態または終了状態で、以下のいずれかに当てはまる場合は、Software AG Editor を初めて使用するセッション中に "バッファプールコールドスタート" が実行されます。
ワークファイルがフォーマットされていない。
"コールドスタート" が制御レコードで指定されている(またはエディタバッファプールサービスユーティリティ SYSEDT
を使用して指定されている)。
バッファプールサブパラメータ COLD=ON
が指定されている。
それ以外の場合は、バッファプールの初期化中に有効な制御レコードが見つかると、バッファプールウォームスタートが実行されます。 この場合は、バッファプールパラメータはすべてワークファイル制御レコードから取得され、レコードはフォーマットされません。
エディタワークファイルのサイズを変更する際は(例えば、サイズが小さすぎる場合)、エディタワークファイルバッチユーティリティの COPY
機能を使用することで、バッファプールコールドスタートを回避できます。コールドスタートが実行されると、リカバリーレコードが失われます。
既存のエディタワークファイルをコピーするには、次の手順に従います。
SYSEDT ユーティリティを使用して、バッファプールパラメータを修正します。例えば、ファイル内のワークレコードの比率を変更する場合は、PWORK
を使用します。
SYSEDT ユーティリティのシステム管理機能を使用して、エディタバッファプールを終了します。バッファプールが終了したら、エディタを使用している Natural セッションがないことを確認します。
エディタワークファイルを閉じ(必要な場合)、割り当てを解除します。
VSAM ユーティリティ IDCAMS
(ALTER
コマンド)を使用して、エディタワークファイルの名前を変更します。
新しいエディタワークファイルを、オリジナルの名前で定義します。サイズは必要に応じて変更できますが、レコード長は同じにします。
以下を追加してから、新しいファイルを使用してエディタワークファイルバッチユーティリティを実行します。
PARM=COPY
上記を、EXEC JCL カードに追加します。
//CMCOPY DD... under z/OS or //DLBL CMCOPY... under z/VSE
上記を、新しいワークファイル CMEDIT
にコピーされる名前変更したエディタワークファイル CMCOPY
のカードに追加します。
潜在的なエラーがないかジョブログを確認します。
エディタワークファイルを再配置し、(必要な場合)開きます。
SYSEDT
ユーティリティ(Natural の『ユーティリティ』ドキュメント参照)を使用して、バッファプールとワークファイルが正常に再起動したかどうかを確認します。
重要:
バッファプールの再起動後に Natural セッションでエディタを使用する場合は、すべての Natural セッションを再スタートする必要があります。
エディタワークファイルのサイズを変更する場合は、次の手順に従って、新しいエディタワークファイルをフォーマットし、リカバリレコードを古いワークファイルから新しいワークファイルにコピーします。
エディタを使用するシステムをすべてシャットダウンします。
エディタバッファプールを終了します。
現在のエディタワークファイルの名前を変更します。
新しいエディタワークファイルを、オリジナルの名前で作成します。
エディタワークファイルフォーマットプログラム(Natural の『インストール』ドキュメントの「Software AG Editor のインストール」も参照)を、FORMAT
機能の代わりに COPY
機能を使用して実行します。
例:
/CAT NATEDT.WORKFILE,NATEDT.COPYFILE /FILE NATEDT.WORKFILE,LINK=CMEDIT,SPACE=nnn /LOGON /FILE NATEDT.COPYFILE,LINK=CMCOPY /FILE NATEDT.WORKFILE,LINK=CMEDIT /SYSFILE SYSLST=LST.NATEDFM2 /SYSFILE SYSDTA=(SYSCMD) /EXEC (NATEDFM2,NATvrs.MOD) COPY /LOGOFF N
1 つのエディタワークファイルは 1 人の VM/CMS ユーザーに対応します。 ワークファイルはエディタの初回初期化時に作成され、デフォルト名は CMEDIT DATA A1
です。
エディタワークファイルは、VM/CMS ユーザーのエディタセッションを収容できる大きさである必要があります。 名前、サイズ、およびワークファイルレコード数は、Natural パラメータモジュール NATPARM
のエディタバッファプールパラメータ EDBP
またはマクロ NTEDBP
で指定されます。 最適なパフォーマンスを得るために、800 の倍数にすることをお勧めします。
SMARTS ワークファイルは、SMARTS ポータブルファイルシステム内にあります。 パスは SMARTS 環境変数 $NAT_WORK_ROOT
で指定する必要があります。 エディタワークファイルの名前は EDBP
サブパラメータ DDNAME
で指定する必要があります。
エディタワークファイルのフォーマットは、バッファプールの初期化中(オンライン)に限り可能です。 現在、SMARTS 環境でエディタワークファイルをオフラインでフォーマットするツールはありません。