実行環境

105. 印刷スプールの CCSID とは? (2)

「82. 印刷スプールの CCSID とは」で、印刷スプールの CCSID は
その印刷が実行されたジョブの CCSID を採択するという方法を紹介した。
印刷スプールのスプール属性をいくら探したところでスプールの
CCSID が見つからないので、IBM が CCSID を登録するのを忘れたのかというと
そうではない。
それでは一体、印刷スプールの CCSID はどこに隠されているのだろうか?

先の「103. もういちど CCSID を考える」で説明したように CCSID とは

      CCSID = Fx(文字 ID, コード・ページ)

ということであり、文字 ID とコード・ページが決まれば CCSID も
一意的に決定することができる。
印刷スプールの属性にも印刷スプールの API : QUSRSPLA で検索すれば

SPLA0100 様式

SPLA0100

のようにして グラフィック文字セット(=文字ID) とコード・ページを
取得することができる。

ここで CCSID とは 文字 ID とコード・ページとの組合せをひとつのコードで
代表したものであるが、すべての組合せに対して CCSID が
割振られているわけではない。
事実、CCSID = 5026, 5035 および 1399 も昔は存在していなかった。
そこで CCSID が割振られていない組合せであっても
印刷を可能にするために CCSID ではなくあえて 文字 ID とコード・ページの
組合せという原型を登録するようにしたのかも知れない。