× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Like this ?



D WkMblSesP E DS Dim(1000) Extname(MblSesp)
D Qualified
D WkSession 128

Exec SQL
Declare C1 Cursor For
Select Session_ID From MblSesp
Where Session_End is null;

Exec SQL
Open C1;

Exec SQL
Fetch Next From C1 For 1000 Rows
Into :WkMblSesP;

Exec SQL
Close C1;

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Michael Ryan
Sent: 30 October 2013 16:47
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Embedded SQL Select Into

As per Luis' suggestion, this works, but I'd like to be able to get all the fields in the file.

D WkMblSesP DS Dim(1000)
D Qualified
D WkSession 128

Exec SQL
Declare C1 Cursor For
Select Session_ID From MblSesp
Where Session_End is null;

Exec SQL
Open C1;

Exec SQL
Fetch Next From C1 For 1000 Rows
Into :WkMblSesP;

Exec SQL
Close C1;


On Wed, Oct 30, 2013 at 12:42 PM, Gary Thompson <gthompson@xxxxxxxxxxx>wrote:

Alan makes a good point, example handling nulls also available . . .

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Alan Campin
Sent: Wednesday, October 30, 2013 10:39 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Embedded SQL Select Into

One thing Michael, can any of the values you are reading going to be
null (True null, not blanks)? If yes, things get a lot more interesting.


On Wed, Oct 30, 2013 at 10:24 AM, Michael Ryan <michaelrtr@xxxxxxxxx>
wrote:

Thanks Luis...any ideas on how to make the DS externally described?


On Wed, Oct 30, 2013 at 12:23 PM, Luis Rodriguez
<luisro58@xxxxxxxxx>
wrote:

Michael,

Something like this should work:
***
D My_Array DS DIM(1000) Qualified
D WkSession_ID 128
**
EXEC SQL
Declare C1 cursor for
Select .....
;
exec sql Open C1;
EXEC SQL
Fetch next from C1 For 1000 rows into :My_Array ;

// Make sure all the elements are blanks (not null)...
RecNumber = SQLER3;
For Index = (RecNumber + 1) TO 1000;
My_Array(Index).WkSession_ID = *blanks;

exec sql Close C1;

*****
HTH,

Luis

Luis Rodriguez
IBM Certified Systems Expert - eServer i5 iSeries
--



On Wed, Oct 30, 2013 at 11:26 AM, Michael Ryan
<michaelrtr@xxxxxxxxx>
wrote:

I was looking for that...couldn't find it. I'll check
again...thanks
Gary.


On Wed, Oct 30, 2013 at 11:52 AM, Gary Thompson
<gthompson@xxxxxxxxxxx
wrote:

Note that your DS can be defined as a datastructure array -
see post by Barbara Morris about 4-6 weeks past.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:
rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Michael Ryan
Sent: Wednesday, October 30, 2013 9:44 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Embedded SQL Select Into

Thank you Alan...


On Wed, Oct 30, 2013 at 11:42 AM, Alan Campin
<alan0307d@xxxxxxxxx>
wrote:

You cannot do an array using into. Wish we could. You must
define a cursor, open and then do a fetch into for x rows
and then close
cursor.

Also, you are going to have to have a data structure to read
into.


On Wed, Oct 30, 2013 at 9:37 AM, Michael Ryan <
michaelrtr@xxxxxxxxx>
wrote:

Sigh...so I'm trying this:

Exec SQL
Select Session_Id Into :WkSession_ID
From MblSesP
Where Session_End is null;

I've defined Wk_Session_ID as:

D WkSession_ID S 128
D Dim(1000)

Note: I've also tried to define it as a data structure
array (or thought
I
did). I get an SQL0312 error - variable not found or unusable.

The definition of Session_ID (from DSPFFD) is:

SESSION_ID CHAR 128 130 43 Both
SESSION_ID
Variable length field -- Allocated length : None
Default value . . . . . . . . . . . . . . : None
Coded Character Set Identifier . . . . . : 37

Two questions: What am I doing wrong, and why does SQL hate me?

Thanks!
--
This is the RPG programming on the IBM i (AS/400 and
iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and
iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.

--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.

--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(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.


--
This is the RPG programming on the IBM i (AS/400 and iSeries) (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.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.