| |
GeekInterview.com > Interview Questions > Mainframe > COBOL
| Print | |
Question: COBOL dynamic call and static call
Answer: what is difference between dynamic call and static call with examples ..? |
| July 07, 2008 07:54:01 |
#2 |
| arnab.ece |
Member Since: May 2008 Total Comments: 1 |
RE: COBOL dynamic call and static call |
here is some information about static and dynamic calls which may help you.
Static CALLs In COBOL, you normally call a subroutine like this:
CALL 'A' USING arguments
The static form of the CALL statement specifies the name of the subroutine as a literal; e.g., it is in quotes.
This is the static form of a subroutine call. The compiler generates object code for this which will cause the linker to copy the object module a.obj into your executable when it is linked.
So, if you modify "A" and recompile it, you must also relink all of the executables that call "A", because the each of the executables contains its own copy of "A".
Dynamic CALLs In COBOL, the dynamic form of a subroutine call is coded like this:
01 SUBROUTINE-A PIC X(8) VALUE 'A'. CALL SUBROUTINE-A USING arguments
The dynamic form of the CALL statement specifies the name of the subroutine using a variable; the variable contains the name of the subroutine to be invoked.
The difference is that the name of the subroutine is found in the variable SUBROUTINE-A. The compiled code will cause the operating system to load the subroutine when it is required instead of incorporating it into the executable..
some compilers let you set options that will override the calling mechanisms shown above. Therefore, even if your program is coded to call a program statically, the compiler can convert it to the dynamic form of CALL if you set (or don't set) the correct compiler options(i.e thru DYNAM option in jcl) |
| |
Back To Question | |