Daten im CSV-Format können optional zusätzlich zur Ausgabe auf SYSLST ausgegeben werden. Die Ausgabe der Daten im CSV-Format orientiert sich inhaltlich an der Ausgabe auf SYSLST. Es existieren jedoch Abweichungen im Format der Datenausgabe, die dadurch begründet sind, dass die Daten nicht auf Papier weiter genutzt werden, sondern in weiterverarbeitenden Programmen:
Alle Ausgaben im CSV-Format werden bei einem Dienstprogrammlauf in einer Datei abgespeichert.
In der ersten Spalte wird eine Kennzeichnung bereitgestellt, die eine zeilenweise Auswertung der Daten ermöglicht.
Bei der Ausgabe auf SYSLST ergibt sich eine Beschränkung durch die Druckbreite von 132 Zeichen je Zeile. Diese Einschränkung ist bei der CSV-Ausgabe nicht gegeben. Text-Informationen, die in der SYSLST-Ausgabe z.B. bei Überschriften in mehrere Zeilen umgebrochen werden müssen, werden im CSV-Format in einer Zeile ausgegeben. Abgekürzte Textteile werden zur besseren Verständlichkeit im CSV-Format ausgeschrieben.
Auf seitenorientierte Zwischenüberschriften wird in der CSV-Ausgabe verzichtet.
Sich wiederholende erläuternde Texte aus Teiltabellen werden in zusätzliche Überschriften verlagert.
Jede CSV-Datei enthält in der Kopfzeile den Namen des Dienstprogramms, die Version des CSV-Ausgabeformats des entsprechenden Dienstprogramms sowie Datum und Uhrzeit der Erstellung der CSV-Ausgabe.
Die Version wird geändert, wenn die CSV-Ausgabe bezüglich der Zuordnung zu Ausgabezellen oder die Semantik von Ausgabezellen verändert ist.
Zahlendarstellungen, die in der SYSLST-Ausgabe aus Platzgründen in Sonderformaten dargestellt werden (z.B. 25M oder 14K in BSTATUS), werden in der CSV-Ausgabe in der korrekten Dezimalausgabe dargestellt.
Für erläuternde Textteile in der CSV-Ausgabe wird im Gegensatz zur SYSLST-Ausgabe Groß-Kleinschreibung genutzt. Technische Begriffe von UDS/SQL und in der Datenbank deklarierte Namen werden weiterhin nur groß geschrieben.
BSTATUS gibt in der CSV-Ausgabe zusätzlich den Datenbanknamen und den Schemanamen aus.
Satzinhalte und Tabelleneinträge im Hex- und Char-Format werden von BPRECORD in der CSV-Datei kompakt ausgegeben. Im Char-Format können beliebige hexadezimale Zeichen vorkommen. Bei der Übertragung der CSV-Datei in eine andere Systemumgebung können einzelne Zeichen mit Sonderbedeutung dazu führen, dass die Zeilenstruktur der CSV-Ausgabe zerstört wird.
Beispielsweise wird das EBCDIC-Zeichen X'25' bei der Umwandlung in
ISO8859-1 (ASCII) zu X'0A' umgewandelt. In Unix- und Windows-Umgebung wird X'0A' als \n und damit als Zeilenvorschub interpretiert. Das EBCDIC-Zeichen X'0D' wird beim Wechsel von EBCDIC nach ASCII nicht verändert. In Windows-Umgebung erzeugt es als \r einen Zeilenvorschub. In Unix-Umgebung wird wieder auf den Beginn der aktuellen Zeile positioniert und es kann somit zu Überschreibungen bei der Ausgabe kommen.Eine einfache Möglichkeit, solche störenden Effekte zu vermeiden, besteht darin, bereits im BS2000 die betreffenden Zeichen durch ein anderes Zeichen zu ersetzen. Dies kann beispielsweise im EDT mit den folgenden Anweisungen erfolgen:
@ON & CA X'25' T '?'
und
@ON & CA X'0D' T '?'Wenn das Separatorzeichen in der CHAR-Ausgabe des BPRECORD vorkommt, wird es in der CSV-Ausgabe in X'00' umgewandelt, um die weitere übergeordnete Verarbeitung der Felder nicht zu behindern. Wird das Separatorzeichen in der Weiterverarbeitung benötigt, dann muss die Weiterverarbeitung über die unveränderte HEX-Ausgabe erfolgen.