フレームワークがAJAXページに提供するオブジェクト

Visual LANSA

フレームワークがAJAXページに提供するオブジェクト


フレームワークは、AJAXページで使用するためにさまざまなJavaScriptオブジェクトを正式に公開します。

名前

タイプ

説明

BUSYとSETBUSYの使用

ファンクション

フレームワークのビジー状態をtrueまたはfalseに設定します。

BUSYとSETBUSYの使用

ファンクション

現在のFrameworkの状態を照会します。trueまたはfalseを返します。

SENDREQUESTファンクション

ファンクション

要求をサーバー上のAJAXファンクションに送信します。

AVSAVEVALUEファンクション

ファンクション

名前の付いた値を仮想クリップボードに保存します。

AVRESTOREAVALUEとAVRESTORENVALUEファンクション

ファンクション

仮想クリップボードから名前の付いた英数字値を復元します。

AVRESTOREAVALUEとAVRESTORENVALUEファンクション

ファンクション

仮想クリップボードから名前の付いた数値を復元します。

STYLESHEETの使用

ファンクション

ユーザーが選択したWINDOWS/XP/WEB形式に使用する必要がある可変スタイル・シートの名前を返します。

AJAXGLOBALを使用してページ間で情報を共有

オブジェクト

AJAXページ間で情報を交換するためのグローバル・オブジェクト。

提供されているAVTRACEファンクションを使用してAJAXページにトレースを追加

ファンクション

トレース・レコードに情報を追加します。

 

BUSYとSETBUSYの使用

BUSY

BUSY()はTrueまたはFalseを返し、フレームワークが現在処理中であるかどうかを示します。

通常は(必ずではありませんが)、フレームワークが処理中の場合はユーザーの要求を無視することが必要になります。

 

SETBUSY

SETBUSY(TrueまたはFalse)を使用すると、フレームワークを処理中状態に設定できます。

通常(必ずではありませんが)、SETBUSY(True)は要求をサーバーに送信する直前に使用し、SETBUSY(False)はサーバーの処理が完了した時点で使用します。

 

SENDREQUESTの使用

SENDREQUESTファンクション

非同期要求をWebサーバー上のAJAXファンクションに送信します。

構文

SETBUSY(SenderWindow,Function,Request,Payload,ResponseHandler,UserObject,ReportErrors,RouteMessages)

 

パラメータ

SenderWindow

必須。要求の送信元のウィンドウを識別できるように必ずウィンドウとして渡します。

Function

必須。サーバー上で呼び出すAJAX形式のRDMLまたはRDMLXファンクションの名前。NULLまたは""として渡した場合、デフォルトで、このページとともにフレームワークで定義されたファンクションの名前に設定されます。

Request

必須。AJAXファンクションに渡す要求。通常、この値は1つのAJAXファンクションで複数の異なる要求を処理できるようにするために使用されます。

Payload

必須。AJAXファンクションに渡すペイロード。通常、追加情報で要求を限定するために使用します。NULLまたは""として渡した場合、ブランクとしてAJAXファンクションに渡されます。最長256です。

ResponseHandler

必須。AJAXファンクションが実行を完了したときに制御を受け取るJavaScriptファンクション。

UserObject

省略可能。ハンドラーに渡す必要があるJavaScriptオブジェクト。通常、ハンドラー・ファンクションが更新する必要があるビジュアル項目をハンドラー・ファンクションに対して限定するために使用します。

ReportErrors

省略可能。AJAXファンクションで検出された致命的なエラーをフレームワークによって報告するかどうかを示します。TrueまたはFalseとして渡します。デフォルトはTrueです。

RouteMessages

省略可能。AJAXファンクションによって返されるメッセージを自動的にフレームワークのメッセージ・エリアに送信するかどうかを示します。TrueまたはFalseとして渡します。デフォルトはTrueです。

 

戻り値

なし

SENDREQUEST応答の処理

SENDREQUEST操作を発行するときは、AJAXファンクションが実行を完了したときに制御を受け取るJavaScript応答ハンドラー・ファンクションを指定する必要があります。

SETBUSY(SenderWindow,Function,Request,Payload,ResponseHandler,UserObject,ReportErrors,RouteMessages)

  

応答ハンドラーJavaScriptファンクションは、次のように宣言する必要があります。

function MyHandler(Function,Request,Payload,UserObject,FatalError,FatalMessage)

 

これらのパラメータは、フレームワークによって必ず応答ハンドラーに渡されます。 

Function

実行を完了したAJAXファンクションの名前。

Request

AJAXファンクションが処理した要求。

Payload

AJAXファンクションに提供されたペイロード。

UserObject

この応答を開始したSENDREQUESTファンクションに渡されたUserObject。

FatalError

AJAXファンクションの実行時に致命的なエラーが検出されたかどうかを示すTrueまたはFalse。

FatalMessage

致命的なエラーを検出したAJAXファンクションによって返されたすべてのエラーメッセージを含んでいる複合メッセージ。致命的なエラーが検出されなかった場合は、この値は""として渡されます。

 

 

AVSAVEVALUEとAVRESTORENVALUEの使用

この2つは、フレームワークの他の場所で使用される他の仮想クリップボードアクセス・ルーチンに似ています。

AVSAVEVALUEファンクション

フレームワークの仮想クリップボードに英数字または数値を保存します。

 

構文

AVSAVEVALUE(vValue, sID1, sID2, sID3, iInstance, sLanguage)

 

パラメータ

vValue

必須。仮想クリップボードに保存する英数字または数値。 

このパラメータがタイプ文字列のJavaScript変数の場合、その値は英数字の値としてクリップボードに送信されるので、その値を区別して取得できるのはAVRESTOREAVALUEファンクション(または同等のファンクション)を使用した場合だけです。 

このパラメータのタイプがnumberの場合、その値はタイプnumericとしてクリップボードに送信されるので、その値を区別して取得できるのはAVRESTORENVALUEファンクション(または同等のファンクション)を使用した場合だけです。 

sID1

必須。仮想クリップボード識別子1を含む文字列。

sID2

省略可能。仮想クリップボード識別子2を含む文字列。

sID3

省略可能。仮想クリップボード識別子3を含む文字列。

iInstance

省略可能。インスタンス番号が入った整数。指定しない場合、デフォルトで1に設定されます。インスタンスは、一般的にクリップボード値のリストを作成するために使用され、通常は、現在リストに存在するエントリーの数を示す別のクリップボード値を伴います。

sLanguage

省略可能。言語コードが入った文字列。指定されない場合のデフォルトはすべての言語です。

 

戻り値

なし

 

AVRESTOREAVALUEファンクションと AVRESTORENVALUEファンクション

フレームワークの仮想クリップボードから英数字または数値を復元します。

 

構文

AVRESTOREAVALUE/AVRESTORENVALUE(Default, sID1, sID2, sID3, iInstance, sLanguage)

 

パラメータ

Default

必須。値が見つからなかった場合に返すデフォルト値を含む文字列/数値。 

sID1

必須。仮想クリップボード識別子1を含む文字列。

sID2

省略可能。仮想クリップボード識別子2を含む文字列。

sID3

省略可能。仮想クリップボード識別子3を含む文字列。

iInstance

省略可能。インスタンス番号が入った整数。指定されない場合のデフォルトは1です。

sLanguage

省略可能。言語コードが入った文字列。指定されない場合のデフォルトはすべての言語です。

 

戻り値

なし

 

STYLESHEETの使用

STYLESHEETは、現在のフレームワークWebセッションに関連付けられている主要なカスケード・スタイル・シートの名前が入ったスクリプトを返します。 

引数はありません。

 

AJAXGLOBALを使用してページ間で情報を共有

AJAXGLOBALはJavaScriptオブジェクトで、AJAXページにのみアクセス可能です。

これを使用して、AJAXページ間で情報を共有することができます。

たとえば、AJAXPAGE01.HTMに次のように設定されていたとします。

 

AJAXGLOBAL.CurrentCompany = “ACME Engineering” 

 

 

この場合、AJAXPAGE002.HTMでは次の処理を実行できます。

 

alert(AJAXGLOBAL.CurrentCompany);  

 

 

また、次のようなコードを使用できます。

 

if (typeof(AJAXGLOBAL.XXXXXX) == ”undefined”)  

 

 

このコードはXXXXXXという名前のオブジェクトがAJAXGLOBALに存在するかどうかを確認する場合に使用します。

AJAXGLOBALを使用するとAJAXページ間で情報を効率的に共有できますが、AJAXページのスクリプトにしかアクセスできないため、サーバーのAJAX機能またはRAMPスクリプトと情報を共有する場合は代わりに仮想クリップボードを使用する必要があります。

AJAXGLOBALはセッションの開始時点から終了時点まで持続し、セッションの終了時点で破棄されます。