-
gepackte Daten in Streamfile
Hallo,
ist es möglich das es Probleme mit gepackten Daten (als gepackte numerische
Felder) in Streamfiles auf der AS/400 gibt ?
Wir bekommen seit neuesten eine Schnittstelle, die früher direkt in eine pysische Datei
ging, jetzt über streamfiles. Dort werden die gepackten Zahlen 'irgendwie' umgeschlüsselt, teilweise führt das in Programmen dann zum Absturz weil ungültige numerische Daten enthalten sind.
Hat da jemand eine Idee ? Liegt das am Zeichensatz ??
-
Wenn die Daten jetzt in Streamfiles ankommen müssten sie ja eigentlich in ungepacktem Format sein (als Text).
-
Wie meinst du das ?
Die Daten kommen mit 'Sonderzeichen' daher, d.h. so wie
gepackte Daten eben aussehen.
-
Dann müsstest du die Datei mittels
CPYFRMSTMF FROMSTMF('/home/myverz/myfile')
TOMBR('/qsys.lib/mylib.lib/myfile.file/myfile.mbr')
MBROPT(*REPLACE)
CVTDTA(*NONE)
ENDLINFMT(*FIXED)
TABEXPN(*NO)
in eine PF mit fester Satzlänge kopieren, von dort in die DDS-beschriebene Datei per CPYF ... FMTOPT(*NOCHK).
-
das habe ich auch so gemacht, jedoch
werden die Zahlen dann schon in dem PF mit fixer Satzlänge falsch umgeschlüsselt,
d.h. es stehen dort entweder nicht num. daten oder falsch umgeschlüsselte drinnen.
-
Dann sind die Quelldaten bereits so !
Durch CVTDATA(*NONE) erfolgt keinerlei Codewandlung.
Die Satzlänge der PF muss natürlich der erwarteten Satzlänge entsprechen.
Per DSPPFM => F10 kannst du in Hex-Sicht umschalten.
Kommt es zu Verschiebungen der Felder, stimmt die Satzlänge einfach nicht.
-
Bei CVTDATA(*NONE) werden überhaupt nur noch verstümmelte Daten
dargestellt. Bei CVTDATA(*AUTO) sieht das ganze normal aus, abgesehen von den
gepackten Daten.
-
Das ist dann wirklich ein Problem.
Da sind wohl Zeichendaten mit gepackten Daten vermischt worden. Dies lässt sich so einfach dann nicht mehr konvertieren.
Schau die die Daten erstmal über WRKLNK in Hex an.
Wenn die gepackten Daten i.O. sind und die Zeichendaten in ASCII musst du wohl oder übel mit CVTDATA(*NONE) kopieren und die Zeichendaten per QDCXLATE selber übersetzen.
Oder die Transferdatei darf eben keine gepackten Daten mehr enthalten und muss alles als Zeichendaten übergeben.
-
Ich habe dieses Problem wie folgt gelöst:
Identische Datentabelle erstellen und die gepackten Felder
in Format ZONED ändern.
CPYF Original in diese Tabelle.
In Streamfile kopieren wie gehabt.
Dann kann es evtl noch Probleme mit dem Vorzeichenbyte bei negativen Werten geben.
Gruß
Joe
-
Eben, da ist ein CPYFRMIMPF/CPYTOIMPF schon besser.
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