|
Another possibility I reminded later, is to use the QCLSCAN API, when the string is shorter than 1000 characters: search for 3 to 5 consecutive spaces and use the found parameter. Trimming should be off. Regards, Carel Teijgeler *********** REPLY SEPARATOR *********** On 10-3-03 at 8:22 Reggie Acosta wrote: >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. >> > >_______________________________________________ >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list >To post a message email: MIDRANGE-L@xxxxxxxxxxxx >To subscribe, unsubscribe, or change list options, >visit: http://lists.midrange.com/mailman/listinfo/midrange-l >or email: MIDRANGE-L-request@xxxxxxxxxxxx >Before posting, please take a moment to review the archives >at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
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.