lundi 31 août 2009

Conception UML avec NW EhP 2

UML (Unified Modeling Language) est un langage bien connu des développeurs objets (Java par exemple) et dont l'objectif est la modélisation des objets, de leurs interactions, ... Même si le nombre de diagrammes que propose UML - dans sa version 2.2 - atteint 14, il est bien rare de les voir tous exploités sur un projet.

C'est encore plus vrai pour l'ABAP Objects où les "projets" sont plutôt réduits en terme de taille.


A ma connaissance, le dernier outil de modélisation pour ABAP remonte à l'époque de IBM Rational Rose qui proposait un connecteur pour anaylser les classes et interfaces ABAP Objects. Les modules fonctions RFC utilisés par Rational Rose sont d'ailleurs toujours présents sur le noyau ECC.

Il m'était venu à l'idée de réutiliser ce principe pour interface SAP avec un des outils UML libres du marché mais c'est dorénavant inutile : merci à l'Enhancement Package 2 for Netweaver !!

Espérons que cette nouvelle fonctionnalité facilite l'analyse du code standard qui est parfois assez difficile à suivre...

Retrouver la présentation de notre maître à tous - Thomas Jung - sur cette vidéo SDN :
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90db53c4-812d-2c10-0789-dc18f6c9c725

mardi 25 août 2009

SDN Widget dans votre blog

On tourne en rond...  :-)
Il y a quelque temps, j'avais créé un petit Widget pour Yahoo! Engine qui permettait d'afficher sur votre bureau le total de vos points SDN.



Oliver Kohl est allé plus loin puisqu'il a en plus rajouté la liste (paramétrable) de blogs récemment publiés par vos soins dans la version Wordpress.

Mais, il est également possible d'utiliser ce Widget dans un blog tel que Blogger (oui, derrière ce blog se "cache" Blogger, l'outil de blog de Google). Voici le code à rajouter dans la propriété src d'une balise <script> comme suit :

<script src="http://sdn.zsapping.com/widgets/sdn_contributor.php?bcid=<id_carte_de_visite>&blogid=<id_blogeur_SDN>&blognumberitems=5&output=js"/>

Widget profil SDN

Et voilà, la boucle est bouclée !  :)

Ex:  

<script src="http://sdn.zsapping.com/widgets/sdn_contributor.php?bcid=OlaeOfOs6Bw%3D&blogid=56354&blognumberitems=5&output=js"/>

vendredi 21 août 2009

Le conflit des générations dans la famille ALV

L'ALV (ABAP List Viewer) est une des plus utiles fonctionnalités de SAP afin d'écrire des reports. Avec le temps, SAP a développé plusieurs "évolutions" afin de limiter le code à produire pour pouvoir exploiter l'ALV ou pour coller au modèle ABAP Objets vers lequel il s'était orienté suite à la sortie des contrôles SAP Enjoy.

1ère génération (4.6 et +) : l'ALV à base de modules fonctions

Il s'agit des FM 'REUSE_ALV_GRID_DISPLAY' et consorts.

2ème génération (4.6C et +) : ALV Objet

On utilise cette fois des classes telles que CL_GUI_ALV_GRID.
A noter qu'un mécanisme de BAdIs s'appuyant sur une classe dérivée (assez méconnnue) permet de personnaliser l'affichage de la grille ALV.

3ème génération (NW2004 et +) : ALV Object Model

Frappée d'une malédiction (impossibilité de faire de l'édition de cellules), il s'agit de la classe CL_SALV_TABLE.


Je n'ai traité ici que le cas des grilles ALV, mais il existe également les listes hiérarchiques et les arbres.
  • Simple list:
  • Hierarchical sequential list:
  • Tree
A notre que le Web Dynpro ABAP exploite également un composant WD ALV et que ce sera bientôt le cas avec Web Dynpro Java (annoncé pour la version NW 7.10)

Liens utiles:
FAQ ALV
An Easy Reference for ALV Grid Control

ABAP Controls, Tree's and editable ALV with drag & drop

samedi 15 août 2009

Interopérabilité avec SAP

Je suis toujours surpris quand je croise une personne du département Informatique d'une entreprise, un consultant informatique ou tout autre professionnel du développement logiciel qui s'étonne devant une application .Net ou autre ... qui est capable de communiquer avec SAP. Certes, je suis le premier à m'extasier devant une belle application qui profite du meilleur des 2 mondes mais le simple fait de communiquer est-il si nouveau ?

En effet, cela fait longtemps que des middlewares existent. Il n'y a qu'à voir le BEx Excel qui s'appuie sur des DLLs installés pour interroger les requêtes BI : n'est-ce pas un très bon exemple d'interopérabilité ! Surtout que ces DLLs (comme librfc32.dll) sont disponibles pour être utilisées - pourquoi pas - dans vos propres fichiers Excel.

Voici un exemple (cliquer pour télécharger le fichier Excel) de ceci :


Parmi les autres solutions, citons Java Connector (JCo), .Net Connector et des connecteurs PHP qui permettent au protocole RFC d'être utilisé depuis vos langages préférés.

Je n'aborderai même pas ici les aspects SOA (Service-Oriented Architecture) qui ont révolutionné l'interopérabilité...

Liens utiles :
SDN - Blogs autour de SAP et PHP
Demo de SAPRFC (connecteur PHP)
Divers utilitaires Excel pour SAP (lancement de prog depuis Excel, etc...)