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
As an Amazon Associate we earn from qualifying purchases.