Transaction – PPOME : gestion de la structure organisationnelle

La transaction PPOME permet la gestion de la structure organisationnelle de l’entreprise.

On y distingue ainsi de façon hiérarchique :

  • Les unités structurelles
  • Les directeurs
  • Les postes
  • Les personnes

Publicités

Adobe Interactive Forms : validation via Webservices

Les formulaires interactifs Adobe peuvent être utilisés de deux façons différentes :

  • Online : intégré par exemple dans une application Web Dynpro
  • Offline : renvoyé par exemple au serveur SAP par le biais d’un mail ou d’un Web Service

Nous verrons ici comment renvoyer au serveur SAP les données renseignées au sein du pdf via l’utilisation d’un Web Service.

Soit par exemple la table spécifique YTADOBE_FROM_WS qui contiendra un ensemble de noms/prénoms et qui sera alimentée par un pdf interactif :

La première étape consiste en la création d’une bapi  permettant la mise à jour de cette table :

Cette bapi devra être accessible à distance :

On retrouve en entrée le nom et le prénom à enregistrer :

On retourne le code retour de l’opération :

Mise à jour de la table :

La bapi étant maintenant créée et opérationnelle, la seconde étape consiste en la génération du Web Service correspondant :

Spécifier un nom de service :

Activer le mapping des noms :

Sélectionner le profil de sécurité en fonction du besoin :

Spécifier les options de transport :

Votre Web Service est créé :

On peut retrouver le service créé en SE80 :

La troisième étape consiste en la récupération du WSDL correspondant au service, pour cela lancer la transaction SOAMANAGER, sélectionner le second onglet « Communication inter-applications/-scénarios » et cliquer sur « Admin. de services individuels » :

Rechercher votre service :

Après avoir sélectionné votre service parmi les résultats retournés et cliqué sur « Apply Selection », cliquer sur « Ouvrir document WSDL pour liaison sélectionnée » :

Le WSDL apparait :

Enregistrer le en local sur votre machine :

Entrer ensuite en édition sur votre formulaire Adobe afin d’y ajouter une nouvelle connexion aux données :

Spécifier qu’il faut récupérer la description des données d’un fichier WSDL :

Récupérer ensuite votre fichier WSDL :

Valider la nouvelle connexion :

La nouvelle connexion apparaît dans la hiérarchie :

En dépilant cette dernière on retrouve nos paramètres de bapi (nom et prénom) :

Glisser/déposer le bouton au sein de la mise en forme :

Télécharger le formulaire en local sur votre machine puis entrer en modification dessus :

En cliquant sur le bouton, une popup de demande d’autorisation peut apparaitre :

Renseigner ensuite vos paramètres de connexion au système SAP (suivant le niveau de sécurité appliqué au web service précédemment) :

On peut voir que la bapi a bien été exécutée via le web service et que les données saisies dans le formulaire interactif ont bien été intégrées :

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 😉