> Tech > Boîte à  outils System iNews : Rafraichir automatiquement les écrans / autorite speciale de *jobctl

Boîte à  outils System iNews : Rafraichir automatiquement les écrans / autorite speciale de *jobctl

Tech - Par Scott Klement - Publié le 24 juin 2010
email

Q : Est-il possible d’avoir un écran qui se mette à jour lui-même sans que l’utilisateur doive actionner une touche ? R : Oui ! Un fichier écran avec une file d’attente de données qui lui est attachée fait très bien l’affaire. Une instruction EXFMT normale écrit vers un écran puis le lit immédiatement. C’est […]

Boîte à  outils System iNews : Rafraichir automatiquement les écrans / autorite speciale de *jobctl

Q : Est-il possible d’avoir un écran qui se mette à jour lui-même sans que l’utilisateur doive actionner une touche ?

R : Oui ! Un fichier écran avec une file d’attente de données qui lui est attachée fait très bien l’affaire. Une instruction EXFMT normale écrit vers un écran puis le lit immédiatement. C’est cette lecture qui fait que le système attend que l’utilisateur appuie sur Entrée. Si vous écrivez vers l’écran avec l’opcode WRITE, votre programme continuera à s’exécuter sans attendre l’entrée de l’utilisateur. Pour optimiser le nombre de fois que des données doivent être transférées vers et à partir du terminal, l’iSeries n’affiche l’écran que quand vous demandez l’entrée. Utilisez le mot-clé DDS FRCDTA pour contrarier ce comportement. Quand vous spécifiez FRCDTA, l’écran s’affiche dès qu’il est écrit.

Comment pouvez-vous obtenir l’entrée à partir de l’écran afin de pouvoir encore utiliser F3 pour quitter le programme ? C’est ici qu’intervient la file d’attente de données. Quand votre format d’écran contient le mot-clé INVITE, le système déverrouillera le clavier quand l’écran sera écrit. Ensuite, si l’utilisateur appuie sur Entrée ou sur une touche de fonction, une entrée sera écrite dans une file d’attente de données.

Tant que vous lisez l’écran seulement après avoir reçu une entrée de la file d’attente de données, votre programme ne sera jamais bloqué en attendant qu’un utilisateur actionne une touche.

L’exemple de code de la figure 3 démontre cette technique. Il affiche l’heure sur l’écran, en l’actualisant à chaque seconde. Si l’utilisateur appuie sur Entrée ou sur une touche de fonction, il lira quand même l’écran. S’il se trouve que la touche de fonction est F3, le programme s’arrêtera ; sinon, il continuera à afficher l’heure.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Scott Klement - Publié le 24 juin 2010