|
Here is Carel's reply coded.
The command source:
RTVSTRLEN: CMD PROMPT('Retrieve String Length')
PARM KWD(STRING) TYPE(*CHAR) LEN(5000) VARY(*YES +
*INT2) PROMPT('Character string +
(5000)')
PARM KWD(STRLEN) TYPE(*DEC) LEN(4 0) RTNVAL(*YES) +
PROMPT('CL var for return value (4,0)')
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))
ENDPGM
Thanks again...
Reggie
>
> message: 1
> date: Sat, 08 Mar 2003 19:49:09 +0100
> from: "Carel Teijgeler" <coteijgeler@xxxxxxxxx>
> subject: Re: How to do %LEN(%TRIM(&myStringVariable)) in CL program?
>
> Reggie,
>
> If you want to know the length of the string, create a
> command with two PARMs
>
> PARM 1 is the string length 5000 define as VARY(*YES)
> PARM 2 is a return value *DEC 4 0
>
> IN the CPP receive PARM 1 in avariable with length 5002, use
> the BIF %bin to pull out the first two bytes, return that value.
>
> It is in fact 5 lines of code.
>
> Regards,
> Carel Teijgeler.
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.