9.137 JSMX_COMMAND
この組み込み関数はハンドルにより識別されたJSM接続にコマンド文字列を送信します。
オプションの作業リスト引数を指定した場合、この作業リストに定義されたフィールドがロードされたサービスで利用できるようになります。作業リスト引数の指定がない場合、ロードされたサービスで利用できるフィールドはありません。注:この作業リストはエントリーを持つ必要はありません。
オプションの作業リスト戻り値を指定した場合、その作業リストがロードされたサービスで利用できるようになります。
参照:「JSMX_OPEN」および「JSMX_CLOSE」
各製品の対応
LANSA/AD |
使用可 |
RDMLXのみで使用可能 |
Visual LANSA for Windows |
使用可 |
RDMLXのみで使用可能 |
Visual LANSA for Linux |
使用可 |
RDMLXのみで使用可能 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
接続へのハンドル |
4 |
4 |
||
2 |
A |
必須 |
コマンド |
1 |
無制限 |
||
3 |
L |
任意 |
送信/受信するフィールド定義のリスト。このリストを渡さない場合、フィールドは使用できません。 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
ステータス |
1 |
20 |
||
2 |
A |
必須 |
メッセージ |
1 |
無制限 |
||
3 |
L |
任意 |
作業リスト |
技術ノート1
· 次の新しいキーワードがあります。SERVICE_CONTENT
· 次の属性を1つ取ることができます。*HTTP
· JSMX_COMMANDでSERVICE_LOADコマンドを送信する場合、SERVICE_CONTENTキーワードを使用する場合もあります。
注: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)