FDL

Specify an FDL or XDL string or file specification

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
FDL:string

string

The FDL or XDL string or file specification. (a)

The FDL qualifier enables you to specify an FDL (File Description Language) or XDL (ISAM definition language) string or file specification. (XDL is a subset of FDL.)

When string is an FDL or XDL string (not a filename), it is the contents of an FDL or XDL file stripped of any comments and recomposed with a semicolon between each line instead of a CR-LF.

On Windows and Unix, the FDL qualifier is only allowed for creating an ISAM file. If string is a file specification, the default extension is .xdl.

On OpenVMS, the FDL qualifier always specifies an FDL string or file specification. If string is a file specification, the default extension is .fdl. OpenVMS uses the FDL description to provide default RMS file attributes for the file. These default values are superseded by other OPEN statement qualifiers that affect RMS attributes (such as BUFNUM, ALLOC, and so on). The file type in the FDL overrides the type specified in the OPEN statement mode (for example, O:R changes to O:S if the FDL type is sequential).

If the first character of string is an “at” sign (@), the remainder of the string is treated as the file specification containing the FDL or XDL description; otherwise, the entire string is treated as an FDL or XDL description.

If a filename is specified in the OPEN statement, the file will be created with that name regardless of what name was defined in the FDL or XDL description. If no filename is specified in the OPEN statement, the file will be created with the name specified in the FDL or XDL description.

Note

The FDL files must be on the same system as the ISAM file. If the filename specified in the OPEN statement is local and the FDL qualifier specifies an FDL files specification, the FDL file must also be local. If the filename specified in the OPEN statement is a remote file, and the FDL qualifier specifies an FDL file specification, that FDL file must exist on the remote system and cannot be an xfServer remote file specification (containing an “at” sign). Any logical translation is handled on the remote system.

The following example uses the FDL qualifier to specify a definition file for a new ISAM file:

open(filch,"O:I",filename,FDL:"@testfile.fdl")

The example below specifies an actual FDL string on OpenVMS:

FDL:"FILE;  BEST_TRY_CONTIGUOUS   yes;  BUCKET_SIZE     5;  CLUSTER_SIZE 5;"

The following example works when opening a file through xfServer if the FILES logical is defined on the server and FILES:syntxt.xdl exists.

proc
    data ln   ,int
    setlog("DAT", "FILES:@localhost", ln)
    open(1, O:I,"DAT:mysyntxt", FDL:"@FILES:syntxt.xdl") 
    close 1
endmain