|
No, %size returns the defined size. I did a test with the following code where TESTX was defined as 100. /free testx = 'abcdefghijklmnopqrstuv'; lenoftest = %len(testx); dsply lenoftest; This returned 100. lenoftest = %len(%trim(testx)); dsply lenoftest; This returned 22. lenoftest = %size(testx); dsply lenoftest; This returned 100. return; Thanks, Mark Mark D. Walter Senior Programmer/Analyst CCX, Inc. mwalter@xxxxxxxxxx http://www.ccxinc.com CWilt@xxxxxxxxxxxx Sent by: To: midrange-l@xxxxxxxxxxxx midrange-l-bounces@m cc: idrange.com Subject: RE: %Len problem 09/08/2004 09:59 AM Please respond to Midrange Systems Technical Discussion Others have pointed out that the %len of a fixed length field is always the defined size. They do call it fixed length for a reason! <grin> But just wanted to point out that you will run into other problems if you are indeed calling this from the command line as you say. You'll run into the well know problem of passing variables > 32 char's from a command line. CL is only passing you 32 characters but the RPG program expects 100. Notice the 'yada' followed by 28 blanks, followed by 68 x'00'. This is discussed in the FAQ. If you need more help, you might want to move the message to the RPG list. Charles > -----Original Message----- > From: michael@xxxxxxxxxxxxxxxxxx [mailto:michael@xxxxxxxxxxxxxxxxxx] > Sent: Wednesday, September 08, 2004 9:33 AM > To: Midrange Systems Technical Discussion > Subject: RE: %Len problem > > > Good call... > > > EVAL sndmsg:x > > 00000 A8818481 40404040 40404040 40404040 - yada > > 00010 40404040 40404040 40404040 40404040 - > > 00020 40000000 00000000 00000000 00000000 - > ............... > 00030 00000000 00000000 00000000 00000000 - > ................ > 00040 00000000 00000000 00000000 00000000 - > ................ > 00050 00000000 00000000 00000000 00000000 - > ................ > 00060 00000000 ........ ........ ........ - > ................ > > > SndMsg is an entry parameter, and I'm calling it from a command line, > and therefore only 4 bytes (in my example) are 'guaranteed', and I'm a > moron. > > Thanks... > > > -------- Original Message -------- > > Subject: Re: %Len problem > > From: rob@xxxxxxxxx > > Date: Wed, September 08, 2004 9:25 am > > To: "Midrange Systems Technical Discussion" > <midrange-l@xxxxxxxxxxxx> > > > > What is the value of SndMsg in hex? > > > > Rob Berendt > > -- > > Group Dekko Services, LLC > > Dept 01.073 > > PO Box 2000 > > Dock 108 > > 6928N 400E > > Kendallville, IN 46755 > > http://www.dekko.com > > > > > > > > > > > > michael@xxxxxxxxxxxxxxxxxx > > Sent by: midrange-l-bounces@xxxxxxxxxxxx > > 09/08/2004 08:20 AM > > Please respond to > > Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx> > > > > > > To > > midrange-l <midrange-l@xxxxxxxxxxxx> > > cc > > > > Fax to > > > > Subject > > %Len problem > > > > > > > > > > > > > > What's up with this? Here's the definition of a couple > of fields... > > > > D SndMsg S 100 > > D SndMsgSize S 10U 0 > > Here's the calc... > > > > C Eval SndMsgSize = %Len(%Trim(SndMsg)) > > > > and here's what I see in debug... > > > > EVAL SndMsgSize > > SNDMSGSIZE = 000000100. > > EVAL SndMsg > > SNDMSG = > > > ....5...10...15...20...25...30...35...40...45...50...55...60 > > 1 'yada > ' > > 61 ' ' > > > > I would expect to see SNDMSGSIZE = 0000000004. > > > > -- > > 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. > > > > > > -- > > 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. > > -- > 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. > -- 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.