|
In this case, when dealing with %LEN(STR) and %SIZE(STR) where STR is a fixed length character variable, the BIF's should return the same value. One difference may be that %SIZE() provides a value known at compile time, which can be used during the relational diagnostics phase.
On a V5R2 machine, the first code fragment does indeed compile for me. Looking at the compiler code, I see there were some code changes in V4R4. So perhaps Mark is targetting a release prior to then?
Cheers! Hans
DeLong, Eric wrote:
Mark, the size of the field indicates its defined size (in bytes), but it doesn't necessarily mean that the field holds that much data. Varying length character fields and double-byte-character-sets really depend on interpreting the length of the character string, not the actual number of bytes that was reserved by the compiler. Eric DeLong Sally Beauty Company MIS-Project Manager (BSG) 940-898-7863 or ext. 1863
-----Original Message----- From: M. Lazarus [mailto:mlazarus@xxxxxxxx] Sent: Sunday, August 24, 2003 12:58 PM To: RPG400-L@xxxxxxxxxxxx Subject: %Len vs. %Size in %Replace
Why doesn't %Replace() accept the %Size BIF in the 4th parm?
This won't compile - it receives "RNF0384 The fourth parameter for %REPLACE is not valid."
ObjectName 10A
String 80A
C EVAL String = %Replace( ObjectName :
String :
%Scan( 'qqqqqqqqqq': String ) :
%Size( ObjectName ) )
This does compile:
C EVAL String = %Replace( ObjectName :
String :
%Scan( 'qqqqqqqqqq': String ) :
%Len( ObjectName ) )
-mark
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.