Freeing dynamic storage associated with the caller

If the calling program has a dynamic storage area associated with it, you can specify that CSRL16J free some or all of this storage area before it transfers control to the target routine. In the L16J parameter list, specify the following fields:
L16JSUBPOOL
Specify the subpool of the area that you want the system to free.
L16JLENGTHTOFREE
Specify the length, in bytes, of the dynamic storage area you want the system to free.
L16JAREATOFREE
Specify the address of the dynamic storage area you want the system to free.

Make sure that the address is on a doubleword boundary. Otherwise, the service ends with an abend code X'978'. See z/OS MVS System Codes for information on abend code X'978'.

The system frees the storage only when the CSRL16J callable service is successful.