HPlogo Using HP 3000 MPE/iX:\Advanced Skills Tutorial: HP 3000 MPE/iX Computer Systems > Chapter 3 Module 2: File Management

Lesson 2 Building Disk Files

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

Introduction

You have had a brief introduction to different types of files: permanent, temporary, and formal. In lesson 2, you will learn how to use the BUILD command and the following options to create customized files:

  • record size

  • blocking factor

  • record type

  • file type

The BUILD command is useful when you need to change the file's format so that another program or subsystem can accept the format.

For example, using the editor, you can only display and edit files that contain data in a particular format. If you "inherit" a file from another system, it may not be in the correct format. For example, suppose that you enter the command:

   LISTFILE @,6 > LISTFILE

This command generates a temporary file called LISTFILE. The > causes MPE/iX to put the display from this command into a temporary file.

NOTE: If you try to edit LISTFILE you will find that the editor truncates some of the lines if they are too long for the editor. For many temporary text files, this presents no problem. If you suspect that truncation will cause a problem, then change the file format by building a new file with the appropriate format. Copy the temporary file into the new file. Then edit the new file. Your original temporary file keeps its format while you edit the copy.

The BUILD command allows you to specify the "shape" of a file that as yet contains no information. Using BUILD is much like creating a container into which liquid will be poured; the contents will conform to the dimensions of the container. In the BUILD situation, data will conform to the characteristics of the empty file created by the BUILD command. The following illustration shows how the data in a file will take on the characteristics of its "container."

Figure 3-2 BUILD Command

[BUILD Command]

Generally speaking, as a general user, you are not so much concerned with the characteristics of a file, as with the data in it. Usually, the subsystem that you are using (for example, some editor) automatically creates files with the appropriate characteristics that determine how the contents are stored on disk. As you become a more experienced user, you may become concerned with how to make programs run most efficiently by defining a file's characteristics more precisely.

Although you cannot alter the physical characteristics of an existing file, you can create a new file with the desired characteristics (using BUILD) and then copy the contents of the existing file into the new one (using FCOPY). The new file contents then have the appropriate characteristics. The FCOPY command is covered in module 4, File Transfer.

BUILD command

The BUILD command builds a new file. The options associated with the BUILD command determine the physical characteristics of the file.

Partial syntax for the BUILD command appears below. The complete syntax and option explanation can be viewed in the MPE/iX Commands Reference Manual Volumes 1 and 2 (32650-90003 and 32650-90364) or in the online help facility.

   BUILD filename[/lockword];REC=recsize,

   blockfactor,rectype,filetype;options
ParameterDescription
filenameMPE/iX file name
lockwordSpecial password to restrict access to specific file
recsizeRecord size (negative number is bytes, positive number is words)
blockfactorRatio indicating number of logical records per physical block (R/B on the LISTFILE columns)
rectypeRecord type (F=fixed-length, V=variable length, U=undefined)
filetypeType of data (ASCII,binary)
optionsDevice, file code, carriage control, and more

Consider a file that already exists. View the various characteristics specified by the BUILD command. Enter this command:

   LISTFILE MYFILE,3

All questions about the BUILD command options refer to the display that you now see on the screen.

NOTE: Later, you might also wish to do a LISTFILE MYFILE,2 to compare the abbreviated titles with the full-length ones of the LISTFILE MYFILE,3 command.

Lockword

You've already worked with passwords at the account, group, and user level. MPE/iX provides a further level of security, lockwords. These are file "passwords," which restrict access to a particular file. This means that even if you know the account, group, and user passwords, you will not be able to access a particular file unless you know the lockword. When using the BUILD or RENAME command, use a forward slash (/) to delimit the lockword. The slash is not part of the lockword.

NOTE: A user with SM capability can use LISTFILE,3 with the ;PASS option to display the lockword.

For example, suppose you build a file called SECRETS:

   BUILD SECRETS/KEY

Whenever you try to view SECRETS, you must also specify the lockword, KEY.

Be Careful:

If you type a / when you are entering a file name, the system interprets everything after the / as a lockword. If that was not what you intended, you may have no recollection of it (and you may be unable to access the file).

For example, suppose that you accidentally type:

   MY/FILE

You may think you have a file called MYFILE; however, the system interprets a file called MY with a lockword of FILE.

Record size

Record size refers to the number of bytes or words per record. Record size is important because certain applications can read only records of a certain size. You may find that if a file has records of a different size, you will not be able to display or edit that file.

This record size may vary according to the utility or program that created the file. For example, a file created with the editor will have a different record size than one created by LISTFILE > filelist. A positive record size indicates the number of two-byte words in the record. A negative record size indicates the number of bytes in the record.

Q2-5What is the record size of MYFILE?

Blocking factor

This option is a holdover from a previous operating system, MPE V. At one time, the blocking factor was used to determine the number of logical records for each physically configured block. The more logical records per block, the more densely the data was packed. This helped to conserve space; however, blocking is rarely used on MPE/iX, so the blocking factor is usually allowed to default.

NOTE: When you do not build the file with the BUILD command, the blocking factor may vary according to the utility or program that created that file.

For files with variable-length records, the blocking factor always equals one.

Q2-6What is the blocking factor for MYFILE?

Record type

Records are either fixed-length (length is a specific number of words or bytes), variable length (length changes with the data), or undefined. Generally speaking, editors can only read and work with fixed-length records.

NOTE: When you do not build the file with the BUILD command, the record type may vary according to the utility that created that file.

Figure 3-3 Record Type

[Record Type]
Q2-7What is the record type of MYFILE?

File data type

Text files that you can view and edit tend to be ASCII. Executable program files and graphics files tend to be binary. In the next lesson you will have an opportunity to create some binary files.

Q2-8What is the file type of MYFILE?
Q2-9Based on the information from LISTFILE and on your understanding of BUILD options, what was the original BUILD command that created MYFILE?

Other BUILD options

There are several other options that you may occasionally wish to specify in the BUILD command:

TEMP

User-defined temporary file

CCTL/NOCCTL

Carriage control or no carriage control characters

STD/MSG/CIR

Standard, message, or circular file

KSAMXL/SPOOL

KSAM or spool file

DEV

Device

CODE

File code identifying the specific type of file (for example, the editor file or executable code).

Exercise 2-2: creating a file to specification

  1. Write the correct BUILD command to create to specification each of the files listed below. Whenever default values are specified, let the parameter default in the BUILD syntax.

    NOTE: A list of codes appears in the help facility (at the system prompt, enter: HELP FILE FILECODE). The same information is available in appendix F of the MPE/iX Commands Reference Manual Volumes 1 and 2 (32650-90003 and 32650-90364).
    1. FILE1 - should have 64 words/record, have fixed-length records, be an ASCII file, and be circular.

    2. FILE2 - should have variable-length records whose maximum size is 256 words and be a binary file.

    3. FILE3 - should have variable-length records whose maximum size is 88 bytes and be an ASCII file.

  2. Build the following file and give it a unique name. (Suggestion: use your first name of eight characters or less.) Assume following the values:

    record size = 80 bytes record type = fixed-length file type = ASCII

    NOTE: Make sure that you are logged on as USERx.ACCTx in the CLASS group.

    Use LISTFILE to confirm that the file exists. Use PRINT to confirm that the file is empty.

    You will later have the opportunity to copy the contents of an existing file into this empty file.

********** End of Exercise 2-2 **********

Lesson summary

  1. The BUILD command lets you create a file with specific characteristics.

  2. The following BUILD options can be used to specify the file characteristics:

    1. record size (REC=)

    2. blocking factor

    3. record type (F,V,U)

    4. file type (ASCII,BINARY)

    5. device (DEV)

    6. file code