Pour ceux qui veulent faire des applications BIIP sous Excel, la façon de faire est à première vue assez déconcertante. D’abord on crée la requête avec le Query Designer (comme pour le Web) et ensuite, on ouvre cette requête sous Excel pour rajouter les fonctions. Or, quand on ouvre la requête sous Excel, on obtient….le résultat de la requête – ce qui n’est pas du tout pareil que le développement Web, où on obtient dans le WAD un gros carré.

Une fois la requête à l’écran, il suffit de passer en mode dessin pour rajouter les fonctionnalités (boutons de lancement de fonctions BIIP, par exemple).

Par exemple, on peut afficher le résultat d’une requête BEx. Cette requête va occuper les cellules A10 à F15. A côté de la requête (H12, par exemple), on peut placer un bouton, qui va lancer une séquence de planification. Cette séquence agissant sur les données affichées par la requête, le résultat est visible immédiatement.

Une des grosses différences entre le mode Web et le mode Excel est la gestion de la saisie utilisateur.

Par exemple, dans la séquence de planification, nous avons deux fonctions (COPY, puis DELETE). Dans la fonction COPY, nous voulons copier les données affichées (de 2007), vers une autre année, à saisir par l’utilisateur. En Web, ceci se fait naturellement – dès qu’on lance la séquence de planification, le système “voit” qu’il faut demander à l’utilisateur une valeur de variable, et affiche un popup dans ce sens.
En mode Excel, c’est différent. Il faut indiquer à SAP où BIIP peut trouver la valeur requise par la variable, sur la feuille. Ceci doit avoir un format bien spécifique, format qui n’est pas très ergonomique pour les utilisateurs. Il peut être intéressant donc de dire à SAP d’aller chercher les valeurs dans des cellules loin de la partie ‘utilisateur’ de la feuille, ou bien dans des colonnes qui seront ensuite cachées. Ces zones réservées peuvent reprendre leurs valeurs dans les zones utilisateur.
On peut donc dire à SAP de prendre ses valeurs dans les cellules A1000 à C1001, et que la valeur de la cellule C1001 est en fait une référence à la cellule B15:

 

ABC
1000VAR_NAME0DEST_YEAR
1001VAR_VALUE0=B15

Ceci est donc assez simple pour entrer une année, mais si l’on voulait que l’utilisateur saisisse une valeur de 0CALMONTH. SAP s’attend à recevoir la valeur en format INTERNE (soit 200705) et non format EXTERNE (05.2007). On ne peut pas demander à l’utilisateur de saisir la valeur en format interne (pas très ergonomique), mais on peut utiliser les fonctions standards d’Excel pour reformater sa saisie (notamment les fonctions concaténer, gauche, droite, etc). Ceci nous donnerait, dans la cellule C1001 ci-dessus, une entrée de

=concatener(droite(b15;4);gauche(b15;2))

A suivre…

Laisser un commentaire