Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

トップ  >  #FILEM

削除レコードを復活させる

データファイル(順編成ファイル、相対編成ファイル、複数索引順編成ファイル)は、レコードを削除することができます。
A−VXではレコードを削除しても全部のデータが消えるわけではありません。
レコードの先頭に16進数で'FF'(削除フラグ)というデータが書き込まれるだけです。
システムでは削除レコードかどうかを先頭1バイトが'FF'かどうかで判断しています。つまり先頭1バイトを'FF'以外にすれば削除レコードを復活することが可能です。ただし、レコードの先頭1バイトは'FF'で上書きされてしまっているので、ここに適切なデータを書き戻してあげる必要があります。

レコード保守ユーティリティは簡単にデータを壊してしまうこともできるので、操作には十分気をつけてください。


例として以下のファイルの1レコード目にある削除レコードを復活させてみます。
装置名MSD003
レコード名DATA80
レコード長80バイト
フィールド属性と長さ1バイト文字で80バイト分
※簡単にするために、フィールド属性はレコード全て1バイト文字にしました。


RUNコマンド入力行で、「#FILEM;」と入力して「ENTERキー」を押します。



ファイル保守ユーティリティが起動しました。



入力の装置名(IDE)とファイル名(IFI)を入力します。今回の場合は使用するファイルの情報を入力することになります。
今回の例では装置名に「MSD003」、ファイル名に「DATA80」を入力しました。



出力する装置名(ODE)とファイル名(OFI)を入力します。
今回の場合は出力する装置名/ファイル名は入力する装置名/ファイル名と同じなので、ODEに「NO」と入力します。



ここでは、削除レコードを表示するかどうか(DEL)と出力プリンタ装置(PRN)、フィールド形式(FLD)を指定します。
削除レコードを表示しないと処理できないので、DELパラメータは「YES(表示する)」を選択します。
出力プリンタ装置は適当に選んでください。今回の例では「PRN999」としています。
フィールド属性は、今回の例では1バイト文字属性が80バイト分あるので、「C80」と入力します。(実際はレコードにフィールド属性が1つということはないはずなので、たくさん入力することになると思います。)



ようやく編集画面になりました。
ここでレコードの編集を行うことになります。



まず操作したい削除レコードを編集画面に表示させます。「位置付け」コマンドや「前進キー」「後進キー」を操作して削除レコードを探しましょう。
例えば目的の削除レコードが1レコード目ならば、コマンド行で「1」と入力して「ENTERキー」を押します。



現在表示しているレコードが削除レコードの場合は、画面左上に「DEL」という文字が表示されています。ちなみにそのすぐ左が、現在表示しているレコード番号です。
下の例だと、1レコード目が削除レコードになっています。



1バイト目に適切な値を書き込みます。
この例では「A」という適当な値を入れていますが、実際に復活させる時には「正しいデータ」を書き込みましょう。
先頭データが16進数で'FF'以外になったことにより、削除レコードではなくなりました。左上を見ると「DEL」マークがなくなっていることがわかるでしょう。



作業が終わったら「PF2」か「フォームキー」を押して、コマンド行に移動します。コマンド行で「Q」と入力することによって、#FILEMは終了します。(間違っても編集画面の方で「Q」と入力しないように。)