To provide addressability to an address/data space, a program might
pass an ALET to another program. MVS™ allows
your program to pass the following ALETs:
- An ALET of zero.
- An ALET that indexes into a public entry on a DU-AL, if the program
that passes the ALET and the program that receives the ALET run under
the same TCB or SRB (that is, they have the same DU-AL).
- An ALET that indexes into the PASN-AL, if the program that passes
the ALET and the program that receives the ALET run in the same address
space (that is, they have the same PASN-AL).
- An ALET that indexes into the PASN-AL for a SCOPE=COMMON data
space.
Do not pass the following ALETs:
- An ALET of one across a space-switching PC linkage. (A
space-switching PC instruction changes the program's secondary address
space.)
- An ALET that indexes an entry on the PASN-AL, passed to a program
in another address space, unless the ALET is for a SCOPE=COMMON data
space. Each address space has its own PASN-AL.
- An ALET that indexes an entry on another task's DU-AL. (Each task
has its own DU-AL). However, your program can pass such an ALET to
a subtask if the subtask was created using the ALCOPY parameter on
the ATTACH or ATTACHX macro; the ALET must have been valid at the
time of the attach.
- An ALET that indexes a private entry, passed across an interface
(through a PC instruction) that changes the EAX. (This rule is described
in EAX-authority to an address space.)
Examples of establishing addressability to data spaces has several examples
of programs passing ALETs.