Comparons l'exemple de la figure 1 à celui de la figure 2, qui emploie des appels prototypés. Le prototype RtvObjD (en A) remplace le PLIST. On voit aussi que j'ai défini la structure des données d'erreur QUSEC dans le programme (en B) pour remplacer l'entrée /COPY. Cela nous permet de
Appeler des API avec des prototypes
faire l’initialisation
avec des définitions de champs
plutôt que dans les cartes C (C-specs),
et donc de supprimer la sous-routine
*INZSR. Notons aussi que j’ai inclus un
autre champ (QUSMSGDATA) dans
cette structure de données pour recevoir
des données de messages supplémentaires.
L’appel de l’API est maintenant
remplacé par un CALLP plus significatif
pour RtvObjD (en C) qui utilise aussi
des expressions dans l’appel. Vous
conviendrez que l’utilisation d’appels
prototypés facilite la lecture du programme.
Par conséquent, nous utiliserons
des appels de prototypes quand nous construirons l’utilitaire dans la 2e
partie.
Si vous appelez cet exemple avec
un nom de bibliothèque incorrect et si
vous examinez le dump, vous constaterez
que dans la structure QUSEC, le
champ supplémentaire QUSMSGDATA
contient le nom de la bibliothèque.
C’est la donnée de substitution pour
l’ID de message CPF9810 contenu
dans QUSEL.
Téléchargez cette ressource
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.