特定のレイアウト・ファンクションを使用して個別に画面を変更する
実行できる5250画面固有の内容として、表示されるサブファイルにスクロール・ボタンを追加する場合があります。
このサンプル画面に関連付けられているスクリプトでは、以下のように3つの新しいファンクションを追加できます。
/* Apply layout changes specific to this screen */
ApplySpecificLayout : function()
{
if (CHECK_FIELD_EXISTS("PageDownMarker"))
HTMLAPI.insertSubFileScrollers("/ts/skins/images/pageup.gif",this.HandlePageUp,"/ts/skins/images/pagedown.gif",this.HandlePageDown,9,9,-46,82);
else
HTMLAPI.insertSubFileScrollers("/ts/skins/images/pageup.gif",this.HandlePageUp,null,null,9,9,-46,82);
},
/* Handle clicks on the subfile scroller images images */
HandlePageDown: function() { EXECUTE_BUTTON_SCRIPT(KeyPageDown); },
HandlePageUp: function() { EXECUTE_BUTTON_SCRIPT(KeyPageUp); },
また、画面が到着するたびにこの新しいロジックが呼び出されるように画面定義の到着スクリプトを変更します。
vHandle_ARRIVE: function(oPayload, oPreviousForm)
{
var bReturn = true;
/* If the department input field exists on the screen, display it */
if ( CHECK_FIELD_EXISTS("DEPTMENT") )
{
SHARED.ApplyStandardLayout();
this.ApplySpecificLayout();
etc, etc
実行すると、サンプルの5250画面は以下のようになります。
Page UpとPage Downのクリック可能なイメージがサブファイルの下に表示されていることに注意してください。クリックすると、ハンドラー・ファンクション、HandlePageUpとHandlePageDownが呼び出され、Page Up/Page Downのキーストロークがサーバーに送信されます。
注:これは、vHandle_BUTTONCLICKファンクションを実行して行われます。このため、このファンクションでPage UpおよびPage Downキーを正しく処理できることを確認する必要があります。