The subcodes can only be specified for specific subroutine functions. They are specified in the SUBCODE field of the control block CB. If no subcode is specified, the SUBCODE field in control block CB must be set to blank (X’40’ / UNUSE).
The subcodes determine:
the output format of members
how records and members are read or written
control of version automation.
The following functions have a subcode:
TOCPRIM, TOCSEC, GET, CLOSE, LST, ADD, COPY, OPENGET, OPENPUT, PROVIDE, REN, RETURN and COPYLIB.
The table below shows all subcodes, their meanings and how they are assigned to the respective subroutine functions.
Subcode | Meaning | Function |
SHORT | Output format: | |
Outputs member name and storage mode. | TOCPRIM | |
Outputs member name, secondary name, secondary | TOCSEC | |
LONG | Extended output format: | |
Outputs user, creation and modification dates and times, | TOCPRIM | |
Outputs user, creation, and modification dates and | TOCSEC | |
DIR | Direct reading of a record: | GET |
SEQ | Sequential reading of a record: | |
WRITE | Write output member back: | CLOSE |
RESET | Discard output member: | |
SYM | Display mode of a record: | LST |
HEX | Display mode of a record: | |
INCP | Version automation: | ADD |
INCB | Version automation: | |
HIGP | Version automation: Overwrites the member with the highest version in the | |
UNUSE | All versions are specified explicitly | |
EXTRA | Opens a member for reading irrespective of the | OPENGET |
UNUSE | For future extensions | All as yet |