*

[Java, jt400]AS400のCLからJavaをCallする方法。

公開日: : 最終更新日:2015/03/16 AS400, CLP, i Series, java, System i

久しぶりにAS400ネタ。

CLからJavaを呼び出したい!!

JavaをCLから実行したい場合があります。
バッチ的にスケジュールで流すとかね。
というわけでそのソースです。

前提条件として、/qibm/ProdData/Java400というIFS環境に、
testjavaというプロジェクトを置いたときとします。
main関数はTest.class。

解説

      PGM                                                           
                                                                    
      DCL        VAR(&TMP) TYPE(*DEC) LEN(5 0)                      
      RTVJOBA    CCSID(&TMP)                                        
      CHGJOB     CCSID(5035)                                        
                                                                    
      ADDENVVAR  ENVVAR(CLASSPATH) +                                
                   VALUE('.:/qibm/ProdData/Java400/')              
                                                                    
      RUNJVA     CLASS(testjava.Test) OUTPUT(*PRINT)        
                                                                    
      RMVENVVAR  ENVVAR(CLASSPATH)                                  
      CHGJOB     CCSID(&TMP)                                        
                                                                    
      ENDPGM                                                        

解説

Javaを実行するときに必要なことは、「CCSIDを5035に変えること」と、「環境変数の準備」です。
CCSIDについては、一度現在のCCSIDを保管して、終了時に元に戻しています。
環境変数CLASSPATHについては、JOB単位で環境変数を変更し、こちらも終了時に元に戻しています。
環境変数自体はプロジェクトのフォルダが存在するディレクトリにPathを通します。
UNIX形式なので、区切り記号は「:」(コロン)です。参考用にカレントディレクトリも追加しています。

RUNJVAのOUTPUTというプロパティが*PRINTなのは、バッチ的なプログラムのとき、メッセージログを残すためです。
System.out.println()等による標準出力メッセージは表示が一瞬かつ実行環境がJavaになっているため、AS400のログに残せません。
(私がやり方知らないだけかも)
ログに残したい場合は、このように*PRINTにすると、スプールとして保管してくれます。

ad

関連記事

logo

PCからAS400のコマンドを実行する方法

C#でAS400のRPGを呼んだりコマンドを実行する方法はこちら→C#でAS400のプログラムCal

記事を読む

cwbx.dll 参照の追加

[C#,AS400]C#でAS400のプログラムCallとコマンドの実行方法。

PCのプログラムからCall AS400のRPGPGMをPCから呼び出ししたいときがあります。

記事を読む

wannabenote

[java, NetBeans, AS400]NETBEANSで作成したjavaプロジェクトをAS400上で実行する。

概要 NetBeansでコンパイルしたものをそのままAS400に実行させます。 また、NetBe

記事を読む

logo

[C#]AS400をDBに見立ててPCのPGMからODBC接続する

◆前提条件◆ PCにClient Accessがインストールされている。 PCに.NET Fra

記事を読む

logo

[java, NETBEANS]出来上がったclassファイルをコマンドラインで実行する。

コマンドラインから実行 以前作成したJavaのHelloWorldをコマンドラインから実行してみま

記事を読む

logo

[AS400]5250エミュレータの挙動がおかしいときの対処

というわけで前回から引き続き解決編です。 ちなみに前回は↓こんなん↓になったりしてましたね。

記事を読む

wannabenote

[Java, Oracle]NetBeansでojdbc6.jarに参照設定をし、JavaでOracleに接続する。

NetBeansでJavaでOracleに接続する そんなプログラムを作りたい。 というわけで作

記事を読む

logo

[Java, DBUtils]ApacheのDBUtilsを利用して、データベースにアクセスする。

手抜きがしたい オブジェクト指向をする上で、o/r mapperが欲しくなります。 かなーり昔に

記事を読む

logo

[SQL, DB2]FETCH FIRSTで指定した行数データを取得する(営業日計算)

営業日計算 営業日を計算するのは結構面倒です。 特に独自のテーブルだと非常に厄介です。 例

記事を読む

logo

[C#]AS400のメンバーを指定してデータにアクセスする

◆前提条件◆ CliantAccessをインストールしている。 .NET Framework3.

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑