Vern,
If you look at my code... I'm comparing the UPS data structure with a single element (x) of UPSSUGG.
In this case x=1.
I had this in RDI debug, monitoring both values - UPS and UPSSUGG(1). I copied them from RDI to Notepad++ to do a compare and it found no differences. Yet I hit the line of code that sets DIFF=*ON when comparing the structures.
Both structures are passed to a service program procedure that hits UPS Street Level Address Validation API.
UPS represents the original street address.
UPSSUGG represents the (up to 3) suggested addresses returned.
Could this have something to do with extra spaces in varchar subfields?
I'm at a complete loss here. I hate to give up and look at each subfield separately, but I have no idea why this is happening.
Thanks,
Greg
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of VERNON HAMBERG Owner via RPG400-L
Sent: Monday, April 15, 2024 5:34 PM
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Cc: VERNON HAMBERG Owner <vhamberg@xxxxxxxxxxxxxxx>; rpg400-l@xxxxxxxxxxxxxxxxxx
Subject: Re: Comparing data in data structures
At first guess, Greg, I don't think you can compare them just by name, if that is what you are doing. There are X number of subfields in onw, 3*X in the other. Do you get a message that some things are being dropped from the array? LIke this?
RNF5343
Array has too many omitted indexes; specification is ignored.
I think you can compare the single DS to each array element in turn.
Cheers
Vern
On Mon, 15 Apr, 2024 at 3:53 PM, Greg Wilburn <gwilburn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
To: rpg400-l@xxxxxxxxxxxxxxxxxx
I'm at my wits end...
I am trying to compare two address data structures to see if they are different. BOTH are defined "like" a template ds, however one is dimensional (3).
Can anyone point out what I may be missing??
TIA
Greg
Code:
dcl-ds upsAddr_t qualified template;
name varchar(40);
street varchar(50);
street2 varchar(50);
street3 varchar(50);
city varchar(30);
state varchar(30);
zipcode varchar(10);
cntry varchar(2);
end-ds;
dcl-ds ups likeds(upsAddr_t) inz;
dcl-ds upsSugg likeds(upsAddr_t) dim(3) inz;
if ups.name <> upsSugg(x).name;
diff = *on;
endif;
if ups.street <> upsSugg(x).street;
diff = *on;
endif;
if ups.street2 <> upsSugg(x).street2;
diff = *on;
endif;
if ups.street3 <> upsSugg(x).street3;
diff = *on;
endif;
if ups.city <> upsSugg(x).city;
diff = *on;
endif;
if ups.state <> upsSugg(x).state;
diff = *on;
endif;
if ups.zipcode <> upsSugg(x).zipcode;
diff = *on;
endif;
if ups.cntry <> upsSugg(x).cntry;
diff = *on;
endif;
// In Debug... diff is still *OFF at this point
// In this expression.. DIFF turns ON
if ups <> upsSugg(x);
diff = *on;
endif;
[Logo]<
https://www.totalbizfulfillment.com/><
https://www.totalbizfulfillment.com/>> Greg Wilburn
Director of IT
301.895.3792 ext. 1231
301.895.3895 direct
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx<mailto:gwilburn@xxxxxxxxxxxxxxxxxxxxxxx><mailto:gwilburn@xxxxxxxxxxxxxxxxxxxxxxx<mailto:gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>>
1 Corporate Dr
Grantsville, MD 21536
www.totalbizfulfillment.com<
http://www.totalbizfulfillment.com><
http://www.totalbizfulfillment.com<
http://www.totalbizfulfillment.com>>
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx<mailto:RPG400-L-request@xxxxxxxxxxxxxxxxxx>
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx<mailto:support@xxxxxxxxxxxxxxxxxxxx> for any subscription related questions.
.
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
As an Amazon Associate we earn from qualifying purchases.