BLOCK(*YES |*NO)

The BLOCK keyword controls the blocking of records associated with the file. The keyword is valid only for DISK or SEQ files.

If this keyword is not specified, the RPG compiler unblocks input records and blocks output records to improve run-time performance in SEQ or DISK files when the following conditions are met:

  1. The file is program-described or, if externally described, it has only one record format.
  2. Keyword RECNO is not used in the file description specification.
    Note:
    If RECNO is used, the ILE RPG compiler will not allow record blocking. However, if the file is an input file and RECNO is used, Data Management may still block records if fast sequential access is set. This means that updated records might not be seen right away.
  3. One of the following is true:
    1. The file is an output file.
    2. If the file is a combined file, then it is an array or table file.
    3. The file is an input-only file; it is not a record-address file or processed by a record-address file; and none of the following operations are used on the file: READE, READPE, SETGT, SETLL, and CHAIN. (If any READE or READPE operations are used, no record blocking will occur for the input file. If any SETGT, SETLL, or CHAIN operations are used, no record blocking will occur unless the BLOCK(*YES) keyword is specified for the input file.)

If BLOCK(*YES) is specified, record blocking occurs as described above except that the operations SETLL, SETGT, and CHAIN can be used with an input file and blocking will still occur (see condition 3c above). To prevent the blocking of records, BLOCK(*NO) can be specified. Then no record blocking is done by the compiler.



[ Top of Page | Previous Page | Next Page | Contents | Index ]