-
Dateiausgabe variable Feldlängen?
Gibt es eine Möglichkeit, große Dateien im ASCII-Format auszugeben mit variablen Feldlängen und Trennzeichen?
Mit CPYTOIMPF sind zwar Trennzeichen möglich, aber trotz DTAFMT *DLM haben die Felder fixe Längen.
Mit Client Access sind die var. Längen zwar möglich, aber außer ein Komma als Trennzeichen ist sonst nichts möglich. Nachträglich ist es
leider nicht mehr möglich, die Trennzeichen 'umzuschiessen' (Datenmenge ist zu groß).
Mit Rumba habe ich es leider auch nicht geschafft.
SUBUIS
-
Standardmässig gibts das leider nicht. Normalerweise stört das den Empfänger auch nicht.
Ich gehe inzwischen auch einen anderen Weg, nämlich SQL (ist auch flexibler) mit einem QM-Query in eine Ausgabedatei und anschließendem CPYTOSTMF:
select trim(myfld1) concat ';' concat trim(char(mydec)) concat ';' ...
from myfile
where .....
-
Hört sich gut an. Wie ist das bei 80 Mio. Datensätzen in einer Datei?
(ist dann nur eine von vielen Dateien, aber die grösste).
Bsp.: 2,8 Mio. Sätze mit Client Access ca. 10 Minuten
mit CPYTOIMPF ca. 6 1/2 Minuten
Mit SQL kann ich auch var. Felder definieren, bei dem Verfahren wird
aber gleich auf die schlechte Performance hingewiesen.
SUBUIS
-
Hallo,
wenn es da um Streamfiles geht, dann geht das mit C-APIs auch aus RPG, da gibt es auf meiner Freeware Seite auch ein Serviceprogramm (OUTSTREAM) dafür.
Das VARCHAR Gedöns im DB2/400, das ist was völlig anderes, das ist eigentlich nur die Möglichkeit Blöcke in einer Datei mit Luft aufzufüllen und das Feld weiss anschließend wieviel Luft drin ist.
mfg
Dieter Bender
 Zitat von SUBUIS
Gibt es eine Möglichkeit, große Dateien im ASCII-Format auszugeben mit variablen Feldlängen und Trennzeichen?
Mit CPYTOIMPF sind zwar Trennzeichen möglich, aber trotz DTAFMT *DLM haben die Felder fixe Längen.
Mit Client Access sind die var. Längen zwar möglich, aber außer ein Komma als Trennzeichen ist sonst nichts möglich. Nachträglich ist es
leider nicht mehr möglich, die Trennzeichen 'umzuschiessen' (Datenmenge ist zu groß).
Mit Rumba habe ich es leider auch nicht geschafft.
SUBUIS
-
An welcher Stelle die Daten umgesetzt werden müssen ist letztendlich egal.
Von der Gesamtleistung tut sich da nicht so viel.
Bei ClientAccess ist da wohl eher das Netz der Engpass, schließlich werden die Daten ja sowieso per SQL gelesen.
Wichtiger scheint mir bei dir die Größe der Ausagbedatei zu sein, die du ja nach meinem Verfahren drastisch reduzieren kannst. Damit wird der Performanceverlust ggf. mehr als wettgemacht mit der späteren Übertragung/Verarbeitung der Ergebnisse.
-
Die SQL-Variante ist mit Abstand am schnellsten gewesen (incl. kopieren ins IFS)! Superklasse. Danke.
Similar Threads
-
By rguenzel in forum NEWSboard Drucker
Antworten: 5
Letzter Beitrag: 18-01-07, 13:38
-
By stoerfang in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 28-11-06, 14:32
-
By Xanas in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 28-08-06, 12:21
-
By cheffe1008 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 16-05-06, 07:45
-
By zannaleer in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 21-07-04, 18:50
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