Dave,
Here is an SQLRPGLE example:
* Start: data to control cursor cRt: get Route info for Driver Settlement-
D cRt_Max C const(020)
D cRt_Rows S 5P 0 Inz(cRt_Max)
D cRt_@ S 5P 0 Inz(0)
D cRt_DS DS OCCURS(cRt_Max)
D cRt_AcvRte 5A
* End : data to control cursor cRt: get Route info for Driver Settlement-
C $GetRoutes BEGSR
*
C Clear tot_UniIn
C Clear tot_UniOut
C Clear *All cRt_DS
C/EXEC SQL OPEN cRt
C/END-EXEC
C If SQLCODE <> *Zero
C LeaveSR
C End
C/EXEC SQL
C+ FETCH cRt FOR :cRt_Rows ROWS INTO :cRt_DS
C/END-EXEC
C SQLCODE IFEQ *Zero
* Start: Loop to get total Outload/Inload for current Driver Settlement---
C 1 DO cRt_Max cRt_@
C cRt_@ OCCUR cRt_DS
C If cRt_AcvRte > *Blank
C Exsr $GetUniTot
C Else
C Leave
C End
C ENDDO
* End : Loop to get total Outload/Inload for current Driver Settlement---
C ENDIF
C/EXEC SQL
C+ CLOSE cRt
C/END-EXEC
*
C ENDSR
In this example, cRt_Max is set to 20, which
is an "impossible" number of routes for a
driver to completed in a day.
In this example, there is still a loop, but the sql code,
to me, is simpler and easier to write/maintain.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dave
Sent: Friday, May 25, 2012 2:56 PM
To: RPG programming on the IBM i / System i
Subject: Re: using sql views
2012/5/25 Gary Thompson <gthompson@xxxxxxxxxxx>
For example, I regularly read all required records into a multiple
occurrence data struct with one sql statement.
This works well where I need a few hundred or so records.
Can that be done with a select into the DS? I thought you'd need a cursor and fetch each line into the current occurence of the ds.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.