The CALL statement transfers control to another program in the executable
image.
Format -
CALL prog-name
[ {{{ [BY REFERENCE] } }} [{{BY REFERENCE } }] ]
[ {{{ BY CONTENT } }} [{{BY CONTENT } }] ]
[USING{{{ BY DESCRIPTOR }{arg}...}} [{{BY DESCRIPTOR}{arg}...}] ... ]
[ {{{ BY VALUE } }} [{{BY VALUE } }] ]
[ { OMITTED } [ OMITTED ] ]
[ GIVING function-res ]
{ [ ON EXCEPTION stment ] [ NOT ON EXCEPTION stment ] }
{ [ ON OVERFLOW stment ] [ NOT ON OVERFLOW stment ] }
[ END-CALL ]
1 – prog-name
is a nonnumeric literal or the identifier of an alphanumeric data item. It is the name of the program to which control transfers.
2 – arg
is the argument. It identifies the data that is available to both the calling and called programs. It is any data item described in the File Section, Working-Storage Section, or Linkage Section, or it is a nonnumeric literal. It must not be a function-identifier.
3 – function-res
is the identifier of an elementary integer numeric data item with COMP, COMP-1, or COMP-2 usage and no scaling positions. Function-res can be subscripted, and it can be qualified. When control returns to the calling program, function-res can contain a function result.
4 – stment
is an imperative statement.