Fonction | La commande Screen permet de lancer l’exécution automatique d’un écran dans un InputScript.
Lorsque l’InputAssistant exécute une transaction de manière interne, il recherche la commande Screen suivante et le scripte correspondant est exécuté. S’il n’y a pas commande Screen convenante, l’écran est affiché et l’utilisateur peut terminer la transaction manuellement.
|
Exemple | Screen SAPMF05A.0300
Cette commande lance l’exécution de l’écran 0300 du programme SAPMF05A. |
Format | Screen programme.numérod'écran
|
Conseils & astuces |
- Pour des écrans intégrés dans d’autres, seul l’écran supérieur est affiché, c’est à dire l’écran où l’utilisateur a à saisir des valeurs.
- Spécifiez le numéro d’écran avec 4 chiffres
- Nous vous déconseillons d’utiliser les instructions Screen dans des if … endif, le scripte deviendrait difficile à comprendre et quelques fois les effets seraient assez inattendus. Un exemple de ce qu’il ne faut pas faire:
Screen S1 Set V[x] “a” Enter
if V[x=b]
Screen S2 Enter “xx” else
Screen S2 Enter “yy”
endif
Supposons que nous ayons Screen S1 et ensuite Screen S2. Que va exécuter GuiXT, Enter “xx” ou Enter “yy”? En fait, dans cet exemple Enter “xx” est exécuté, vu que GuiXT cherche une instruction screen correspondant à l’écran S2 sans considérer d’éventuelles boucles if ouvertes des blocs screen précédents. Nous vous conseillons plutôt de fermer tous les “if” ouverts dans chaque bloc screen: Screen S1 Set V[x] “a” Enter
Screen S2 if V[x=b] Enter “xx” else Enter “yy” endif
Dans certains cas, il est utile d’utiliser goto/label:
Screen S1 Set V[x] “a” Enter
if V[x=b] goto l_b endif
Screen S2 Enter “xx” goto l_continue label l_b Screen S2 Enter “yy”
label l_continue
|