Anmelden

View Full Version : Konvertieren von EBCDIC to ASCII



RLurati
19-10-05, 11:18
Guten Tag zusammen,

wer kann mir bitte helfen, Ich sollte in einem Cobol-Programm, Record für Record, von
EBCDIC nach ASCII umkonvertieren. Gibt es da einen Befehl einfachen Befehl dazu oder sollte man da anders vorgehen.

Danke für die Hilfe
Reno

kuempi von stein
19-10-05, 11:50
Guten Tag zusammen,

wer kann mir bitte helfen, Ich sollte in einem Cobol-Programm, Record für Record, von
EBCDIC nach ASCII umkonvertieren. Gibt es da einen Befehl einfachen Befehl dazu oder sollte man da anders vorgehen.

Danke für die Hilfe
Renohello,

ich kenn das nur unter RPG, mit COBOL hab ich nicht soviel rumgemacht bisher.
der weg sollte aber der gleiche sein.
mal so im groben der ablauf:
brauchste eine tabelle (TBL) in der die umsetzungscodes von ebcdic nach asci drinstehen.
dann rufste 'QDCXLATE' mit folgenden parms auf:
-laenge (ein feld z.B. 4.0 da wo die länge des strings drin steht)
-data (die umzusetzenden daten)
-tabname (der name deiner TAB)
-libname (die lib da wo die TAB drinsteht)

voila... sollte funktionieren...

gibt aber bestimmt auch elegantere lösungen.

gruss

k.

Fuerchau
19-10-05, 12:13
Zur Berücksichtigung von CCSID's ist der Aufruf folgenden API's besser:

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/apis/QLGCNVCS.htm

Du benötigst dazu keine Tabellen, da die Systemtabellen verwendet werden.
Wichtig dabei ist nur, dass die aktuelle JOB-CCSID ggf. abgefragt wird (RTVJOBA per CLP), damit die Entscheidung der Quell-CCSID leichter fällt.

RLurati
19-10-05, 12:30
Danke,

können Sie mir bitte ein CLP-Beispiel detailiert zeigen, wie das API-Programm aufgerufen wird (inkl. Parameter) und was zurück kommt. Das würde mir sehr helfen.

Dank und Gruss
Reno

KM
19-10-05, 14:50
Hallo Reno,

ich benutze die externe Prozedur iconv() und hab dafür ein RPG-Programm, dem man einfach nur den String übergibt und die Quell-CCSID und Ziel-CCSID. Als Ergebnis erhältst Du den konvertierten String zurück. Falls Interesse besteht, schick mir mal Deine eMail-Adresse.

Gruß,
KM

RLurati
19-10-05, 14:53
Hier meine E-Mail Adresse: r.lurati@bluewin.ch

Dank und Gruss
Reno

Fuerchau
19-10-05, 15:02
QLGCNVCS ruft übrigens iconv() auf ;)