SAP Business Workflow - classes Abap
No SAP ABAP workbench, o construtor de classes é uma ferramenta em ABAP que permite definir, alterar e testar classes e interfaces ABAP globais. O Class Builder tem dois modos -
- Modo baseado em formulário
- Modo baseado em código fonte
Com o uso da interface IF_WORKFLOW, você pode usar classes ABAP no SAP WebFlow Engine. No sistema SAP, um WebFlow Engine (SAP Business Workflow) é usado para definir e mapear os processos de negócios, que não são mapeados. Inclui os processos de liberação ou aprovação e também processos complexos como a criação de um Pedido de Compra, etc. e diversas ações dos departamentos envolvidos. SAP WebFlow Engine é usado principalmente para os processos, que são repetidos na natureza ou envolvem ações de um grande número de agentes em uma ordem predefinida.
Um WebFlow Engine também pode ser usado para lidar com erros nos processos e fluxos de trabalho existentes. Usando o WebFlow Engine, você também pode iniciar um fluxo de trabalho quando ocorrerem eventos predefinidos.
Para utilizar classes ABAP em Workflows, é necessário implementar a Interface IF_WORKFLOW na classe ABAP. Esta interface inclui método que cria pré-requisitos específicos de forma que o objeto possa ser usado dentro do SAP WebFlow Engine.
A interface IF_WORKFLOW contém os seguintes 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
Como adicionar um IF_WORKFLOW em uma classe ABAP?
Para adicionar uma interface IF_WORKFLOW a uma classe, você deve abrir o Class Builder T-Code: SE24.
Vá para a guia Interface, adicione a interface IF_WORKFLOW. Depois de adicionar essa interface, ele também adiciona duas subinterfaces: BI_OBJECT e BI_PERSISTENT. Ao mover para a guia Métodos, você verá que alguns métodos dessas interfaces foram herdados automaticamente para a classe ABAP.
Para que uma classe Utility implemente a interface IF_WORKFLOW, você precisa abrir cada um dos métodos herdados da interface IF_WORKFLOW e, em seguida, ativar o código-fonte vazio → ativar a classe ABAP.
Note- Quando você implementa a interface IF_WORKFLOW em uma classe, ela pode ser usada em qualquer um dos fluxos de trabalho. Uma classe ABAP é liberada automaticamente para ser usada com a implementação desta interface. Você só deve fazer alterações de compatibilidade após a implementação da interface e não deve remover atributos, alterações de tipo ou métodos. No sistema SAP, ele não define uma lista onde menciona que a classe está em uso nesses fluxos de trabalho.
Observe também que a interface IF_WORKFLOW não deve ser implementada em classes internas de um aplicativo, pois isso significaria que cada método da classe ABAP pode ser usado nos fluxos de trabalho.