Zitat Zitat von Fuerchau
Wie im obigen Beispiel definiere ein gep. Feld in entsprechender Größe und überlageres es mit dem Alpha-Feld:

d ds
d Num 11p 2
d Alp 6 overlay(Num)

eval Alp = %subst(...)

In "Num" steht dein Wert (falls der Inhalt auch korrekt ist).
Dies sind eher "verbotene" Methoden.
Danke, das hat mir schon etwas weiter geholfen, allerdings renn ich jetzt immer auf einen Dezimaldatenfehler, hier der code:
Code:
d zoned		   ds								 
d nummer						30p 0				
d alpha						 14A   overlay(nummer)
Hat es einen bestimmten Grund warum mich der compiler zwingt da Alphafeld maximal halb so groß wie das gepackte Feld sein zu lassen?!

Code:
c	 d420		  begsr									   
c				   eval(h)   wcslen = cslen / 2				
c				   evalR	 alpha = %subst(csdta:cspos:wcslen) /*Bis hierher alles ok*/
c				   evalR	 Alpha = %trimR(%char(nummer))	 /*dezimaldatenfehler*
c				   evalR	 Alpha = %trimR(%editc(nummer:'Z'))
Zum dedzimaldat. fehler siehe Anhang.