Page History
この例では、5250画面上で以下のファンクション・キーの記述を
[ |../../index.htm#lansa/lansa050_1365.htm]
現在地: 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 を使用して実行されています。
...
ファンクションの呼び出し
以下の例のように、デスティネーション画面の到着スクリプトからファンクションを呼び出します。
| Code Block |
|---|
...
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=XXXXX |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="85f774d6-c046-410f-8806-6564a6cacd00"><ac:plain-text-body><![CDATA[
常に有効にするキー/ボタン
パターンを検索する最後の行 デフォルト値は開始行番号と同じ値です。 | |
常に有効にするキー/ボタン | 任意 ファンクション・キー識別子の配列 例: |
|---|
[KeyEnter,KeyF11] |
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8876bc35-2aa0-4788-9303-8803a041db9b"><ac:plain-text-body><![CDATA[
常に無効にするキー/ボタン
常に無効にするキー/ボタン | 任意 ファンクション・キー識別子の配列 例: [ KeyF12, KeyF3 ] |
|---|
]]></ac:plain-text-body></ac:structured-macro>
...
例えば、
SHARED.apply5250FunctionKeyPatterns(22, 23,
...
[KeyEnter,KeyF1...
], ...
[KeyF12...
] );では、画面の行 22 から 23 をチェックし、Enter および F1 キーを常に有効にし、F12 キーを常に無効にするように指定しています。
無条件に PageUp キーと PageDown キーを有効にする場合、これらのキーを有効にするための一致するテキスト・パターンはありません。次のように記述します。キーを有効にする場合、これらのキーを有効にするための一致するテキスト・パターンはありません。次のように記述します。
...
...
SHARED.apply5250FunctionKeyPatterns(22, 23, ...
[ KeyPageUp, KeyPageDown ...
] );SHAREDファンクションでは、これを継続的に実行することもできます。 「[<span style="color: #0000ee"><span style="text-decoration: underline; ">ファンクションに関する質問</span></span>|lansa050_1650.htm#_Ref247103940]」も参照してください。 [ !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! |../../index.htm#lansa/lansa050_1365.htm]
「ファンクションに関する質問」も参照してください。
