> Tech > Travailler avec des API, deuxième partie

Travailler avec des API, deuxième partie

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Paul Morris - Mis en ligne le 6/07/2005 - Publié en Octobre 2004

Apprenez à  utiliser un espace utilisateur, à  le remplir de données, à  extraire des enregistrements, et bien plus

Dans la 1ère partie de cet article (iSeries News février 2004 ou www.itpro. fr), nous avons examiné deux programmes ILE RPG - un qui appelait des API en utilisant une PLIST et un qui les appelait en utilisant des appels prototypés - pour voir en quoi les programmes différaient. Dans cette 2e partie, nous continuons à  nous intéresser aux API. Nous verrons comment employer un espace utilisateur, le remplir avec des données, en extraire des enregistrements, et utiliser d'autres API ...

Travailler avec des API, deuxième partie

Un espace utilisateur est une zone de
stockage non structurée, ressemblant
à  un grand fichier PC, sans aucun format
d’enregistrement donnant du sens
aux données. Bien que le stockage soit
non structuré, les données qui y sont
placées peuvent avoir une structure
(cela émergera quand nous examinerons
le programme exemple). Les API
peuvent créer, supprimer, remplir et
lier des espaces utilisateur. Et, avec un
peu d’aide au démarrage, vous constaterez
qu’il est simple d’utiliser des espaces
utilisateur.
La base du programme CHKOBJSRCR
de la figure 1 consiste à 

  • obtenir des informations sur les
    modules d’un programme ILE
    (cela implique l’utilisation d’un
    second espace utilisateur)

  • comparer les dates et écrire des
    entrées dans un fichier de sortie

Le programme exemple ne prétend
pas tout faire. Il sert surtout à 
démontrer l’utilisation des API
dans un programme concret.
Voyons d’abord les détails du
code source du programme de la figure
1, dérivé du programme de la
1ère partie qui emploie des appels
de prototypes (vous pouvez télécharger
tous les programmes de
cet utilitaire sur www.itpro.fr Club
abonnés). En A de la figure 1, le
programme a un fichier de sortie,
LstOutf1. En B, nous voyons que
/copy pour QUSROBJD a été rejointe
par quatre autres entrées
/copy :

  • QUSGEN définit une structure de
    données qui contient l’information
    d’en-tête écrite vers l’espace
    utilisateur. Pour nous, l’entrée la
    plus importante est la position de
    départ de la liste.

  • QUSLOBJ contient les structures
    de données qui définissent la
    liste des informations placées
    dans l’espace utilisateur. Il
    contient en fait des structures
    d’enregistrement décrites en
    interne. Plusieurs structures sont
    définies dans le membre copy,
    chacune contenant des quantités
    d’informations différentes.
    Celle que nous utilisons doit
    correspondre au niveau de
    détail que nous demandons à 
    l’API.

  • QUSRMBRD contient les structures
    de données utilisées pour
    extraire des détails d’un membre
    source.

  • QBNLPGMI a les structures de données correspondant à  des informations sur les programmes
    ILE.

Les champs de travail en C ont deux ensembles de
champs servant à  manipuler l’espace utilisateur, y compris
des champs pour nommer l’espace et pour accéder aux données
qu’il contient. Le nom de l’espace occupe un champ de
20 octets, dont les 10 premiers représentent le nom de l’espace
et les 10 derniers, le nom de la bibliothèque. Notez que
j’ai créé TEMPSPACE1 et TEMPSPACE2 dans la bibliothèque
QTEMP. Nous avons aussi deux champs en D pour traduire la
casse (majuscules/minuscules) d’une chaîne de caractères,
car les données de certaines fonctions doivent être en majuscules.
Les prototypes en E sont destinés aux API (je les expliquerai
quand nous les utiliserons dans le code). Dans les
cartes C qui suivent, nous commençons avec la même structure
que dans la 1ère partie, mais nous allons maintenant
étoffer cette structure. Voyons à  présent les principales sousroutines
à  tour de rôle.

Téléchargez cette ressource

Checklist de protection contre les ransomwares

Checklist de protection contre les ransomwares

Comment évaluer votre niveau de protection contre les ransomwares à la périphérie du réseau, et améliorer vos défenses notamment pour la détection des ransomwares sur les terminaux, la configuration des appareils, les stratégies de sauvegarde, les opérations de délestage... Découvrez la check list complète des facteurs clés pour améliorer immédiatement la sécurité des terminaux.

Tech - Par iTPro.fr - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT