SAPビジネスワークフロー-Abapクラス

SAP ABAPワークベンチでは、クラスビルダーはABAPのツールであり、グローバルABAPクラスおよびインタフェースを定義、変更、およびテストすることができます。クラスビルダーには2つのモードがあります-

  • フォームベースモード
  • ソースコードベースのモード

IF_WORKFLOWインタフェースを使用すると、SAP WebFlowEngineでABAPクラスを使用することができます。SAPシステムでは、WebFlow Engine(SAP Business Workflow)を使用して、マップされていないビジネスプロセスを定義およびマップします。これには、リリースまたは承認プロセスのほか、発注書の作成などの複雑なプロセスや、関係する部門のさまざまなアクションが含まれます。SAP WebFlow Engineは主にプロセスに使用されます。プロセスは本質的に繰り返されるか、事前定義された順序で多数のエージェントからのアクションを伴います。

WebFlow Engineを使用して、既存のプロセスおよびワークフローのエラーを処理することもできます。WebFlow Engineを使用すると、事前定義されたイベントが発生したときにワークフローを開始することもできます。

ワークフローでABAPクラスを使用するには、ABAPクラスにインタフェースIF_WORKFLOWを実装する必要があります。このインタフェースには、オブジェクトをSAPWebFlowエンジン内で使用できるように特定の前提条件を作成するメソッドが含まれています。

インタフェースIF_WORKFLOWには、以下のメソッドが含まれています-

  • BI_PERSISTENT~FIND_BY_LPOR
  • BI_PERSISTENT~REFRESH
  • BI_OBJECT~EXECUTE_DEFAULT_METHOD
  • BI_PERSISTENT~LPOR
  • BI_OBJECT~DEFAULT_ATTRIBUTE_VALUE
  • BI_OBJECT~RELEASE

ABAPクラスにIF_WORKFLOWを追加する方法は?

IF_WORKFLOWインターフェイスをクラスに追加するには、Class Builder T-Code:SE24を開く必要があります。

「インターフェース」タブに移動し、IF_WORKFLOWインターフェースを追加します。このインターフェースを追加すると、BI_OBJECTとBI_PERSISTENTの2つのサブインターフェースも追加されます。[メソッド]タブに移動すると、これらのインターフェイスの一部のメソッドが自動的にABAPクラスに継承されていることがわかります。

ユーティリティクラスでIF_WORKFLOWインタフェースを実装するには、IF_WORKFLOWインタフェースから継承された各メソッドを開いてから、空のソースコードを有効化→ABAPクラスを有効化する必要があります。

Note− IF_WORKFLOWインタフェースをクラスに実装すると、どのワークフローでも使用できます。ABAPクラスは自動的にリリースされ、このインタフェースの実装で使用されます。インターフェイスの実装後にのみ互換性の変更を行う必要があり、属性、タイプの変更、またはメソッドを削除しないでください。SAPシステムでは、クラスがこれらのワークフローで使用されていることを示すリストは定義されていません。

また、IF_WORKFLOWインタフェースは、アプリケーションの内部クラスに実装しないでください。これは、ABAPクラスの各メソッドをワークフローで使用できることを意味します。