Avant propos
|
Cet article s’adresse aux web-designers et développeurs web souhaitant switcher sur l’ERP SAP et proposer ainsi des sites web associant toute la créativité possible propre aux sites web actuel sur un serveur web intégré à l’ERP leader mondial qu’est SAP.
Dans une moindre mesure cet ouvrage s’adresse aussi aux développeurs SAP utilisant ABAP mais ne couvre pas les aspects propres à la programmation HTML
Pour tirer le meilleur profit possible des exemples fournis, vous devez disposer des pré-requis suivants :
- Une très bonne connaissance de la programmation HTML.
- Une connaissance suffisante d’un langage de programmation web dynamique comme ASP, PHP, JSP.
- Disposé d’un système SAP ainsi qu’un SAP GUI (1).
|
Publicité :
|
Les sapiens (ceux qui travaillent sur SAP) ont une culture bien à eux basée avant tout sur des business process et des métiers.
L’un des aspects importants quand on souhaite développer du web dynamique avec toutes les dernières technologies web (Flash, XML, etc) est de savoir travailler dans le monde SAP, les consultants fonctionnels ainsi que les usages des sapiens. Passé ce cap, les possibilités et opportunités de développement web sur SAP sont énormes et permettent de réaliser des sites web qui seront une satisfaction autant pour le développeur que les utilisateurs ou le client.
L’objectif de cet ouvrage est avant tout de vous donner les éléments nécessaires pour démarrer avec succès un premier projet BSP et savoir trouver l’information manquante. C.à.d si on lit entre les lignes, être autonome sur SAP WebAS quand on est à l’origine un développeur web non « sapien ».
(1) Il est possible de commander en ligne pour quelques dizaines d’euros, un mini SAP. Un système SAP sans les modules métiers avec tous les modules techniques, ABAP, serveur web, workflow, ale, etc
Chapitre 1 - Qu’est ce que SAP
A – SAP un ERP…
B – Le développement web sur SAP.
A – SAP est un ERP
Si vous ne connaissez pas encore les ERP, un ERP est un super logiciel de gestion comptable qui gère chaque métier ( comptabilité, gestion commerciale, stocks, logistiques,… ) ainsi que les relations entre chaque métier. Par exemple : Vous émettez une facture suite à une livraison, vous impactez le stock ainsi que la partie financière etc…
A chaque domaine correspond un module fonctionnel SAP :
MM – Logistique
FI – Financier
SD – Vente et distribution
PS – Gestion de projet
BW – Business Intelligence et reporting
Etc…
En plus des modules métiers, on trouve sur SAP de plus en plus de modules (templates) spécialisés.
A chaque domaine correspond une spécialité fonctionnelle.
Le consultant fonctionnel est une personne ayant acquis une compétence académique dans un domaine comme la comptabilité, l’ingénérie financière, le marketing, la vente, ou la fabrication et qui met en œuvre sa compétence sur SAP. Un consultant fonctionnel n’est pas un informaticien, mais un utilisateur.
Là est la difficulté pour le développeur. Un développeur web travaillant dans le contexte SAP doit apprendre à écouter les consultants fonctionnels et à expliquer des problèmes techniques en parlant au minimum le langage technique, en se limitant aux impacts par exemple.
Sur SAP le développement est (était) l’exception
Normalement sur SAP on ne développe pas mais on paramètre (customization). Toutefois les sources de l’ensemble des interfaces et des fonctions sont disponibles et modifiableq via des user-exits ou copiables.
Même si SAP fournit de nombreux outils WEB, et XML, avec l’explosion du B2B, de l’EAI, et du web il devient de plus en plus pertinent de développer certains types d’applications sur SAP en particuliers les applications web et les clients pour périphériques mobiles.
SAP est un système ouvert multi-plateforme
L’avantage énorme de SAP est qu’il est multiplateforme (Windows serveur, Sun, AS400, etc), et supportent différentes bases de données comme Oracle, MS SQL, MySQL. L’autre avantage est que les sources de l’ensemble des fonctions, programmes, et interfaces sont disponibles.
De plus SAP fournit en standard des webservices, et le support XML y compris via l’outil d’intégration ALE qui gère les connexions entre chaque système SAP.
SAP est une solution client-serveur
Quand on développe sur SAP, dans la grande majorité des cas, on utilise un client, un GUI, qui se connecte aux systèmes SAP. Le protocôle utilisé entre le client et SAP est le RFC (Remote Function Call) connu par les non-sapiens sous le nom de RPC ou CPI-C.

Page d’accueil du SAP Gui (version Windows)
On accède à chaque écran technique et fonctionnel via soit une arborescence soit le nom de l’écran même appelé aussi transaction.
Pour lancer une transaction, par exemple l’environnement de développement web de SAP, on tape /nSE80 puis Enter ou click sur le bouton vert.

La bonne nouvelle pour les utilisateurs de Linux, MacOS ou Solaris, est qu’un JavaGui est disponible.
B – Le développement web sur SAP.
SAP est un système ouvert. Il est donc possible de développer des applications web en .net ou jsp ou php. Alors pourquoi développer en BSP, le langage natif du serveur WEB de SAP ?
Il y’a en fait plusieurs raisons :
Intégration - Le serveur Web SAP WebAS est performant et directement intégré à SAP. Ceci offre de nombreux avantages y compris de réutilisation de codes ABAP existants déjà dans le système et adaptés sur le WebAS.
Performance - En comparaison avec un développement s’appuyant sur des webservices une intégration basée sur l’utilisationde RFC est plus sure et plus performante.
Sécurité – En développant directement sur SAP des sites web on profite directement de toutes les couches de sécurité offertes par SAP : utilisateur, rôle, workflow.
Le déploiement – Avec ses systèmes de développement, de test et de production, ses mécanismes de transport et de gestion de version, SAP offre un environnement de gestion de projets très cadré.
D’une manière générale pour un webdesigner il est toujours plus intéressant de faire un premier projet web pour SAP en BSP, essentiellement pour acquérir la culture SAP et savoir gérer un projet en coopération avec des consultants fonctionnels, des utilisateurs clés, et le client.
Si le langage BSP et les interfaces utilisateurs peuvent vous paraître un peu vieillot, vous découvrirez vite qu’en terme de vitesse de développement, le BSP est en fait aussi performant que dans les autres langages comme ASP.net (avec le SAP.net connector) le JSP et PHP (avec le SAP Java Connector ou JCo).
Chapitre 2 – Mes premiers pas en BSP.
A – Découvrons l’environnement de développement SE80 avec le programme HELLO WORLD.
B – Les éléments d’un programme BSP dans l’environnement de programmation.
A – L’environnement de développement.
Après avoir lancer le SAP gui vous vous trouvez sur la page d’accueil du SAP GUI.
Exécuter la transaction SE80

L’environnement de développement ABAP DEVELOPMENT WORKBENCH se lance. Parmi les boutons dans la colonne de gauche en haut, le bouton Repository Browser doit être enfoncé. Sélectionnez dans le menu déroulant comme ci-dessous BSP application

Puis entrez un nom à votre premier programme. Par usage dans le monde SAP tous les programmes et objets utilisateurs commencent par la lettre Z ou Y. Dans ce cas nous allons l’appeler ZHELLOWORLD

Puis taper sur la touche ENTER.
Une fenêtre POPUP apparaît

Cliquez sur YES.
Une nouvelle fenêtre POPUP apparaît vous demandant de commenter votre prgramme en une ligne. Dans notre cas, tapez « mon premier programme BSP » puis tapez sur ENTREZ
Une nouvelle fenêtre POPUP apparaît nommée « CREATE OBJECT DIRECTORY ENTRY ». Cette fenêtre est essentielle, et est directement lié aux mécanismes de déploiements des applications sur SAP et à leurs transports. L’organisation des packages et transport n’étant pas couverte par ce livre, nous cliquons sur le bouton Local Object…

Sur la colonne de gauche apparaît le nom ZHELLOWORLD. Double-cliquez dessus et vous devriez voir cette fenêtre

Note : Que les utilisateurs de MacroMedia et autres outils autrement plus sexy ne s’inquiète pas, grâce au client WebDav de SAP il est possible d’utiliser son éditeur HTML préféré. Reste qu’il me parait nécessaire pour un bonne apprentissage de « manger » de SE80, l’environnement de développement SAP
Nous allons maintenant activer notre projet, qui ne contient encore aucune page. Pour cela cliquez sur le bouton
ou faites un clique-droite sur ZHELLOWORLD puis sélectionnez Activate

Vous devez voir pendant quelques secondes une montre tournée en bas à gauche avec un message de compilation puis le message suivant toujours en bas à gauche.

Nous allons (enfin) créer notre première page HTML sur SAP. Pour cela vous devez faire un clique-droite à nouveau sur ZHELLOWORLD puis CREATE puis Page.

La fenêtre popup suivante apparaît. Remplissez la comme suit.

Vous remarquerez l’option Page Fragment. Cette option est à utiliser quand on veut créer des « includes » qui ne contiendront pas de code BSP mais uniquement du HTML et des scripts clients (Javascript, VBscripts, CSS etc …)
Donnez un nom se terminant par un .htm (et non pas un .bsp) et une description. Puis cliquez sur la flèche verte ou tapez sur la touche ENTREE.

Une page de code est proposé par défaur. Vous remarquerez que dans la colonne de gauche aucun objet a été ajouté sous ZHELLOWORLD. Pour ajouter ce fichier à notre projet nous devons cliquez sur
ou CTRL+S pour sauver le fichier.
En bas à gauche doit apparaître le message suivant.

Et dans la colonne de gauche le dossier suivant apparaît

En cliquant sur la flèche devant de dossiers Pages vous allez voir ceci

Nous allons maintenant modifier notre code pour voir le message tant attendu « Hello World » sans lequel un livre dédié à l’apprentissage d’un langage ne serait rien.
Pour rendre éditable le source vous devez cliquer sur le bouton
. Entre les balises <body> et </body> ajoutez le code suivant
<H1>Hello World</H1>
Puis pour sauver la modification cliquez sur le bouton
ou CTRL+S. Enfin activer (compiler votre page) en cliquant sur le bouton
Vous pouvez utiliser directement ce bouton puisque il sauvegarde le fichier avant de le compiler.
En haut de votre écran de travail la mention Active apparaît…

ne reste plus qu’à essayer votre page sur votre Browser par défaut, dans notre cas Microsoft Explorer. Pour cela cliquez sur le bouton
ou tapez sur la touche F8
Vous devez voir une première fenêtre popup vous demandant votre login et mot de passe SAP, puis cet écran.

Si ce n’est pas le cas remplacez http://sapserver par http://<IPDEVOTREMACHINESAP>
Pour finir notre premier exemple nous allons utiliser un peu de langage BSP. Pour cela modifiez votre code pour obtenir celui-ci …

Activez (compiler votre page) en cliquant sur le bouton
. Puis exécuter votre page en cliquant sur le bouton
ou tapez sur la touche F8. Et hop par magie nous obtenons le même écran.

Avant d’en finir avec ce premier exemple regardons de plus prés notre code.
Le tag <% %> sert à insérer du code BSP qui sera traité par le serveur SAP WebAS, et non sur le client.
En BSP le signe * introduit un commentaire. Celui-ci ne peut se faire que la ligne même et pour être valide le signe * doit être en première position tout à gauche.
Pour déclarer une chaîne de caractère de taille définie on doit utiliser la déclaration DATA : <NOM DE LA VARIABLE>(<NB DE CARACTERE>).
Chaque ligne de code se termine par le signe .
Le signe = est utilisé pour affecter une valeur à une variable. Il est à noter que le langage BSP ne fait pas de différence entre majuscule et minuscule.
.... Suite (exemples de code BSP)