SUBR


The SUBR statement allows you to alter the flow of processing by invoking an APPX subroutine process from within an ILF routine.

    ••••• SUBR     ••• ••••••••••••••••••••••••••••••   ••••••••••   END? •  FAIL •
    (1)            (2) (3)                              (4)              (5)     (6)

(1) T/F execution conditions

(2) Application ID

(3) Subroutine process name

(4) Invocation type (SUBPROCESS, RELATED, DETACHED)

(5) End current process first? (Y/N)

(6) Fail action (0=nothing, 1=warning, 2=error, 3=cancel)

Sets True/False Status Indicator

The next status indicator is set to T if the process is invoked successfully, and to F, otherwise. If the process cannot be invoked successfully, the FAIL parameter determines what additional action to take.

Using the Statement

In addition to the application ID and subroutine process name to be invoked, you specify the invocation type (subprocess, related, or detached). As with all other child invocations, this parameter controls the level of data sharing between the parent and the subroutine process invoked.

If END? is set to Y, the current process will end before invoking the subroutine process. The subroutine process will return to the parent of the current process when it is finished. If END? is set to N, the subroutine process returns to the current process (beginning with the first statement after the SUBR statement).

If the application ID is blank, the value in the predefined field NEXT APPLICATION is used. If the process name is blank, the value in the predefined field NEXT PROCESS NAME is used.

Passing Values

The SUBR statement passes the current PASS list, if any. Refer to the PASS Lists section for details.

Related PDF's

NEXT APPLICATION, NEXT PROCESS NAME

Related Statements

COPY, GOSUB, INPUT, INQUIRY, JOB, MENU, OUTPUT, PASS, QUERY, STATUS, UPDATE

Example

The following example checks to see if it is the last processing day in the month. If so, the SUBR statement is executed, invoking an end-of-month calculation routine.

          IF       TAR WORK END OF MONTH          EQ     Y
    T     SUBR     TAR END OF MONTH CALCULATION         SUBPROCESS   END? Y  FAIL 3