Update for

This is a Mainframe COBOL forum - you can post your queries on Mainframe COBOL, VS COBOL II, COBOL/370 , Enterprise COBOL

Moderators: dbzTHEdinosauer, Moderator Group

Post Reply
Balayashi
Member
Posts: 1
Joined: Tue Jan 30, 2007 6:56 pm

Update for

Post by Balayashi » Tue Jan 30, 2007 7:14 pm

Hi, i got a problem, I'm declaring a cursor indexing 2 tables with a select *, ending with a update for.
After the fetch of the cursor, i need to update one camp from table 1 with another from table 2 and im doin' it like :

EXEC SQL
UPDATE OQCV0001
SET camp 1 = camp 2
WHERE CURRENT OF CRS1
END-EXEC.

Note: camp 1 and camp 2 are not the real variables

The problem here is that the views of both tables are not indexed to the table, without having the pointer to the table it assums that the camp 2 (from table 2) is from table one, giving error.

Can anyone help me one this?

User avatar
dbzTHEdinosauer
Moderator
Posts: 981
Joined: Mon Oct 02, 2006 8:31 pm

Post by dbzTHEdinosauer » Mon Feb 12, 2007 5:06 pm

Your CURSOR selected camp-2, the FETCH placed the value of camp-2 into a host variable. modify your SET in the UPDATE SQL to have the source field the host variable, not the table column.
Dick Brenholtz
JCL, SQL and code in programs have an irritating habit of doing what you say,
not what you meant.

Post Reply

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



Other References
Mainframe Tools and others