View Full Version : Substring aus nummerischen Feld
Hallo Forum,
gibt es die Möglichkeit in RPG mit einer Built-In-Function eine gewisse Anzahl von Stellen aus einem nummerischen Feld zu extrahieren ?
Konkret: ich möchte aus einem 8/0 Num-Feld, den Wert der Stellen 3 und 4 haben.
Lg
Siehe hier (http://www.newsolutions.de/forum-systemi-as400-i5-iseries/newsboard-programmierung/13276-anfaengerfrage-num-feld-kuerzen-rpg-free.html).
in Free Form geht das so:
string = %subst(%editc(zahl):'X'):3:2);
in Free Form geht das so:
string = %subst(%editc(zahl):'X'):3:2);
Nicht in Freeform, sondern "normal" und das Ergebnis soll kein String sein, sondern ein nummerisches Feld
d Struc ds
D Zahl 8s 0
D Teil 2s 0 overlay(Zahl:3)
EVAL NUM2 = %ABS(%REM(%INT(NUM/100):100))
EVAL NUM2 = %ABS(%REM(%INT(NUM/100):100))
Hallo Pikachu,
Du hast 2 Nullen vergessen:
EVAL NUM2 = %ABS(%REM(%INT(NUM/10000):100))
Kommt drauf an, welche Stellen 3 und 4 gemeint sind. ;)
Naja, es gibt wie immer viele Wege:
eval num2 = %dec(%subst(%editc(mynum:'X'):Ab:Len):Len:0);
Ab = ab Stelle
Len = Anzahl Stellen
eval num2 = %dec(%subst(%editc(mynum:'X'):Ab:Len):Len:0);
Ab = ab Stelle
Len = Anzahl Stellen
Len darf allerdings keine Variable sein, allenfalls eine Konstante, da die Werte für die Parameter 2 und 3 in der Built-In-Function %DEC() zur Compile-Zeit bekannt sein müssen.
Birgitta