Re: Why you shouldn't be afraid to use VARCHAR in RPGLE
Jon Paris <[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
Not quite, Charles. $SIZE returns the storage required to hold the field - it's capacity will be 2 or 4 less than that due to the storage used by the length. So: Dcl-S myVarLen Varchar(200) Inz; // %Len = 0, %Size = 202 bytes. Jon Paris [email protected] > On Dec 5, 2025, at 6:08 PM, Charles Wilt <[email protected]> wrote: > > LIKE should pick up the both the type and size... > > dcl-s w_address1 like(phaddress1); > > note: %len() on a varchar is always the length of the current value. The > max size is retrieved using %size(). > > HTH, > Charles > > On Fri, Dec 5, 2025 at 3:28 PM DEnglander--- via RPG400-L < > [email protected]> wrote: > >> Does anyone know how to do something like this: >> >> I would like to define a %TRIMmed disk field that is CHAR(200) >> [PHADDRESS1] as a VARCHAR and eliminate the %TRIMs. >> >> So as not to hardcode the size of the VARCHAR, can I define it as VARCHAR >> but based on the length of the CHAR(200) field? Something like: >> >> dcl-s w_address1 varchar(%len(phaddress1)); >> >> >> Can that be done? >> >> Thank you, >> >> Doug >> >> >> >> "CONFIDENTIALITY NOTICE: This e-mail transmission (and/or the attachments >> accompanying it) contain confidential information belonging to the sender. >> The information is intended only for the use of the intended recipient. If >> you are not the intended recipient, you are hereby notified that any >> disclosure, copying, distribution or the taking of any action in reliance >> on the contents of the information is strictly prohibited. Any >> unauthorized interception of this transmission is illegal under the law. >> If you have received this transmission in error, please promptly notify the >> sender by reply e-mail, and then destroy all copies of the transmission." >> -- >> This is the RPG programming on IBM i (RPG400-L) mailing list >> To post a message email: [email protected] >> To subscribe, unsubscribe, or change list options, >> visit: https://lists.midrange.com/mailman/listinfo/rpg400-l >> or email: [email protected] >> Before posting, please take a moment to review the archives >> at https://archive.midrange.com/rpg400-l. >> >> Please contact [email protected] for any subscription related >> questions. >> >> > -- > This is the RPG programming on IBM i (RPG400-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/rpg400-l. > > Please contact [email protected] for any subscription related questions. > -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions.