Focal Point
replacing character in a string when position is a variable
June 01, 2008, 09:29 AM
Milareplacing 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 AMila,
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
)
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
jimster06Take 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 ButlerHere I am standing at the Focal Point booth in Cash Vegas
using Kathleen's Id (I'm sure she won't mind the extra karma point
), 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
Tony A
June 01, 2008, 11:28 PM
WazHow 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.04 | Upgrade: | WebFOCUS 8.2.07 | OS: | Linux |
Outputs: | 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
nubiI'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
MilaThank 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 AWaz,
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
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
PrarieTony shouldnt you be in a session?
| In Focus since 1993. WebFOCUS 7.7.03 Win 2003 |
June 02, 2008, 11:28 AM
nubiquote:
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
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
June 02, 2008, 11:33 AM
Tony APrarie,
I'm in the same one as you
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, 03:37 PM
PrarieHey - but we both showed up for Lunch...
| In Focus since 1993. WebFOCUS 7.7.03 Win 2003 |
June 03, 2008, 11:10 AM
Tony A... and that post takes you into the Virtuoso karma bracket. Well done for reaching the 1000
And achieving it whilst at Summit must be a first
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 03, 2008, 12:53 PM
Prarie | In Focus since 1993. WebFOCUS 7.7.03 Win 2003 |