× 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.



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.

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.