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



Thank you for answering my questions Chuck :)

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of CRPence
Sent: Wednesday, October 02, 2013 4:17 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Scan and Replace

On 02 Oct 2013 11:56, Kari Zeglin wrote:
On 02 Oct 2013 10:26, Alan Campin wrote:
What release level are you at. V7R1 has a Scan and Replace built in
function that would probably do the entire job.

When I do GO LICPGM, it tells me V7R1M0 under Installed Release.
Does that mean that I could use %SCANRPL?

Yes. Using the v7r1m0 RPG compiler on the IBM i 7.1 OS (v7r1m0) allows using that %SCANRPL (Scan and Replace Characters) Built-in function; i.e. the TGTRLS(*CURRENT) must be utilized on the compile.

AFaIK the following will replace all occurrences of a blank to the empty string:

SUBDTA = %ScanRpl(' ':'':SUBDTA) ; // remove blanks from SUBDTA

http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/rzasd/sc092508871.htm#bbscanrp
"... %SCANRPL returns the string produced by replacing all occurrences of the scan string in the source string with the replacement string. ..."

On 02 Oct 2013 11:45, Justin Taylor wrote:
To remove spaces, wouldn't %XLATE be a much simpler option?

I tried that as well, but with me trying to learn all the different
ways, I think that I am confusing myself..
An example of %XLATE that I had tried was:
SUBDTA= %XLATE(' ' : '' : SUBDTA)
but I wasn't getting the correct result either.
Did I write that wrong too? <<SNIP>>


The typical concept of character translations is from one character to another; i.e. it does not include the concept of the removal of any characters. The effect from having specified the empty-string for the second argument\parameter caused the result of the %XLATE to be an effective no-op; i.e. the doc for the %XLATE (Translate) Built-in function suggests:

http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/rzasd/sc092508896.htm
"... If the first parameter is longer than the second parameter, the additional characters in the first parameter are ignored. ..."

--
Regards, Chuck
--
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.