OpenVMS 動作環境
OpenVMS
システムファイルの属性の表示 . . . 47OpenVMS
のファイル属性 . . . 48OpenVMS
でファイルの作成に使用されたSAS
バージョンを特定する . . . 48OpenVMS
へのテープデバイスのマウント . . . 49OpenVMS
のエラーメッセージ . . . 49 移送ファイルが損傷しています . . . 49 ファイルに使用できないメンバまたはライブラリ . . . 51 レコードが切り捨てられました . . .51
データ取得時の内部エラー . . .51
OpenVMS システムファイルの属性の表示
OpenVMS
動作環境で作成されたファイルの属性を表示するには、次のコマンドを指定します。
DIR/FULL transport-file 通常は次のように出力されます。
Directory DISK01:[JOE.XPTTEST]
XPTLIB.DAT;1 File ID: 31223,952,0) Size: 7/8 Owner: [DISK01,JOE]
Created: 25-APR-2008 16:47:31.34 Revised: 25-APR-2008 16:47:31.69 (1) Expires: <No backup recorded>
Effective: <None specified>
Recording: <None specified>
File organization: Sequential Shelved state: Online
File attributes: Allocation: 8, Extend: 0, Global buffer count: 0 Version limit: 2 Record format:Fixed length 512 byte records 1 Record attributes: None 2
RMS attributes: None Journaling enabled: None
File protection: System:RWED, Owner:RWED, Group:RE, World:
47
Access Cntrl List: None Total of 1 file, 7/8 blocks.
$ dir/size xptlib.dat
Directory DISK01:[JOE.XPTTEST]
XPTLIB.DAT;1 7
Total of 1 file, 7 blocks.
1
OpenVMS RECORD FORMAT
属性は、固定レコードの種類と512
バイトのレコード長を示しています。
2
RECORD ATTRIBUTES
フィールドには、値NONE
を指定できます。注意:
このフィールドに値CARRIAGE RETURN CARRIAGE CONTROLが指定されてい る場合は、ファイルが破損します。 破損を防ぐには、移送ファイルを転送する前に
RECORD ATTRIBUTES
フィールドからこの値を削除してください。破損したファイルを転送しようとした後に、この状態について警告するエラーメッセージが 表示されます。
OpenVMS のファイル属性
FILENAME
ステートメントで、FTPまたはFTP
アクセス方式オプションのいずれか適切な方式を使用して、移送ファイルの属性を指定できます。FILENAMEステートメント の構文の詳細については、SAS(R) 9.2 Companion for OpenVMS on HP Integrity
Servers
を参照してください。ファイル属性の指定方法の例については、 “例: ファイル転送での
FILENAME
ステートメントの使用” (41ページ) を参照してください。OpenVMS でファイルの作成に使用された SAS バージ ョンを特定する
次の表に、
OpenVMS
システムで作成された、サポートされているファイルの種類をメ ンバおよびSAS
バージョン別に示します。表7.1 メンバおよびSASバージョン別OpenVMSファイル名拡張子
メンバの種類 SAS 6のファイル名拡張子
SAS 8以降のファイル名拡 張子
SAS .SAS .SAS
PROGRAM(DATAステップ) .SASEB$PROGRAM .sas7bpgm
DATA .SASEB$DATA .sas7bdat
INDEX .SASEB$INDEX .sas7bndx
CATALOG .SASEB$CATALOG .sas7bcat
メンバの種類 SAS 6のファイル名拡張子
SAS 8以降のファイル名拡 張子
MDDB .SASEB$MDDB .sas7bmdb
PROC SQLビュー .SASEB$VIEW .sas7bvew
CONTENTS
プロシジャを使用して、データに関する情報を表示することもできます。作成に使用されたメンバとエンジンを特定する、一般的な
PROC CONTENTS
出力の 一部を次に示します。The SAS System The CONTENTS Procedure Data Set Name: TEST.RECORDS Member Type: DATA
Engine: V9
この出力では、データセット
TEST.RECORDS
は種類がDATA
のメンバであり、V9エ ンジンで作成されたことが示されています。OpenVMS へのテープデバイスのマウント
移送ファイルを移送元コンピュータでディスクからテープに移動し、移送先コンピュータ でテープからディスクに移動するには、
SAS
セッションを開始する前に次のDCL
コマ ンドを指定してテープデバイスを割り当てます。注: INITIALIZEコマンドは新しいテープがある場合にのみ使用します。
INITIALIZE
コマンドは、テープ内にあるすべてのファイルを破棄します。$ DEFINE TRANFILE tape-name
$ ALLOCATE TRANFILE
$ INITIALIZE TRANFILE DUMMY
$ MOUNT/FOREIGN/BLOCKSIZE=8000 TRANFILE
注: DCLコマンドの
TRANFILE
は、移送ファイルの場所を示すライブラリ参照名と同 一です。OpenVMS のエラーメッセージ
移送ファイルが損傷しています
このエラーメッセージが表示された場合の一般的な回復操作については、“適切でな い移送ファイル
” (73
ページ)
を参照してください。移送ファイルが破損している可能性があります。
1.
移送ファイルに破損している文字が含まれているかどうかを調べます。$DIR/FULL transport-file
この出力で、移送ファイルに破損している文字が含まれていることを確認します。
Record attributes: Carriage return Carriage control
OpenVMSのエラーメッセージ 49
2.
この後の操作は、環境に適用される次の条件によって異なります。a.
動作環境にNFTCOPY(Network File Transfer Copy)
コマンドがあり、移送ファ イルをDOS
移送先コンピュータに移動する場合、キャリッジリターン(CC)
属性 を移送ファイルから削除し、その移送ファイルを再度移送先コンピュータに移動 します。NFTCOPY/IMAGE/FIXED/CC=NONE NODE"userid password"
::disk:[dir] tranfile target 次に、例を示します。
NFTCOPY/IMAGE/FIXED/CC=NONE CHEX "brown bird":
dua0[brown]tranfile c:\blue\target
b.
移送元コンピュータがメンテナンスレベルTS405
以降でSAS 6.08
を実行して いる場合、LIBNAME
またはFILENAMENONE
ステートメントのいずれかの 適切な方法でCC=
オプションにNONE
値を設定します。注
: SAS
リリースとメンテナンスレベルを確認するには、SAS
ログの上部を参照してください。
次に例を示します。
libname grades 'file-path';
libname tranfile xport 'file-path' cc=none;
proc copy in=grades out=tranfile;
run;
c.
メンテナンスレベルTS405
でSAS 6.08
より前のSAS
リリースを実行している 場合、移送ファイルを後処理してキャリッジリターンを削除する必要がありま す。REMCC.FDL
という名前の新しいファイルを作成し、CARRIAGE_CONTROL
NONE
を含む次のエントリを挿入します。RECORD
BLOCK_SPAN YES CARRIAGE_CONTROL NONE FORMAT FIXED
SIZE 80
次の
DCL
コマンドを指定して、NEWTRAN.SEQ
という名前の新しいファイル を作成します。$ CONVERT/FDL=REMCC.FDL TRAN.SEQ NEWTRAN.SEQ
$ DELETE TRAN.SEQ
新しい移送ファイルのファイル属性にキャリッジリターンが含まれていないこと を確認します。
$ DIR/FULL NEWTRAN.SEQ
3.
移送元コンピュータで、移送ファイルを再度移送先コンピュータに転送します。移送ファイルに正しい属性が設定されていてもインポートできない場合、再ブロック 化プログラムを使用して再試行してください。詳細については、“移送ファイルの再 ブロック化
” (80
ページ)
を参照してください。ファイルに使用できないメンバまたはライブラリ
移送ファイルが破損している可能性があります。回復操作については、“移送ファイル が損傷しています
” (49
ページ)
を参照してください。レコードが切り捨てられました
このエラーメッセージが表示された場合の一般的な回復操作については、“レコード が切り捨てられました
” (78
ページ)
を参照してください。通常、このメッセージは
DOS
、Macintosh
またはUNIX
などの動作環境で、移送ファイ ルが仮想ディスクまたは共有ディスクに移動されたときに表示されます。多くの場合、仮想ディスクまたは共有ディスクのディレクトリのレコード形式は
FIXED
ではなくSTREAM
となっています。回復するには、次の操作を実行します。
1. DIR/FULL
コマンドを使用して移送ファイルの属性を確認します。2.
レコード属性を正しく設定するには、FIXREC.FDL
という名前の新しいファイルを 作成して次のエントリを挿入します。RECORD
BLOCK_SPAN YES CARRIAGE_CONTROL NONE FORMAT FIXED
SIZE 80
3.
次のDCL
コマンドを指定して、NEWTRAN.FDL
という名前の新しいファイルを作 成します。$ EXCHANGE/NETWORK/TRANSFER_MOD=BLOCK/FDL=TRAN.FDL TRAN.SEQ NEWTRAN.SEQ
4.
新しい移送ファイルの属性にキャリッジリターンが含まれていないことを確認しま す。$ DIR/FULL NEWTRAN.SEQ
5.
移送元コンピュータで、移送ファイルを再度移送先コンピュータに転送します。データ取得時の内部エラー
移送ファイルが破損している可能性があります。回復操作については、“レコードが切 り捨てられました
” (51
ページ)
を参照してください。OpenVMSのエラーメッセージ 51