ステートフルアプリケーション、つまりステートフルサーバーとステートフルデタッチクライアントアプリケーションの場合、ステートフルAPCセッションが着信イベントでブロックされるのを防ぐために、非ブロッキングモデルと呼ばれる新しいイベント駆動型プログラミングモデルが確立されます。
非ブロッキングモデルでは、特定のABAPステートメントを使用してはなりません。コールトランザクションなど。
これらのステートメントの1つを使用すると、ABAPショートダンプAPC_ILLEGAL_STATEMENTを使用してアプリケーションが中止されます。ABAPキーワード文書APC-ノンブロッキングモードも参照してください。
さらに、ステートフルアプリケーションの場合、タイマークラスライブラリを利用できます。クラスファクトリCL_APC_TIMER_MANAGERを使用すると、タイプIF_APC_TIMER_MANAGERのタイマーマネージャオブジェクトを作成できます。タイマーの開始と停止に使用できます。
タイマーオブジェクトを使用する1つの例は、ステートフルAPCアプリケーションの非同期RFC呼び出しの未処理の応答のタイムアウトを実装することです。プログラミングパターン
ステートフルAPCサーバーには許可されていません。しかし、それはで置き換えることができます
WAITステートメントと比較すると、タイマーを停止するには、RFC結果メソッド内にいくつかの追加コードが必要です。