Modernization Hub

ILI - Interrupted Loop Indicator

Enhanced Definition

An Interrupted Loop Indicator (ILI) is a programmer-defined flag or variable used within mainframe applications, typically written in COBOL or PL/I, to signal that a processing loop has been interrupted or terminated prematurely. It serves as a control mechanism to manage program flow when a loop's normal iteration sequence is broken by an external event, an error condition, or a specific business rule.

Key Characteristics

    • Programmer-Defined: The ILI is not a built-in z/OS feature or a system-level register; it is a user-defined variable declared and managed entirely by the application program.
    • Boolean or Status Value: It is commonly implemented as a single-character field (e.g., PIC X(1)) holding values like 'Y'/'N' or '1'/'0' to indicate a true/false state, or a numeric field for more granular status codes.
    • Control Flow Management: Its primary purpose is to enable the program to alter subsequent processing steps, execute specific exit routines, or perform cleanup based on the loop's interruption status.
    • Context-Specific: The meaning and conditions for setting and checking the ILI are entirely dependent on the application's logic and business requirements.
    • Error Handling Integration: Can be set upon detecting a critical error within a loop, prompting specific error recovery procedures, logging, or graceful program termination.

Use Cases

    • Batch Job Termination: In a COBOL batch program processing a large sequential file, an ILI could be set if a severe data validation error occurs, allowing the program to close files, write an error report, and terminate gracefully without processing the remaining records.
    • CICS Transaction Timeout: Within a CICS transaction that involves a sub-loop for data processing or resource acquisition, an ILI might be set if the loop exceeds a predefined time limit or resource threshold, prompting an exit and a message to the user.
    • Interactive User Cancellation: In a CICS screen-based application, an ILI could be set if the user presses a specific Program Function (PF) key (e.g., PF3 for Exit, PF12 for Cancel) during a data entry or review loop, signaling the program to bypass further processing for that iteration.
    • Resource Contention Handling: A loop attempting to acquire an exclusive lock on a DB2 table or IMS segment might set an ILI if the resource remains unavailable after a specified number of retries, leading to alternative processing paths or a delay.

Related Concepts

The ILI is intrinsically linked to application control flow and error handling mechanisms within COBOL or PL/I programs. It often works in conjunction with conditional statements (IF...THEN...ELSE, EVALUATE) and loop constructs (PERFORM...UNTIL, PERFORM VARYING, DO WHILE) to manage program execution. While not a direct system component, its implementation can be influenced by

Related Vendors

Applied Software

7 products

Trax Softworks

3 products

Related Categories

Encryption

41 products

Files and Datasets

168 products

Browse and Edit

64 products