Previous Topic

Next Topic

Book Contents

Book Index

Loading the User Routine Into Memory

Control-M/Analyzer loads the user routine once into memory. The rule invocation branches to the user routine in memory using a BALR R14,R15 instruction. After the user routine exists in memory, Control-M/Analyzer can branch to the user routine as many times as needed.

During a Control-M/Analyzer invocation, the user routine is loaded when needed by the specified rule (provided the user routine is not already loaded into memory). When the Control-M/Analyzer invocation terminates, the user routine is deleted from memory. The same process occurs when Control-M/Analyzer is invoked by Control-M (by statement DO CTBRULE).

When Control-D invokes Control-M/Analyzer, the user routine is loaded when needed by the specified rule (provided the user routine is not already loaded into memory). Because Control-D processes DO statements on a page-by-page basis, all specified DO CTBRULE commands are executed concurrently (such as, Control-M/Analyzer could be invoked several times). The user routine can be accessed by any or all of these Control-M/Analyzer invocations. The user routine remains in memory until the last Control-D page has been processed by Control-M/Analyzer.

It is not required that the user routine be marked reentrant or reusable. Many calls may be made to the same copy of the routine. Therefore, the routine must be "logically" reusable.

Parent Topic

Calling Control-M/Analyzer User Routines