Mark,
I do not really want to change the rules for varying fields, because that would raise a fire storm that I could not stand. But I do not like decisions that remove options just because to add a bit more comfort.
Furthermore there would be no need for trimming varying length fields, if the compiler treated every fixed-length field as a trimmed varying-length field under the cover. This way you could move fields from fixed-length to varying-length and vice versa without accidentally adding any extra spaces. You could also compare a fixed-length field with a varying-length field without trimming the varying-length field under the cover. Everybody (me included!) would understand, that the compiler trims fixed-length fields. But it is hard to understand that it trims varying-length fields.
I do not like that the compiler domineers over the developer. With varying-fields it is absolute clear, how long it is and whether or not the trailing spaces should be taken into account. Just my two cents,
Nevertheless, thank you to everybody who shared his thoughts with me.
Thanks,
Thomas.
-----Ursprüngliche Nachricht-----
Von: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] Im Auftrag von Mark Murphy/STAR BASE Consulting Inc.
Gesendet: Montag, 30. März 2015 15:00
An: RPG programming on the IBM i (AS/400 and iSeries)
Betreff: RE: RPG String Compare - Bug or not?
If they are in a character variable, 1 and 1.0 are not equal.
The problem is that most programming languages like Java and C do not process fixed length strings very nicely if at all. When you mix fixed length with varying length, as RPG does, you have to make concessions. For most RPG programmers, that means spaces at the end of a field are ignored for character comparisons. If you change the rules when dealing with varying character fields, then you will have to remember (maybe 1 or 2 years down the road) which character fields are defined with Varchar, and which ones are defined with Char, because it would now matter. The principle of least surprise (not that RPG doesn't behave exactly like Java, but that RPG doesn't behave like RPG) seems to me to indicate that all character comparisons should ignore trailing spaces, not just the ones that are purely fixed length.
Mark Murphy
STAR BASE Consulting, Inc.
mmurphy@xxxxxxxxxxxxxxx
-----Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote: -----
To: "RPG programming on the IBM i (AS/400 and iSeries)" <rpg400-l@xxxxxxxxxxxx>
From: Justin Taylor <JUSTIN@xxxxxxxxxxxxx>
Date: 03/27/2015 12:43PM
Subject: RE: RPG String Compare - Bug or not?
Not.
You say that 'a' and 'a ' aren't equal. Then are 1 and 1.0 not equal?
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
--
IMPORTANT NOTICE:
This email is confidential, may be legally privileged, and is for the intended recipient only. Access, disclosure, copying, distribution, or reliance on any of it by anyone else is prohibited and may be a criminal offence. Please delete if obtained in error and email confirmation to the sender.
As an Amazon Associate we earn from qualifying purchases.