All called modules cannot run standalone if they require program variables passed to them via the LINKAGE section.
DYNAMICally called modules are those that are not bound with the calling program at link edit time (IEWL for IBM) and so are loaded from the program library (joblib or steplib) associated with the job. For DYNAMIC calling of a module the DYNAM compiler option must be chosen, else the linkage editor will not generate an executable as it will expect u address resolution of all called modules.
A STATICally called module is one that is bound with the calling module at link edit, and therefore becomes part of the executable load module.
For Static call,you could see the program name directly in the call statement CALL PGMNAME USING arguments
For Dynamic call,program name is assigned to a variable and that variable is used in CALL statement 01 WS-SUBPGM PIC X(8) VALUE SUBPGM.
CALL WS-SUBPGM USING arguments
Another way is, For static call,there will be only one load available and for dynamic,you could see different loads for each component.
Ready to start your tutorial with us? That's great! Send us an email and we will get back to you as soon as possible!