Moving And Accessing SAS 9.1 Files

Given Transport File is Bad

For general recovery actions for this error message, see "Bad Transport File" on page 71.

The transport file is suspected to be corrupt. When checking file attributes, the output confirms that the transport file contains a corrupting character:

$DIR/FULL transport-file

Output includes:

Record attributes: Carriage return Carriage control

If your operating environment has the NFTCOPY (Network File Transfer Copy) command and you are moving the transport file to a DOS target computer, remove the carriage return (CC) attribute from the transport file and move the transport file again to the target machine:

NFTCOPY/IMAGE/FIXED/CC=NONE NODE" userid password " :: disk :[ dir ] tranfile target

Here is an example:

NFTCOPY/IMAGE/FIXED/CC=NONE CHEX "brown bird": dua0[brown]tranfile c:\blue\target

If your source machine is running SAS 6.08 at maintenance level TS405 or later, set the NONE value to the CC= option in the LIBNAME or FILENAME statement, whichever is appropriate.

Note  

See the top of the SAS log for the SAS release and maintenance level.

Here is an example.

libname grades ' file-path '; libname tranfile xport ' file-path ' cc=none; proc copy in=grades out=tranfile; run;

If you are running a SAS release that precedes SAS 6.08 at maintenance level TS405, you must post-process the transport file to remove the carriage returns.

Create a new file named REMCC.FDL to contain these entries, including CARRIAGE_CONTROL to NONE.

RECORD BLOCK_SPAN YES CARRIAGE_CONTROL NONE FORMAT FIXED SIZE 80

Issue this DCL command to create a new file named NEWTRAN.SEQ:

$ CONVERT/FDL=REMCC.FDL TRAN.SEQ NEWTRAN.SEQ $ DELETE TRAN.SEQ

Verify that the file attributes of the new transport file do not include carriage returns:

$ DIR/FULL NEWTRAN.SEQ

At the source machine, transfer the transport file to the target machine again.

If you are still unable to import a transport file that has the correct attributes, you can try using the re-blocking program in "Reblocking a Transport File" on page 78.

Member or Library Unavailable for Use in File File

The transport file is suspected to be corrupt. See "Given transport file is bad" on page 47 for recovery actions.

Truncated Record

For general recovery actions for this error message, see "Truncated record" on page 76.

Usually, this message is displayed when the transport file is moved to a virtual disk or a shared disk with other operating environments such as DOS, Macintosh, or UNIX. Virtual disk or shared disk directories often have a record format of STREAM instead of FIXED.

Verify the transport file attributes by using the DIR/FULL command.

To set record attributes correctly, create a new file named FIXREC.FDL file to contain these entries.

RECORD BLOCK_SPAN YES CARRIAGE_CONTROL NONE FORMAT FIXED SIZE 80

Issue the following DCL command to create a new file named NEWTRAN.FDL:

$ EXCHANGE/NETWORK/TRANSFER_MOD=BLOCK/FDL=TRAN.FDL TRAN.SEQ NEWTRAN.SEQ

Verify that the new transport file attributes do not include carriage returns:

$ DIR/FULL NEWTRAN.SEQ

At the source machine, transfer the transport file to the target computer again.

Internal Error From Getting Data

The transport file is suspected to be corrupt. See "Truncated record" on page 48 for recovery actions.

Категории