5.6.1 aXesターミナ・ルオペレーション・スクリプトの定義

LANSA Composer

5.6.1 aXesターミナル・オペレーション・スクリプトの定義


aXesターミナル・サーバーのオペレーション・スクリプトをTS_EXECUTEアクティビティに提供する際は、カンマで分けられた(CSV)ファイルの形でなければなりません。このためには、テキスト・エディタやスプレッドシートのプログラムなどの共通のツールを使用します。

次は受け取った販売注文の詳細を入力するために作られたaXesターミナル・オペレーション・スクリプトの例です。ここでは例として分かりやすいスプレッド・シートのプログラムが表示されています。

 

1つのaXesターミナル・サーバー・オペレーション・スクリプトには、1つまたは複数のスクリプト・ルーチンが含まれる場合があります。

カンマで分けられたスクリプト・ファイルのそれぞれの(コメント以外の)行には、最低でも10フィールド/列が含まれており、最大は13フィールド/列までです。aXesターミナル・オペレーション・スクリプトを作り上げる、それぞれのフィールド/列の目的・意味は以下の通りです。

注:セミコロン(;)やアスタリスク(*)は、LANSA Composerではコメントと扱われ、処理されません。

1. ルーチン名
   (axRN)

このaXesターミナル・オペレーション・スクリプト行が属するルーチンの名前を指定します。ルーチンの行はスクリプト内で連続して指定されていなければなりません。ルーチン名は任意です。ブランクの場合、この行は暗黙的にブランクのルーチン名のスクリプト・ルーチンとなります。

2. ラベル名
   (axLB)

この列は、(ルーチン内で)一意のこの行に付けられたラベル名を指定します。このラベル名は、同じルーチン/スクリプト内の別の行で正常またはエラー終了時の次に起こすアクションとして参照される場合があります。

3. オペレーション
   (axOP)

このスクリプト行で実行されるaXesターミナル・オペレーションを指定します。以下のいずれかを使用できます。

GET (フィールド値を取得)

SET (フィールド値を設定)

SEND (aXesターミナル・サーバーにデータを送信)

このオペレーションの列に上記以外の値が含まれる場合は、無視されます。

4. フィールド名
   (axSF)

(GET/SET) この列は、取得・設定する値の画面フィールド名を指定します。この名前は、ユーザー定義名(TS_CONNECTアクティビティでaXesプロジェクト名が指定された場合)、またはaXesのフィールド識別子のいずれかを指定できます。GET やSETのオペレーションでこのフィールド名が指定されていない場合は、フィールドの行と列が指定されていなければなりません。

注:  LANSA Composerでは、この列の処理シーケンス変数名の指定もサポートします。 詳細はaXesターミナル・オペレーション・スクリプト変数を参照してください。

5. フィールド・インデックス
   (axSX)

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

注:  LANSA Composerでは、この列の処理シーケンス変数名の指定もサポートします。 詳細はaXesターミナル・オペレーション・スクリプト変数を参照してください。

6. フィールド行
   (axSR)

(GET/SET) この列は取得・設定する値の画面行番号を指定します。使用する場合、行と列は両方とも指定のフィールドの最初の位置を示していないといけません。フィールド名が指定されている場合、この列の値は無視されます。反対にフィールド名が指定されていない場合は、フィールドの行と列が指定されていなければなりません。

7. フィールド欄
   (axSC)

(GET/SET) この列は取得・設定する値の画面列番号を指定します。使用する場合、行と列は両方とも指定のフィールドの最初の位置を示していないといけません。フィールド名が指定されている場合、この列の値は無視されます。反対にフィールド名が指定されていない場合は、フィールドの行と列が指定されていなければなりません。

8. フィールド値
 (リテラル)
   (axVC)

(SET)この列は指定されたフィールドに設定するリテラル値を指定できます。

9. フィールド値
 (フィールド名)
   (axVX)

(GET/SET)この列には、指定の画面フィールドの値を取得(GET)または設定(SET)する処理シーケンスの名前を指定します。

GETオペレーションの場合、処理シーケンス名は必須です。

SETオペレーションの場合は、この欄に処理シーケンス変数を指定するか、前の欄にリテラルのフィールド値を指定します。

10. ファンクション・キー
   (axKY)

(SET/SEND)この欄に値が指定された場合、オペレーションはSETオペレーションの値が正常に設定された後、ここに指定されたファンクション・キーを利用してaXesターミナル・サーバーに現在のaXes画面データを送信します。TS_SETBYNAME、TS_SETBYPOS、TS_SENDアクティビティに示されているファンクション・キー値はどれでも使用できます。SETオペレーションの場合、この値が指定されていないと送信オペレーションは実行されません。SENDオペレーションの場合、この値が指定されていないとENTERだと見なされます。

11. 正常時のアクション
   (axOK)

この欄を利用して、このオペレーションが正常に終了した際の次のスクリプト・ルーチン・オペレーションの実行をコントロールします。以下のいずれかを使用できます。

*NEXT (スクリプトは同じルーチン内の次の行に進みます。)

*ERROR (スクリプトの実行はエラーの状態で終了します。)

これ以外のブランク以外の値は別のスクリプト行のラベル名と理解され、スクリプトは指定のラベルに一致するスクリプト・ルーチン内の最初の行を続けて実行します。

値を指定しない場合は、*NEXTが使用されます。

12. エラー時のアクション
   (axER)

この欄を利用して、このオペレーションがエラー(*)で終了した際の次のスクリプト・ルーチン・オペレーションの実行をコントロールします。以下のいずれかを使用できます。

*NEXT (スクリプトは同じルーチン内の次の行に進みます。)

*ERROR (スクリプトの実行はエラーの状態で終了します。)

これ以外のブランク以外の値は別のスクリプト行のラベル名と理解され、スクリプトは指定のラベルに一致するスクリプト・ルーチン内の最初の行を続けて実行します。

値を指定しない場合は、*ERRORが使用されます。

(*)例えば次のような場合にオペレーションはエラーで終了します。画面のフィールドが指定の行・欄に見つからない、指定のフィールド名が見つからない、SETオペレーションのフィールドが入力可能でない、指定のaXesターミナル・サーバー・オペレーションが実行されないなど。ただし、このようなエラーは5250アプリケーションのエラーとはなりません。例えば、5250アプリケーション・プログラムにより検知された入力値の妥当性エラーは、この目的ではエラーとはなりません。

13. コメント
   (axコメント)

この欄を利用して、このスクリプトに関するコメント・テキストを記録目的で入力することができます。この欄はLANSA ComposerのaXesターミナル・サーバー・アクティビティによって確保されています。