8.126 JSMX_COMMAND

この組み込み関数はハンドルにより識別されたJSM接続にコマンド文字列を送信します。

オプションの作業リスト引数を指定した場合、この作業リストに定義されたフィールドがロードされたサービスで利用できるようになります。作業リスト引数の指定がない場合、ロードされたサービスで利用できるフィールドはありません。注:この作業リストはエントリーを持つ必要はありません。

オプションの作業リスト戻り値を指定した場合、その作業リストがロードされたサービスで利用できるようになります。

参照:「8.127 JSMX_OPEN 」および「8.125 JSMX_CLOSE

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

接続へのハンドル

4

4

 

 

2

A

必須

コマンド

1

無制限

 

 

3

L

任意

送信/受信するフィールド定義のリスト。このリストを渡さない場合、フィールドは使用できません。

 

 

 

 

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

ステータス

1

20

 

 

2

A

必須

メッセージ

1

無制限

 

 

3

L

任意

作業リスト

 

 

 

 

 

技術上の注記1

      注:JSMDirectコンテキスト下で実行する場合、以下の現象だけが発生します。

If SERVICE_CONTENT(*HTTP) is used in the command string, the following will happen:
If this is the first connection to use SERVICE_CONTENT(*HTTP)
read STDIN (this can only be done once)
this connection takes ownership of JSM_CLOSE (receives STDOUT)
If this is NOT the first connection to use SERVICE_CONTENT(*HTTP)
this connection takes ownership of JSMX_CLOSE (receives STDOUT) - The previous connection loses the ownership.
 

シナリオA:

#1 JSMX_OPEN - open connection
#2 JSMX_OPEN - open connection
#3 JSMX_OPEN - open connection
#1 JSMX_COMMAND( "SERVICE_LOAD(xxx) SERVICE_CONTENT(*HTTP)" ) - send CGI keywords, read STDIN, claim ownership
#2 JSMX_COMMAND( "SERVICE_LOAD(xxx)" ) - send CGI keywords
#3 JSMX_COMMAND( "SERVICE_LOAD(xxx) SERVICE_CONTENT(*HTTP)" ) - send CGI keywords, transfer ownership
#1 JSMX_CLOSE - close connection
#2 JSMX_CLOSE - close connection
#3 JSMX_CLOSE - close connection and write STDOUT
 

シナリオB:

#1 JSMX_OPEN - open connection
#1 JSMX_COMMAND( "SERVICE_LOAD(xxx) SERVICE_CONTENT(*HTTP)" ) - send CGI keywords, read STDIN, claim ownership
#1 JSMX_CLOSE - close connection and write STDOUT
#2 JSMX_OPEN - open connection
#2 JSMX_COMMAND( "SERVICE_LOAD(xxx)" ) - send CGI keywords
#2 JSMX_CLOSE - close connection
#3 JSMX_OPEN - open connection
#3 JSMX_COMMAND( "SERVICE_LOAD(xxx) SERVICE_CONTENT(*HTTP)" ) - send CGI keywords, transfer ownership
#3 JSMX_CLOSE - close connection
 

注:

一度に1接続だけがJSMX_CLOSEの所有権を保有することができます。

STDINは1度だけ読み込まれます。

STDOUTは1度だけ書かれます。

CGIキーワードは常に送信されます。

技術上の注記2

次のデータ・タイプがサポートされます。他のデータ・タイプが指定された場合、そのデータ・タイプは無視されJSMには渡されません。

TYPE (*CHAR)
TYPE (*DATETIME)
TYPE (*BOOLEAN)
TYPE (*STRING)
TYPE (*INT)
TYPE (*TIME)
TYPE (*DATE)
TYPE (*PACKED)
TYPE (*DEC)
TYPE (*FLOAT)
TYPE (*SIGNED)

例:フィールド・リストと作業リストを使ってコマンドを呼び出します。

USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMHNDL #JSMCMD #FLDLST) TO_GET(#JSMSTS #JSMMSG #WRKLST)