Versions Compared

Key

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

...


 vHandle_ARRIVE: function(oPayload, oPreviousForm)
   {
     /* Extract a copy of the requested behaviour */
   var RequestedBehaviour = this.RequestedArrivalBehaviour;
   /* Reset the requested behaviour back to the default behaviour */ç
    this.RequestedArrivalBehaviour = this.ArrivalBehaviours.Default;
     /* Now preform the requested behaviour */
     switch (RequestedBehaviour)
     {
        case this.ArrivalBehaviours.Default:
             SHOW_CURRENT_FORM(true);
             HIDE_5250_BUTTONS();
             SETBUSY(false);
             break;

        case this.ArrivalBehaviours.SearchNext:
             /* Logic to handle search next page behaviour*/
             break;

        case this.ArrivalBehaviours.SearchLast:
             /* Logic to handle search last page behaviour*/
             break;

        case this.ArrivalBehaviours.ForcedNavigation:
             /* Logic to handle a forced navigation, whatever that may be */
             break;

        case this.ArrivalBehaviours.AutoConfirmation:
             /* Logic to handle a an auto confirmation, whatever that may be */
             break;

        default:
             ALERT_MESSAGE(this.vName,"arrival script – invalid behaviour requested",RequestedBehaviour.toString());
 
     }
 
     /* <ARRIVE /> - Do not remove or alter this line */
 
     return(true);
   },


これで、画面がサポートする異なる到着動作、およびそれらを実装するために必要なコードが正式に定義されました。 

...


this.RequestedArrivalBehaviour = this.ArrivalBehaviours.SearchNext;
SENDKEY(KeyPageUp);

Note

注意:なぜこのようにするのでしょうか? 手間がかかるように感じます。ここで、すでに1つの利点を得ています。ペイロード・テクニックを使用して、誤ってSENDKEY(KeyPageUp,"SEARCHNET")とコード化したとします。プログラムをデバッグし、"SEARCHNET"が間違っていて"SEARCHNEXT"にする必要があることがわかるまでしばらく時間がかかります。ArrivalBehaviours.SeachNetをコード化した場合、それを実行するとスクリプトが失敗し、何か問題があることが即座に通知されます。

...