Function Packages

A function package is a group of external routines (functions and subroutines) that are accessed more quickly than external routines written in interpreted REXX. Routines in a function package must be written in a programming language that produces object code, which can be link-edited into a load module. The routine must also support the system interface for function packages. Some programming languages that meet these qualifications are assembler, COBOL, and PL/I.

There are three types of function packages.
  • User packages — User-written external functions that are available to an individual. These functions are searched before other types of function packages and are often written to replace the other types of function packages.
  • Local packages — Application or system support functions that are generally available to a specific group of users. Local packages are searched after user packages.
  • System packages — Functions written for system-wide use, such as the TSO/E external functions. System packages are searched after user and local packages.

Function packages written by a user or an installation must be pre-loaded at logon time. The default name for the user packages is IRXFUSER, and the default name for the local package is IRXFLOC. Other function packages can be named in a parameter block set up by a system programmer.

For more information about function packages, see z/OS TSO/E REXX Reference.