You are on page 1of 5

3/17/2020 IBM MAINFRAME: Sample DB2 multirow fetch and Multirow Insert program

Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref

Sample DB2 multirow fetch and Multirow Insert program

IBMMAINFRAMES.com Support Forums -> DB2 IBM Manuals


Quick References

View previous topic :: :: View next topic

Author Message

apandey Posted: Thu Nov 03, 2011 4:06 pm Post subject: Sample DB2 multirow fetch and Multirow Insert program

New User
HI All,
Joined: 31 Aug 2009
Posts: 73
Location: Mumbai
Can one pls provide a sample Cobol + DB2 (Multirow Fetch and multirow Insert) program.

Back to top

gylbharat Posted: Thu Nov 03, 2011 4:19 pm Post subject:

Active Member
Take a look... This might help - http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?
Joined: 31 Jul 2009 topic=%2Fcom.ibm.db2.doc.relg%2Ffmlt.htm
Posts: 565
Location: Bangalore

Back to top

sushanth bobby Posted: Fri Nov 04, 2011 12:01 am Post subject:

Senior Member

ibmmainframes.com/post-282428.html 1/5
3/17/2020 IBM MAINFRAME: Sample DB2 multirow fetch and Multirow Insert program

Ashutosh,
Joined: 29 Jul 2008
Posts: 1017
Location: India Try it out!

Sample for Multi-Fetch


Code:
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. DB2MULSE.
000300*AUTHOR. SUSHANTH BOBBY.
000400*DATE-WRITTEN. NOVEMBER 2008.
000500*REMARKS. A SAMPLE DB2 COBOL MULTI-ROW SELECT FETCH PROGRAM ***
000600
000700****************************************************************
000800* THIS IS A SIMPLE COBOL-DB2 CURSOR PROGRAM.
000900* THIS PROGRAM SELECT'S ALL THE ROW IN THE TABLE.
001000* THERE IS NO INPUT TO THIS PROGRAM.
001100****************************************************************
001200 ENVIRONMENT DIVISION.
001300
001400 DATA DIVISION.
001500
001600****************************************************************
001700 WORKING-STORAGE SECTION.
001800****************************************************************
001900 01 WS-TEMP-VAR.
002000 05 END-OF-LOOP PIC X(1).
002100 05 IO-COUNT PIC 9(7).
002200 05 RECORD-COUNT PIC 9(7).
002300 05 WS0-SALARY PIC S9(7)V99.
002400 05 WS0-INCREMENT PIC 9(3).
002500 05 I PIC 9(3).
002600 05 WS0-COMMM PIC S9(7)V99 USAGE COMP-3.
002700 05 WS1-COMMM PIC 9(7)V99.
002800 05 WS2-COMMM PIC Z(7).99.
002810 05 INI-DUMP-TEST PIC 9(7).
002900 01 LOOP PIC S9(3) USAGE COMP VALUE 20.
003000
003100 01 WS-TEMP-EMP-ARRAY.
003200 10 WS-EMPNO PIC X(6) OCCURS 20 TIMES.
003300 10 FILLER PIC X(1).
003400 10 WS-FIRSTNME OCCURS 20 TIMES.
003500 49 WS-FIRSTNME-LEN PIC S9(4) USAGE COMP.
003600 49 WS-FIRSTNME-TEXT PIC X(12).
003700 10 WS-INDI PIC S9(4) USAGE COMP OCCURS 20 TIMES.
003800 10 WS-COMMM PIC S9(7)V99 USAGE COMP-3 OCCURS 20 TIMES.
003900 COPY DUMPT.
004000* ***********************************************************
004100* SQL CONTROL BLOCK
004200* ***********************************************************
004300 EXEC SQL INCLUDE SQLCA END-EXEC.
004400
004500* ***********************************************************
004600* SQL/DEFINITION OF EMPLOYEE
004700* ***********************************************************
004800 EXEC SQL INCLUDE EMPLOYEE END-EXEC.
004900
ibmmainframes.com/post-282428.html 2/5
3/17/2020 IBM MAINFRAME: Sample DB2 multirow fetch and Multirow Insert program
005000* ************************************************************
005100* MULTI-ROW CURSOR FETCH DECLARATION
005200* ************************************************************
005300* ***********************************************************
006700 PROCEDURE DIVISION.
006800 INITIALIZE WS-TEMP-VAR
006900 INITIALIZE WS-TEMP-EMP-ARRAY
007000 EXEC SQL
007100 DECLARE ECURSOR CURSOR WITH ROWSET POSITIONING
007200 FOR
007300 SELECT EMPNO,FIRSTNME,COMM
007400 FROM EMPLOYEE
007500 END-EXEC.
007600* ***********************************************************
007700* OPENING ECURSOR
007800* ***********************************************************
007900 EXEC SQL
008000 OPEN ECURSOR
008100 END-EXEC.
008110 DISPLAY 'AFTER OPEN SQLERRD(3) = 'SQLERRD(3).
008200
008300 0000-START-PROGRAM.
008400 EXEC SQL
008500 WHENEVER SQLERROR
008600 GOTO 9000-DB-ERROR
008700 END-EXEC.
008800
008900 EXEC SQL
009000 WHENEVER SQLWARNING
009100 CONTINUE
009200 END-EXEC.
009300
009400 EXEC SQL
009500 WHENEVER NOT FOUND
009600 CONTINUE
009700 END-EXEC.
009800
009900 PERFORM 0100-READ-PARA.
010000 EXEC SQL
010100 CLOSE ECURSOR
010200 END-EXEC.
010300 GO TO 1000-END-PROGRAM.
010400
010500 0100-READ-PARA.
010600 PERFORM UNTIL END-OF-LOOP = 'Y'
010700 INITIALIZE WS-TEMP-EMP-ARRAY
010800 EXEC SQL
010900 FETCH NEXT ROWSET FROM ECURSOR FOR :LOOP ROWS
011000 INTO :WS-EMPNO :WS-INDI ,:WS-FIRSTNME, :WS-COMMM
011100 END-EXEC
011400 DISPLAY 'SQLERRD(3) = 'SQLERRD(3)
011700 EVALUATE SQLCODE
011800 WHEN 0
011900 PERFORM 0200-READ-ARRAY
012000
012100 WHEN +100
012200 IF SQLERRD(3) > 0
012300 MOVE SQLERRD(3) TO LOOP
012400 PERFORM 0200-READ-ARRAY

ibmmainframes.com/post-282428.html 3/5
3/17/2020 IBM MAINFRAME: Sample DB2 multirow fetch and Multirow Insert program
012500 END-IF
012600 DISPLAY 'TOTAL NUMBER OF RECORDS = ' RECORD-COUNT
012700 DISPLAY 'TOTAL I/O STATUS = ' IO-COUNT
012800 MOVE 'Y' TO END-OF-LOOP
012900
013000 WHEN OTHER
013100 DISPLAY 'ERROR IN RETREVING DATA'
013200 DISPLAY 'SQLCODE = ' SQLCODE
013300
013400 END-EVALUATE
013500 END-PERFORM.
013600
013700 0200-READ-ARRAY.
013800 MOVE 1 TO I
013900 PERFORM LOOP TIMES
014000 MOVE WS-COMMM(I) TO WS1-COMMM
014100 MOVE WS1-COMMM TO WS2-COMMM
014200 DISPLAY WS-EMPNO(I)' 'WS-FIRSTNME(I)' 'WS-INDI(I)' 'WS2-COMMM
014300 ADD 1 TO I
014400 ADD 1 TO RECORD-COUNT
014500 END-PERFORM
014600 ADD 1 TO IO-COUNT.
014700
014800 1000-END-PROGRAM.
014900 GOBACK.
015000
015100 9000-DB-ERROR.
015200 GO TO 1000-END-PROGRAM.
015300

Thanks,
Sushanth

Back to top

apandey Posted: Fri Nov 04, 2011 12:33 pm Post subject:

New User
Thanks Gylbharath and Sushanth.
Joined: 31 Aug 2009
Posts: 73
Location: Mumbai

Back to top

View previous topic :: :: View next topic

All times are GMT + 6 Hours


IBMMAINFRAMES.com Support Forums -> DB2

Page 1 of 1

ibmmainframes.com/post-282428.html 4/5
3/17/2020 IBM MAINFRAME: Sample DB2 multirow fetch and Multirow Insert program

Search our Forum:

Custom Search

Similar Topics

Topic Author Forum Replies Posted

Navigation program in CICS Ziko13 CICS 11 Fri Mar 06, 2020 2:30 pm

Cobol db2 program going in loop sivasaras COBOL Programming 4 Sat Feb 29, 2020 7:44 pm

To fetch value separated by commas fr... vinu78 DB2 3 Fri Feb 28, 2020 12:56 pm

Dynamic cursor name in Cobol program Jlevine COBOL Programming 1 Fri Feb 14, 2020 2:55 am

Call a transaction simulator froma st... John F Dutcher IMS DB/DC 0 Wed Jan 22, 2020 10:54 pm

© 2003-2017 IBM MAINFRAME Software Support Division

Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us

ibmmainframes.com/post-282428.html 5/5

You might also like