Hallo *all,
ich habe Folgendes:
Dabei ist mein Problem, dass AFeld1-N auch immer in seiner Länge um 1 wächst.Code:c if digits = 1 c eval AFeld1 = %subst($$_Var:1:byteleng) c eval pointer = %addr(AFeld1) c elseif digits = 2 c eval AFeld2 = %subst($$_Var:1:byteleng) c eval pointer = %addr(AFeld2) c elseif digits = 3 c eval AFeld3 = %subst($$_Var:1:byteleng) c eval pointer = %addr(AFeld3 .... c elseif digits = N c eval AFeldN = %subst($$_Var:1:byteleng) c eval pointer = %addr(AFeldN) c endif
Gibt es eine Möglichkeit dies trotzdem als Schleife zu fassen?
Während des Tippens kam mir folgende Idee:
Würde das gefahrlos funktionieren?Code:D Index s 2S 0 inz(1) D AFeld S 63A dim(63) varying /free for Index = 1 by 1 to 63; %len(AFeld(Index)) = Index; AFeld(Index) = %subst($$_Var:1:byteleng); pointer = %addr(AFeld(Index)); endfor;
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks