フレームワークがAJAXページに提供するオブジェクト
フレームワークは、AJAXページで使用するためにさまざまなJavaScriptオブジェクトを正式に公開します。
名前 |
タイプ |
説明 |
ファンクション |
フレームワークのビジー状態をtrueまたはfalseに設定します。 | |
ファンクション |
現在のFrameworkの状態を照会します。trueまたはfalseを返します。 | |
ファンクション |
要求をサーバー上のAJAXファンクションに送信します。 | |
ファンクション |
名前の付いた値を仮想クリップボードに保存します。 | |
ファンクション |
仮想クリップボードから名前の付いた英数字値を復元します。 | |
ファンクション |
仮想クリップボードから名前の付いた数値を復元します。 | |
ファンクション |
ユーザーが選択したWINDOWS/XP/WEB形式に使用する必要がある可変スタイル・シートの名前を返します。 | |
オブジェクト |
AJAXページ間で情報を交換するためのグローバル・オブジェクト。 | |
ファンクション |
トレース・レコードに情報を追加します。 |
BUSY
BUSY()はTrueまたはFalseを返し、フレームワークが現在処理中であるかどうかを示します。
通常は(必ずではありませんが)、フレームワークが処理中の場合はユーザーの要求を無視することが必要になります。
SETBUSY
SETBUSY(TrueまたはFalse)を使用すると、フレームワークを処理中状態に設定できます。
通常(必ずではありませんが)、SETBUSY(True)は要求をサーバーに送信する直前に使用し、SETBUSY(False)はサーバーの処理が完了した時点で使用します。
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(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は、現在のフレームワークWebセッションに関連付けられている主要なカスケード・スタイル・シートの名前が入ったスクリプトを返します。
引数はありません。
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はセッションの開始時点から終了時点まで持続し、セッションの終了時点で破棄されます。