はじめに
お客様から「 IBM i 上でsftpクライアントを構成したいのだけれど、シェルコマンドを実行するためのCALL QP2TERMがエラーになってしまう」とお問い合わせをいただきました。
その(色々原因及び解決方法はあると思いますが1つの)解決方法です。
英小文字を扱える文字コード(CCSID)に変更すると実行できる
IBM i 側ジョブの CCSID が英小文字を正しく扱えない場合、PASE の実行ファイルパスやコマンド名が正しく渡らず、シェルコマンドや ssh の起動に失敗します。
なのでこの設定を変更します。
現環境のジョブの文字コード(CCSID)を確認
まず現環境のジョブの文字コード(CCSID)を確認します。
DSPJOB
ここが、以下のような小文字が認識できない文字コードの場合は、ジョブの文字コードを変更する必要があります。
コード化文字セットID:65535
省略時のコード化文字セットID:5026
CHGJOB CCSID(5035)を実行
ジョブのCCSIDを変更すればOK!
CHGJOBするとCCSID変わっていることが確認できる。

サインアウト及びジョブ落とすと元のCCSIDに戻ります。
qshでもシェルコマンド実行はできる
使い分けについてはこちらの記事を参考にしてください!
(QA) ACSから(IBM iの外から)IBM i のシェルコマンドを実行する
参考・備考記事たち
CCSIDについて書いた記事:
IBM i (駆け出し)日記:IBM i の文字コードとCCSID概要(初心者向け)
問い合わせいただいた元記事:
公開鍵認証を使用するように IBM i ssh、sftp、scp クライアントを構成する



