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



yet another crappy way to do this:

pgm (&file)

dcl &file *char 10
dcl &outfile *char 10
dcl &counter *dec (2 0)
dcl &outcounter *dec (2 0)
dcl &found *lgl value('0')


loop:
chgvar &counter (&counter + 1)
If (%SST(&file &counter 1) = ' ') GoTo EndPgm
If (%SST(&file &counter 1) *ne '0') Do
chgvar &outcounter (&outcounter + 1)
chgvar %SST(&outfile &outcounter 1) (%SST(&file &counter 1))
IF COND((%SST(&FILE &COUNTER 1) = '1') *OR +
%SST(&FILE &COUNTER 1) = '2' *OR +
%SST(&FILE &COUNTER 1) = '3' *OR +
%SST(&FILE &COUNTER 1) = '4' *OR +
%SST(&FILE &COUNTER 1) = '5' *OR +
%SST(&FILE &COUNTER 1) = '6' *OR +
%SST(&FILE &COUNTER 1) = '7' *OR +
%SST(&FILE &COUNTER 1) = '8' *OR +
%SST(&FILE &COUNTER 1) = '9') +
then(chgvar &found '1')
GoTo Loop
EndDo
If (&found = '1') Do
chgvar &outcounter (&outcounter + 1)
chgvar %SST(&outfile &outcounter 1) (%SST(&file &counter 1))
EndDo
GoTo Loop
endpgm:
return
endpgm

Thanks,
Tommy Holden



CRPence <crp@xxxxxxxxxxxxxxxxxxxx>
Sent by: midrange-l-bounces@xxxxxxxxxxxx
08/13/2007 03:55 PM
Please respond to
Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>


To
midrange-l@xxxxxxxxxxxx
cc

Subject
Re: Convert Character to Decimal in CL: Trimming leading zeros






Arghhh! One of the reasons I use REXX more often than not, when
there are any string manipulations to perform.
Indeed, the *TCAT is not an implicit STRIP for both variables. The
*TCAT is /Trailing/ strip on the first value only. Thus the
concatenation will require a substring of the remainder of the non-zero
digits string. That also means the character replacement of blank for
zero is not even of interest, so only the &POS need be calculated. Thus
after the subroutine call in what I offered, something like the following:
chgvar &sfxlen (&maxlen - &pos + 1)
chgvar &file (%sst(&file 1 4) *tcat %sst(&sfx &pos &sfxlen))

Regards, Chuck

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.