Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


what is the difference between static call and dynamic call?



what is the difference between static call and dynamic call?..

Answer / ravi

Here is the difference between static and dynamic calls, it
is mentioned very clearly in IBM COBOL Manual, read it
carefully, it should clear all your doubts regarding calls



WORKING-STORAGE SECTION.

01 PGM-NAME PIC X(08).

PROCEDURE DIVISION.

BEGIN-PARA.

MOVE “SUBPROG” TO PGM-NAME.

* Dynamic call

CALL PGM-NAME USING RECORD-1. ****** Here PGM-
NAME is called as identifier*******

*Static Call

CALL “SUBPROG” USING RECORD-2. ****** Here it is
CALL literal where literal is SUBPROG*******





If you do not know the program-name to be called until run
time, use the format CALL identifier, where identifier is a
data item that will contain the name of the called program
at run time. For example, you could use CALL identifier
when the program to be called varies depending on
conditional processing in your program. CALL identifier is
always dynamic, even if you use the NODYNAM compiler option.





Making static calls

When you use the CALL literal statement in a program that
is compiled using the NODYNAM and NODLL compiler options, a
static call occurs. With these options, all calls of the
CALL literal format are handled as static calls. In the
static CALL statement, the COBOL program and all called
programs are part of the same load module.



Making dynamic calls

When you use a CALL literal statement in a program that is
compiled using the DYNAM and the NODLL compiler options, or
when you use the CALL identifier statement in a program
that is compiled using the NODLL compiler option, a dynamic
call occurs.





Making both static and dynamic calls

You can use both static and dynamic CALL statements in the
same program if you compile the program with the NODYNAM
compiler option. In this case, with the CALL literal
statement the called subprogram will be link-edited with
the main program into one load module. The CALL identifier
statement results in the dynamic invocation of a separate
load module. When a dynamic CALL statement and a static
CALL statement to the same subprogram are issued within one
program, a second copy of the subprogram is loaded into
storage. Because this arrangement does not guarantee that
the subprogram will be left in its last-used state, results
can be unpredictable.



Performance considerations of static and dynamic calls

Because a statically called program is link-edited into the
same load module as the calling program, a static call is
faster than a dynamic call. A static call is the preferred
method if your application does not require the services of
the dynamic call.

Statically called programs cannot be deleted using CANCEL,
so static calls might take more main storage. If storage is
a concern, think about using dynamic calls. Storage usage
of calls depends on whether:

The subprogram is called only a few times. Regardless of
whether it is called, a statically called program is loaded
into storage; a dynamically called program is loaded only
when it is called.
You subsequently delete the dynamically called subprogram
with a CANCEL statement.
You cannot delete a statically called program, but you can
delete a dynamically called program. Using a dynamic call
and then a CANCEL statement to delete the dynamically
called program after it is no longer needed in the
application (and not after each call to it) might require
less storage than using a static call.

Is This Answer Correct ?    32 Yes 9 No

Post New Answer

More JCL Interview Questions

What is timing concept in mainframe?

0 Answers  


how can a gdg base be created in a jcl. What is the difference between empty and scratch parameter while defining/altering gdg base?

0 Answers   IBM,


i need some shortcuts and tso commands can any on ehelp me in these ?

1 Answers  


what r the types of job control statements?

2 Answers  


In my JCL 10 Steps Will Be there Now i want to execute step05 And step06. How to Give the Cond?

2 Answers   IBM,


I have mainpgm(abc) this is the only cobol pgm(non-db2).And this pgm calling subpgm name "acd" this also only cobol(non- Db)and this pgm calling some other subpgm this pgm has cobol-db2 pgm. 1) IF you calling static mode how to run and how to compile? 2) IF you calling dynamic mode how to run and how to compile? plz suggestion me.

0 Answers   HP,


Is Default for MSGCLASS = (1,1) ?

2 Answers   IBM,


diff bw SB37,SD37,SE37 ?( bcz these 3 belongs Space related abends only)

4 Answers   RBS,


I have one GDG. Everyday One new version is being created.Now I want to split this created version in different files each having 1000 records. Here Problem is I don't know How many records will be there in new version of GDG? that's why I don't know How many Out files we need to use . Interesting??????????????

4 Answers   CTS,


How do you access an uncatalogued dataset in a jcl?

0 Answers  


Can I concatenate various datasets whose organization are different from each other. Lets say I want to cancatenate a PDS file, a PS file, a GDG file etc. Can You do that ?? If yes, how ? is there any separate Utility to do so ???

4 Answers  


What is COND=ONLY ?

2 Answers  


Categories