Flujo de trabajo empresarial de SAP: clases Abap

En SAP ABAP workbench, class builder es una herramienta en ABAP que le permite definir, cambiar y probar clases e interfaces ABAP globales. Class Builder tiene dos modos:

  • Modo basado en formulario
  • Modo basado en código fuente

Con el uso de la interfaz IF_WORKFLOW, puede usar clases ABAP en SAP WebFlow Engine. En el sistema SAP, se utiliza un WebFlow Engine (SAP Business Workflow) para definir y mapear los procesos de negocio, que no están mapeados. Incluye los procesos de liberación o aprobación y también procesos complejos como la creación de una Orden de Compra, etc. y diferentes acciones de los departamentos involucrados. SAP WebFlow Engine se utiliza principalmente para los procesos, que se repiten en la naturaleza o implican acciones de una gran cantidad de agentes en un orden predefinido.

También se puede utilizar un motor WebFlow para manejar errores en los procesos y flujos de trabajo existentes. Con WebFlow Engine, también puede iniciar un flujo de trabajo cuando ocurren eventos predefinidos.

Para utilizar las clases ABAP en los flujos de trabajo, es necesario implementar la interfaz IF_WORKFLOW en la clase ABAP. Esta interfaz incluye un método que crea requisitos previos específicos para que el objeto se pueda utilizar dentro de SAP WebFlow Engine.

La interfaz IF_WORKFLOW contiene los siguientes métodos:

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

¿Cómo agregar un IF_WORKFLOW en una clase ABAP?

Para agregar una interfaz IF_WORKFLOW a una clase, debe abrir Class Builder T-Code: SE24.

Vaya a la pestaña Interfaz, agregue la interfaz IF_WORKFLOW. Una vez que agrega esta interfaz, también agrega dos subinterfaces: BI_OBJECT y BI_PERSISTENT. Cuando vaya a la pestaña Métodos, verá que algunos métodos de estas interfaces se han heredado automáticamente a la Clase ABAP.

Para que una clase de utilidad implemente la interfaz IF_WORKFLOW, debe abrir cada uno de los métodos heredados de la interfaz IF_WORKFLOW y luego activar el código fuente vacío → activar la clase ABAP.

Note- Cuando implementa la interfaz IF_WORKFLOW en una clase, puede usarse en cualquiera de los flujos de trabajo. Una clase ABAP se libera automáticamente para ser utilizada con la implementación de esta interfaz. Solo debe realizar cambios de compatibilidad después de la implementación de la interfaz y no debe eliminar atributos, cambios de tipo o métodos. En el sistema SAP, no define una lista en la que se menciona que la clase está en uso en estos flujos de trabajo.

También tenga en cuenta que la interfaz IF_WORKFLOW no debe implementarse en las clases internas de una aplicación, ya que esto significaría que cada método de la clase ABAP se puede usar en los flujos de trabajo.