It specifies the number of
CMROLL calls after which a
Natural session is suspended, that is, a potential roll-out of the Natural
thread is to be performed.
|| Number of
|Specification within session||no|
MAXROLLparameter can be used to control the frequency of conditional
CMROLLrequests. For example,
MAXROLL=128means that a conditional
CMROLLrequest is issued after every 128th statement at compilation.
CMROLLrequest (wait time = 0), particularly at compilation after each statement. This is done to reset the CPU time window (under Com-plete) in order to avoid an automatic cancel due to the CPU time limit being exceeded; however, this has a negative impact on performance.
CMROLLis the Natural interface for
DELAYfunctionality (see also sample Natural program
SYSEXTP); when calling
CMROLL, you may pass a delay interval/wait time as parameter. When a session has to wait in
CMROLL, shared resources as a thread in Com-plete or a shared thread in CICS (
THREADS=nonzero) are released, and as a consequence a potential roll-out of the Natural thread is performed. Calling
CMROLLwith a delay interval of 0 is called conditional, as the session actually needs not wait for a certain time; however, when other sessions are waiting for a thread, the session is suspended, which may result in a roll-out of the Natural thread. In CICS if no other session is waiting, just an
EXEC CICS SUSPENDis executed to prevent AICA abends.