Any simple dynamic calls can be implemented inside a PL/1 program by
calling that external module (for e.g. CALL XYZ(paramters)). For this you have to declare the called module as an external entry inside the calling program, and during compilation of the latter you must link edit both i.e the load library of the former must be mentioned in the job step.
Another way of implementing a dynamic call is by using FETCH (FETCH XYZ). But there are few restrictions here like variables with controlled and external attribute are not allowed inside the fetched module, fetched procedures can't fetch further procedures etc.