プロが教えるわが家の防犯対策術!

JAVAからAS/400のプログラムを起動しようとしています。

AS/400側はCLのプログラムで、
1.パラメータを受け取ってデータエリアの更新
2.他PGMのCALL(パラメータの内容を印刷)
の2つを行おうとしています。

実行したところ、1.のデータエリア更新はできているのですが、2.の他PGMのCALLが実行されません。

同じような経験をされた方で、何かご存じの方がいらっしゃいましたら、よろしくご教授ください。
以下、ソースを示します。

JAVA側の内容

import java.io.*;
import com.ibm.as400.access.*;
public class TESTD{
public static void main( String args[] ){
try{
CallAS400( args[0] );
}catch(Exception e){
System.out.println( e.getMessage() );
}
}
private static void CallAS400(String RCode){
try{
AS400 sys = new AS400(sysName,USER,PASS);
ProgramParameter[] parmList = new ProgramParameter[1];
AS400Text nametext = new AS400Text(6);
parmList[0] = new ProgramParameter(nametext.toBytes(RCode));

ProgramCall pgm = new ProgramCall(sys,TEST.PGM,parmList);
pgm.run();

sys.disconnectAllServices();

}catch(Exception e){
System.out.println( e.getMessage() );
}
}
}


*AS/400側:TEST.PGM の内容
PGM: PGM PARM(&CODE)

DCL VAR(&CODE) TYPE(*CHAR) LEN(6)

CHGDTAARA DTAARA(QTEMP/DTA) VALUE(&CODE)

CALL PGM(TESTPRINT) PARM(0 0 &CODE)

RETURN
ENDPGM

A 回答 (1件)

AS/400のCLは1つのプログラムですね。


データエリアの変更ができて印刷ができないのなら、CLプログラムまたは印刷プログラムの問題のようです。(JAVAとは無関係)
    • good
    • 1
この回答へのお礼

自己解決(?)の報告です。

印刷プログラム(TESTPRINT)自体には問題はなかったようで、JAVA→CL→RPGと呼ぶと反応しなかったのですが、
JAVA→CL,CLでSBMJOB(RPG) とすると動きました。

余裕があれば、引き続き調査をしたいと思います。

お礼日時:2006/05/30 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!