Quelquepart

Blog d'un développeur ABAP

Vous êtes ici : Accueil

GuiXT Vs SAP Screen Personas

Rédigé par Sébastien Hermann dans Général -

Au mois de juin 2014, SAP a annoncé que son produit Personas devenait gratuit (inclus dans le coût des licences de base de SAP). Beaucoup d’entre nous se sont alors demandés s’il était opportun d’utiliser ce “nouveau” produit ou bien si GuiXT restait une alternative intéressante. Voici un comparatif passant en revue les différents aspects de chaque concurrent afin d’aider chacun à faire son choix.

Technologie

Les deux produits fonctionnent à la manière d’une surcouche graphique qui vient modifier le rendu des écrans standards SAP. Tous les deux se placent entre l’utilisateur et le serveur SAP.

Il existe deux principales différences :

  • le moteur de transformation de GuiXT est installé en local sur chaque poste utilisateur tandis que celui de Personas est installé sur un serveur (généralement le serveur SAP).
    Pour ce dernier, il faudra faire attention aux problématiques de charge serveur. Des scripts complexes présentant de gros traitements pourraient grever la performance globale de SAP ou bien s’avérer un véritable goulot d’étranglement générateur de lenteur à l’affichage s’il est mal dimensionné.
  • GuiXT fonctionne avec SAPGUI pour Windows, c’est à dire le SAPGUI “classique” installé par la majorité des clients SAP tandis que Personas ne fonctionne qu’avec SAPGUI pour HTML. Ce fonctionnement de Personas nécessite donc une migration de l’ensemble des postes utilisateurs et un changement d’habitudes afin de pouvoir l’utiliser.

A noter que GuiXT peut également être installé sur un serveur :

  • Soit via l’achat du produit “GuiXT Server
  • Soit via l’utilisation de SAPGUI pour HTML sur un serveur ITS.

Dans le premier cas, un serveur GuiXT fera tampon entre SAP et le poste utilisateur, dans le second GuiXT sera installé directement sur le serveur ITS et le fonctionnement sera alors très similaire à celui de Personas.

Ces deux cas restent peu utilisés aussi nous ne parlerons plus que de GuiXT avec SAPGUI pour Windows.

Fonctionnalités

Les deux produits permettent de modifier/supprimer/déplacer des élements d’écran (champ, onglet, cadre…). Ils permettent également d’ajouter des champs et d’automatiser des actions ; gratuitement pour Personas et via une licence InputAssistant pour GuiXT. Cette licence est généralement jugée peu chère au regard du coût des licences SAP (licence à vie, environ 50€ par utilisateur).

Au niveau des spécificités, GuiXT permet d’ajouter une colonne dans un tableau, voir même d’ajouter un tableau sur un écran, ce que ne permet pas Personas.

En revanche Personas permet de dessiner des écrans de type “web”, avec une totale liberté de style. GuiXT reste limité au style imposé par le SAPGUI pour windows, et même si les composantes Viewer et Controls permettent quelques fantaisies, cela reste anecdotique.

Personas permet donc par exemple de supprimer la barre de titre et de modifier la barre de contrôles standards (bouton retour / OK code…) alors que cette zone est inaccessible pour GuiXT.

Il permet également d’afficher des images en arrière plan et d’appliquer un style à un ensemble d’éléments.

Cette grande liberté permet d’obtenir des écrans vraiment différents de SAP, ce qui impliquerait logiquement d’inclure des designers et des ergonomes dans le processus de création d’écrans. Ceci n’est généralement pas nécessaire lors la création d’écrans SAP / GuiXT vu la rigidité du SAPGUI pour Windows.

L’autre spécificité de Personas est la possibilité de fusionner le contenu d’onglets directement via son éditeur graphique. GuiXT permet également d’afficher le contenu de plusieurs onglets sur un même écran mais il faut alors plusieurs scripts et un peu de code.

Installation

Tester le produit

Si GuiXT peut être testé très facilement (2 clics suffisent pour l’activer), ce n’est pas possible pour Personas. En effet, impossible de bidouiller une installation dans son coin, il faut forcément une installation sur serveur et modifier du paramétrage système. Il faudra donc passer par une demande à un administrateur SAP, ce qui peut s’avérer plus ou moins compliqué…

Déploiement

Il faut installer sur chaque poste utilisateur les fichiers du moteur GuiXT alors qu’il n’y a rien à installer pour Personas. Cette contrainte est généralement bien intégrée par l’IT qui dispose d’outils de gestion de son parc informatique, ou qui peut ajouter ces fichiers dans sa procédure d’installation du SAPGUI. Il reste néanmoins quelques clients pour qui cela s’avère encore un problème.

Notez que cette contrainte s'applique uniquement au moteur d'exécution de GuiXT. Les scripts sont séparés et peuvent être stockés sur le serveur SAP. Il n'y a donc pas besoin de déposer un fichier sur le PC des utilisateurs à chaque nouveau script.

Développement

Personas est fourni avec son éditeur graphique qui permet d’utiliser quasiment toutes les fonctions de l’outil sans avoir à “coder”. Le langage de script pour les calculs et les fonctions avancées est le javascript.

Synactive propose “Designer”, un éditeur graphique pour GuiXT. Il faudra toutefois s'acquitter d’une licence dédiée pour cet outil. Il est aussi possible d'utiliser gratuitement un éditeur texte spécialement concu pour GuiXT (coloration syntaxique, intégration avec l'écran SAP en cours, aide contextuelle...), ou bien tout éditeur de textes de son choix.

Personas comme GuiXT propose tous les deux un “recorder” pour enregistrer les scripts d’automatisation d’action. GuiXT propose en plus un log d'exécution activable à la demande pour contrôler l'exécution des scripts d'automatisation ainsi qu'un debugger permettant de faire du pas à pas et de voir le contenu des variables.
Il n'y a pas d'outils de debug pour Personas, il faut se contenter des logs d'erreur du navigateur internet.

Transport

GuiXT utilise le schéma de transport classique de SAP : Création d'ordre de transport de type Workbench, libération, etc...
C'est un schéma connu et sécurisé.

Personas semble nécessiter de passer par un admin pour packager un transport. (manque d’information sur ce point)

Maintenance

Tant que l’on reste dans les limites des outils d’édition graphique (la partie “dessin d’écran”), la maintenance est similaire sur GuiXT et Personas. Tout change lorsqu’on s’introduit dans l’automatisation d’actions, ou l’enrichissement d’écrans via recherche d’informations sur d’autres écrans SAP. En effet, l’inconvénient de GuiXT d’utiliser un langage propriétaire devient alors un énorme avantage. Les scripts GuiXT sont simples, lisibles, aérés. Ils sont compréhensibles même par un novice. Les commandes d’actions sont en anglais et décrivent l’action. De plus, l’ajout de commentaires permet de simplifier la relecture. les scripts Personas, en revanche, sont complètement illisibles. Par conséquent, chaque script devra être assorti d'une documentation décrivant précisément l’effet de chaque ligne de script.

Pérénité

GuiXT est édité par Synactive depuis 1998, en partenariat avec SAP qui l'intègre dans son installation du SAPGUI pour Windows. La note OSS 1825312 décrit la stratégie de maintenance de GuiXT par SAP. A ce jour, SAP maintient sa position de confiance et d'intégration de GuiXT.

Personas est édité directement par SAP depuis 2012, et vient de passer "gratuit" après seulement 2 ans de commercialisation. Si certains y voient la volonté de SAP d'écouter ses clients qui réclamaient sa gratuité, d'autres y voient le signe d'un échec commercial : peu de clients ayant acheté des licences Personas, le produit est donc packagé avec ECC pour le revaloriser.
Quid de son existence dans 2 ans s'il n'y a pas plus d'engouement pour le produit ?

GuiXT est utilisé par 947 clients (données 1er janvier 2014). Cette base est en constante augmentation depuis 15 ans.

Tableau comparatif

FonctionalitéGuiXTPersonas
Technologie / installation
Fonctionnement localOuiNon
Fonctionnement ServeurSeulement les scriptsOui
SAPGUI Pour WindowsOuiNon
SAPGUI Pour HTMLNon (sauf serveur ITS dédié)Oui
Test du produitOuiNon
Installation sur poste client nécessaireOuiNon
Fonctionnalités
Simplification d'écranOuiOui
Automatisation de processusOui (payant)Oui
Ajout de tableauOuiNon
Fusion d'ongletsOui (complexe)Oui (simple)
Liberté de designNon (ressemble a un écran standard)Oui (type page web)
Développement / Maintenance
Editeur graphiqueOui (payant)Oui
Langage de scriptPropriétaireJavascript
Editeur de scriptOuiNon
DebuggerOuiNon
Ajout de commentairesOuiNon
Aide intégréeOuiNon
Transports SAP classiqueOuiNon
MaintenanceSimpleTrès complexe

Message type X à l'ouverture d'un infopackage

Rédigé par Sébastien Hermann dans Général -

Si vous avez un message type X lors de l'ouverture d'un infopackage, il est probable que la gestion du delta soit en cause. Dans le log du dump vous pouvez trouver ces critères :
MESSAGE_TYPE_X, SAPLRSS1, LRSS1F11, RSM1_CHECK_FOR_DELTAUPD, RSAWBN_START.

Dès lors, impossible de rentrer dans l'infopackage pour corriger. La création d'un nouvel infopackage ne résoud rien car il dump immédiatement.

La solution est tout simple, il suffit de lancer le programme RSSM_OLTP_INIT_DELTA_UPDATE pour reparer le delta en cours (en cochant ALWAYS).
Si jamais cela ne fonctionne pas, il faut essayer de lancer directement la fonction : RSC1_QUEUE_DELETE_ALL.

Si cela resiste encore... supprimer les entrées d'inits résiduts dans les tables suivantes:

  • ROOSPRMSC
  • ROOSPRMSF

La référence de la demande de mise à jour à supprimer est indiqué dans le dump (L_T_RSSDLINIT_OLTPDEL-RNR ou L_REQ_TO_KILL suivant la version de BW).

ZRSPC : Mini ordonnanceur BW par fichier plat

Rédigé par Sébastien Hermann dans Application -

SAP a eu la bonne idée de fournir un ordonanceur avec sa solution BI, c'est le concept de Process chain, accessible via la transaction RSPC.

Si la solution technique est très efficace (de nombreuses sociétés lui font confiance pour la gestion de leur nuit applicative), en revanche l'interface est assez désastreuse : peu ergonomique, très lente, incomplète...

Sur BW il n'est pas rare de devoir planifier des actions manuelles de chargement, que ce soit pour un déploiement ou bien une initialisation de données à refaire. L'usage d'une process chain est alors recommandé mais ne peut couvrir 100% des besoins car certains processus essentiels sont absents, comme par exemple la suppression de flag d'initialisation. Cela oblige à panacher entre process chain et action manuelle (donc risque d'erreur).

Pour palier ces manques j'ai créé un petit programme : ZRSPC. Il permet de planifier une suite d'opérations qui sera réalisée automatiquement, de la même manière que le ferait le lancement d'une process chain.

L'intéret est d'une part d'avoir une gestion des actions par fichier, ce qui permet une plus grande réactivité que lorsque l'on doit gérer le transport d'une process chain. D'autre part le programme gère certaines actions non prises en charge par RSPC, comme par exemple la suppression des données non utilisées dans les dimensions d'un cube ou la suppression de flag delta.

Un rapport d'exécution permet de suivre l'avancement des chargements en temps réel. Un email peut être envoyé automatiquement à la fin du traitement.

Voici la liste des processus gérés actuellement par le programme :

  • Suppression complète ou sélective d'un cube ou d'un DSO
  • Suppression d'un flag d'initialisation de chargement delta
  • Lancement d'un IP
  • Chargement des cibles depuis la PSA
  • Lancement d'un DTP (option pour lancer un DTP init sans transfert de données)
  • Lancement d'une process chain
  • Activation d'un DSO
  • Suppression et création d'index (cube)
  • Suppression des données inutilisées dans les dimensions d'un cube
  • Suppression des données inutilisées dans un info objet
  • Lancement d'un programme ABAP
  • Faire une pause
  • Interrompre le traitement

La structure du programme est assez souple pour permettre de gérer tout type de processus donc n'hésitez pas à le compléter des votres !

A noter : n’oubliez pas que vous aurez besoin de SAPLINK pour installer le programme.

On connait la musique... vraiment ?

Rédigé par Sébastien Hermann dans Application -

Une fois n'est pas coutume et sortons du thème de ce blog. Je vais vous présenter aujourd'hui deux petits outils d'aide à l'apprentissage du solfège.

Le premier permet de s'entrainer à la lecture de note de manière traditionnelle. Une partition, 5 notes a trouver et un chronomètre qui défile. Sitôt les 5 notes trouvées, 5 autres apparaissent.
A noter : cet outil est orienté piano par l'affichage de la double partition en clé de fa 4 + clé de sol 2.

Le second outil poursuit le même objectif, mais d'une manière plus ludique. Riche en couleurs il est plus orienté vers les enfants que le premier outil, mais pourra néanmoins convenir à toute personne désireuse d'améliorer sa vitesse de lecture. Dans "Solfoid", vous devrez combattre une armée de piranhas.

Entièrement paramétrable, vous pourrez notamment choisir :

  • la clé utilisée : Sol2, Fa3, Fa4 mais aussi les 4 clés de ut
  • la vitesse initiale
  • l'écart maximum entre les notes
  • la plage des notes
  • la notation : les classiques (italienne et anglaise) mais aussi de plus exotiques (allemande, hindi, japonaise)

Pour information, ces 2 outils ont été développés en HTML5 (javascript+canvas) et nécessitent donc un navigateur récent.
Lecture de notes pour piano
Solfoid, apprendre le solfège en s'amusant

ZLISTCUBE : Du nouveau pour visualiser le contenu d'un infoprovider

Rédigé par Sébastien Hermann dans Application -

Si comme moi vous êtes lassé de voir ce popup quand vous essayer d'afficher le contenu d'un cube, voici enfin la solution !

ZLISTCUBE utilise le moteur standard BW pour lire les données, mais modifie complètement la manière de choisir ses filtres et les colonnes affichées :
Fini la limite de 72 champs affichés !
Fini la limite de ne pouvoir afficher que les champs préselectionnés pour filtre !

Avec ZLISTCUBE vous pourrez :

Mais vous pourrez également exporter le résultat d'une requète en fichier. Ce qui vous offre un moyen simplissime de générer des fichiers avec les données de votre systeme BW (interface sortante).

Enfin vous pourrez Charger un cube directement depuis un fichier. Associé à la fonction d'export en fichier, cela vous offre une solution d'archivage / gestion de backup en fichier des plus simple et rapide à mettre en oeuvre.

Vous pouvez utilisez ZLISTCUBE comme un programme spécifique ou bien remplacer le LISTCUBE standard par celui-ci : les instructions sont données dans les commentaires du programme.
A savoir : même si vous remplacez le LISTCUBE standard, celui reste accessible à tout moment via un bouton en haut de l'écran de sélection. Vous n'avez donc aucune régression à craindre dans cette opération.

A noter : n’oubliez pas que vous aurez besoin de SAPLINK pour installer le programme.