100% found this document useful (1 vote)
442 views

Multi Row Fetch Example

This document provides a sample program to illustrate how to use multi-row fetch to retrieve multiple rows from a cursor in one fetch. The program declares two cursors, opens the first cursor, performs a fetch that retrieves up to 1000 rows at a time into an array, processes the rows, and repeats the fetch until all rows are retrieved. It then closes the cursors and ends the program.

Uploaded by

javeed618
Copyright
© Attribution Non-Commercial (BY-NC)
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
100% found this document useful (1 vote)
442 views

Multi Row Fetch Example

This document provides a sample program to illustrate how to use multi-row fetch to retrieve multiple rows from a cursor in one fetch. The program declares two cursors, opens the first cursor, performs a fetch that retrieves up to 1000 rows at a time into an array, processes the rows, and repeats the fetch until all rows are retrieved. It then closes the cursors and ends the program.

Uploaded by

javeed618
Copyright
© Attribution Non-Commercial (BY-NC)
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/ 2

Sample program to show how we need to code a cursor using MULTI-ROW-FETCH Concept.

Note: This is just a small illustration, to show that we can use MULTI-ROW-FETCH Concept
to fetch more rows and process them in the program . For more details on this please refer
the IBM DB2 books.

Please take a look at the validation done when the fetch is performed. Very Important......

IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE3.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-COUNT PIC 9(10) VALUE ZERO.
01 WS-EOF-CUR1 PIC X(1).
88 EOF-CUR1 VALUE 'N'.
01 WS-EOF-CUR2 PIC X(1).
88 EOF-CUR2 VALUE 'N'.
01 WS-F-DATA.
05 WS-GRP-CLIENT-AGN PIC S9(09) COMP OCCURS 1000 TIMES.
05 WS-FULL-GROUP-NO PIC X(18) OCCURS 1000 TIMES.
05 WS-CLT-GROUP-EFF-DATE PIC X(10) OCCURS 1000 TIMES.
EXEC SQL INCLUDE SQLCA END-EXEC.
EXEC SQL INCLUDE CBMCLT00 END-EXEC.
EXEC SQL INCLUDE CBMCPO00 END-EXEC.

EXEC SQL
DECLARE JD-SUP-CUR1 CURSOR WITH ROWSET POSITIONING FOR
SELECT A.CLIENT_AGN
,A.OPERATIONAL_ID
,A.EFF_DTE
FROM CBMCLT00 A
WHERE A.CLIENT_AGN IN
(SELECT C.CLIENT_AGN_ID
FROM CBMCPO00 C
WHERE C.ACSTR_CLNT_AGN_ID = 4920002
AND C.HIERARCHY_ID = 2800
AND C.GENERATION_RNK = 6
AND C.END_DTE = '2999-12-31')
AND A.CLIENT_TYPE_CDE = 'GR'
AND A.ROW_DEL_TMS > CURRENT TIMESTAMP
AND A.END_DTE >= CURRENT DATE
ORDER BY A.OPERATIONAL_ID, A.EFF_DTE DESC
END-EXEC.
*****
PROCEDURE DIVISION.
*******************
0000-MAIN-CONTROL.
*******************
EXEC SQL
OPEN JD-SUP-CUR1
END-EXEC.
DISPLAY 'OPEN SUCC'.
PERFORM 0001-FETCH-PARA UNTIL EOF-CUR1 OR EOF-CUR2.
DISPLAY 'NO OF ENTITIES FETCHED : ' WS-COUNT
EXEC SQL
CLOSE JD-SUP-CUR1
END-EXEC.
DISPLAY 'CLOSE SUCC'.
GOBACK.
*******************
0001-FETCH-PARA.

INITIALIZE WS-F-DATA.

EXEC SQL
FETCH NEXT ROWSET JD-SUP-CUR1 FOR 1000 ROWS
INTO :WS-GRP-CLIENT-AGN
,:WS-FULL-GROUP-NO
,:WS-CLT-GROUP-EFF-DATE
END-EXEC

EVALUATE TRUE
WHEN ((SQLCODE=100 OR SQLCODE=0) AND SQLERRD(3) > 0)
ADD SQLERRD(3) TO WS-COUNT
WHEN SQLCODE=100 AND SQLERRD(3) = 0
SET EOF-CUR1 TO TRUE
WHEN OTHER
MOVE SQLCODE TO SQLCDE
DISPLAY 'SQLCODE=' SQLCDE
SET EOF-CUR2 TO TRUE
END-EVALUATE.

0001-EXIT.
EXIT.

Below are few of my other documents :

UNDERSTANDING SDF II TOOL LEARN VISUALLY WITH EXAMPLES


http://www.scribd.com/doc/24006897/SDF-II-TOOL-2

UNDERSTANDING SCROLL CURSORS LEARN VISUALLY WITH EXAMPLES


http://www.scribd.com/doc/24006883/Scroll-Cursors-2

HOW TO CREATE DATABASE IN ADABAS


http://www.scribd.com/doc/39059895/Adabas-Database

HOW TO CREATE DDM IN NATURAL-ADABAS


http://www.scribd.com/doc/39059971/DDM

Javeed Ahmed

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy