What is the diff between declaring a cursor in WSS or PD?
Moderators: Kalicharan, Moderator Group
What is the diff between declaring a cursor in WSS or PD?
Please answer me the most important question in the interviews, What is the difference between declaring the cursor in Working storage section and Procedure division?
Kumar
If u can dream it, U can do it.
If u can dream it, U can do it.
Hi There,
A static cursor needs to be declared before it is opened. The DB2 preprocesser needs to see it before it generates the code for accessing it. .........the declaration generates no executable code in itself so it is usually placed in the data division, that helps keep the procedure division cleaner and easier to see the logic flow.
A static cursor needs to be declared before it is opened. The DB2 preprocesser needs to see it before it generates the code for accessing it. .........the declaration generates no executable code in itself so it is usually placed in the data division, that helps keep the procedure division cleaner and easier to see the logic flow.
Hi
I am not 100 sure if there is any big difference in terms of effective processing or cost-optimisation,
You can declare the cursor anywhere but if yoy declare in the working storage it will reduce the precompiler's work but it will not make any difference for the precompiler in terms of compilation process.Actual CUSROR processing is done by DB2 sybsystem when the CURSOR will be referenced first time in the PROCEDURE DIVISION.
Assumption: If u declare the cursor in PROCEDURE DIVISION may we one more extra call is being made to DB2 subsytem which can be avoided by declaring it in working storage section.
Just as Info : Not pertinent to ur question
**********************************
Long back there was some discussion on CURSOR declaration before or after INCLUDE statements (INCLUDE -> I mean Table declaraion i.e.. DCLGEN statements and other DB2 includes) when the compilation process was TOP-DOWN approach but now its no longer valid i blive...not sure on this part...if we run a simple test shd be able to figure out..
Thanks
Veera
I am not 100 sure if there is any big difference in terms of effective processing or cost-optimisation,
You can declare the cursor anywhere but if yoy declare in the working storage it will reduce the precompiler's work but it will not make any difference for the precompiler in terms of compilation process.Actual CUSROR processing is done by DB2 sybsystem when the CURSOR will be referenced first time in the PROCEDURE DIVISION.
Assumption: If u declare the cursor in PROCEDURE DIVISION may we one more extra call is being made to DB2 subsytem which can be avoided by declaring it in working storage section.
Just as Info : Not pertinent to ur question
**********************************
Long back there was some discussion on CURSOR declaration before or after INCLUDE statements (INCLUDE -> I mean Table declaraion i.e.. DCLGEN statements and other DB2 includes) when the compilation process was TOP-DOWN approach but now its no longer valid i blive...not sure on this part...if we run a simple test shd be able to figure out..
Thanks
Veera
- ibmlearner
- Member
- Posts: 13
- Joined: Sat Dec 02, 2006 5:57 pm
hi kumar ,
if u decalred a CURSOR in WORKING-STORAGE SECTION , the CURSOR can be used anywhere ( any paragraphs) in your souce program.
if u declared in PROCEDURE DIVISION , the CURSOR can be used only that particular paragraph.
correct me if im wrong.
if u decalred a CURSOR in WORKING-STORAGE SECTION , the CURSOR can be used anywhere ( any paragraphs) in your souce program.
if u declared in PROCEDURE DIVISION , the CURSOR can be used only that particular paragraph.
correct me if im wrong.
Thanks & Regards
-------------------------
Learner
-------------------------
Learner
- dbzTHEdinosauer
- Moderator
- Posts: 981
- Joined: Mon Oct 02, 2006 8:31 pm
Learner you are wrong.
I have always coded the DECLARE immediately before the OPEN (same paragraph), the FETCH and CLOSE were always in there own paragraphs. The DECLARE was in the OPEN paragraph for documentation purposes and ease of maintenance (the FETCH was always the next SECTION - i never use paragraphs) - or simply a page down in the listing when columns were to be added or removed.
If anything, the DECLARE probably has to come (physically within the source file) before the OPEN; but as veera said, that was before, no telling what you can do in DB2 V9.
the only significant thing i ever noticed about putting the DECLARE in the procedure division was that i had to continually remove the SQL code check (after the DECLARE) that the Rookies would code.
I have always coded the DECLARE immediately before the OPEN (same paragraph), the FETCH and CLOSE were always in there own paragraphs. The DECLARE was in the OPEN paragraph for documentation purposes and ease of maintenance (the FETCH was always the next SECTION - i never use paragraphs) - or simply a page down in the listing when columns were to be added or removed.
If anything, the DECLARE probably has to come (physically within the source file) before the OPEN; but as veera said, that was before, no telling what you can do in DB2 V9.
the only significant thing i ever noticed about putting the DECLARE in the procedure division was that i had to continually remove the SQL code check (after the DECLARE) that the Rookies would code.
Dick Brenholtz
JCL, SQL and code in programs have an irritating habit of doing what you say,
not what you meant.
JCL, SQL and code in programs have an irritating habit of doing what you say,
not what you meant.
FREE TUTORIALS
Tutorials
Free tutorials from mainframegurukul
- JCL Tutorial
Covers all important JCL concepts. - Cobol Tutorial
This tutorials covers all Cobol Topics from STRING to COMP-3. - DB2 Tutorial
DB2 Tutorial focuses on DB2 COBOL Programming. - SORT Tutorial
This Tutorial covers all important aspects of DFSORT with examples - CICS Tutorial
This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions
- Cobol Interview Questions
50+ Interview Questions - JCL Interview Questions
50+ Interview Questions - DB2 Interview Questions
100+ Interview Questions - CICS Interview Questions
70+ Interview Questions - VSAM Interview Questions
27 Interview Questions
Other References
Mainframe Tools and others
- XPEDITER Reference
Explains how we can debug a program - FILEAID Reference
Explains how to browse , edit and delete datasets - Change Man Reference
Quick Start tutorial on Changeman - Abend Reference
Important Abend codes explained - FaceBook Page
MainframeGurukul FaceBook Page - LinkedIn Page
MainframeGurkul Linkedin Page