Nice Ken. Forgot about %BIN accepting starting position and length.

> message: 9
> date: Mon, 10 Mar 2003 19:10:06 -0800
> from: Ken Sims <mr2087@xxxxxxxxx>
> subject: Re: How to do %LEN(%TRIM(&myStringVariable)) in CL program?
> 
> Hi Reggie -
> 
> >The CPP source:
> >  RTVSTRLEN:  PGM        PARM(&STRING &STRLEN)
> >              DCL        VAR(&STRING) TYPE(*CHAR) LEN(5002)
> >              DCL        VAR(&STRLENA) TYPE(*CHAR) LEN(2)
> >              DCL        VAR(&STRLEN) TYPE(*DEC) LEN(4 0)
> >
> >              CHGVAR     VAR(&STRLENA) VALUE(%SST(&STRING 1 2))
> >              CHGVAR     VAR(&STRLEN) VALUE(%BIN(&STRLENA))
> 
> You can simplify this by defining &STRING with a length of 
> two and not 
> using &STRLENA.  Since the caller owns the storage, there is 
> no need to 
> define it any longer than what you need to use.
> 
> If you really want to keep the length of &STRING matching the command 
> definition, you can still eliminate &STRLENA since %BIN 
> accepts a starting 
> position and length parameter:
> 
>               CHGVAR     VAR(&STRLEN) VALUE(%BIN(&STRLENA 1 2))
> 
> Ken
> http://www.ke9nr.net/
> Opinions expressed are my own and do not necessarily 
> represent the views of 
> my employer or anyone in their right mind.


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.