予期しないウィンドウをチェックする

場合によっては、記録中には出現しなかった別のウィンドウが再生中に出現することが考えられます。 たとえば、同一ユーザーで複数回ログインすると、複数ユーザー ログイン警告が表示されます。

エラーのないスクリプトを作成するには、SapGuiSetActiveWindow などの関数をスクリプト化する前に、新しいウィンドウが使用可能かどうかをチェックする必要があります。チェックしない場合、エラーが表示されることになります。

多重ログオン ダイアログは通常 SapGuiLogon によって自動的に処理されます。 次の例は、この状況を正しく処理するための方法を表しています。
if(SapGuiVerifyWindowAvailability("wnd[1]", null, false,
SEVERITY_INFORMATIONAL)) then
SapGuiSetActiveWindow("wnd[1]");
SapGuiSelectRadioButton("");
SapGuiPressButton("");
end;
SapGuiVerifyWindowAvailabiltity 以外にも、SapGuiVerifyObjectAvailability を絶対オブジェクト ID で使用することができます。 例:
SapGuiVerifyObjectAvailability(gsConnId + "/ses[0]/
wnd[1]", true, SEVERITY_INFORMATIONAL)

SEVERITY_INFORMATIONAL を使用するのは、オブジェクト/ウィンドウがない場合にエラーを受信せず、オブジェクトがある場合にのみアクションを実行するためです。 オブジェクトがない場合、エラーを記録する必要はありません。

SapGuiVerifyWindowAvailability には、ウィンドウ タイトルの確認に使用される追加のパラメータがあります。 これは、ユーザーが複数ある方法のうちのいずれかを使用して処理できるダイアログが複数あり、そのうちの 1 つが予期される場合に便利です。 関数を使用すると、特定のタイトルを持つダイアログが使用可能かどうかだけを検証します。