The system provides the application programmer with the ability to design a program in one language that initiates a program written in a different language. The initiating program can even pass parameters to the initiated program. However, because each language provides a different set of parameter types, the programmer needs to understand which types of parameters are compatible.
The languages that can initiate a process and pass it parameters are ALGOL, COBOL74, COBOL85, and Work Flow Language (WFL).
The languages that can receive tasking parameters from another program are ALGOL, C, COBOL74, COBOL85, AND Pascal.
WFL jobs can also receive parameters. However, strictly speaking, these are compile-time rather than tasking parameters because a WFL job is recompiled each time it is submitted. ALGOL, COBOL74, COBOL85, and RPG can all submit WFL jobs, but none of them can pass a parameter to the WFL job. Parameters can be passed to a WFL job only by a START statement. START statements can be submitted in Command and Edit (CANDE) or Menu-Assisted Resource Control (MARC) sessions or at an operator display terminal (ODT). START statements can also be submitted by DCALGOL programs using the DCKEYIN function or by WFL jobs.
The remainder of this section discusses only tasking parameters and not WFL compile-time parameters.
Whenever a process passes a tasking parameter, the system software checks that the number of actual parameters the calling program passes matches the number of formal parameters declared in the receiving program.
The system also compares each actual parameter with the matching formal parameter to determine if they are of compatible types. The matching is done based on parameter order rather than parameter names. It is permissible for the actual and formal parameters to have different names.
In many cases, the system allows matches between similar, though not identical, parameter types. For instance, an integer actual parameter can generally be passed to a real formal parameter. Also, types that are, in effect, identical might have different names in different languages. Details about which parameter matches are allowed by the system software are given under Matching Each Parameter Type later in this section.
Information about how the passing mode is determined for tasking parameters is given under Resolving Passing Mode Conflicts later in this section.
Special considerations for arrays passed as tasking parameters are discussed under Passing Arrays later in this section.

