User labels must be written and evaluated by the user program. User program routines for reading and writing user labels are started via the exits OPENV, LABGN, LABEOV and LABEND of the EXLST macro.
In all cases, the user label groups follow the corresponding system label groups. Just like the system labels, they can be identified by the label names in the first byte of the label: UVL, UHL and UTL. However, there are only three types of user labels: volume labels (UVL), file header labels (UHL) and general trailer labels (UTL).
User volume labels (UVL)
The user may write up to 9 user volume labels (UVL1,...,UVL9). These are placed between the VOL1 label and the HDR labels. The program routine for reading or writing UVL labels is activated via the EXLST exit OPENV.
User file header labels (UHL)
The user may write up to 256 user file header labels (UHL0, ..., UHL255), which must follow the last HDR label. The program routine for reading or writing UHL labels is activated via the EXLST exit LABGN.
User trailer labels (UTL)
User end-of-volume and file trailer labels have the same format. The user end-of-volume labels follow the EOV labels and the user file trailer labels follow the EOF labels. The user may write up to 256 end-of-volume and 256 file trailer labels (UTL0, ..., UTL255). The appropriate program routines are activated automatically via the EXLST exits LABEND (for end-of-file) and LABEOV (for end-of-volume).