QA他の雑記帳です。
1. Bob(AI) 開発者は自分がやりたいことだけ考えがち(危険かも)
状況)Bob接続ユーザーをSECOFRクラスからPGMRクラスに変えた(私のガイドにより)らオブジェクトの移動、削除などができなくなった。Bobが*ALLOBJ, SAVSYS, およびJOBCTL特殊権限がないからできない、と言ってる。
Q.
それゆえ *ALLOBJ, *SAVSYS, *JOBCTL を付与したいのだが?
A.
これ系の話は星の数ほどありそうです^^;
色々学びや対処方法があると思うのですが、ここでは、「基本(ここではIBM i セキュリティ)をある程度学ぶべき」 ということです。
IBM i の特殊権限の説明はこちら
2. BobでShift-Jisのファイルを読めますか?
読めます。こちらにまとめました。
3. IBM BobでCCSID 5026 環境でコンパイルしたい
Bobからプレミアムパッケージ for i でIBM i につなぐとコード編集~コンパイル~テストをスムーズに実行できるようになりますが、
Q. IBM Bob が sshでIBM i に接続する際は原則CCSID 5035(1399) だが、CCSID 5026でコンパイルしたいです
ソースの制約その他事情は聴いていないのですがこのような事はあると思います。
A. コンパイル前にでCCSID 5026にCHGJOBすればよい、ということが考えられます
方法は色々ありそうですが、
案1. IBM i 側でCHGJOB CCSID(5026) を実行 → コンパイル実行 → CHGJOB CCSID(5035) を実行
というような仕組みを作る
案2. VSCode側でCHGJOB CCSID(5026) を実行 → コンパイル実行 → CHGJOB CCSID(5035) を実行
というような仕組みを作る
等が考えられます。
ご質問頂いた方は、案2で試して見たそうですが、コンパイルエラー時にccsid 5035に戻らないのが使いにくい、との事。これも追加実装できると思いますが、ならば、案1であればMONMSG CPF0000 をコンパイル実行の行に仕込めば簡易でいいかもしれません。