Le connecteur K2 pour SAP

Cet article fait partie d’une série d’articles détaillés sur les connecteurs K2. Vous pouvez retrouver des liens vers les autres articles en fin de billet.

Hey… ça fait maintenant presque 2 trimestres qu’on ne s’est pas penché sur un connecteur K2. Réparons cette affront immédiatement. Aujourd’hui, à l’honneur le connecteur K2 pour SAP. Ce connecteur est un peu à part dans la liste des connecteurs K2. Tout d’abord parce qu’il n’est pas livré en standard avec K2, ceci s’explique par le fait que K2 embarque un outil tiers sur lequel il y a des royalties à payer. Et ensuite parce qu’il dispose de son propre outil de conception. Détaillons son fonctionnement et ses pré-requis après avoir parcouru l’usage qui peut en être fait et quelques ressources françaises à votre disposition.

Usage

Le produit K2 connect va permettre de créer facilement des services broker K2 afin de consommer des données SAP dans ses applications K2 sans avoir à écrire de code (magique !!  et rapide). Ces services broker pourront ensuite être consommés au travers de smartobjects K2. La création de services SAP va se faire dans une interface graphique par simples glisser-déposer, comme habituellement avec tous les outils de conception K2.

On utilise donc le produit K2 connect pour construire les connecteurs et définir les méthodes et données SAP qu’on souhaite mettre à disposition. Les méthodes vont permettent de manipuler les données en lecture, comme en écriture et leur construction s’appuie sur les BAPI ou “modules fonction” SAP (Business Application Programming Interface = interfaces permettant d’accéder aux données et processus de R/3).

Une fois les services définis, il sera possible dans ses applications K2 (workflow, formulaires) de manipuler les données SAP. Par exemple, il sera donc très facile d’avoir des listes déroulantes dont la source proviendra de SAP ou de disposer d’une application permettant de créer un nouveau fournisseur et de, après un cyle de validation, pousser dans SAP les informations qui ont été saisies.

En combinant plusieurs connecteurs K2, faire ce genre de formulaires devient un jeu d’enfants :

Exemple de formulaire K2 multi-sources
Exemple de formulaire K2 multi-sources

Ressources et démonstrations

Une fois que vous aurez fini cette article, vous pourrez prolonger le sujet avec les ressources suivantes  :

Pré-requis

Le connecteur pour SAP est un produit complémentaire à télécharger sur le portail clients et partenaires K2. En général, nos clients mutualisent son installation sur le serveur K2 blackpearl, mais ce n’est pas une obligation.

Côté SAP, il faut une version 4.6C minimum et il sera nécessaire de déployer les bibliothèques Netweaver sur le serveur qui héberge K2 connect. Les différentes DLL nécessaires sont disponibles sur le SAP Service marketplace. Pour fonctionner l’intégration nécessitera de disposer d’un compte de “service” côté SAP ayant le profil “RFC_user”.

L’outil de conception de service broker SAP nécessite l’utilisation de Visual Studio (versions 2010 à 2015).

Une fois K2 connect server installé, il faudra connaître la chaîne de connexion au serveur SAP cible. Cette chaîne sera de la forme ashost=[IP Address] sysnr=[NR] client=[NR] lang=[LANGUAGE] user=[USERNAME] password=[PASSWORD].

Pour plus de détails sur les pré-requis, vous pouvez vous référer à la documentation K2.

Fonctionnement

Conception

Le principe d’utilisation de l’outil de conception est assez simple. Après avoir créé un projet K2 dans Visual Studio, il sera possible d’ajouter un nouveau type d’objets, un K2 connect Service Object, comme vous pouvez le voir sur la copie d’écran ci-dessous :

K2 connect service object
K2 connect service object

Une fenêtre de conception apparaît, sur laquelle il est possible de rajouter des services (Add Service) au sein desquels il sera possible d’ajouter des méthodes. Il peut alors s’agir de méthodes personnalisées (Add Custom Method) ou il est possible de faire un glisser-déposer de n’importe quelle BAPI présente dans la fenêtre K2 Service Object Designer (à gauche sur la copie d’écran ci-dessous) pour la positionner à l’intérieur du service et donc ajouter de nouvelles méthodes “standard” :

Création d'un nouveau service
Création d’un nouveau service

Ensuite, en cliquant sur une méthode, on pourra voir les paramètres et fonctions de cette dernière :

Paramètres et fonctions d'une méthode du service
Paramètres et fonctions d’une méthode du service

Puis en cliquant sur Data Mappings on accèdera à une interface qui permettra de faire de l’association et de la transformation des données qui proviennent de la BAPI SAP (ZBAPI_VENDOR_FK01 dans le cas de la copie ci-dessous).

Mapping de données
Mapping de données

Avant de configurer l’utilisation des différentes BAPI, il est possible de les tester. Les habitués de SAP utiliseront des outils comme SAP GUI (identifiants communauté SAP requis pour le téléchargement), mais K2 propose un outil embarqué pour faire ce genre de tests. Il s’agit du K2 connect test cockpit qui permettra de détailler les structures en entrée et en retour des appels, ce qui est assez pratique.

K2 connect test cockpit
K2 connect test cockpit

Enfin, une fois que tout est configuré et teste, en cliquant sur Publish Service Object, le service créé va être publié dans votre liste de services broker. Vous pouvez alors le retrouver dans le SmartObject Service Tester :

Service Object SAP publié
Service Object SAP publié

Utilisation

Les fonctionnalités mises à disposition seront donc dépendantes des services que vous allez créer. Une fois les services créés, vous pourrez exposer les smartobjects correspondants

SmartObject correspondant
SmartObject correspondant

Puis vous pourrez utiliser le smartobject event lorsque vous êtes dans la modélisation d’un processus ou l’action de règle Execute a SmartObject method dans la configuration d’un formulaire afin de manipuler les différentes méthodes et données. Dans le cas où vous souhaiteriez accéder à ces objets par du développement K2, vous pouvez y accéder via les API.net, les services WCF ou les services REST de K2.

Utiilisation du smartobject SAP dans une modélisation de processus
Utiilisation du smartobject SAP dans une modélisation de processus
Utiilisation du smartobject SAP dans une modélisation de formulaire
Utiilisation du smartobject SAP dans une modélisation de formulaire

Comme indiqué précédemment, pour aller plus loin, n’hésitez pas à demander à :

Vous pouvez utiliser les commentaires si vous avez des questions.

Autres billets de la série sur les connecteurs :

Happy K2ing !

jean

Directeur technique de K2 France depuis 2006 et passionné par les technologies, je travaille dans le monde du BPM et des applications métier depuis... que je travaille :). Vous pouvez également me suivre sur twitter, linkedin.

5 thoughts to “Le connecteur K2 pour SAP”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *