knowledge IBM i(AS/400)に対してFTP経由でリモートコマンドを発行するサンプル

本記事では、FTPアクションと「rcmd」コマンドを用いてAS/400(IBM i)にリモートコマンドを発行するサンプルを紹介します。
下記一例は、ライブラリ「TSTLIB」にデータエリア「TSTDTAARA」を作成する例です。
ただし、リモートコマンドがエラーになった場合はアクション自体はエラーにならず、戻り値を設定していてもエラーになった際のメッセージID以上の情報は判明しない為ご注意ください。
(戻り値一例:550 CAUSE CODE IS CPF1023; MESSAGE TEXT NOT AVAILABLE.)

なお、ここで掲載しているものは、あくまでもAutoMateを使用して「rmcd」コマンドを発行するサンプルとなります。
IBM iのコマンドが失敗する等、AutoMateとは直接関係のない部分に関するお問い合わせには弊社ではお答え致しかねますのでご留意ください。

<AMVARIABLE NAME="var_IP" VALUE="192.168.0.0" />
<AMVARIABLE NAME="var_User" VALUE="QSECOFR" />
<AMVARIABLE NAME="var_Pass" VALUE="QSECOFR" />
<AMVARIABLE NAME="var_Return" VALUE="" />
<!--ログイン-->
<AMFTP ACTIVITY="logon" SERVER="%var_IP%" USERNAME="%var_User%" PASSWORD="AM5Vp74iEoKrp1Zadfo/H258iHV8WK1RgBYrq1MJJW2u2g=aME" SESSION="FtpSession1" />
<!--リモートコマンドの発行 一例:データエリアの作成-->
<AMFTP ACTIVITY="advanced" FTPCOMMAND="user_defined" PARAMETER="rcmd CRTDTAARA TSTLIB/TSTDTAARA TYPE(*CHAR)" RESULTVARIABLE="var_Return" SESSION="FtpSession1" />
<!--ログオフ-->
<AMFTP ACTIVITY="logoff" SESSION="FtpSession1" />