Flusso di lavoro aziendale SAP - Classi Abap

In SAP ABAP workbench, il generatore di classi è uno strumento in ABAP che consente di definire, modificare e testare classi e interfacce ABAP globali. Class Builder ha due modalità:

  • Modalità basata su modulo
  • Modalità basata sul codice sorgente

Con l'utilizzo dell'interfaccia IF_WORKFLOW, è possibile utilizzare le classi ABAP in SAP WebFlow Engine. Nel sistema SAP, un WebFlow Engine (SAP Business Workflow) viene utilizzato per definire e mappare i processi aziendali, che non sono mappati. Include i processi di rilascio o approvazione e anche processi complessi come la creazione di un ordine di acquisto, ecc. E diverse azioni dei reparti coinvolti. SAP WebFlow Engine viene utilizzato principalmente per i processi, che sono ripetuti in natura o implicano azioni da un gran numero di agenti in un ordine predefinito.

È inoltre possibile utilizzare un motore WebFlow per gestire gli errori nei processi e nei flussi di lavoro esistenti. Utilizzando WebFlow Engine, è anche possibile avviare un flusso di lavoro quando si verificano eventi predefiniti.

Per utilizzare le classi ABAP sui flussi di lavoro, è necessario implementare l'interfaccia IF_WORKFLOW nella classe ABAP. Questa interfaccia include un metodo che crea prerequisiti specifici in modo che l'oggetto possa essere utilizzato all'interno di SAP WebFlow Engine.

L'interfaccia IF_WORKFLOW contiene i seguenti metodi:

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

Come aggiungere un IF_WORKFLOW in una classe ABAP?

Per aggiungere un'interfaccia IF_WORKFLOW a una classe, devi aprire Class Builder T-Code: SE24.

Vai alla scheda Interfaccia, aggiungi l'interfaccia IF_WORKFLOW. Una volta aggiunta questa interfaccia, vengono aggiunte anche due interfacce secondarie: BI_OBJECT e BI_PERSISTENT. Quando si passa alla scheda Metodi e si vedrà che alcuni metodi di queste interfacce sono stati automaticamente ereditati dalla classe ABAP.

Affinché una classe di utilità implementi l'interfaccia IF_WORKFLOW, è necessario aprire ciascuno dei metodi ereditati dall'interfaccia IF_WORKFLOW e quindi attivare il codice sorgente vuoto → attivare la classe ABAP.

Note- Quando si implementa l'interfaccia IF_WORKFLOW in una classe, può essere utilizzata in uno qualsiasi dei flussi di lavoro. Una classe ABAP viene rilasciata automaticamente per essere utilizzata con l'implementazione di questa interfaccia. È necessario apportare modifiche alla compatibilità solo dopo l'implementazione dell'interfaccia e non rimuovere attributi, modifiche al tipo o metodi. Nel sistema SAP, non definisce un elenco in cui menziona che la classe è in uso in questi flussi di lavoro.

Si noti inoltre che l'interfaccia IF_WORKFLOW non dovrebbe essere implementata nelle classi interne di un'applicazione, poiché ciò significherebbe che ogni metodo della classe ABAP può essere utilizzato nei flussi di lavoro.