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 / bud gobbel
Actually, there is a reason for declaring the cursor in the Procedure Division, however, it is slight.
In CICS programs, the communications area (CA) is passed via the linkage section. If a cursor WHERE clause is predicated on a field in the CA area, then to avoid using a working storage variable and a MOVE statement prior to the opening of the cursor, you should code the cursor declaration in the Procedure Division, prior to the opening logic, etc.
If you don't mind using extra variables, and coding the required MOVE statements, then keep your cursor dec in WS.
In your DB2 pre-compiler, you can test this logic. Put the cursor above the linkage section, and try to use a field in the linkage section as a host variable in the where clause.
Then move it to the very early part of the Procedure Division. The pre-compiler will then be happy.
Good Luck!
| Is This Answer Correct ? | 2 Yes | 1 No |
Post New Answer View All Answers
What is the difference between db2 and oracle?
What is the function of logging in the db2 database?
How to restart a DB2 program?
Which isolation level provides highest data integrity?
What is bind package and plan in db2?
What is blu acceleration in db2?
Define predicate?
What is dbrm? What it contains? When it will be created?
How would the varchar column remarks defined?
What is deadlock in db2?
What is the maximum number of columns in a db2 table?
Explain the function done by data manager?
How to find the number of rows in a db2 table?
What is the difference between nvl and coalesce?
How to test SQL -911 error while developing COB-DB2 program