-
Daten convertieren
Hallo,
es ist jetzt 5 jahre her, daß ich mein letztes RPG-PGM erstellt habe.
Seither programmiere ich nur in ABAP/SAP. Ich benötige jetzt aber
für eine Schnittstelle ein kleines RPG-PGM. In diesem PGM muß ich aus
einer STRM-FILE eine DDS-File erstellen. Das ist mir soweit auch gelungen,
bis auf eine Kleinigkeit. Ich muß ein Alpha-Feld in ein Num-Feld mit Nachkomma-
stellen bringen und ich weis nicht mehr wie das geht.
Kann mir da jemand helfen????
Vorab meinen herzlichsten Dank
Magdalena
-
Hallo
vielleicht hilft eine Datenstruktur z.B.
d NUMDS ds
d NUM 1 10
d DEC 11 13
Dann einfach die DS mit Move füllen
Gruss
Michael
-
Hallo,
ich würde es mal mit folgenden Built-in Functions probieren:
num10_2 = %dec(%subst(Alpha:1:10) :10:2 )
Gruss
Torsten
-
Daten convertieren
Hallo,
nochmal herzlichen Dank für Eure Tips. Nachdem ich nun den
ILE-RPG Compiler installiert habe dürfte ich das hinbekommen.
Magdalena
-
Der normale RPG-Compiler macht das auch.
Mittels MOVE / MOVEL kann man Alpha nach numerisch konvertieren.
Wenn das Zeichenfeld z.B. mit 11 Stellen definiert ist und nur Ziffern enthält, kann ich das ganz normal in ein Dezimalfeld übertragen. Die Nachkommastellen werden während der Übertragung ignoriert.
Z.B.:
MOVE '12345' WKDECF 52
In WKDECF steht dann 123,45
-
Daten convertieren
Hallo funboard,
ich bin hier fast am verzweifeln. Habe folgendes programmiert
0040.00 C Z-ADD 0 COSTN 17 6
0041.00 /free
0042.00 wert = %trim(wert);
0043.00 costn = %dec(%subst(wert:1:10) :12:6 );
0044.00 /end-free
0045.00 C Z-ADD COSTN COST
0046.00 C Z-ADD 0 FBESN 17 5
0047.00 /free
0048.00 fbest = %trim(fbest);
0049.00 fbesn = %dec(%subst(fbest:1:11) :13:5 );
0050.00 /end-free
0051.00 C Z-ADD FBESN ONHAND
0052.00 C Z-ADD 0 RBESN 13 5
0053.00 /free
0054.00 rbest = %trim(rbest);
0055.00 rbesn = %dec(%subst(rbest:1:7) :9:5 );
0056.00 /end-free
Bis Zeile 45 funktioniert alles einwandfrei. In Zeile 55 steigt das PGM
aus mit der Fehlermeldung
Das Ziel für eine numerische Operation ist zu klein, um das Ergebnis
aufzunehmen.
Was zum Kuckuck stimmt da nicht???
-
Daten convertieren
Hallo Torsten,
sorry, habe in Deinem Hinweis leider nicht bis ganz nach unter
geschaut und Dich falsch angeredet.
Gruß
Magdalena
-
%trim und %subst kannst du dir erst mal schenken, da du damit nur führende Leerstellen entfernst.
%dec sind Leerzeichen allerdings vollkommen egal.
Wichtig ist, dass das Ergebnis von %dec in das Zielfeld übertragen werden kann.
Ich nehme mal an, deine Quelldaten enthalten kein Dezimalzeichen Punkt oder Komma, so dass du immer ganze Zahlen bekommst:
%dec(' 1234,12 ':11:2) => 000001234,12
%dec(' 1234 12':11:2) => 000123412,00 !
Schau genau an, wie deine Zahlen denn aussehen und verwende dann z.B.:
%dec(' 1234 12':11:0) / 100 => 000001234,12
aber:
%dec(' 1234 1 ':11:0) / 100 => 000000123,41 !
An Stelle der Konstanten denke dir einfach die Variable.
-
Daten convertieren
Hallo Torsten,
nochmals vielen Dank.
Problem gelöst.
Gruß
Magdalena
Similar Threads
-
By c.b. in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 26-07-06, 12:22
-
By sim in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 18-05-06, 08:00
-
By antonkuh in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-04-06, 10:37
-
By rebe in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 28-04-05, 15:49
-
By Heinz Molter in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 31-08-04, 09:48
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks