2.15 UDCs, the whole story

It is always good to occasionally revisit an area of MPE/iX functionality that has been around for quite some time. As is the case with UDCs, modest enhancements to a subsystem can get lost in the noise surrounding major enhancements or additions in other areas.

UDCs can call up to 30 nested UDCs or command files. The number 30 is arbitrary and not configurable. There is also an arbitrary, non-configurable limit of 50 open UDC files at each of the USER, ACCOUNT and SYSTEM levels.

The default search order for invoking UDCs is USER, ACCOUNT, then SYSTEM. For example, on my system, under my development user ID, I have USER UDCS defined specifically to override/modify the operation of certain MPE/iX commands and ACCOUNT and SYSTEM level UDCs. OPTION LOGON UDCs are invoked starting at the SYSTEM level, then ACCOUNT level, and finally, USER level. This feature is often used for security control since a USER level UDC cannot override an OPTION LOGON UDC at the SYSTEM or ACCOUNT level.

An n-th level UDC can call another UDC at the same level in the same file or another file depending on certain conditions. If in the same file, then the called UDC must be defined after the calling UDC unless OPTION RECURSION has been declared in the calling UDC. If in a different file, then the called UDC must be in a succeeding file (at the same level) or in any file at a higher level.