Defining a subprogram to be called at runtime is possible but ill-advised. This extremely powerful feature can quite easily be misused, and even
when used correctly, it highly increases the overall complexity of the program, and makes it impossible before runtime to know exactly what will be
executed. Therefore defining the subprogram to be called at runtime is a feature that should be avoided.
Noncompliant code example
MOVE SOMETHING TO MY_SUBPROG.
...
CALL MY_SUBPROG.
Compliant solution
01 MY_SUBPROG PIC X(10) VALUE "SUB123".
....
CALL MY_SUBPROG.