Obiges Beispiel funktioniert nur, wenn das Cobol-Programm dann NACH dem OVRPRTF aus dem CL aufgerufen wird, da die Gültigkeit eines OVR-Befehls von der Aufrufebene abhängt.
Wenn also Programm A einen Call auf ein CL macht, dieses dann den OVRxxx macht und sich beendet, wird der OVRxxx wieder gelöscht !
Ansonsten muss man den Parameter OVRSCOPE(*JOB) verwenden um den OVRxxx zu erhalten.
Dann darf man allerdings den DLTOVR nicht vergessen, da dies sonst ungeahnte Auswirkungen auf später aufgerufene Programme hat, da der OVRxxx ja noch gültig ist !

Die Große Ausnahme ist hier CALL QCMDEXC. Dieses Programm verändert die Aufrufebene nicht, so dass ein OVRxxx-Befehl direkt aus RPG/COBOL vor einem OPEN aufgerufen werden kann.
Nach Beenden des Programmes werden alle OVRxxx automatisch wieder entfernt (Aufrufebene).