septembre 03, 2010     | Inscription
View Article
28

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.

 

sap001.jpg
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.

sap002.jpg

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

 

sap002.jpg

 

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

 

sap003.jpg

 

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

sap004.jpg

Puis taper sur la touche ENTER.

 

Une fenêtre POPUP apparaît

 sap005.jpg

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

sap006.jpg

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

 

sap007.jpg

 

 

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 sap008.jpg 

ou faites un clique-droite sur ZHELLOWORLD puis sélectionnez Activate

 

sap009.jpg

 

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.

 

sap010.jpg

 

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.

 

sap011.jpg

 

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

 

sap012.jpg

 

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.

 

sap013.jpg

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 sap014.jpg ou CTRL+S pour sauver le fichier.

 

En bas à gauche doit apparaître le message suivant.

sap015.jpg

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

sap016.jpg

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

 

sap017.jpg

 

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 sap018.jpg  . Entre les balises <body> et </body> ajoutez le code suivant

 

<H1>Hello World</H1>

 

Puis pour sauver la modification cliquez sur le bouton  sap014.jpg ou CTRL+S.  Enfin activer (compiler votre page) en cliquant sur le bouton sap008.jpg 

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…

 

sap019.jpg

 ne reste plus qu’à essayer votre page sur votre Browser par défaut, dans  notre cas Microsoft Explorer. Pour cela cliquez sur le bouton sap020.jpg 

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.

 

sap021.jpg

 

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 …

 

sap022.jpg

 

Activez (compiler votre page) en cliquant sur le bouton sap008.jpg . Puis exécuter votre page en cliquant sur le bouton sap020.jpg 

ou tapez sur la touche F8. Et hop par magie nous obtenons le même écran.

 

sap021.jpg

 

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)

Actions: E-mail | RSS comment feed |

Comments

# Anonymous
jeudi 8 mars 2007 14:38
Génial votre site.
Sur ce point, est-ce que cela veut dire que l'on pourrait mettre en ligne des process SAP (ex. : la création d'une facture SD ou IS-U, ou même le résultat d'un requête SQ01, d'un formulaire, ...)
# Stephane
vendredi 23 mars 2007 12:06
Très bon tutorial !

Vivement la suite :o)


Stéphane.
# Chris
mercredi 16 mai 2007 16:10
Très bon tuto, mais les images ne s'affichent plus, c'est vraiment dommage, ce serait bien de corriger ce probleme car pas mal d'actions sont impossibles a comprendre sans les images.
Le lien pour continuer en bas de page ne fonctionne pas non plus.
Sinon merci!
# yannick
mercredi 18 février 2009 18:48
En local c'est ok :

http://localhost:8000/sap(bD1lbiZjPTAwMA==)/bc/bsp/sap/zhelloworld/helloworld.htm

la page s'affiche.

Par contre, d'un poste distant j'ai un message d'erreur :

Business Server Page (BSP) error :

The following error text was processed in the system:
Die URL enthält keine vollständige Domainangabe (192.168.92.138 statt 192.168.92.138..).

Alors que cette page fonctionne :

http://192.168.92.138:8000/sap/bc/ping

curieux....

# yannick
jeudi 19 février 2009 15:12
le lien suivant fonctionne
http://sap70.com:8000/sap/bsp/sap/zhelloworld/helloworld.htm

dans le fichier etc /host
j'ai associé l'adresse de ma VM sap à sap70.com

et ça marche !!

va comprendre Charles.....

Post Comment

Only registered users may post comments.