実行環境

54. ジョブの CCSID の変更

ジョブの CCSIDDSPJOB で見ると、

のようにして

の2つがあることがわかる。
多くは 「コード化文字セットID ( CCSID )」がジョブの CCSID と思われがちであるが
CCSID として重要であるのは 「省略時のコード化文字セットID ( DFTCCSID )」である。
これは多くの実行時の属性が DFTCCSID に依存するように作成されているからである。

例えば 物理ファイル作成 ( CRTPF ) コマンドでは パラメータ(CCSID)は *JOB であり
これは DFTCCSID によって決定されることを意味している。
プログラムでも CCSID が *JOBRUN になっていれば、それは DFTCCSID になることを
意味している。

System i は導入時のシステム値 : QCCSID65535 であり、65535 とは空、すわなち
ホワイトであり CCSID がブランクの状態であることを示している。
これに対して国コード(QCNTRYCD) が JP (=日本) であれば実行時の CCSID は

としてセットされて実行されるようになっている。
この CCSID = 65535, DFTCCSID = 5026 の組み合わせが、いわゆる 5026 環境であり
半角カナが英小文字より優先されて表示される、いわゆる日本語環境である。
ところでジョブの CCSID を変更したいとする。

CHGJOB CCSID(5035)

としただけでは

と、どちらも 5035 になってしまう。
もう一度、

CHGJOB CCSID(65535)

を実行してみると今度は

となって、これが求める CCSID = 5035 の環境である。
CCSID = 5026 に戻すときも

CHGJOB CCSID(5026)
CHGJOB CCSID(65535)

のように 2回の CHGJOBコマンドの実行が必要である。
これは CHGJOB に DFTCCSID パラメータが用意されていないからでもある。