Thanks, Birgitta, this works well.
We have a shop standard that each program will use a program-specific view so that it only brings in the columns the program needs. In this particular case, however, the program needs to join its program-specific view with a work file that has previously been created in QTEMP.
I had to make one change, in that the second view in the join can contain nulls, so I used:
Exec SQL Fetch Next From YourCursor into :DDLWRK1, :DDLWRK2 :INDXX;
I assume that if both views were null-capable then the format would be:
Exec SQL Fetch Next From YourCursor into :DDLWRK1 :INDYY, :DDLWRK2 :INDXX;
Many thanks for your help.
Trevor Briggs
Analyst/Programmer
Lincare, Inc.
(727) 431-1246
TBriggs2@xxxxxxxxxxx
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Birgitta Hauser
Sent: Tuesday, June 03, 2014 4:50 PM
To: 'RPG programming on the IBM i (AS/400 and iSeries)'
Subject: AW: Fetching joined views
Even though it is much better to only select the columns you really need, if
you want to join 2 tables and fetch the result of both records, just list
the data structures:
Exec SQL Fetch Next From YourCursor into :DDLWRK1, :DDLWRK2
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im Auftrag von Briggs,
Trevor (TBriggs2)
Gesendet: Tuesday, 03.6 2014 16:59
An: RPG400-L@xxxxxxxxxxxx
Betreff: Fetching joined views
I have a SELECT in an RPG program that joins an existing view MYVIEW (in
QTEMP) and a table MYTABLE. I tried to declare the combined input buffer
like this:
d ddLWRK1 e ds ExtName(MYVIEW)
d ddLWRK2 e ds ExtName(MYTABLE)
d ddLWRK ds Qualified
d ddLWRKDS1 LikeDS(ddLWRK1)
d ddLWRKDS2 LikeDS(ddLWRK2)
and my fetch would be:
exec sql
FETCH SqlCsr Into :ddLWRK;
But I get an "SQL0312: Position 40 Variable DDLWRK not defined or not
usable" error
Is it even possible to do what I'm attempting - i.e. avoiding having to
define the input fields manually?
We're currently on bare-bones release 7.1.
Thanks,
Trevor Briggs
Analyst/Programmer
Lincare, Inc.
(727) 431-1246
TBriggs2@xxxxxxxxxxx
****************************************************************************
****************************************************************************
****************************************************
This message originates from Lincare Holdings Inc. It contains information
which may be confidential or privileged and is intended only for the
individual or entity named above.
It is prohibited for anyone else to disclose, copy, distribute or use the
contents of this message.
All personal messages express views solely of the sender, which are not to
be attributed to Lincare Holdings Inc., and may not be copied or distributed
without this disclaimer.
If you received this message in error, please notify us immediately at
MailAdmin@xxxxxxxxxxx or (800) 284-2006.
****************************************************************************
****************************************************************************
****************************************************
--
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.