В инструментальных средствах SAP ABAP конструктор классов — это инструмент в ABAP, который позволяет определять, изменять и тестировать глобальные классы и интерфейсы ABAP. Класс Builder имеет два режима —
- Режим на основе формы
- Режим на основе исходного кода
Используя интерфейс IF_WORKFLOW, вы можете использовать ABAP-классы в SAP WebFlow Engine. В системе SAP WebFlow Engine (SAP Business Workflow) используется для определения и отображения бизнес-процессов, которые не отображаются. Он включает в себя процессы деблокирования или утверждения, а также сложные процессы, такие как создание заказа на поставку и т. Д., А также различные действия соответствующих подразделений. SAP WebFlow Engine в основном используется для процессов, которые повторяются по своей природе или включают действия большого числа агентов в заранее определенном порядке.
Механизм WebFlow также можно использовать для обработки ошибок в существующих процессах и рабочих процессах. Используя WebFlow Engine, вы также можете запустить рабочий процесс, когда происходят предопределенные события.
Чтобы использовать ABAP-классы в рабочих процессах, необходимо реализовать интерфейс IF_WORKFLOW в ABAP-классе. Этот интерфейс включает в себя метод, который создает определенные предварительные условия, чтобы объект можно было использовать в SAP WebFlow Engine.
Интерфейс IF_WORKFLOW содержит следующие методы —
- BI_PERSISTENT ~ FIND_BY_LPOR
- BI_PERSISTENT ~ ОБНОВЛЕНО
- BI_OBJECT ~ EXECUTE_DEFAULT_METHOD
- BI_PERSISTENT ~ LPOR
- BI_OBJECT ~ DEFAULT_ATTRIBUTE_VALUE
- BI_OBJECT ~ RELEASE
Как добавить IF_WORKFLOW в классе ABAP?
Чтобы добавить интерфейс IF_WORKFLOW к классу, необходимо открыть T-код Class Builder: SE24.
Перейдите на вкладку Интерфейс, добавьте интерфейс IF_WORKFLOW. После добавления этого интерфейса он также добавляет два подчиненных интерфейса: BI_OBJECT и BI_PERSISTENT. Когда вы перейдете на вкладку «Методы» и увидите, что некоторые методы этих интерфейсов автоматически наследуются классу ABAP.
Чтобы класс Utility реализовал интерфейс IF_WORKFLOW, необходимо открыть каждый из методов, унаследованных от интерфейса IF_WORKFLOW, а затем активировать пустой исходный код → активировать класс ABAP.
Примечание. Когда вы реализуете интерфейс IF_WORKFLOW в классе, он может использоваться в любом из рабочих процессов. Класс ABAP автоматически освобождается для использования с реализацией этого интерфейса. Изменения совместимости следует вносить только после реализации интерфейса и не следует удалять атрибуты, изменения типов или методы. В системе SAP он не определяет список, в котором упоминается, что класс используется в этих рабочих процессах.
Также обратите внимание, что интерфейс IF_WORKFLOW не должен быть реализован во внутренних классах приложения, так как это будет означать, что каждый метод класса ABAP может использоваться в рабочих процессах.