-
Download von Datein ohne zusätzliche Zeichen für UPS
Hallo,
wir sind jetzt schon lange am Tüfteln... Vielleicht hat ja einer von Euch nen Vorschlag:
WIr wollen in Zukunft die Tagesabschlussdaten von UPS aus unserer AS400 erstellen und müssen die entsprechend aufbereiten.
Es muss ein endlos-String sein, Blanks müssen als Blanks bleiben, es ist kein CR LF oder EOF erlaubt.
Nun habe ich - Entweder das EOF (bei FTP-Transfer) oder ein weiteres undruckbares Zeichen HEX47 am letzten Blank ( bei Download über Client Access).
HEX47 verwenden wir, um festzustellen, wo das darauffolgende Feld beginnen muss.
Hat irgendeiner eine Idee, was wir noch machen könnten, da wir im Augenblick dann vor dem Versenden an UPS noch auf der Windows-Seite eingreifen müssen und die entsprechenden Zeichen rausnehmen..
Danke
Beate
-
Normalerweise fügt FTP weder was hinzu noch nimmt es was weg.
Für das Erstellen einer Stream-Datei bietet sich inzwischen auch SQL an.
Mittels des SQLTYPE(CLOB_FILE) lassen sich bis zu 16-MB große IFS-Dateien direkt zwischen Variable und IFS lesen und schreiben. Dabei können auch CCSID-Konvertierungen (1252, UTF-8, ...) durchgeführt werden.
Wenn die Datei dann vom Typ ANSI/UTF8 ist, kann sie auch per FTP binär übertragen werden.
Du kannst also deine Daten in einem 16-MB varying Charfeld (oder bei *TERASPACE bis 2TB) aufbereiten und ins IFS stellen.
-
Alternativ kann man Streamfiles in RPG mit Hilfe der Unix Type APIs erstellen. Habe das gerade bei mir mal ausprobiert: Eine Streamfile von der IBM i auf den PC kopiert (per Laufwerksfreigabe). Da ist kein Dateiende-Zeichen dazugekommen (soweit ich das mit einem Hex - Editor sehen konnte.
-
Warum noch Stream-API's wenn SQL das inzwischen einfacher kann;-)?
-
Kann SQL das wirklich einfacher? Ich muss zugeben, dass ich mich noch nicht mit den SQL-Möglichkeiten für Streamfiles befasst habe.
Wir nutzen die Unix-Type APIs in Form von Tools (Serviceprogramme) und es ist damit kein Stress, sie im RPG einzusetzen (open, write, close => Fertig ist die Streamfile).
Bei SQL habe ich ja auch immer etwas "Programmier-Overhead" bei der Definition von Clobs und den zugehörigen SQL-Statements.
Aber wer weiß: Wenn es damals die SQL-Möglichkeiten gegeben hätte, hätten wir die API-Tools vielleicht auch nicht gebaut.
-
Kommst Du bei den APIs mit 4 Zeilen hin?
Code:
DCL-S YourCLOBFile SQLTYPE(CLOB_FILE);
YourClobFile_Name = '/YourDir/YourDir2/File.Txt';
YourClobFile_NL = %Len(%Trim(YourClobFile_Name));
YourClobFile_FO = SQFOVR; //Erstelle Datei oder ersetze eine vorhandene Datei
Exec SQL Set :YourClobFile = 'Mein erster Text im IFS';
YourCLOBFile_FO = SQFAPP //Zu IFS Datei hinzufügen
Exec SQL Set :YourClobFile = 'Und jetzt geht''s weiter';
SQLCODE oder SQLSTATE sollten natürlich noch abgefangen werden.
Übrigens soooo neu ist das auch nicht, seit V5R1M0!
Und die Grenze liegt bei 2GB.
Birgitta
-
Zitat von B.Hauser
Kommst Du bei den APIs mit 4 Zeilen hin?
Ich komme auch mit 4 Zeilen hin: :-)
Code:
dcl-s handle packed(10);
handle = um_StmfOpen('/tmp/testfile.txt':'CREATE');
um_StmfWrite(handle:'Hello World');
um_StmfClose(handle);
Und jetzt, wo ich deinen Code sehe: Stimmt, das habe ich doch auch schon mal benutzt. Um Blobs im IFS abzulegen. Ich habe es gedanklich aber nur nicht als Ersatz für unser Streamfile-Handling betrachtet.
Deine und Baldurs Lösung hat den Charme, dass man sich nicht mit den APIs auseinandersetzen muss.
-
Hinzu kommt, dass man in der CLOB_FILE-Struktur auch noch CCSID's verarzten kann.
Nie war es einfacher UTF-8-Daten auszugeben oder einzulesen (als UCS2/Unicode).
Dazu kommt auch noch, dass man IFS-Inhalte somit problemlos in die DB (CLOB/BLOB) schreiben und aus ihr wieder lesen kann (ODBC/JDBC, Java lässt grüßen).
Für ein Etikettenprogramm (Windows) speichere ich schon seit 2004 Bilder (jpg, emf, bmp, ...) als BLOB auf der AS/400 und kann diese auf dem PC wieder herstellen.
Similar Threads
-
By Flappes in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 02-12-14, 16:47
-
By hs in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 01-02-14, 18:59
-
By Spirou in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 02-06-03, 07:34
-
By Matthias.Hayn in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-02-02, 12:45
-
By Rosemarie Rippl in forum NEWSboard load'n'go
Antworten: 0
Letzter Beitrag: 29-08-01, 06:02
Tags for this Thread
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