× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



This is simple - because if you don't use *AUTO the array always has the defined count of elements, and it can always do the lookup.

You tell %lookup to start at index 1 - but this index doesn't exist, because the *AUTO array has no elements.

HTH
Daniel


Am 31.10.2024 um 18:42 schrieb gio.cot via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx>:

Ho Jon

No the array has not been loaded ….

Ok for “If %Elem( xMagArt ) > 0;”

But:

why without *auto it works ??

the behavior with *auto id different ??

when we use *auto we must always check “If %Elem( <array>) > 0 ??

what do you mean whe you say “ although I'd prefer RPG to simply report 0.”
??



Thanks in advance





If not then the element count is zero and you'd get an error I suppose -
although I'd prefer RPG to simply report 0.



To avoid it condition the %Lookup with:



If $Elem( xMagArt ) > 0;









Da: gio.cot <gio.cot@xxxxxxxxxxx>
Inviato: giovedì 31 ottobre 2024 17:35
A: 'RPG programming on IBM i' <rpg400-l@xxxxxxxxxxxxxxxxxx>
Oggetto: R: RNQ0121 with DS Array with dim(*AUTO)





Maybe your idx3 is wrong. Use %ELEM()



I think would be strange that idx3 was wrong, as his value is 1 and why
without *auto it works ??

Anyway i will try

Thanks





Da: gio.cot <gio.cot@xxxxxxxxxxx <mailto:gio.cot@xxxxxxxxxxx> >
Inviato: giovedì 31 ottobre 2024 16:56
A: 'RPG programming on IBM i' <rpg400-l@xxxxxxxxxxxxxxxxxx
<mailto:rpg400-l@xxxxxxxxxxxxxxxxxx> >
Oggetto: RNQ0121 with DS Array with dim(*AUTO)



Hi all

I’m try to use the *auto keyword in a Ds Array ; i have defined this Ds



Dcl-Ds xMagArt Qualified Dim(*auto:256) inz ;

Key;

xMag like(zMag) Overlay(Key);

xArt like(zArt) Overlay(Key:*NEXT);

End-Ds;



when i try to run :



Idx2 = %Lookup(Mag+Art:xMagArt(*).Key:1:Idx3);

Keep in mind (Idx3 = 1 )



i receive RNQ0121 An array index is out of range

Where am i wrong ??

If i not use *auto, it works



Thanks in advance

--
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.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.