Static call Vs. Dynamic call, and which is better? The answer is it depends. Precisely, a Static call is faster and takes less CPU time since the load module sits with the main program’s load module.
However, the Dynamic call is slower and takes more CPU time since the load module is separately stored and takes extra time to place with the main module.
1. The Static Vs. Dynamic call differences
2. Example for static call
PROCEDURE DIVISION. CALL "SUBPROG" USING RECORD-1. CALL "PAYMASTR" USING RECORD-1 RECORD-2. STOP RUN.
3. Example for dynamic call
PROCEDURE DIVISION. . . . MOVE "SUBPROG" TO PGM-NAME. CALL PGM-NAME USING RECORD-1. CANCEL PGM-NAME. MOVE "PAYMASTR" TO PGM-NAME. CALL PGM-NAME USING RECORD-1 RECORD-2. STOP RUN. Usage of Entry PROCEDURE DIVISION USING PAYREC. . . . EXIT PROGRAM. ENTRY "PAYMASTR" USING PAYREC PAY-CODE. <<<<<< This shows how one subprogram calls another program >>>> . . . GOBACK.
2. Compiler options: DYNAM and NODYNAM
The DYNAM option applies to dynamic calls and is not for static calls.
The NODYNAM applies to both static and dynamic calls.
You must be logged in to post a comment.