IBM の Java Toolbox for Java を使用することをお勧めします。JT400.jar をクラスパス (Java が iSeries で実行されている場合は JT400Ntv.jar) に入れます。ProgramCall クラスと CommandCall クラスの両方を使用しました。
com.ibm.as400.access.CommandCall クラスは使いやすいです。これには、com.ibm.as400.access.AS400 クラスを渡す単純なコンストラクターがあります。次に、次のように run メソッドを使用します。
CommandCall command = new CommandCall(as400);
command.run("CPYF FROMFILE(BLAH) TOFILE(BLAHBLAH) CRTFILE(*YES)");
もちろん、その特定の CL コマンドを使用することはありませんが、アイデアは理解できます。CommandCall クラスを使用する場合は、コマンドからのメッセージを処理することを常にお勧めします。これを使用する 1 つのプログラムでは、次のように画面上のテキスト ボックスにユーザーへのメッセージを表示します。
AS400Message[] messageList = command.getMessageList();
for (int i=0;i < messageList.length;i++) {
String sMessageText = messageList[i].getText();
sMessage+=sMessageText + "\n";
}
com.ibm.as400.access.ProgramCall クラスはより多くの作業を必要としますが、返されたパラメーターにアクセスできます。私は通常、値を返す既存の RPG ワーカー プログラムを呼び出しているため、これをより頻繁に使用します。このために、com.ibm.as400.access.ProgramParameter 配列を定義します。Java からプログラムにパラメーターを渡すときは、com.ibm.as400.access.AS400Text などのクラスを使用して、パラメーターを AS/400 に適した値に変換することを忘れないでください。ProgramCall コマンドの詳細については、IBM のドキュメントを使用してよく調べてください: http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzahh/page1.htm