Cursors can be declared in both working-storage & procedure
division, Agreed.
But is there any difference? If could you please suggest
what is the difference.
TIA
Answer Posted / budgobbel
In CICS programs, data is passed in the Communications Area (CA) via the Linkage Section.
If your cursor is predicated (WHERE clause) on a field in the CA, you could code your cursor early in the Procedure Division prior to any open cursor logic. This will avoid using additional variables, and MOVE statements.
If you keep your cursor in the Working Storage area, you cannot use fields in the Linkage section as host variables, because the DB2 pre-compiler will see the cursor first, and NOT have a resolution for the host variable (it hasn't seen the Linkage Section, yet).
It mostly is up to you, unless your shop is a stickler on variables and locations, etc.
Also, over the years I have seen shops become more code-it-and-load-it in philosophy. Very sad.
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
Can you tell me how can you find out the # of rows updated after an update statement?
How can you quickly find out the # of rows updated after an update statement?
Explain package in db2 and its advantages?
Which are the db2 tools to protect integrity of the database?
What is a collection in db2?
What is a plan and package in db2?
Differentiate between cs and rr isolation levels? Where do you specify them?
Mention data types used in db2 ?
What is meant by union and union all?
B37 abend during spufi?
I have a subprogram B calling from mainprogram A.I have opened a cursor in A ,Can i fetch the same cursor in subprogram B , If yes , Please explain the reason?
What is plan in cobol db2?
What is difference between isnull and coalesce?
What is cursor with hold option in db2?
Who uses db2?