Focal Point
replacing character in a string when position is a variable

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/1551051682

June 01, 2008, 09:29 AM
Mila
replacing character in a string when position is a variable
Hello, Does anyone have a little routine that performs replacing a character in a string based on position number which is a variable.(TABLE FILE).
I have string "0000000000" and need to replace single 0 with 1 based on S_POS value (between 1-10).

Thank you, Mila


WebFOCUS 7.1
UNIX
June 01, 2008, 11:14 AM
Tony A
Mila,

Look into using substr within your own function. You could pass the source field and the position and return the actual string output. If you use this function several times then it would be well worth your time. Something like (pseudo code) -

FUNCTION REP_ZERO(srce_field, position)
src_length = LENGTH(srce_field);
REP_ZERO = SUBSTR(src_length, srce_field, 1, position - 1, position -1, 'A'||(position - 1)) || '1'
           SUBSTR(src_length, srce_field, position + 1, src_length - position, 'A'||(position - 1)) ;
END

I am sure that someone like Alan or Francis will be along any minute now to flesh it out, but it would help you considerably to look at the help files and work it out.

T (in Nashville Smiler)



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
June 01, 2008, 05:42 PM
jimster06
Take a look a STRREP function.


(Not in Nashville, sadly)


jimster06
DevStu WF 7.6.11
W7
HTML, PDF, EXL2K
June 01, 2008, 10:05 PM
Kathleen Butler
Here I am standing at the Focal Point booth in Cash Vegas Smiler using Kathleen's Id (I'm sure she won't mind the extra karma point Wink), ably supported by Prarie, Carol Dobson, FrankDutch and GamP.

We are not sure that STRREP would satisfy this requirement as the need is to target a particular position within the string and if you have all zeroes how would you be able to use STRREP? You would end up changing them all?

Jim, you may not be here, but your presence is sorely missed Razzer

Tony A
June 01, 2008, 11:28 PM
Waz
How about using OVRLAY

TABLE FILE CAR
PRINT COUNTRY
      COMPUTE
      S_POS/I1 = LAST S_POS  + 1 ;
      REP1/A10 = OVRLAY(COUNTRY, 10, '1', 1, S_POS, 'A10') ;
END



Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

June 01, 2008, 11:45 PM
<MoonLightWare>
You could also use a combinations for functions and use the EDIT function to replace the position you want EDIT(xxxx, '9999999919999...');
June 02, 2008, 05:16 AM
nubi
I'm confused i thought the summit was in Nashville? not Nevada? (actually i originally thought it was in Dallas so you can see im easily confused).

Kathleen/Tony where are you?


Developer Studio 7.64
Win XP
Output: mostly HTML, also Excel and PDF

"Never attribute to malice that which can be adequately explained by stupidity." - Heinlein's Razor
June 02, 2008, 09:00 AM
Mila
Thank you all of you
The OVERLAY works perfectly.

My documentation on functions does not specify that variable can be used here. Probably it is outdated.


WebFOCUS 7.1
UNIX
June 02, 2008, 11:10 AM
Tony A
Waz,

Good call on the OVRLAY, there's always one function easily forgot. Just goes to show why having documentation to hand is soooo important.

Nubi,

Cash Vegas is a "nickname" for Nashville TN (as in Johnny Cash). I've also heard it called Nash Vegas and other, not so pleasant, terms Wink

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
June 02, 2008, 11:13 AM
Prarie
Tony shouldnt you be in a session? Wink


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
quote:
Originally posted by Tony A:
Nubi,

Cash Vegas is a "nickname" for Nashville TN (as in Johnny Cash). I've also heard it called Nash Vegas and other, not so pleasant, terms Wink

T


aha! all is clear...

Cheers,


Developer Studio 7.64
Win XP
Output: mostly HTML, also Excel and PDF

"Never attribute to malice that which can be adequately explained by stupidity." - Heinlein's Razor
Prarie,

I'm in the same one as you Razzer



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
Hey - but we both showed up for Lunch...


In Focus since 1993. WebFOCUS 7.7.03 Win 2003
... and that post takes you into the Virtuoso karma bracket. Well done for reaching the 1000 Smiler

And achieving it whilst at Summit must be a first Razzer

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
Big Grin


In Focus since 1993. WebFOCUS 7.7.03 Win 2003