which is better either static call or dynamic call?
and why?
Answers were Sorted based on User's Feedback
Static call:
============
Main program load module will have sub program load module in itself. So when there is a call made to a sub program, it won't go outside of the current load.
Dynamic call:
=============
Main & Sub program will have two different modules. When there is call to a sub program, system will go and search for the load module in the joblib.
Both have advantages.
1. If the sub program is going to be changed oftentimes, then Dynamic call is better.
2. Think that, for one call, system should to the load library and search for sub program module. when it is found, load that into main memory & pass the control to that and run. when that is finished, remove it from main memory. If the sub program is getting called 1 lack times then?........... In this case, Better to use static.
I believe, you understand. Please correct me if I'm wrong.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / joshin
dynamic call is far better than static because the final
result is storeded in two records ie main program and sub
program. so when ever we need we can call the sub program
for other main program also.
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / mahi
dynamic call is much better than static
static call;
main program object code and sub program object code loaded
in one loadlibrary
if any change in code both has to be compiled
dynamic call;
main program object code and sub program object code loaded
in different loadlibraries
if any change in code both need not to be compiled
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / siri
STATIC CALL:-THE SUB PROGRAM CODE WILL BE SMALL AT THE TIME WE PREFERED STATIC CALL...STATIC CALL IS FAST COMPARING TO THE DYNAMIC CALL...OBJECT CODES ARE LINKED BEFORE THE EXECUTION....
DYNAMIC CALL:- SUB PROGRAM IS CALLED FREQUENTLY WE USED TO DYNAMIC CALL...OBJECT CODES ARE LINKED DURING THE EXECUTION...
SO THE PROCESS WILL BE SLOW COMPARING THE STATIC CALL..ITS NO NEED TO RECOMPILE WHEN THE SUBPROGRAM NEED TO BE MODIFIED...THIS IS BIGGEST ADVANTAGE OF THE DYNAMIC CALL....SO
FIRST WE PREFERED TO THE DYNAMIC CALL.....S
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / joshin
dynamic call is far better than static because the final
result is storeded in two records ie main program and sub
program. so when ever we need we can call the sub program
for other main program also.
| Is This Answer Correct ? | 0 Yes | 1 No |
How To move a value to an array using move verb?
Hi All, how is sign is stored in S9(17) comp-3 variable. Answer with an Example will be of great help.
If you are current on the owner of a set, what is the difference between obtain next and obtain first?
Mention the guidelines to write a structured cobol program?
01 x pic s9(8) comp. How will the following value be internally allocated '18787'
can we use go to statement inline-perform?
what happens if we dont close cursor in db2-cobol pgm?
can internal sort be applied to sort ksds files?
IDENTIFICATION DIVISION. PROGRAM-ID. UPDT. AUTHOR.anbu. DATE-WRITTEN. AUG 13. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT CMSTR ASSIGN TO CINP1 ORGANIZATION IS INDEXED ACCESS IS SEQUENTIAL RECORD KEY CM2-KEY FILE STATUS IS WS-CMSTR-FST. SELECT CTAB ASSIGN TO CINP2 ORGANIZATION IS ACCESS IS SEQUENTIAL RECORD KEY VSAM-WHSE- KEY FILE STATUS IS WS-CTAB- FST. DATA DIVISION. FILE SECTION. FD CMSTR. COPY RXCYFC20. FD CTAB. COPY AITYWHSE. ************************************************************ ****** *** WORKING STORAGE VARIABLES *** ************************************************************ ****** WORKING-STORAGE SECTION. 01 WS- VARIABLES. 05 WS-EB PIC X(02) VALUE ZEROES. 05 WS-DIV PIC 9(03) VALUE ZEROES. 05 WS-CMF-RECS-REWRITTEN PIC 9(01) VALUE ZERO. *** FILE STATUS VARIABLES *** 05 WS- FILESTATUS. 10 WS-CMSTR-FST PIC 9(02) VALUE ZEROES. 10 WS-CTAB-FST PIC 9(02) VALUE ZEROES. *** END OF FILE VARIABLES *** 05 WS-CMSTR-EOF PIC X(01) VALUE 'N'. 88 WS-CMSTR-EOF-YES VALUE 'Y'. 88 WS-CMSTR-EOF-NO VALUE 'N'. 05 WS-CTAB-EOF PIC X(01) VALUE 'N'. 88 WS-CTAB-EOF-YES VALUE 'Y'. 88 WS-CTAB-EOF-NO VALUE 'N'. **** ERROR VARIABLES **** 05 WC-ABEND-900 PIC 9(03) VALUE 900. 05 WE-ERR-CODE PIC 9(02) VALUE ZEROES. 05 WE-ABEND-CODE PIC 9(03) VALUE ZEROES. ************************************************************ **** ********* PROCEDURE DIVISON ********** ************************************************************ **** PROCEDURE DIVISION. 0000- BEGIN. PERFORM 1000-INITIALISE THRU 1000- EXIT. PERFORM 2000-PROCESS THRU 2000- EXIT UNTIL WS-CMSTR-EOF- YES. DISPLAY 'WS-CMF-RECS-REWRITTEN :' WS-CMF-RECS- REWRITTEN. PERFORM 5000-CLOSE THRU 5000- EXIT. GOBACK. 0000- EXIT. EXIT. 1000- INITIALISE. OPEN I-O CMSTR. EVALUATE WS-CMSTR- FST WHEN 00 WHEN 97 CONTINUE WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CMSTR-FST MOVE WS-CMSTR-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE. OPEN INPUT CTAB. EVALUATE WS-CTAB-FST WHEN 00 WHEN 97 CONTINUE WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CTAB-FST MOVE WS-CTAB-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE. 1000-EXIT. EXIT. 2000-PROCESS. READ CMSTR. EVALUATE WS-CMSTR-FST WHEN 00 CONTINUE WHEN 10 SET WS-CMSTR-EOF-YES TO TRUE GO TO 2000-EXIT WHEN OTHER DISPLAY 'ERROR IN READING INPUT FILE: ' DISPLAY WS-CMSTR-FST MOVE WS-CMSTR-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END-EVALUATE IF CM2-RECORD-TYPE-SOLD-TO MOVE CM2-ENTERING-BRANCH TO WS-EB PERFORM 3000-READ THRU 3000-EXIT UNTIL WS-CTAB-EOF-YES END-IF. 2000-EXIT. EXIT. 3000-READ. MOVE WS-EB TO VSAM-WHSE-CD. MOVE 'WHSE' TO VSAM-WHSE-ID. READ CTAB. EVALUATE WS-CTAB-FST WHEN 00 MOVE WHSE-DIV-CODE TO WS-DIV PERFORM 4000-REWRITE-CMF THRU 4000-EXIT WHEN 10 SET WS-CTAB-EOF-YES TO TRUE GO TO 3000-EXIT WHEN OTHER DISPLAY 'ERROR IN READING TABLE FILE: ' DISPLAY WS-CTAB-FST MOVE WS-CTAB-FST TO WE-ERR-CODE PERFORM 9999-ABEND-PARA THRU 9999-EXIT END- EVALUATE. 3000- EXIT. EXIT. 4000-REWRITE- CMF. IF WS-DIV = 250 OR 252 MOVE 'F' TO CM2-FREIGHT- TYPE MOVE 1 TO CM2-FREIGHT-THRESHOLD- AMT ADD +1 TO WS-CMF-RECS- REWRITTEN REWRITE CM2-SOLD-TO- RECORD DISPLAY 'RECORD UPDATED' END- IF. * EVALUATE WS-CMSTR- FST * WHEN 00 * CONTINUE * WHEN OTHER * DISPLAY 'FILE NOT UPDATED' * DISPLAY WS-CMSTR- FST * MOVE WS-CMSTR-FST TO WE-ERR-CODE * PERFORM 9999-ABEND-PARA THRU 9999-EXIT * GO TO 4000-EXIT * END-EVALUATE. 4000-EXIT. EXIT. 5000-CLOSE. CLOSE CMSTR CTAB. 5000-EXIT. EXIT. 9999-ABEND-PARA. COMPUTE WE-ABEND-CODE = WC-ABEND-900 + WE-ERR-CODE CALL 'ILBOABN0' USING WE-ABEND-CODE GO TO 5000-CLOSE. 9999-EXIT. EXIT. 5000-CLOSE. CLOSE CMSTR CTAB. 5000-EXIT. EXIT. 9999-ABEND-PARA. COMPUTE WE-ABEND-CODE = WC-ABEND-900 + WE-ERR-CODE CALL 'ILBOABN0' USING WE-ABEND-CODE GO TO 5000-CLOSE. 9999-EXIT. EXIT. //this program is giving maxcc=0, but not updating..
What are the different forms of EVALUATE statement?
We have 3 programms A,B,C.In the middle of the program A the controls goes to program B and in the middle of the program B control wants to go program C,after completion of program C again control comes to program B and again after completion of program B control comes to program A.How the process will takes and what are the controls we use for that process.If it is possible anybody of you explain with example?
What is sqlca and why is it needed in any cobol-db2 program?