Document revision date: 30 March 2001

## OpenVMS Record Management Utilities Reference Manual

Previous | Contents | Index

For DECnet for OpenVMS operations, the maximum record size is determined by the DCL command SET RMS/NETWORK_BLOCK_COUNT.

## 4.11 SHARING Section

The SHARING section allows you to specify whether you want to allow multiple readers or writers to access your file at the same time. The SHARING keyword takes no values; it serves only to define this section.

The following table lists the SHARING secondary attributes and their default values. Note that all SHARING secondary attributes are run-time attributes.

Secondary Attribute | Default Value
--- | ---
DELETE | None
GET | GET, if ACCESS GET has also been specified
MULTISTREAM | None
PROHIBIT | None
PUT | None
UPDATE | None
USER_INTERLOCK | None

> #### DELETE

> The process accessing a file uses this switch to permit other accessors to delete records from the file.

> This attribute corresponds to the DEL option in the FAB$B_SHR field.

> #### GET

> The process accessing a file uses this switch to permit other accessors to allow other users to read the file (to perform Find or Get RMS services or the equivalent language statement that reads a record). SHARING GET is the default if you have also specified ACCESS GET.

> This attribute corresponds to the Get option in the FAB$B_SHR field.

> #### MULTISTREAM

> This switch allows multistream access to a file and is relevant for record operations only. This attribute is not available for sequential files with other than 512-byte, fixed-length records.

> This attribute is not supported for DECnet for OpenVMS operations; an error is returned if you try to use it.

> This attribute corresponds to the MSE option in the FAB$B_SHR field.

> #### PROHIBIT

> The process accessing a file uses this switch to prohibit any type of file sharing by other accessors. The PROHIBIT attribute takes precedence over all other ACCESS secondary attributes; if you specify the DELETE, PUT, TRUNCATE, or UPDATE attribute in the ACCESS section, the PROHIBIT attribute defaults to YES.

> This attribute corresponds to the NIL option in the FAB$B_SHR field.

> #### PUT

> The process accessing a file uses this switch to allow other users to write records to the file (to perform Put or Extend RMS services or the equivalent language statement that writes a record or extends the space allocated to a file).

> This attribute corresponds to the PUT option in the FAB$B_SHR field.

> #### UPDATE

> The process accessing a file uses this switch to allow other users to update records currently existing in the file (to perform Update or Extend RMS services or the equivalent language statement that rewrites a record or extends the space allocated to a file).

> This attribute corresponds to the UPD option in the FAB$B_SHR field.

> #### USER_INTERLOCK

> This switch allows one or more users to write to a sequential file or a shared file. Usually this attribute is used for a file that is open for block I/O and the user is responsible for any interlocking required. USER_INTERLOCK is specified with the DELETE, GET, PUT, and UPDATE attributes.

> This attribute corresponds to the UPI option in the FAB$B_SHR field.

## 4.12 SYSTEM Section

The SYSTEM section consists of system identification information and can be used to help document your FDL file. The SYSTEM keyword takes no values; it serves only to define this section.

The following table lists the SYSTEM secondary attributes and their default values. Note that all SYSTEM secondary attributes are run-time attributes.

Secondary Attribute | Default Value
--- | ---
DEVICE | Null-string
SOURCE | VMS
TARGET | VMS

> #### DEVICE

> This string attribute is used for comment purposes only. The intended use is to name the model of the disk on which the data file will reside.

> #### SOURCE

> This keyword attribute specifies the name of the operating system you are using to create the FDL file. The value must be one of the following keywords:
> - IAS
> - RSTS/E
> - RSX-11M
> - RSX-11M-PLUS
> - RT-11
> - VMS

> #### TARGET

> This keyword attribute specifies the name of the operating system on which the FDL file is to be used. The value must be one of the following keywords:
> - IAS
> - RSTS/E
> - RSX-11M
> - RSX-11M-PLUS
> - RT-11
> - VMS

## 4.13 TITLE and IDENT Attributes

If you use EDIT/FDL to create your FDL file, the utility prompts you for a title during the session. The title is a string that you can place at the beginning of the FDL file. The character string you supply is for comment purposes only. It can be up to 132 characters long, including the TITLE keyword.

When the Edit/FDL and Analyze/RMS_File utilities create an FDL file, they place a header called the IDENT section after the TITLE in the FDL file. The IDENT attribute specifies the date and time of the creation of the FDL file, and it specifies the name of the utility that created it (either EDIT/FDL or ANALYZE/RMS_FILE).

However, you can also specify the header in the IDENT section. The character string that you supply can be up to 132 characters long, including the IDENT keyword.

## Chapter 5
Create/FDL Utility

This chapter describes the Create/FDL utility. You use the Create/FDL utility to create empty data files optimally structured for improving data processing performance.

On Alpha systems, the Create/FDL utility and its qualifier contain capabilities that allow them to use the features provided by extended file specifications. Extended file specifications offer extended file naming and handling capabilities that enable OpenVMS Alpha systems to store, manage, serve, and access files across both OpenVMS and Windows NT systems in a PATHWORKS environment. Specifically, extended file specifications provide the following features:

- Support a Files-11 volume structure, On-Disk Structure Level 5 (ODS-5), that provides a volume structure for creating and storing files with expanded file names
- Support additional character sets for naming files from file names that use the 8-bit ISO Latin-1 character set to the 16-bit Unicode (UCS-2) character set
- Support extended file names with file specifications exceeding the traditional 39.39 character limit up to a maximum of 255 characters
- Support preserving the case of file specifications created with the ODS-5 attributes
- Support deep, multilevel directory structures up to a maximum of 512 characters

For more information, see the OpenVMS Guide to Extended File Specifications.

## 5.1 Creating FDL Files

The first step in applying the File Definition Language facility to improve the performance of your data files is the creation of FDL files. When you have created an FDL file, you can then use it with the Create/FDL utility to create empty data files modeled on the input FDL file.

## 5.2 Methods of Creating FDL Files

This chapter provides information about creating empty data files using the Create/FDL utility (CREATE/FDL) in conjunction with FDL files. You can create FDL files in several ways:

- Using the Edit/FDL utility (EDIT/FDL). See Chapter 6.
- Using the Analyze/RMS_File utility (ANALYZE/RMS_FILE). See Chapter 1.
- Using a text editor.
- Using the DCL command CREATE.

You should use either the Analyze/RMS_File utility or the Edit/FDL utility to create FDL files. You can use a text editor or the DCL command CREATE to create text files containing FDL specifications. However, these methods are not recommended because you must make sure that you place the primary sections in the correct order and that you give valid values to the attributes. For more information on validity rules, refer to Section 6.1.1.

The following is an example of an FDL file:

    TITLE   Sequential organization, variable records up to 320 bytes

    IDENT   25-SEP-1993 13:08:17    OpenVMS FDL Editor
    SYSTEM
            SOURCE                  VMS
    FILE
            ALLOCATION              5050
            BEST_TRY_CONTIGUOUS     yes
            EXTENSION               505
            ORGANIZATION            sequential

    RECORD
            BLOCK_SPAN              yes
            CARRIAGE_CONTROL        carriage_return
            FORMAT                  variable
            SIZE                    320

## 5.3 Creating Data Files

Once you have created an FDL file, it can be used by the record management utilities and callable FDL routines to format data files according to your specifications.

The Create/FDL utility uses the specifications in an existing FDL file to create a new, empty data file. You can supply the Create/FDL utility with the file specification of the new data file, or the Create/FDL utility can use the specification given in the FDL file itself.

The Convert utility (CONVERT), on the other hand, uses the specifications in an FDL file to create an output data file and to load it with records from one or more input files.

Like the Convert utility, the callable Convert routines (CONV$CONVERT, CONV$PASS_FILES, and CONV$PASS_OPTIONS) use the specifications in FDL files to create output data files from within a program.

These data files can use the full set of RMS creation-time options and they can be used by all the native OpenVMS high-level languages. This capability gives the high-level language user a tool for creating efficient data files that use a minimum amount of system resources.

The FDL routines (FDL$CREATE, FDL$GENERATE, and FDL$PARSE) also use FDL files. FDL$CREATE invokes the functions of the Create/FDL utility (CREATE/FDL) to create a file from an FDL specification and then to close the file. FDL$GENERATE produces an FDL specification from the RMS control blocks your program supplies, and then writes it to either an FDL file or a character string. FDL$PARSE parses an FDL specification, allocates RMS control blocks (FABs, RABs, or XABs), and then fills in the relevant fields.

## CREATE/FDL Usage Summary

> The Create/FDL utility uses the specifications in an existing FDL file to create a new, empty data file.

### Format

> CREATE/FDL= fdl-filespec [filespec]

> #### fdl-filespec

> Specifies the FDL file from which to create the data file.

> #### filespec

> Specifies an optional file specification for the created file. If you specify a complete file specification, it overrides any contained in the FDL file.

Usage Summary To invoke the Create/FDL utility, enter the CREATE/FDL command at the DCL command level. The Create/FDL utility produces the empty data file specified by the CREATE/FDL command or by the FDL file. To exit the Create/FDL utility, let it run to successful completion.

## CREATE/FDL Qualifier

The CREATE/FDL command has only one qualifier: the /LOG qualifier. It does not affect the execution of the utility; it only produces an informational message.

## /LOG

> This qualifier controls whether the Create/FDL utility displays the file specification of the data file it has created. By default, the utility does not display the file specification.

### Format

> /LOG

> /NOLOG

### Examples

#1
    $ CREATE/FDL=INVENTORY/LOG DISK$:[COMPANY.ORDERS]PARTS.DAT
    %FDL-I-CREATED, DISK$:[COMPANY.ORDERS]PARTS.DAT;1 CREATED

> This command produces the empty output file PARTS.DAT from the specifications in the FDL file INVENTORY.FDL. Because the /LOG qualifier is used in the command, the Create/FDL utility returns an informational message stating the file specification for the file that was created.

#2
    $ CREATE/FDL=INVENTORY PARTS.DAT

> This command produces the empty output file PARTS.DAT from the specifications in the FDL file INVENTORY.FDL. Because the /LOG qualifier was not used with the CREATE/FDL command, no informational message is returned.

## Chapter 6
Edit/FDL Utility

This chapter describes the Edit/FDL utility (EDIT/FDL).

On Alpha systems, the Edit/FDL utility and its qualifiers contain capabilities that allow them to use the features provided by extended file specifications. Extended file specifications offer extended file naming and handling capabilities that enable OpenVMS Alpha systems to store, manage, serve, and access files across both OpenVMS and Windows NT systems in a PATHWORKS environment. Specifically, extended file specifications provide the following features:

- Support a Files-11 volume structure, On-Disk Structure Level 5 (ODS-5), that provides a volume structure for creating and storing files with expanded file names
- Support additional character sets for naming files from file names that use the 8-bit ISO Latin-1 character set to the 16-bit Unicode (UCS-2) character set
- Support extended file names with file specifications exceeding the traditional 39.39 character limit up to a maximum of 255 characters
- Support preserving the case of file specifications created with the ODS-5 attributes
- Support deep, multilevel directory structures up to a maximum of 512 characters

For more information, see the OpenVMS Guide to Extended File Specifications.

## 6.1 Creating FDL Files with the Edit/FDL Utility

One way to create FDL files easily is with the Edit/FDL utility (also known as the FDL editor). You can use the EDIT/FDL command to design FDL files that define commonly needed data files and then to create the data files when they are needed. The Edit/FDL utility has some special features that simplify the process of creating an FDL file. It recognizes FDL syntax and informs you of syntax errors immediately. It also lets you model the data file to be created and change attribute values to find the most efficient design.

Alternatively, you can use the ANALYZE/RMS_FILE command to create an FDL file from an existing data file which can then be used with the Edit/FDL utility Optimize script to determine the optimum design of the data file.

### 6.1.1 Validity Rules

The Edit/FDL utility (EDIT/FDL) and the Analyze/RMS_File utility (ANALYZE/RMS_FILE) place the attributes in their correct format and order automatically. If you use the CREATE command or a text editor to create an FDL file, you must observe the following validity rules:

- The primary sections must appear in the order listed in Section 4.1. If you have two or more AREA primary sections, they must follow one another in numerical order (for example, AREA 1, AREA 2,..., AREA n).
- If you have two or more KEY primary sections, they too must follow one another in numerical order (for example, KEY 0, KEY 1,..., KEY n).
- Within a KEY section, any SEGn secondary attributes should follow one another in numerical order; the SEGn numbers must be "dense," not "sparse." For example, if you use SEG3 to label a key segment, segments SEG0, SEG1, and SEG2 must also exist.
- Each source line can contain multiple attributes, each terminated by a semicolon (;) or by the end of the line.
- Use the exclamation point (!) to begin a comment. Comments begin at the exclamation point and continue to the end of the line, or to the first semicolon (;) encountered.
  FDL does not process files with comment lines containing semicolons. However, you can use a semicolon on a comment line if the line is enclosed within quotation marks. For example:

      !"This line is okay; there are quotes setting off the comment"

- The Edit/FDL utility ignores leading or trailing blanks or tabs.
- FDL string values are terminated by the comment character (!) or by the statement terminator (;). Strings must be enclosed in quotation marks ("").
- You can truncate keywords, but take care to avoid ambiguities. EDIT/FDL and ANALYZE/RMS_FILE always write out the entire keyword.

## Edit/FDL Usage Summary

> The Edit/FDL utility (EDIT/FDL) can help you create FDL files. The Edit/FDL utility was developed especially to manipulate FDL files. It has special features designed to simplify the process of creating an FDL file and should be used in most cases.

### Format

> EDIT/FDL fdl-filespec

> #### fdl-filespec

> Use this parameter to specify the FDL file to be created, modified, or optimized during this session. If you specify an existing FDL file for modification or for optimization, the output file is the next higher version of the file being modified or optimized. In all cases, you have the option of using the /OUTPUT qualifier to specify the output FDL file. The default file type is .FDL.

Usage Summary To invoke the Edit/FDL utility, enter the EDIT/FDL command at the DCL command level. The Edit/FDL utility produces a new version of the input file unless the /OUTPUT qualifier is used to direct the output to a different file. To exit the Edit/FDL utility, enter either the EXIT command or the QUIT command. (Pressing Ctrl/Z has the same effect as entering the EXIT command, and Ctrl/C has the same effect as the QUIT command.)

Note When you enter the EDIT/FDL command, the system refers to a reserved logical name, EDF. Do not use this logical name.

## EDIT/FDL Qualifiers

The DCL command EDIT/FDL begins an interactive session during which you can create or modify an FDL file. You can give the editor file design decisions and it will supply values for the FDL attributes or you can assign values to the attributes yourself. This section describes the EDIT/FDL qualifiers and how you use them to select the utility functions. Unless otherwise noted, these qualifiers do not take a qualifier value.

## /ANALYSIS

> This qualifier specifies an FDL file obtained from a file analysis. See Chapter 1 for more information about analyzing files.

### Format

> /ANALYSIS fdl-filespec

### Qualifier Value

> #### fdl-filespec

> Specifies the particular FDL file obtained from a file analysis that is to be used as an input to the Optimize script. The default is a null file specification.

### Example

    $ EDIT/FDL/ANALYSIS=Q1_SALES Q2_SALES

> This command begins an interactive session in which the analysis information in the file Q1_SALES.FDL is used, together with the input FDL file Q2_SALES.FDL, to obtain an optimized output file, which the system designates as the next higher version of Q2_SALES.FDL.

## /CREATE

> This qualifier allows you to create an output file without an existing input file.

### Format

> /CREATE

### Description

> Using the /CREATE qualifier, you can create an output file directly without the Edit/FDL utility notifying you that the file is to be created. The Edit/FDL utility does not attempt to open the specified file for input when you use the /CREATE qualifier. The Edit/FDL utility assumes that either the file does not exist or that you want the utility to ignore it.

> You can select the Design or the Add Key scripts only when your input file does not already exist.

### Example

    $ EDIT/FDL/CREATE SALES_DATA

> This command begins a session in which SALES_DATA.FDL is created. The Edit/FDL utility does not issue the informational message stating that the new file SALES_DATA.FDL will be created.

Previous | Next | Contents | Index

| privacy and legal statement |
6027PRO_009.HTML