Versions Compared

Key

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

WEBEVENTフォームを呼び出す主な手段は、HandleEvent()というJavaScript関数です。WEBEVENTフォームからWAMフォームを呼び出すためのJavaScriptベースの手段として、それとよく似たHandleWAMEvent()という関数も用意されています。

WEBEVENTフォームからWAMフォームを呼び出すには、以下のようにします。

  1. 提供されているHandleWAMEvent()というJavaScript関数を使用します。
    この関数を呼び出す方法は、HandleEvent()関数を呼び出す方法と同じです。

  2. パラメータは、HandleWAMEvent(WAM, Webroutine, TechServ, Form, Target, actionRequest, Partition, Language, optSessionKey, optDebugMode, "ASURNAME", "ASTDRENTRY", ...)のようになっていて、各フィールドに対応する可変数のパラメータの値をWebroutineに渡すことができます。ここでフィールド名の前に接頭辞を1文字付けることが重要です。この接頭辞は、Alphanumericフィールドの場合はA、Packedフィールドの場合はP、Signedフィールドの場合はS、RDMLXフィールドの場合はQです。この接頭辞は、WAMのWEBROUTINEにフィールド値を渡すときには必要ありませんが、フォームのフィールド値にアクセスする時は必須です。これはJavaScriptのHandleWebEvent()関数のセマンティックスと一貫性を持たせるためでもあります。
    HandleWAMEventのパラメータは、以下のとおりです。

    WAM

    ターゲットWAMの名前

    Webroutine

    ターゲットWEBROUTINEの名前

    TechServ

    使用するテクノロジ・サービス

    デフォルト値のLANSA 使用するテクノロジ・サービス デフォルト値のLANSA XHTMLテクノロジ・サービスの場合はnull

    Form

    送信フォームのためのフィールド値を取得するフォームHTMLオブジェクト (例:「MYFORM」という名前のフォームであればdocument.MYFORM)

    デフォルト値のLANSAフォームの場合はnull

    Target

    ナビゲーションの結果が表示されるターゲットのiframe、frame、ウィンドウ

    新しいページを呼び出す場合はnullナビゲーションの結果が表示されるターゲットのiframe、frame、ウィンドウ。新しいページを呼び出す場合はnull

    actionRequest

    nullの場合は、デフォルトの"cgi-bin/lansaweb"操作の要求

    Partition

    WAMフォームを実行する区画

    Language

    WAMを実行する言語

    optSessionKey

    SessionKeyMethodがURLの場合、任意でセッション・キーを渡すことがが可能

    SessionKeyMethodがURLの場合、任意でセッション・キーを渡すことがが可能。それ以外はnullそれ以外はnull

    optDebugMode

    デバッグURLキーワードを渡して、WAMのデバッグが可能。それ以外はnull



  3. このJavaScript関数は、指定のFormパラメータ (またはFormがnullの場合はデフォルト値の"LANSA"フォーム) からフィールドの値を取得し、一時的なフォームを作成して、URLに送信されるこのフォームにフィールドと値を挿入します。そして、URLに対するHTTP postを実行します。HandleWebEvent()にパラメータとして渡すフィールド名にはすべて、フィールドのタイプを示す1文字の接頭辞を付ける必要があることに注意してください。WAMフィールド参照は接頭辞を必要としませんが、WEBEVENTファンクションは必要とします。したがって、このJavaScriptコードは、WEBEVENTフォームから指定のフィールド値を取得するときには1文字の接頭辞付きで取得しますが、WAMファンクションにフィールド名を送信するときには接頭辞なしで送信します。

  4. その結果、指定のフィールド値が渡されたWebroutineが実行され、Webroutineページがブラウザーに表示されます。Webroutineに値を設定するには、送信するフィールドがWEB_MAP FOR(*INPUTまたは*BOTH)で指定されていなければいけません。

...