Depending on how the *SRVPGM was created, you may be able to get what you want with DEBUG.
YOu can do a DSPSRVPGM on the main SRVPGM that has the modules.
Then do a STRDBG on a program that calls one of the modules putting a break point at the point of the callp.
Call the program, when it breaks, do F22 to step into the called procedure.
If the DEBUG level is set correctly, you will be able to see the complete source.