Thank you Eric, between your block and Terry's code ex. I got it working! Thanks again to everyone for your input, it helped me get straightened out!
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of DeLong, Eric
Sent: Wednesday, October 02, 2013 1:44 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Scan and Replace
Here's a block I use for some address validation...
// Remove any punctuation from the City Name.
DoW %scan(',':pAddress.City)>0;
pAddress.City = %replace('' : pAddress.City
:%scan(',':pAddress.City):1);
EndDo;
DoW %scan('.':pAddress.City)>0;
pAddress.City = %replace('' : pAddress.City
:%scan('.':pAddress.City):1);
EndDo;
DoW %scan('?':pAddress.City)>0;
pAddress.City = %replace('' : pAddress.City
:%scan('?':pAddress.City):1);
EndDo;
DoW %scan('!':pAddress.City)>0;
pAddress.City = %replace('' : pAddress.City
:%scan('!':pAddress.City):1);
EndDo;
-Eric DeLOng
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Terry Nonamaker
Sent: Wednesday, October 02, 2013 1:31 PM
To: 'RPG programming on the IBM i (AS/400 and iSeries)'
Subject: RE: Scan and Replace
%ScanRpl is only for 7.1 as far as I know
But this should work for you
C eval SubDta = %Replace(Replc_Colon: SubDta:
C %Scan(Test_Colon:
SubDta))
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Gary Thompson
Sent: Wednesday, October 02, 2013 10:27 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: Scan and Replace
Try the newer %SCANRPL
but I'm not sure you won't have a problem with matching a variable number of spaces . . .
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Kari Zeglin
Sent: Wednesday, October 02, 2013 11:22 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Scan and Replace
I am trying to understand scan and replace. I am looking at a string which is found during my scanning of SRCDTA of a source file. I am trying to find the spaces ' ' and replace them with no spaces ''. The HP code that I am converting allowed both in a case of COPY EQUIPMNT, EQIPX for example. The variables are different depending on which HP programs are being looked at.
I am wanting to find those spaces and turn the code into something like
this: COPYEQUIPMNT,EQIPX so that it will be consistant when writing the
AS400 equivilent.
I am working in RPGLE and do have the SRCDTA of that line into SUBDTA. I cannot figure out the copy and replace from there. Please help me, I know the COPY line is for sure wrong but I am at a loss on how to fix it and get the correct line generated..
C ' ' SCAN SUBDTA
C EVAL SUBDTA=%REPLACE(' ':'')
--
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.