RDML クライアント・アプリケーションの例については、「RDML の例」を参照してください。

以下は、JSMへの接続を開いて閉じる非常に簡単なLANSAファンクションです。エラーが発生した場合、ステータスとメッセージが表示されます。このプログラムはサービスを使用しません。接続のトレースを有効にして、接続のオープンとクローズのトレースを確認できます。

例1 - デフォルトを使用(JSMCLTDTAデータ・エリア)

FUNCTION OPTIONS(*DIRECT)
*
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
*
USE BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)
IF COND('#JSMSTS *NE OK')
DISPLAY FIELDS(#JSMSTS #JSMMSG)
ENDIF
*
USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)
IF COND('#JSMSTS *NE OK')
DISPLAY FIELDS(#JSMSTS #JSMMSG)
ENDIF

 例2 - サーバー引数を使用

FUNCTION OPTIONS(*DIRECT)
*
DEFINE FIELD(#JSMSRV) TYPE(*CHAR) LENGTH(50)
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
*
CHANGE FIELD(#JSMSRV) TO('LOCALHOST:4560')
*
USE BUILTIN(JSM_OPEN) WITH_ARGS(#JSMSRV) TO_GET(#JSMSTS #JSMMSG)
IF COND('#JSMSTS *NE OK')
DISPLAY FIELDS(#JSMSTS #JSMMSG)
ENDIF
*
USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)
IF COND('#JSMSTS *NE OK')
DISPLAY FIELDS(#JSMSTS #JSMMSG)
ENDIF


以下の例は、JSM組み込み関数の使用方法や順序を示しています。これは完全なRDMLファンクションではありません。この例では、JSM_OPENがJava Service Managerへの接続を開き、スレッドを開始します。

一連のJSM_COMMANDが以下の目的で発行されます。

  • FTPService サービスをロードする
  • ホストに接続する
  • 指定したユーザー/パスワードを使用してログインする
  • ディレクトリ・パスを変更する
  • モードをバイナリーに設定する
  • ファイルをFTPサイトに入れる
  • FTP セッションを終了する
  • サービスをアンロードする

JSM_CLOSEで接続を終了します。

FUNCTION OPTIONS(*DIRECT)
 
DEFINE FIELD(#JSMSRV) TYPE(*CHAR) LENGTH(50)
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
 
USE BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('SERVICE_LOAD SERVICE(FTPSERVICE)') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('CONNECT HOST(LOCALHOST)') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('LOGIN USER(user) PASSWORD(code)') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('CHGDIR PATH(/JSM)') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('BINARY') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('PUT FROM(file) TO(/TMP/DIR/file)') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('QUIT') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_COMMAND) WITH_ARGS('SERVICE_UNLOAD') TO_GET(#JSMSTS #JSMMSG)
 
USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)

 
 

  • No labels