SETBYNAME

LANSA Integrator

SETBYNAME


SETBYNAMEコマンドは、現在のaXesターミナル画面のフィールド値を、フィールド名(任意でサブ・フィールドのインデックス)で参照して設定し、(オプションとして)現在のaXes画面データをaXesターミナル・サーバーに送信することもできます。 これは5250ターミナルでタイプする時と似ています。

注: 名前がRTNxxxで始まるクライアント・プログラムの変数に戻り値を受け取るためには、通常コマンド文字列にSERVICE_EXCHANGE(*FIELD)が指定されていなければなりません。 詳細は「aXesTerminalServiceの使用」 を参照してください。

                                                          必須

 SETBYNAME ------- NAME ------------ 画面フィールド名  --------->

  

               >-- VALUE ----------- 値 ----- ---------------->

                                                          任意

               >-- INDEX ----------- 0 --- ---------------------->

                                     値

               >-- SENDKEY ----------(なし) --------------------->

                                      ENTER

                                      F1  … F9

                                      F10 … F24

                                      HELP 

                                      PRINT

                                      PAGE_UP

                                      PAGE_DOWN

                                      ROLL_UP

                                      ROLL_DOWN

               >-- RTNSIG -- ------- フィールド名  ---------------->

               >-- RTNSCREEN ------- フィールド名  ----------------|

キーワード

NAME

このキーワードには、設定する値のフィールド名を指定します。 この名前には、ユーザー定義名(CONNECTコマンドでaXesプロジェクト名が指定された場合)またはaXesのフィールド識別子のいずれかを指定できます。

INDEX

このフィールド名がサブファイルに含まれている場合、このキーワードには取得する属性のフィルードの現在の画面上のインスタンスのインデックスを指定します。 サブファイルのスクロール位置にかかわらず、現画面の最初のインスタンスはインデックス1になります。 ユーザーのプログラムがサブファイルのフィールドを処理しないといけない場合は、1画面ごとに処理をしてSENDコマンドを利用してROLL_UP/ROLL_DOWNを送信します。(これは5250ターミナルのユーザーが行わなければならない動作と同じです)

VALUE

このキーワードには指定のフィールドに設定する値を指定します。

SENDKEY

このキーワードに値が指定された場合、コマンドは(フィールド値が正常に設定された後に)ここに指定のファンクション・キーを使ってaXesターミナル・サーバーに現在のaXes画面データを送信します。 上記に示すファンクション・キーのいずれかを使用できます。 指定されない場合は、送信処理は実行されません。

RTNSIG

処理後に表示される画面の画面署名を受け取るJSMとクライアント・プログラムとの間で交換されたフィールド名を指定します。

RTNSCREEN

処理後に表示される画面の画面名を受け取るJSMとクライアント・プログラムとの間で交換されたフィールド名を指定します。 CONNECTコマンドでaXesプロジェクト名が指定された場合は画面名はユーザー定義の名前で、画面に1つの名前が割り当てられます。 それ以外の場合は画面署名が戻されます。

 

RDMLの例

DEFINE FIELD(#MYSCREEN) REFFLD(#STD_TEXT)

CHANGE FIELD(#JSMCMD) TO('SETBYNAME NAME(FLD001) VALUE(ABC001) RTNSCREEN(MYSCREEN) SERVICE_EXCHANGE(*FIELD)'

USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)

 

RDMLXの例

define field(#myscreen) reffld(#std_text)

#jsmcommand := 'SETBYNAME NAME(FLD001) VALUE(ABC001) RTNSCREEN(MYSCREEN) SERVICE_EXCHANGE(*FIELD)'

use builtin(jsmx_command) with_args(#jsmhandle #jsmcommand) to_get(#jsmstatus #jsmmessage)