ABAP開発者を支援するブレークポイントID

ABAP開発でのbreakおよびbreak-pointステートメントの使用は、悪いマナーと見なされます。ブレークポイントIDステートメントはまったく別の問題です。これは便利で、この投稿では、それを何に使用できるかを学びます。



彼は何をしているの



オペレーターは、制御点のグループを設定します。トランザクションSAABのコンサルタントユーザー、特定のグループをアクティブ化でき、最大アクティブ化期間を制限します。アクティブグループブレークポイントIDに達すると、このコンサルタントのデバッガーが起動します。



どのように使用できますか



ポイントの1つのグループは、1つの機能またはプロジェクトにその意味で関連するオブジェクトに配置できます。これは、ある種のサブシステムまたはサービスの実装である可能性があります。この場合、グループ名はサブシステムの意味を説明するか、サブシステムの省略形/名前を含める必要があります。

  • 標準ポイントグループ:
    • cpe_formula_evaluationcpe_formula_checkcpe_failing_quot_forecast-式の計算と価格のチェックイン。
    • alv_gridsalv_bs -alvグリッドの形成。
  • クライアントポイントグループ:
    • zabap_edo-電子ドキュメント管理の実装。
    • zabap_odata -odataサービスの実装。


ブレークポイントIDは、構成またはリモート呼び出しを介して呼び出される機能内に配置できます。このようなソフトウェアモジュールには明示的な呼び出し場所がなく、グループ名で呼び出しの原則を説明できます。チェックポイントのアクティブ化により、標準のトランザクションまたはWebサービス中に呼び出されるz機能を簡単に見つけることができます。

例:

  • zabap_pc_open_fiz_bf_open_fi -open-fi / BTEイベントを処理するためのチェックポイント;
  • zabap_bp_bdt - BDTを介してBPトランザクションを拡張するためのブレークポイント
  • zabap_hr_padru -hrでフォーム拡張をデバッグするためのポイント。


特定のタイプの標準拡張用にグループを作成する場合は、ユニバーサルチェックポイントグループがあると便利です。このようなグループの名前は、拡張子のタイプを示す必要があります。

  • zabap_badi - BADIの実装;
  • zabap_exit-ユーザー出口;
  • zabap_enh-明示的および暗黙的な拡張の実装。


デバッグ中にアクティブグループを一時的に無効にすることは不可能であるため、場合によっては、ソフトウェアの無効化を提供する価値があります。たとえば、次のようになります。



  STATICS sv_break_off  TYPE flag.
  "         ,  
  "    sv_break_off = ‘X’.
  IF sv_break_off = abap_false.

    BREAK-POINT ID zabap_exit.

  ENDIF.




ブレークポイントIDは、コードの保守にかかる時間を短縮するためのシンプルで便利なツールです。他のツールと同様に、主なことはそれを乱用しないことです。使用するルールを適切に定義すればするほど、効果が高まります。それを使用せず、システムにすでに多くの拡張機能があり、それが役立つ可能性がある場合はどうなりますか?それをあなたの兵器庫に導入し、すべての新しい開発で使用し、調整が行われたときに古いものに追加します。



All Articles