GETFIELD
GETFIELDコマンドは、現在のaXesターミナル画面のフィールド属性を、フィールド名(任意でサブ・フィールドのインデックス)、または画面のフィールド行・列番号を参照することで取得します。
注: 名前がRTNxxxで始まるクライアント・プログラムの変数に戻り値を受け取るためには、通常コマンド文字列にSERVICE_EXCHANGE(*FIELD)が指定されていなければなりません。 詳細は「aXesTerminalServiceの使用」 を参照してください。
任意
GETFIELD -------- NAME ------------ 画面フィールド名 --------->
>-- INDEX ----------- 0 -------------------------->
値
>-- ROW ------------- 行番号 ----------------->
>-- COL ------------- 列番号 -------------->
RTNNAME --------- フィールド名 ----------------->
>-- RTNINDEX -------- フィールド名 ----------------->
>-- RTNROW ---------- フィールド名 ----------------->
>-- RTNCOL ---------- フィールド名 ----------------->
>-- RTNSUBFILEEXTENT フィールド名 -----------------|
キーワード
NAME |
属性を取り出すフィールドの名前を指定します。 この名前には、ユーザー定義名(CONNECTコマンドでaXesプロジェクト名が指定された場合)またはaXesのフィールド識別子のいずれかを指定できます。 NAMEが指定されない場合はROWとCOLが指定されていなければなりません。 |
INDEX |
このフィールド名がサブファイルに含まれている場合、このキーワードには取得する属性のフィルードの現在の画面上のインスタンスのインデックスを指定します。 サブファイルのスクロール位置にかかわらず、現画面の最初のインスタンスはインデックス1になります。 ユーザーのプログラムがサブファイルのフィールドを処理しないといけない場合は、1画面ごとに処理をしてSENDコマンドを利用してROLL_UP/ROLL_DOWNを送信します。(これは5250ターミナルのユーザーが行わなければならない動作と同じです) |
ROW |
必要なフィールドの画面行番号を指定します。 使用する場合、行と列は両方とも指定のフィールドの最初の位置を示していないといけません。 NAMEが指定されている場合、このコラムの値は無視されます。 反対にNAMEが指定されない場合は、ROWとCOLが指定されていなければなりません。 |
COL |
必要なフィールドの画面列番号を指定します。 使用する場合、行と列は両方とも指定のフィールドの最初の位置を示していないといけません。 NAMEが指定されている場合、このコラムの値は無視されます。 反対にNAMEが指定されない場合は、ROWとCOLが指定されていなければなりません。 |
RTNNAME |
ユーザー定義のフィールド名(CONNECTコマンドでaXesプロジェクト名が指定された場合)、またはプロジェクトが指定されていない場合やフィールド名が定義されていない場合はaXesフィールドの識別子を取り出すJSMとクライアント・プログラムの間で交換するフィールド名を指定します。 |
RTNINDEX |
フィールドにサブファイルが含まれている場合、このキーワードには現在のフィールドの画面上のインスタンスのインデックスを受け取るJSMとクライアント・プログラム間で交換されたフィールド名を指定することができます。 サブファイルのスクロール位置にかかわらず、現画面の最初のインスタンスはインデックス1になります。 |
RTNROW |
フィールドの画面行番号を受け取るJSMとクライアント・プログラムとの間で交換されたフィールド名を指定します。 |
RTNCOL |
フィールドの画面列番号を受け取るJSMとクライアント・プログラムとの間で交換されたフィールド名を指定します。 |
RTNSU BFILEEXTENT |
フィールドにサブファイルが含まれている場合、このキーワードには現在のフィールドの画面上のインスタンスの番号(現画面に表示されたサブファイル・レコードの番号)を受け取るJSMとクライアント・プログラム間で交換されたフィールド名を指定することができます。 信頼性を保つため、このキーワードはサブファイル表示が必要条件とならないフィールドに使用するようにしてください。例えば”〜の処理”といったスタイルの表示での任意入力フィールドなどです。 |
例
RDMLの例
DEFINE FIELD(#MYSFLEXT) REFFLD(#STD_NUM)
CHANGE FIELD(#JSMCMD) TO('GETFIELD ROW(8) COL(44) RTNSUBFILEEXTENT(MYSFLEXT) SERVICE_EXCHANGE(*FIELD)'
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
RDMLXの例
define field(#mysflext) reffld(#std_num)
#jsmcommand := 'GETFIELD ROW(8) COL(44) RTNSUBFILEEXTENT(MYSFLEXT) SERVICE_EXCHANGE(*FIELD)'
use builtin(jsmx_command) with_args(#jsmhandle #jsmcommand) to_get(#jsmstatus #jsmmessage)