Transfer control from a program at one logical level to a AMB or non-AMB application program at the same level, and pass the Commarea.
Transferring to a AMB program
[TP-]XCTL programname [errorpara] ... [LENGTH(value)] ... [DLIUIB pcbname [pcbname ...]] ... [userparm [userparm] ...]
Transferring to a non-AMB program
[TP-]XCTL programname(NONAPS) [errorpara] ... [LENGTH(value)]
% &TP-PROGRAM-INVOCATION = "NONAPS"
DLIUIB pcbname |
DLI interface block and the Program Control Block required by the next program. |
errorpara |
User-defined error routine to perform when an abnormal condition occurs. Errorpara is positional; if omitted, code an asterisk (*) in its place. |
LENGTH (value) |
Maximum length of data; can be a literal or COBOL data name defined as S9(04)COMP. Can also be a partial length. |
(NONAPS) |
The program is not a AMB program. |
NOTERM |
Do not terminate the screen display for the calling program, that is, display screens for both the called and the calling program. |
programname |
Program name; can be a literal, variable, or combination. If you precede a variable name with a slash (/), AMB moves the literal to it. There is no active PSB and no passing of arguments. |
XCTL PGM001
XCTL /WS-PROGNAME
XCTL PGM003/WS-PROGNAME
XCTL PGM004 ERR-PARA
XCTL PGM005 * DLIUIB ABC-PCB
XCTL PROG001(NONAPS)
XCTL, which calls a subprogram at the next lower level, operates identically to LINK. XCTL invokes LINK, providing no additional functionality and does not pass the COMMAREA; XCTL is provided for upward compatibility.