サポートチーム便り2018.09.13
ユーザープロフィールの一覧を取得しましたが、テキストが文字化けして読めません
Question
DSPUSRPRFをOUTPUT(*OUTFILE)にしてデータ転送でCSVにすると、テキストが文字化けをして 読めません。
RUNQRYで確認すると化けていないです。何か対応方法はありますでしょうか?
Answer
DSPUSRPRFをOUTFILEすると、様式:QSYDSUPBのファイルが作成され、テキストはUPTEXTのフィールドになります。
該当のフィールドタイプはAの50桁となっております。
文字化けする原因は、タイプがAにも関わらず、DBCSの漢字がデータに入っていることです。 理由は不明ですが、他のVersionでも同様なので、それがデザインなのかも知れません。
フィールドのタイプをOと直すことができれば、文字化けせずにデータ転送もそのまま使用し、ダウンロードすることができます。その場合、同様のフィールドで唯一、UPTEXTだけタイプOとして別に物理ファイルを作成し、CPYFでFMTOPT(*MAP *DROP)とすると文字化けしない物理ファイルができますので、ダウンロードをしてみてください。
或いは、ユーザープロフィールのプロファイル名とそのテキストだけ使用したいのであれば、DSPOBJDで取得が可能です
例)
DSPOBJD OBJ(QSYS/*ALL) OBJTYPE(*USRPRF) OUTPUT(*OUTFILE) OUTFILE(library名/file名)
2つのファイルをQUERYで結合させてもう一つのOUTFILEを作成し、それをデータ転送でダウンロードするのも一つの手法となります。
by けやきのじぃじ