@Kit
Hier verwechelst du 2 Dinge:
CCSID und CHRID.
Bei der Erstellung einer DSPF bekommt diese automatisch die CCSID der Quelle bzw. des aktuellen Jobs, falls diese nicht *HEX ist.
CHRID gibt die graphische Ausprägung der Ein-/Ausgabe an. Der Default ist hier tatsächlich *DEVD.
Hier kannst du natürlich deinen und auch andere Werte angeben.
Nun spielt aber neben deiner Job-CCSID nun auch die DSPF-CCSID eine Rolle, also genauso wie bei einer PF.
Beim Schreiben/Lesen in/aus der DSPF findet nun eine Codewandlung statt.
Zusätzlich kommt nun ein weiterer Aspekt ins Spiel:
Auf Feldebene gibt es ein Schlüsselwort CHRID (ohne weitere Parameter).
Dieses besagt, dass diese Felder zwischen DSPF und Device einer Codewandlung unterliegen, wenn die CHRID der DSPF nicht *DEV ist.
Alle Felder, die CHRID nicht aufweisen, werden nicht codegewandelt.
Nun mach dir mal die Mühe, in allen DSPF's einer Anwendung bei jedem Zeichenfeld noch das Schlüsselwort CHRID (geht leider nicht auf Satz/Dateiebene) zu hinterlegen.
Ich weiß nicht, was sich dei IBM dabei gedacht hat.

Hinzu kommt noch ein weiteres Manko:
Bei der CHRID *DEV kann ich durch simples Austauschen der CCSID's für die PF, den Job und das Device jede beliebige passende Kombination verwenden.
Also 273->273->273, 870->870->870, ...
Hat die DSPF aber CCSID 273, kannst du diese für 870 nicht mehr verwenden, du benötigst für jede Zielccsid einer Ländergruppe (Latin-1/2/...) eine eigene DSPF.
Den Overhead würde ich wirklich niemandem zumuten.