| Vous connaissez
probablement la transaction "Afficher
article" (code de transaction MM03),
ou peut-être d'autres transactions d'affichage dans le système
SAP qui utilisent une série d'écrans successifs pour montrer
tous les attributs d'un article commercial donné. Les
différentes vues présentées par le système SAP sur les
différents écrans sont regroupées en respectant certains
critères logiques.
Un utilisateur
typique préférerait accéder à une certaine sélection de
champs plutôt que d'avoir à naviguer à travers un grand nombre
d'écrans et d'avoir à se souvenir des informations lorsqu'il
quitte un des écrans. Ceci peut être obtenu avec GuiXT sans
avoir à programmer dans la base de données et sans aucune
modification du système SAP. Nous allons vous montrer ici un
exemple typique. Vous pouvez utiliser cet exemple comme base pour
vos propres vues en sélectionnant un plus grand nombre de champs
ou des champs différents ou tout simplement réutiliser la même
technique pour d'autres domaines d'applications.
Nous partons du
premier écran de la transaction originale MM03. Ceci semble
raisonnable car l'utilisateur sait déjà comment accéder à
cette transaction et qu'ainsi nous pouvons utiliser le champ code
article avec sa fonctionnalité standard (par exemple matchcode).
1 Un petit exemple:
Affichage d'un article (MM03) avec une fonction d'affichage
rapide

Comme vous
pouvez le voir, nous avons ajouté un nouveau bouton poussoir
avec pour désignation "Affichage rapide".
L'utilisateur saisit un code article et peut ensuite, soit
utiliser les fonctions normales du système SAP, soit appuyer
simplement sur le bouton poussoir "Affichage rapide".
2 MM03 avec
l'affichage rapide

Le
bouton "Affichage rapide" présente une vue spéciale
de l'article, regroupant des informations de plusieurs écrans
standards du système SAP. Nous avons également ajouté une
photo du produit.
Finalement,
nous pouvons donner à l'utilisateur la possibilité d'avoir
l'affichage rapide de 2 articles simultanément (ou plus, si vous
le désirez). Pour notre exemple, nous avons décidé d'afficher
également la vue de l'article précédent.
3 MM03 avec
2 affichages rapides

C'est
alors plus facile de comparer les deux produits.
4 Variantes
et extensions
Nous
vous suggérons quelques variantes que vous pourriez implémenter
sur la base de cet exemple:
Ajouter d'autres champs issus
d'écrans MM03
Ajouter un second bouton poussoir
"Affichage rapide" pour afficher une vue de
détail
Ajouter un champ de saisie pour la
sélection de la division
Implémenter des affichages rapides
similaires pour d'autres secteurs d'activité
5 Explications
générales sur la technique utilisée
Nous
combinons la technique des InputScript connue des transactions à
écran unique avec l'utilisation appropriée de variables GuiXT.
(a)
Nous insérons le bouton poussoir "Affichage rapide" et
lui associons un InputScript
(b)
Dans l'InputScipt nous naviguons dans les différents écrans de
la transaction MM03. Nous utilisons la commande Set pour récupérer
les valeurs dans les écrans et les stocker dans des variables
GuiXT. Par exemple:
Set V[MM_attr1.poids_net] "&[Poids net]"
(c)
Au début de l'InputScript nous copions toutes les variables
MM_attr1 dans des variables MM_attr2 pour pouvoir également
afficher le produit précédent. Ensuite nous effaçons toutes
les variables MM_attr1.
(d)
Lorsque nous revenons à l'écran MM03, après l'exécution de
l'InputScript, nous affichons toutes les informations en
utilisant les variables MM_attr. Nous utilisons également la
commande if pour afficher les informations
d'une manière plus lisible et nous concaténons certains champs
(poids et unité de poids).
6 Script GuiXT (SAP 4.5)
if Q[Transaction=MM03]
// Affichage des données pour un maximum de 2 articles et de
différents écrans
Pushbutton (1,40) "@1E\QAffichage des données de l'article
choisi@Affichage rapide"
"Process=AffichageArticle.txt"
using material = [Article]
// Affichage rapide de l'article
if V[MM_attr1.numero]
Offset (4,0)
Box (0,0) (14,50) "Article actuel"
Text (1,30) "&[MM_attr1.numero]"
Comment (2,1) "&[MM_attr1.texte]"
Text (4,1) "Poids net: &[MM_attr1.poids_net]
&[MM_attr1.unite]"
Text (5,1) "Poids brut: &[MM_attr1.poids_brut]
&[MM_attr1.unite]"
if V[MM_attr1.configurable]
Comment (7,1) "Configurable"
else
Text (7,1) "Pas configurable"
endif
Text (9,1) "Stock à utilisation libre"
Text (9,25) "&[MM_attr1.stock]"
Text (10,1) "Consignation à utilisation libre"
Text (10,25) "&[MM_attr1.consi]"
Text (11,1) "Stock à utilisation non libre"
Text (11,25) "&[MM_attr1.stock.r]"
Text (12,1) "Consignation non libre"
Text (12,25) "&[MM_attr1.consi.r]"
Image (9,38) (12,48) "G:\Product
images\&[MM_attr1.numero].jpg" -NoStretch
endif
if V[MM_attr2.numero]
Offset (4,54)
Box (0,0) (14,50) "Article précédent"
Text (1,30) "&[MM_attr2.numero]"
Comment (2,1) "&[MM_attr2.texte]"
Text (4,1) "Poids net: &[MM_attr2.poids_net]
&[MM_attr2.unite]"
Text (5,1) "Poids brut: &[MM_attr2.poids_brut]
&[MM_attr2.unite]"
if V[MM_attr2.configurable]
Comment (7,1) "Configurable"
else
Text (7,1) "Pas configurable"
endif
Text (9,1) "Stock à utilisation libre"
Text (9,25) "&[MM_attr2.stock]"
Text (10,1) "Consignation à utilisation libre"
Text (10,25) "&[MM_attr2.consi]"
Text (11,1) "Stock à utilisation non libre"
Text (11,25) "&[MM_attr2.stock.r]"
Text (12,1) "Consignation non libre"
Text (12,25) "&[MM_attr2.consi.r]"
Image (9,38) (12,48) "G:\Product
images\&[MM_attr2.numero].jpg" "-NoStretch"
endif
endif
7 InputScript
(SAP 4.5)
// Affichage de l'article, attribution des
variables MM_attr1
Parameter Division 0001 // Utiliser Division 0001, si pas
spécifiée
Screen SAPLMGMM.0070
// Mise en mémoire des champs de sortie précédents
Set V[MM_attr2.numero] "&[MM_attr1.numero]"
Set V[MM_attr2.texte] "&[MM_attr1.texte]"
Set V[MM_attr2.poids_brut] "&[MM_attr1.poids_brut]"
Set V[MM_attr2.poids_net] "&[MM_attr1.poids_net]"
Set V[MM_attr2.unite] "&[MM_attr1.unite]"
Set V[MM_attr2.configurable]
"&[MM_attr1.configurable]"
Set V[MM_attr2.stock] "&[MM_attr1.stock]"
Set V[MM_attr2.consi] "&[MM_attr1.consi] "
Set V[MM_attr2.stock.r] "&[MM_attr1.stock.r]"
Set V[MM_attr2.consi.r] "&[MM_attr1.consi.r]"
// Initialisation de tous les champs de sortie
Set V[MM_attr1.*] ""
// Saisie du numéro d'article
Set V[MM_attr1.numero] &[article]
// Sélection des vues
Set C[Données de base 1] "X"
Set C[Données de base 2] "X"
Set C[Stock division] "X"
Enter
// Niveaux organisation
Screen SAPLMGMM.0080
Set [Division] &[Division]
Enter
// Données de base 1
Screen SAPLMGMM.4000
Set V[MM_attr1.texte] "&#[2,33]" // champ texte
article (sans nom)
Set V[MM_attr1.poids_brut] "&[Poids brut]"
Set V[MM_attr1.poids_net] "&[Poids net]"
Set V[MM_attr1.unite] "&[Unité de poids]"
Enter
// Données de base 2
Screen SAPLMGMM.4000
Set V[MM_attr1.configurable] "&[Article
configurable]"
Enter
// Pas de données division ? Alors retour maintenant
Screen SAPLSPO1.0300
Return
// Stock division
Screen SAPLMGMM.4000
Set V[MM_attr1.stock] "&[A utilisation libre]"
Set V[MM_attr1.consi] "&[Consignation ut.lbre]"
Set V[MM_attr1.stock.r] "&[Utilisat. non libre]"
Set V[MM_attr1.consi.r] "&[Consignat. non libre]"
Return
|