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.