Unterprogramme werden über
PERFORM ...
[USING p1 p2 ... ]
[CHANGING p1 p2 ...
].
aufgerufen. Unterprogramme lassen sich aus Unterprogrammen aufrufen (geschachtelte Aufrufe) und Unterprogramme können auch sich selbst aufrufen (rekursive Aufrufe). Nach erfolgreicher Beendigung des aufgerufenen Unterprogramms wird die Ausführung des aufrufenden Programms nach der PERFORM-Anweisung fortgesetzt. Mit den Zusätzen USING und CHANGING wird die Parameterschnittstelle des aufgerufenen Unterprogramms mit Werten versorgt.