Maintenant que nos routines d'envoi
et de réception sont codées, le programme
VBA est presque terminé. Il ne
reste plus qu'à mettre en oeuvre une
routine classique chargée de déclencher
continuellement la fonction de réception
à intervalles régulièrement demandés,
puis à envoyer une réponse
pour chaque requête.
La figure 5
Prêt à recevoir

montre le code à cet effet.
C’est une boucle qui surveille la file
d’attente de données puis poursuit le
traitement quand une requête est reçue.
Pour que cette boucle n’accapare
pas la CPU, elle est retardée par l’appel
d’API Windows Sleep (semblable à la
commande iSeries DlyJob). Ou bien ce
code pourrait être déclenché par un
contrôle de timer dans Visual Basic ou
par un événement form timer dans
Access.
La figure 6 montre une portion du
programme RPG CARDAUTHR, chargé
d’envoyer et de recevoir les autorisations
de carte de crédit. On voit en A les structures de données utilisées
pour envoyer des requêtes et recevoir
des réponses. Les noms de champs et
les types de données dans ces structures
doivent correspondre aux listes de champs sur les commandes Open
Data Queue des figures 3 et 4.
Le programme envoie et reçoit
les entrées de la file d’attente de
données en utilisant les API QSNDDTAQ
et QRCVDTAQ. Les prototypes
pour ces API se trouvent en B. En C, on
peut voir le flux du programme, à
savoir :
- Inviter l’utilisateur à entrer des données
de carte de crédit. - Effacer la file d’attente de données
de réception en utilisant l’API
QCLRDTAQ. - Envoyer la demande d’autorisation à
l’application VBA. - Attendre une réponse jusqu’à
60 secondes.
Nous avons maintenant une liaisons
de communication PC/iSeries
complète !
Téléchargez cette ressource

Étude CIO Indicator : la collaboration entre DSI et DAF
Les DSI, acteurs de la transformation digitale ! Découvrez, dans ce rapport basé sur une enquête internationale auprès de 1 060 directeurs financiers et IT, pourquoi l'alignement DSI - DAF est essentiel au succès de la transformation digitale de la Finance.