You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

[ |../../index.htm#lansa/lansa050_1650.htm]
現在地: RAMP-TSガイド > プログラミング・テクニック > ファンクション・キーの記述の使用によるRAMPボタンの条件設定 > ファンクションに関する質問

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

SHARED.apply5250FunctionKeyPatterns が予想どおりに機能しない場合、どうしたらよいですか?
アプリケーション・レベルのトレース機能を常に有効にして画面を実行し、結果を検証してみてください。
また、デザイン・モード (検証画面など) で実行中に表示されるその他のボタンがこの問題の本質を邪魔してていないかも確認します。実際のテストでは、UF_EXEC (エンド・ユーザー)モードでロジックを実行してください。
デスティネーション画面のボタンのキャプションが、この問題の解決を邪魔している可能性もあります。5250 画面のテキスト・パターンは F7=ホップ を指定していても、RAMP ツールの画面の定義は F7 キーに「スキップ」というキャプションのボタンを使用するように指定していることがあります。  
SHARED.apply5250FunctionKeyPatterns のロジックを変更することはできますか?
はい、できます。このコードは、SHAREDオブジェクトで使用するサンプルとして提供されています。
これは、必要に応じてユーザーが変更および管理できるコードです。
例えば、最初にすべてのファンクション・キーを有効にしたい場合があります。どのファンクション・キーが実際に有効になっているかを現在の画面のみで確認するのは不可能であるため、F24=その他のキー・スタイルの画面を使用することは、可能な解決法です。これを実行するには、以下の行を変更する必要があります。
for (var i = 0; i < oForm.vFKERTS.length; i++) { if (oForm.vFKERTS.charAt != "0") oForm.vFKERTS = InsertString(oForm.vFKERTS,"0",i); }
 
 
次のように変更します。
for (var i = 0; i < oForm.vFKERTS.length; i++) { if (oForm.vFKERTS.charAt != "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)の「スクリプトのスケルトン」を参照してください。
 
[ |../../index.htm#lansa/lansa050_1650.htm]

  • No labels