Business Workflow : utilisation de classes ABAP

Lorsque l’on définit un Business Workflow, on a la possibilité d’utiliser des classes ABAP au même titre que des objets BOR (Business Object Repository).

La première étape consiste en la création d’une classe ABAP via la transaction SE24 :

Cette classe doit avoir pour interface IF_WORKFLOW (les interfaces BI_OBJECT et BI_PERSISTENT remontent automatiquement) :

Il convient dans un premier temps d’ajouter les attributs suivants :

  • CLASS_NAME : constante privée de type SEOCLSNAME (Nom de type d’objet)
  • POR : attribut protégé de type SIBFLPOR (Référence d’objet persistante locale)
  • DESCRIPTION : attribut privé de type SYST-TITLE (Contenu de la ligne de titre)

On pourra ensuite ajouter les attributs propres à notre besoin, par exemple ici :

  • MATERIAL : attribut public de clé de type MARA-MATNR (Numéro d’article)
  • MATERIAL_TYPE : attribut public de type MARA-MTART (Type d’article)
  • INDUSTRY : attribut public de type MARA-MBRSH (Branche)

Vous remarquerez un certain nombre de méthodes pouvant être implémentées provenant de l’interface BI_PERSISTENT. Nous n’implémenterons pour ce cas que la méthode BI_PERSISTENT~LPOR. Nous créerons ensuite le constructeur ainsi que la méthode CREATE_INSTANCE.

Création de l’instance (lors de l’exécution du workflow) :

Constructeur (assignation des différents attributs) :

Assignation des attributs :

Récupération du Local Persistent Object Reference :

Evénement déclencheur du workflow :

La deuxième étape consiste en la création de la tâche standard workflow via la transaction PFTC :

On fera ainsi référence à la méthode CREATE_INSTANCE de notre classe fraîchement créée :

Après avoir cliqué sur le bouton contenant les deux carrés vert, on pourra alors définir le mapping des paramètres :

La troisième étape consiste en la création du workflow lui-même via la transaction SWDD :

Accéder aux données de bases, onglet « Indépendance de la version (tâche) » puis au sous-onglet « Evénements déclencheurs » afin de définir l’événement déclencheur du workflow ainsi que son mapping. On précisera alors la classe ABAP ainsi que l’événement :

Après avoir cliqué sur le bouton contenant les deux carrés vert, on pourra alors définir le mapping des paramètres :

Créer une nouvelle activité en y précisant l’ID de la tâche créée précédemment puis cliquer sur « Flux de données (existant) :

Après avoir cliqué sur le bouton contenant les deux carrés vert, on pourra alors définir le mapping des paramètres comme ci-dessous :

Double cliquer sur l’ID de la tâche pour entrer en modification afin d’observer le paramétrage de la tâche effectué précédemment en PFTC :

Procéder de la façon suivante pour déclencher l’événement :

Le workflow apparaît ainsi dans la SAP Business Workplace :

Voilà pour le principe de base, je vous laisse maintenant aller un peu plus loin dans la réflexion et jouer avec tout cela pour mieux exploiter le concept de l’utilisation d’une classe objet dans la construction de votre workflow 😉

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s