Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

まず、SHARED.ApplyStandardLayoutを以下のように変更してオプションのパラメータを取得します。

Code Block
   ApplyStandardLayout : function(aPromptFields)

次に、以下のようなコードをApplyStandardLayoutに追加します。 

Code Block
      /* Insert prompting images */

...


      

...


      if (aPromptFields != null)

...


      {

...


          for (i = 0; i < aPromptFields.length; i++)  

...


          {

...


             oH = HTMLAPI.getElementbyName(aPromptFields[i]); 

...


           

...

  if (oH != null)

...


             {

...


                oI = HTMLAPI.insertImage(oH,"/ts/skins/images/zoom_in_18x18.gif",this.HandlePromptImageClick,12,12,2,3);

...


                oI.PromptFieldName = aPromptFields[i]; 

...


             }

...


          }

...


      }

aPromptFields == nullを確認することで、設計でパラメータを省略可能にすることができます。呼び出し側はこれを渡す必要はありません。  

SHAREDオブジェクトには、作成したイメージのクリックを処理するために以下の例のようにファンクションを追加する必要もあります。

Code Block
   /* ------------------------------------------------- */ 

...


   /* Handle clicking on a prompt image                 */  

...


   /* ------------------------------------------------- */ 

...


 

...


   HandlePromptImageClick : function(oE)

...


   {    

...


      var oI = oE.srcElement;

...


      if (typeof(oI.PromptFieldName) != "undefined")

...


      {

...


         SETCURSORTOFIELD(oI.PromptFieldName);

...


         EXECUTE_BUTTON_SCRIPT(KeyF4);

...


      }

...


   },  

最後に、SHARED.ApplyStandardLayoutを使用しているサンプル5250 デスティネーション画面を変更し、プロンプト可能なフィールドの配列を渡す必要があります。
まず、スクリプト・コードの先頭で以下のように配列を宣言します。

    aPromptFields : Array("DEPTMENT","SECTION","DATE_START_DDMMYY","DATE_END_DDMMYY"),

SHARED.ApplyStandardLayoutの呼び出しを変更します。

   

...

 SHARED.ApplyStandardLayout(this.aPromptFields);

結果の5250画面は、以下のように表示されます。

 

...