But de GuiXT Avec GuiXT vous ajoutez du  confort et de la vitesse à l'utilisation de votre système SAP. En écrivant quelques lignes de commande, vous pouvez intégrer des images et des textes dans les écrans de saisie de SAP, repositionner des champs, mettre à la disposition de l'utilisateur des boutons radios à la place de codes de saisie et créer des boutons poussoirs pour des certaines fonctions. 
Technologie GuiXT est basé sur un simple langage de script. Vous pouvez définir la présentation d'écrans de SAP à l'aide d'une série de commandes.
Un court exemple del [Translation dte]  
pos [First line item] (8,0) 

Le champ de saisie Translation dte est effacé et le groupe de champs First line item est déplacé à la ligne 8, colonne 0

Comment créer et éditer un script GuiXT? Allez à l'écran SAP que vous désirez modifier. Cliquez sur Edit->Script dans le menu GuiXT. L'éditeur (Notepad) a été lancé pour le script correspondant.
Où sont stockés les scripts GuiXT? Les scripts GuiXT sont stockés en tant que fichier normaux ASCII sur votre ordinateur personnel ou sur un serveur de fichiers dans un réseau local. Vous pouvez définir le répertoire pour les scripts GuiXT avec un profile de paramètres dans le fichier guixt.ini: 

Directory1 nomdedirectory 

Par exemple: 
Directory1
"C:\GuiXT\Script1" 

Vous pouvez définir jusqu'à quatre répertoires: Directory1,...,Directory4. La recherche d'un script approprié se fait dans l'ordre inverse Directory4,...,Directory1. La Directory1 pourrait, par exemple, contenir les scripts spécifiques à la société et la  Directory2 les scripts spécifiques à un certain groupe d'utilisateurs. 

Les paramètres de profile GuiXT vous permettent d'attribuer différents scripts à différents groupes d'utilisateurs. Si vous travaillez dans plus d'un système SAP ou avec plusieurs clients, vous pouvez utiliser les variables systèmes dans les noms de directories: 

&client est remplacé par le mandataire SAP actuel
&database est remplacé par la base de données actuelle (System Id) 

Exemple:

Directory1 \\Server\GuiXT\scripts
Directory2
F:\GuiXT\scripts\&database
Directory3
C:\GuiXT\myscripts\&database

Supposons par exemple que nous travaillons dans le système SAP TST. Tout d'abord GuiXT cherchera les scripts dans la directory3, c'est à dire C:\GuiXT\myscripts\TST. Si GuiXT n'y trouve pas les scripts, il cherchera dans le répertoire F:\GuiXT\scripts\TST et finalement dans la directory \\Server\GuiXT\scripts.

Dans l'écran d'enregistrement du SAP (Logon) la variable &client sera remplacée par la valeur 000, étant donné que le mandataire n'a pas encore été choisi par l'utilisateur.

Convention de désignation des scripts GuiXT Chaque GuiXT Script correspond exactement à un écran SAP (SAP dynpro). Dans le SAP les écrans sont identifiés par le nom du programme ABAP et un nombre de 4 chiffres, par ex.: Screen 0100 pour le programme SAPMF05A. Etant donné que les scripts GuiXT sont spécifiques à une langue (ils contiennent des noms de champs, textes, images), leurs clés contiennent également une clé de langue par ex.: E pour l'Anglais, F pour le Français, I pour l'Italien, J pour le Japonais... 

Le nom d'un fichier script est construit de façon suivante: 

pppppppp.Lnnnn.txt 

pppppppp: nom du programme ABAP 
L: clé de langue E, F, I, J, ... (clé à un caractère du système SAP) 
nnnn: numéro d'écran (4 chiffres) 

Exemple:  

SAPMF05A.E0100.txt 

Il y a deux exceptions: 

  • Le script de l'écran d'entrée (logon screen) est stocké sous le nom Elogon.txt, Flogon.txt,... Ici la clé de langue correspond à la langue dans laquelle sera affiché l'écran d'entrée, vu que l'on ne sait pas encore dans quelle langue l'utilisateur va choisir. 
  • Les scripts du menu d'applications seront stockés suivant les noms des programmes GUI correspondants MENUxxxx au lieu de SAPMSYST. Ceci permet de définir des présentations différentes pour tous les écran du menu d'applications. Ces écrans sont relativement vides dans le standard SAP. Par exemple: MENUS000.F0040.txt ou MENUPR00.F0040.txt

Vous pouvez utiliser Image, View, Pushbutton pour définir vos propres présentations graphiques des menus d'applications.

Format des commandes de script
  • Chaque commande de script occupe une ligne. 
  • Les lignes vides sont ignorées. 
  • Commentaires dans une lignes sont signalés par //
  • Chaque ligne de script commence par une commande de script, par ex.: pos
  • Les éléments d'écrans sont entre parenthèses droites, par ex.: [Translation dte] 
  • Les coordonnées d'écrans sont entre parenthèses normales, par ex.: (8,0)
Comment désigner les éléments d'écran? Les éléments d'écrans peuvent être: 
  • Champs
  • Groupes de champs
  • Boutons poussoirs
  • Boutons radio
  • Boutons de sélection
  • tableaux (table controls)

Ils sont désignés par le texte qui apparaît sur l'écran entre parenthèses droites, par ex.: [Translation dte] or [Account number].  

Veuillez noter qu'il faut entrer le texte exactement comme il apparaît à l'écran, avec les exceptions suivantes: 

  • Majuscules et minuscules peuvent être utilisées indifféremment, par ex.: [ACCOUNT NUMBER] ou [account number] au lieu de [Account number]
  • Les espacements sont ignorés, par ex.: [Accountnumber] au lieu de [Account number]
  • Vous pouvez abréger le texte en utilisant un ., par ex.: [Transl.] ou [Translation d.]  au lieu de [Translation dte] 
  • Vous pouvez utiliser le texte de l'information rapide (tooltip) pour les icônes de boutons poussoirs

En option, vous pouvez spécifier le type d'élément d'écran devant sa désignation. Ceci est utile lorsque, par exemple, le nom du champ est le même que celui qui sert à désigner un groupe de champs. Les types suivants sont admis: 
 

  • F[...] Champ
  • G[...] Groupe de champs
  • P[...] Bouton poussoir 
  • R[...] Bouton radio
  • C[...] Bouton de sélection
  • S[...] Tabstrip Control
  • T[...] Tableau (table controls)

Exemples: 

del F[Translation dte]  
pos G[First line item] (8,0) 

Vous pouvez également travailler avec des éléments d'écran qui n'ont pas de texte en utilisant la notation suivante: 

  • #[x,y]
    x est la ligne et  y la colonne (en commençant par 0 dans les deux cas)
  • pour tableau (table control) sans nom: [table] ou T[table]

Dans le cas où plusieurs champs portent le même nom, par ex. deux fois un champ [Compte], le premier champ (en partant du haut gauche vers le bas droit) est adressé avec le nom normal [Compte] et les suivants par [Compte.2], [Compte.3], ...

Dans le cas où il y aurait plusieurs tables sans noms, le premier est adressé par [table] ou T[table] et le suivant: [table.2] ou T[table.2], ...

Positions Il y a trois possibilités de définir la position d'un élément: 
  • (x,y) x est la ligne et y la colonne. Par ex.: (4,60) signifie: ligne 4, colonne 60. La numérotation commence par (0,0) à moins que vous ne spécifiez une origine en utilisant la commande  offset. x et y sont des nombres positifs entiers. Seules les commandes image et view permettent de spécifier la position par des valeurs décimales, par ex.: (1.5,2.8)
  • [nom] Vous spécifiez un élément d'écran qui sert de position de référence 
  • [nom]+(x,y) Vous spécifiez un élément d'écran ainsi qu'un offset, qui sera ajouté à la position de l'élément d'écran. Les valeurs négatives sont également admises pour x et y, par ex.:  [Compte]+(1,-10): une ligne en dessous et 10 colonnes à gauche du champ Compte.
Position relative Pour déplacer en bloc un groupe d'éléments d'écran, par ex. des boutons radios, vous pouvez utiliser la commande Offset sous la forme (ligne,colonne). L'offset indiqué est ajouté à toutes les coordonnées suivantes. Par exemple, les deux possibilités suivantes sont équivalentes: 

Offset (10,21)  
Radiobutton (0,0) "..." 
Radiobutton (1,0) "..." 
Radiobutton (2,0) "..." 

et 

Radiobutton (10,21) "..." 
Radiobutton (11,21) "..." 
Radiobutton (12,21) "..."

Variables Dans toutes les indications "..." dans un script, vous pouvez utiliser les variables qui représentent les valeurs de champs pour l'écran actuel ou l'écran précédent. Avant que le système interprète la commande du script, il remplacera les variables par les valeurs correspondantes. Le nom des variables est composé par le signe & suivi par le nom du champ entre parenthèses droites, par ex.: &[Compte]

Exemple: 

Title "Display account &[Compte]"  

Si la valeur actuelle de  [Compte] est 113100, la commande du script sera équivalente à:

Title "Display account 113100"  

Vous pouvez également extraire des substrings en utilisant la notation  &[...](a-b)a représente le premier caractère à extraire et b le dernier. Exemple: "&[Compte](3-4)" est remplacé par "31" si le numéro de compte complet est 113100.

Il peut, quelques fois être nécessaire d'utiliser des valeurs saisies à l'écran précédent. Par exemple: l'utilisateur a saisi un numéro de produit au premier écran d'une transaction et vous voulez utiliser ce numéro de produit au second écran pour afficher l'image du produit. Dans ce cas, vous devez placer :: devant le nom du champ. Par ex.:  

Image (4,80) "P:\products\img&[::Material number].jpg" 

Si l'utilisateur a saisi le numéro de produit 00500187 au premier écran, le fichier image P:\products\img00500187.jpg sera affiché au second écran. 

Une variable particulière prédéfinie est la date &[today_...] dans plusieurs formats possibles. Vous pouvez utiliser les lettres d=jour, m=mois et y=année pour définir le format. Exemples pour le 24 décembre 1999:

&[today_dmy] 24121999
&[today_mdy] 12241999
&[today_y] 1999
&[today_d.m.y] 24.12.1999

Vous pouvez aussi calculer des dates nouvelles; exemples pour le 24 décembre 1999:

&[today+1_dmy] 25121999
&[today-1_dmy] 23121999
&[today+8_d.m.y] 01.01.2000

Conseils
 & astuces
  • GuiXT doit être lancé avant de commencer SAP SAP GUI. Une façon simple de réaliser ceci, est d'inclure guixt.exe dans un fichier saplogon.bat que vous relierez à votre icône de démarrage de SAP sur votre Desktop au lieu de saplogon.exe:
  • Start C:\guixt\guixt.exe 
    Start C:\sapgui\saplogon.exe 
  • Le paramètre StartHidden Yes dans guixt.ini supprime la fenêtre GuiXT complètement. Une alternative est StartMinimized Yes
  • Si vous avez l'impression qu'une commande de script n'a aucun effet, la raison est éventuellement une erreur dans le nom d'un élément d'écran. Vous avez, par exemple écrit:  [Translation date] au lieu de [Translation dte]. Lorsque vous ouvrez la fenêtre script dans GuiXT, vous verrez le message d'erreur de syntaxe correspondant. Pour ouvrir la fenêtre script de GuiXT, cliquez sur View->Skript.
  • Au lieu d'écrire le script ligne par ligne à la main, l'outil additionnel pour SAP GuiXT Designer (un éditeur WYSIWYG) le fera pour vous. Pour plus d'informations, consultez les pages internet de Synactive http://www.synactive.com (Synactive GmbH, Allemagne) et http://www.synactive.net (Synactive Inc., U.S.A.)