3.1.4 LANSA RDMLクライアント・プログラムのサンプル

LANSA Integrator

3.1.4 LANSA RDMLクライアント・プログラムのサンプル


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

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

例1 - 省略値を使用(JSMCLTDTAデータ・エリア)

 

FUNCTION OPTIONS(*DIRECT)

*

DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)

DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(255)

DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(255)

*

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(255)

DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(255)

*

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(255)

DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(255)

 

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)