That's what is great about this.
You learn of 50 ways to make an apple pie and they all taste good.
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Darren Strong
Sent: Thursday, September 1, 2016 9:03 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: AW: SQL Where In
Why is reversing the typical use of these functions so hard for me to think of? Good tip.
From: "Birgitta Hauser" <Hauser@xxxxxxxxxxxxxxx>
To: "'RPG programming on the IBM i \(AS/400 and iSeries\)'"
<rpg400-l@xxxxxxxxxxxx>
Date: 09/01/2016 03:05 AM
Subject: AW: SQL Where In
Sent by: "RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxx>
If performance is not an issue (i.e. for small tables) you may use the following trick:
1. Build a string containing all Element values (in my example I added a leading blank and a trailing comma, just for being able to locate the value correctly).
2. In the Where condition I use a like predicate, for scanning my string and locating the column status within this string.
For Index = 1 to %Elem(ArrStatus);
String += ' ' + %Trim(ArrStatus(Index)) + ','; EndFor;
Declare Csr01 Cursor For
Select ...
from YourTable
Where :String like '% ' concat Trim(ColStatus) concat ',%'
... additional Where conditions
Order By ...;
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!"
„Train people well enough so they can leave, treat them well enough so they don't want to.“ (Richard Branson)
-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im Auftrag von Vernon Hamberg
Gesendet: Wednesday, 31.8 2016 16:31
An: RPG programming on the IBM i (AS/400 and iSeries)
Betreff: Re: SQL Where In
No matter how he does this, he has to change the "array" variable into a list with apostrophes around each value, commas between, and parentheses around the list.
And that construction cannot be a single host variable - so, as you suggest, yes, build the whole statement with necessary syntax and execute that.
Regards
Vern
On 8/31/2016 8:55 AM, Luis Rodriguez wrote:
Jerry,
What happens if you "build" your SQL statement as a string and
execute it using dynamic SQL ?
Regards,
Luis
On Wed, Aug 31, 2016 at 9:25 AM (WalzCraft) Jerry Forss <
JForss@xxxxxxxxxxxxx> wrote:
Hi All,
I have an array that contains Item Classes I want to include items.
I have tried using as array or text field (below) but not getting
results.
GRPCLASSTEXT =
....5...10...15...20...25...30...35...40...45...50...55...60
1 'PLY MDF '
61 ' '
Here is my code. What am I doing wrong?
//?Declare Sql Statement
Exec SQL Declare C2 Cursor For
Select IM.ItNbr,
IM.ItDsc,
SL.LLocn,
SL.LBhNo
From ItemAsApL1 IM
Inner Join SlQnty SL On IM.ItNbr = SL.ItNbr
Where Im.ItCls <> ' '
And Sl.LLocn <> ' '
And Sl.LQnty <> 0
And Im.ItCls In :GrpClassText
Order By Sl.LLocn, Sl.ItNbr;
Jerry Forss
Information Technology Team
WalzCraft
608-781-6355 EXT 2530
jforss@xxxxxxxxxxxxx
Subject to Change Notice:
WalzCraft reserves the right to improve designs, and to change
specifications without notice.
Confidentiality Notice:
This message and any attachments may contain confidential and
privileged information that is protected by law. The information
contained herein is transmitted for the sole use of the intended
recipient(s) and should "only"
pertain to "WalzCraft" company matters. If you are not the intended
recipient or designated agent of the recipient of such information,
you are hereby notified that any use, dissemination, copying or
retention of this email or the information contained herein is
strictly prohibited and may subject you to penalties under federal
and/or state law. If you received this email in error, please notify
the sender immediately and permanently delete this email. Thank You;
WalzCraft PO Box 1748 La Crosse, WI. 54602-1748
www.walzcraft.com<http://www.walzcraft.com/> Phone... 800-237-1326
--
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.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
--
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.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
--
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.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
--
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.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Subject to Change Notice:
WalzCraft reserves the right to improve designs, and to change specifications without notice.
Confidentiality Notice:
This message and any attachments may contain confidential and privileged information that is protected by law. The information contained herein is transmitted for the sole use of the intended recipient(s) and should "only" pertain to "WalzCraft" company matters. If you are not the intended recipient or designated agent of the recipient of such information, you are hereby notified that any use, dissemination, copying or retention of this email or the information contained herein is strictly prohibited and may subject you to penalties under federal and/or state law. If you received this email in error, please notify the sender immediately and permanently delete this email. Thank You;
WalzCraft PO Box 1748 La Crosse, WI. 54602-1748
www.walzcraft.com Phone... 608-781-6355
As an Amazon Associate we earn from qualifying purchases.