![Datensatzeditor: Cobol nach CSV](https://rvso.com/image/1605186/Datensatzeditor%3A%20Cobol%20nach%20CSV.png)
Ich habe ein Problem mit dem Datensatzeditor und versuche, COBOL-Daten und Copybook-Dateien in CSV zu konvertieren. Ich stecke an einem Punkt fest, an dem „Code für Cobol Copybook generieren“ eine genaue Vorschau erstellt, ich sie aber nicht exportieren kann, weil ich sie nur dann genau erhalten kann, wenn ich die Dateistruktur „Unbekanntes Dateiformat“, „Binärdatei mit fester Länge“ mit einer Datensatzlänge von „XXX“ oder „422“ verwende. Vielleicht weiß jemand, wie man das behebt oder wie man mit dieser Situation umgeht?
Antwort1
Es gibt mehrere mögliche Lösungen
- Aktualisieren Sie den generierten Java-Code und legen Sie die Datensatzlänge fest
- Fügen Sie dem Schreibheft einen Füller hinzu, um seine Länge auf 422 zu erhöhen.
Verwenden Sie die Option setRecordLength
Im generierten Code können Sie Folgendes hinzufügen:Datensatzlänge festlegenAufruf, um JRecord zu zwingen, eine größere Länge als im Copybook zu verwenden
d. h. es wird Code geben wie
ICobolIOBuilder ioBldr = JRecordInterface1.COBOL
.newIOBuilder(new ByteArrayInputStream(cobolCopybook.getBytes()), "COMPANY-RECORD")
Sie können hinzufügenDatensatzlänge festlegenMethode zum Aufruf
ICobolIOBuilder ioBldr = JRecordInterface1.COBOL
.newIOBuilder(new ByteArrayInputStream(cobolCopybook.getBytes()), "COMPANY-RECORD")
.setRecordLength(422)
Copybook aktualisieren
Sie können dem Heft einen Füller hinzufügen, um den Datensatz auf eine Länge von 422 zu erhöhen
Antwort2
Offenbar habe ich das Problem herausgefunden: Das Copybook war nicht mit einem abschließenden Füllfeld definiert, das für die Erstellung einer Datensatzlänge von 422 Zeichen ausreichend gewesen wäre.