0% found this document useful (0 votes)
108 views

Sample DB2 Multirow Fetch and Multirow Insert Program

Uploaded by

Abi Dev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views

Sample DB2 Multirow Fetch and Multirow Insert Program

Uploaded by

Abi Dev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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