10

テスト目的で、ABAP プログラムが数秒間待機する必要があります。これはどのように行うことができますか?

4

4 に答える 4

22

2 つの解決策:

1) WAIT UP TO ... SECONDSを使用します。

WAIT UP TO 42 SECONDS.
WAIT UP TO '0.5' SECONDS. " decimals are possible since ABAP 7.40 SP 8
  • ロールアウトを行い、作業プロセスをリスナーにリリースします
  • 暗黙的なデータベースのコミットを行います

CPU プロセスが貴重な場合、および暗黙的なコミットによってデータが破損したり、データベース カーソルが開いているために短いダンプが発生したりしない場合に使用します。

2) または、汎用モジュールを使用しますENQUE_SLEEP

    CALL FUNCTION 'ENQUE_SLEEP'
      EXPORTING
        seconds = 42.
  • 作業工程を解放しない
  • 暗黙的なデータベース コミットを発生させない

暗黙的なコミットを行う余裕がなく、システムが SLEEP コマンドの実行中に拘束されている作業プロセスを処理できる場合に使用します。

于 2008-12-29T00:29:16.417 に答える
4

ABAP WAIT UP TO SAP ドキュメント

WAIT ステートメントには、避けるべき暗黙の COMMIT があります。

于 2009-01-06T16:30:08.133 に答える
2

本当に一時停止する必要がありますか?プログラムを実行する前にトランザクションフィールドに/hを入力するか、コードにブレークポイントを設定することで、トレースできます。

于 2009-04-20T19:51:21.540 に答える