PDA

View Full Version : RPG Problem



Mädele
22-11-02, 17:05
Hallo,

ich möchte ein numerisches Feld in ein alphanumerisches Feld umwandeln, um es dann CATen zu können.

Wie mache ich das?
Das Feld hat 11 Stellen, davon 2 Nachkomma.

Grüße
Mädele

LGALF
22-11-02, 17:40
Hallo Mädele, ich habe auf die schnelle folgende Lösung im RPG
I-Bestimmung Datenstruktur:
INUMF ... DS ..
1 - 11 2(Dec) NFLD
ICHARF ... DS ..
1 - 11 _ CFLD

C ... MOVE Dein-Feld nach NFLD
(Z-ADD)
C ... MOVE NFLD CFLD
jedoch sind dann im Charakterfeld CFLD Vornullen enthalten

Viel Grüsse Alf

B.Hauser
22-11-02, 18:06
Hallo Mädele,

wenn du mit RPGIV arbeitest, hast Du die Möglichkeiten über die Built-in-Funktionen %Char(), %EditC() oder %EditW() einen numerischen Wert aufzubereiten.

Bei %Char(Numer.) werden die führenden Nullen entfernt und das Ergebnis linksbündig ausgerichtet. Dezimal-Trennzeichen werden übernommen.
Bei %EditC(Numer.: 'Format') kann ein EditCode, wie aus dem DDS bekannt, angegeben werden. Das Ergebnis wird wie im DDS entsprechend aufbereitet.
Bei %EditW(Numer.: Maske) kann wie im DDS eine Maske angegeben werden. Die Maske muss in den D-Bestimmungen als Konstante hinterlegt sein.
Das Ergebnis wird wie im DDS aufbereitet.

Bei allen 3 Funktionen können noch andere Parameter übergeben werden. Eine weitere Erklärung würde jetzt den Rahmen sprengen.
Bei Interesse einfach in der RPG-Referenz nachschlagen.

In RPGIV ist auch kein CAT-Befehl mehr nötig,
ein einfaches + ist ausreichend im zwei Strings miteinander zu verknüpfen.

Beispiel:
C Eval $Text = 'Gesamt-Summe = ' + %Char(MySumme)

Birgitta