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.