ファンクション・キーの記述の使用によるRAMPボタンの条件設定

LANSA RAMP-TS

ファンクション・キーの記述の使用によるRAMPボタンの条件設定


この例では、5250画面上で以下のファンクション・キーの記述を

RAMPボタンおよびファンクション・キーと一致させる方法について説明します。

この例では、JavaScriptファンクションSHARED.apply5250FunctionKeyPatternsを使用します。このファンクションは指定した画面の行でFn=xxxxxxパターンを検索し、これらのパターンを使用して、一致するRAMP-TSボタンおよびファンクション・キーの条件を設定します。

一致にはパターンのテキスト部分は含まれないことに注意してください。通常、RAMP-TSでは、ボタンのキャプションはRAMPツールの5250画面とは無関係に定義されます。

このサンプルを実行するには、SHARED.apply5250FunctionKeyPatterns内のファンクションをコピーしてSHAREDスクリプト・オブジェクト、UF_SY420_RTS.JSファイルに貼り付けます。ファンクションのロジックは以下のとおりです。

·         すべてのRAMP-TSファンクション・キーおよびボタンは、初期時に無効になっています。

·         5250画面の指定された行でFn=XXXXXパターンを検索します。関連するファンクション・キーおよびボタンは、標準のSETKEYENABLEDファンクションを呼び出して有効にします。

·         特定のファンクション・キーを強制的に常に有効にしていた場合、これはSETKEYENABLEDを使用して実行されています。

·         特定のファンクション・キーを強制的に常に無効にしていた場合、これはSETKEYENABLEDを使用して実行されています。

 

ファンクションの呼び出し

以下の例のように、Destination画面の到着スクリプトからファンクションを呼び出します。

vHandle_ARRIVE:function(oPayload, oPreviousForm)

{

var bReturn = true;

SHARED.apply5250FunctionKeyPatterns(22,23); /* Must be before SHOW_CURRENT_FORM() */

SHOW_CURRENT_FORM(true); /* Show the form in the framework and show VLF buttons */

HIDE_5250_BUTTONS(); /* Hide any 5250 style buttons displayed */

GET_FORM_MESSAGE(22); /* Extract messages and hide the message line */

SETBUSY(false); /* Last thing done - turn off the busy state */

ここでは、到着画面の行22および23でFn=xxxxテキスト・パターンを検索し、RAMP-TSボタンおよびファンクション・キーをこれらのパターンと一致させます。これらは単にテキスト・パターンであり、5250画面でどのファンクション・キーが実際に有効であるかについて、プログラムとして厳密には何も実行しません。テキスト・パターンは5250画面上に配置され、コンピュータ・プログラムではなくユーザーにより読み取られます。

   

パラメータ

このファンクションには以下のパラメータがあります。

開始行番号

必須。整数。Fn=xxxxパターンを検索する最初の行。

終了行番号

省略可能。整数。Fn=xxxxパターンを検索する最後の行。デフォルト値は開始行番号と同じ値です。

常に有効にするキー/ボタン

省略可能。ファンクション・キー識別子の配列。例:[KeyEnter,KeyF11]

常に無効にするキー/ボタン

省略可能。ファンクション・キー識別子の配列。例:[ KeyF12, KeyF3 ]

例:

 

SHARED.apply5250FunctionKeyPatterns(22, 23, [KeyEnter,KeyF1], [KeyF12] );

 

これは、画面の行22から23をチェックし、EnterおよびF1キーを常に有効にし、F12キーを常に無効にするように指定しています。

無条件にPageUpキーとPageDownキーを有効にする場合、これらのキーを有効にするための一致するテキスト・パターンはありません。次のように記述します。

 

SHARED.apply5250FunctionKeyPatterns(22, 23, [ KeyPageUp, KeyPageDown ] );

 

SHAREDファンクションでは、これを継続的に実行することもできます。

「ファンクションに関する質問」も参照してください。