ファンクションに関する質問

LANSA RAMP-TS

ファンクションに関する質問


SHARED.apply5250FunctionKeyPatternsが予想どおりに機能しない場合、どうしたらよいですか?

アプリケーション・レベル追跡機能を常に有効にして画面を実行し、結果を検証してください。

デザイン・モード(検証画面など)で実行中に表示されるその他のボタンによりこの問題が明確になっていないかも確認します。実際のテストでは、UF_EXEC (エンド・ユーザー)モードでロジックを実行します。

Destination画面のボタンのキャプションにより問題が明確になっていない可能性もあります。5250画面のテキスト・パターンはF7=ホップを指定しているが、RAMPツールの画面の定義はF7キーに「スキップ」というキャプションのボタンを使用するように指定していることがあります。

SHARED.apply5250FunctionKeyPatternsのロジックを変更することはできますか?

はい。このコードは、SHAREDオブジェクトで使用するサンプルとして提供されています。

これは、必要に応じてユーザーが変更および管理できるコードです。

例えば、最初にすべてのファンクション・キーを有効にしたい場合があります。どのファンクション・キーが実際に有効になっているかを現在の画面のみで確認するのは不可能であるため、F24=その他のキー・スタイルの画面を使用することは、可能な解決法です。これを実行するには、以下の行を変更する必要があります。

 

for (var i = 0; i < oForm.vFKERTS.length; i++) { if (oForm.vFKERTS.charAt(i) != "0") oForm.vFKERTS = InsertString(oForm.vFKERTS,"0",i); }

  

 

変更後:

 

for (var i = 0; i < oForm.vFKERTS.length; i++) { if (oForm.vFKERTS.charAt(i) != "1") oForm.vFKERTS = InsertString(oForm.vFKERTS,"1",i); }

 

 

呼び出し側で常に指定せずに、EnterキーおよびF1キーを常に有効にしたい場合があります。このため、この行をSHARED.apply5250FunctionKeyPatternsの最後に追加できます。

SETKEYENABLED(GLOBAL_oCurrentTSform.symbolicName,KeyEnter,true,true);

SETKEYENABLED(GLOBAL_oCurrentTSform.symbolicName,KeyF1,true,true);

 

また、Fn=xxxxx文字列のxxxxxテキスト部分に何らかの方法によりボタン・キャプションを連結したい場合もあります。2番目のキー一致要素、fkeyMatch[2]および標準のRAMP-TS OVERRIDE_KEY_CAPTION_SCREENファンクションを使用してこれを実行することもできます。

特殊なRAMPツール・オプションを使用して、すべてのオプションや組み合わせを自動的かつ効率的に扱うことができないことが理解されたかもしれません。多数のチェック・ボックスやオプションがあるため、これらの意味や動作を理解することはできないかもしれません。このような汎用スクリプト・アプローチの使用は簡易的で、ニーズに合わせてアプローチをカスタマイズすることができます。

SHARED.apply5250FunctionKeyPatternsをすべての到着スクリプト内に配置するにはどうすればよいですか?

挿入先のSHAREDオブジェクトですでに何かを呼び出していない限り、既存のスクリプトに個別に追加する必要があります。

また、SHARED.apply5250FunctionKeyPatternsがすべての新しいスクリプト内に自動的に生成されるように、到着スクリプトのスケルトンを変更することもできます。『RAMP-TSガイド』(lansa050.chm)の「スクリプトのスケルトン」を参照してください。