  | 
		
HP COBOL Reference Manual
 
 
Technical Notes
 
 
  -  On all platforms, leading and trailing spaces and tabs are removed
  from file specifications before the OPEN statement executes.
  
 -  When a COBOL OPEN statement executes on an OpenVMS system,
  the RMS facility:
  
    - Removes spaces and tab characters from the file specification
    
 - Translates lowercase letters in the file specification to uppercase
    
 - Performs logical name translation
  
  
   - .DAT is the default file type if one is not specified on an OpenVMS
  system. <>
  
 - On Tru64 UNIX, the suffixes added to indexed file names on a
  Tru64 UNIX system are .idx and .dat. <>
  
 -  On Tru64 UNIX, file specifications are case sensitive.
  
 -  Embedded spaces are allowed in file specifications on
  Tru64 UNIX systems. Thus "file name a" and "Monthly Report" are
  valid file specifications.
  
 -  When a COBOL OPEN statement executes on a Tru64 UNIX system,
  HP COBOL attempts to match the file specification against an
  environment variable with the same spelling declared in the current
  login environment. If an exact match is found, the value of the
  matching environment variable becomes the file specification.
  Otherwise, the file specification remains unchanged. <>
  
Additional Reference
 
 
See Section 5.3.54 clause in Chapter 5, Data Division. For information on defining
a file connector, refer to the Processing Files and Records
chapter in the HP COBOL User Manual.
4.2.3 BLOCK CONTAINS
 
Function
 
 
On OpenVMS systems, the BLOCK CONTAINS clause specifies the size of a
physical record. <>
 
On Tru64 UNIX systems, block size for INDEXED organization is for
documentation purposes only. <>
  
 
smallest-block
is an integer literal. It specifies the minimum physical record size.
blocksize
is an integer literal. It specifies the exact or maximum physical
record size.
 
Syntax Rule
 
 
The BLOCK CONTAINS clause can be in the file's Data Division file
description entry. However, it cannot be in both the SELECT clause and
the file description entry for the same file.
 
General Rules
 
 
  - The BLOCK CONTAINS clause specifies physical record size.
  
 - The compiler ignores smallest-block.
  
 - The RECORDS phrase specifies physical record size in terms of
  logical records.
  
    - For a fixed-length record magnetic tape file, each physical record
    except the last contains blocksize records.
    
 - For a variable-length record magnetic tape file, the compiler
    computes the physical record size. It equals the size of the largest
    logical record, plus any overhead bytes, multiplied by
    blocksize.
  
  
   - The CHARACTERS phrase specifies physical record size in terms of
  characters. 
 The physical record size is the maximum of: (1)
  blocksize bytes, and (2) the size of the largest logical
  record; plus any overhead bytes for variable-length records.
   - If there is no BLOCK CONTAINS clause, physical record size assumes
  a default value. 
 The physical record size is the size of the
  largest record plus any overhead bytes.
   - The size of physical records (in characters) must be a multiple of
  four. Otherwise, the I/O system rounds up the physical record size to
  the next multiple of four.
  
4.2.4 CODE-SET
Function
 
 
The CODE-SET clause specifies the representation of data on external
media.
  
 
alpha-name
is the name of a character set defined in the SPECIAL-NAMES paragraph.
It cannot be described with literals in the ALPHABET clause.
 
Syntax Rules
 
 
  - The CODE-SET clause can be in the file's Data Division file
  description entry. However, it cannot be in both the SELECT clause and
  the file description entry for the same file.
  
 - The CODE-SET clause applies only to files with sequential
  organization.
  
General Rules
 
 
  - The CODE-SET clause identifies alpha-name as the character
  set used to represent the file data externally.
  
 - alpha-name specifies how to convert character codes in the
  file to and from native character codes.
  
 - Code conversion occurs during execution of an input or output
  operation. Conversion occurs as if the data were USAGE DISPLAY.
  
 - Successful OPEN statement execution establishes the character set
  for code conversion. The set used is the one specified by
  alpha-name in the FILE-CONTROL paragraph implied by the OPEN
  statement.
  
 - If there is no CODE-SET clause, no character conversion occurs
  during input-output operations. The native character set is the default.
  
Additional Reference
 
 
See the Section 4.1.3, SPECIAL-NAMES paragraph.
 
Example
 
 
In this example, the CODE-SET clause specifies that the data in INFILE
is coded in the EBCDIC character code set as specified by an alphabet
named EB. The SPECIAL-NAMES paragraph defines EB as the EBCDIC
character set.
 
 
  
    
       
      
SPECIAL-NAMES.
    ALPHABET EB IS EBCDIC.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT INFILE ASSIGN TO INFILE
      CODE-SET IS EB.
 |   
4.2.5 LOCK MODE (Alpha, I64)
Function
 
 
The LOCK MODE clause specifies a locking technique to use for a file.
LOCK MODE is part of the X/Open COBOL standard.
  
 
Syntax Rules
 
 
  - X/Open standard and Hewlett-Packard standard syntax cannot both be
  specified for the same file connector. Hence, if LOCK MODE is
  specified, the ALLOWING, APPLY LOCK-HOLDING, and REGARDLESS phrases
  cannot be specified for that file.
  
 - The WITH LOCK ON RECORD clause is for documentation purposes only.
  
 - The LOCK MODE IS MANUAL clause is not available for sequential or
  line sequential files.
  
General Rules
 
 
  - When you specify LOCK MODE IS AUTOMATIC or LOCK MODE IS MANUAL, an
  OPEN statement (without the WITH LOCK phrase) opens the file in
  shareable mode. The LOCK MODE clause can be overridden by the WITH LOCK
  phrase of the OPEN statement.
  
 - When you specify LOCK MODE IS EXCLUSIVE, a successful OPEN
  statement opens the file in exclusive mode. The OPEN statement cannot
  override LOCK MODE IS EXCLUSIVE.
  
 - If you omit the LOCK MODE clause, opening the file causes it to
  become exclusive, unless you open it for INPUT, in which case the file
  becomes shareable.
  
 - When you specify LOCK MODE IS AUTOMATIC for a file, a record lock
  is acquired by the successful execution of the READ statement and
  released on the successful execution of a subsequent I/O statement.
  
 If you specify LOCK MODE IS MANUAL, a record lock is acquired by
  the READ WITH LOCK statement.
   - On Tru64 UNIX, the ROLLBACK phrase is used by ACMSxp
  applications to specify a recoverable file. You must compile with the
-tps
 option to specify a recoverable file. <>
  
 - A file that is opened in exclusive mode cannot be opened by any
  other access stream.
  
 - A file that is in shareable mode can be opened by any number of
  access streams that do not require exclusive use.
  
 - A file that does not reside on a mass storage device cannot be
  opened in shareable mode. <>
  
4.2.6 ORGANIZATION
Function
 
 
The ORGANIZATION clause specifies a file's logical structure.
 
On Alpha and I64 systems, the ORGANIZATION IS LINE SEQUENTIAL clause
specifies a variant of sequential files compatible with the system text
editor. <>
  
 
General Rules
 
 
  - File organization is established when the file is created. It
  cannot be subsequently changed.
  
 - If there is no ORGANIZATION clause, the default is SEQUENTIAL.
  
 - On Alpha and Itanium systems, when LINE SEQUENTIAL organization is
  specified, the file is treated as consisting of variable length
  records, with each record containing one line of data. A line is a
  sequence of characters ending with a record terminator (
\n
 or x'0A'). The terminator is not counted in the length of the record.
  
 - On Alpha and Itanium systems, a file with LINE SEQUENTIAL
  organization should only contain printable characters and the record
  terminator.
  
 - On Alpha and Itanium systems, a file with LINE SEQUENTIAL
  organization may not be opened in I-O mode. <>
  
 -  All programs that open an existing file must specify the same
  organization with which the file was created.
  
 
  Note 
On Tru64 UNIX, a third-party product is required for INDEXED
run-time support. Refer to the Release Notes for the latest details on
how to obtain the INDEXED run-time support. <> 
     | 
   
 
  
  
		 |