La combinaison du nom de l’API, de ses paramètres, et du type de renvoi devrait indiquer clairement comment utiliser cette API. L’API devrait définir explicitement si un paramètre est entré, sorti ou entrée et sorti. On fait cela dans l’instruction SQL Create Procedure avec les mots-clés In/Out/InOut. En RPG, on
Arguments pour obtenir un renvoi propre
lefait en n’utilisant pas le champ de résultat de paramètre n’importe où dans le programme, puis en utilisant les instructions de paramètre Factor 1 et Factor 2. Comme paramètres d’entrée, mettez une variable dans Factor 1 et, à l’entrée, la valeur du champ résultat sera placée dans la variable Factor 1. Pour les paramètres de sortie, mettez une variable dans Factor 2 et, en sortie, sa valeur sera placée dans le champ résultat. Pour les paramètres d’entrée et de sortie, comme ils obscurcissent l’objet de l’API, évitez d’utiliser des paramètres qui sont à la fois entrée et sortie. Par exemple :
C *ENTRY PLIST
C VARIN1 PARM PARM1
C VARIN2 PARM PARM2
C PARM VAROUT PARM3
Par le passé, les appels de programmes qui avaient des paramètres non caractères posaient des problèmes.
C’est pourquoi beaucoup de développeurs à l’ancienne n’utilisent que des paramètres de type caractère.
Mais, si un paramètre sert à passer un nombre, il faut le définir comme zoné, packé ou binaire (selon le cas). Rappelons que le type de données aide à définir la manière d’utiliser l’API. Pour qu’une API reste simple, les paramètres doivent être atomiques.
Quand ils sont composites (une structure qui a un ou plusieurs éléments atomiques et peut même être une matrice), vous forcez l’utilisateur de l’API à trouver ou à construire la structure de ce paramètre composite.
Il vous semble peut-être qu’un paramètre composite est nécessaire.
Peut-être, par exemple, vous ne pouvez pas renvoyer un jeu de résultats SQL, donc il vous faut un paramètre de sortie composite. Dans ce cas, utilisez une définition de structure définie en externe. Et le moyen le plus simple pour cela consiste à créer une spécification de description de données pour un fichier physique, puis à créer le fichier avec l’option members none. Une structure de données RPG peut ensuite spécifier le fichier physique comme sa définition de fichier externe. Les développeurs Java pourront ensuite utiliser les classes AS/400File RecordDescription et RecordFormat de l’iSeries Java Tools Box, pour effectuer les conversions d’EBCDIC en objet et pour lever l’obligation de définir en interne la structure de ce paramètre composite.
A noter que cette stratégie est excellente pour décrire le contenu de files d’attente de données.
J’ai entendu un autre argument qui plaide contre l’utilisation des jeux de résultats : le programme a besoin de renvoyer plus d’une chose. Ma première réponse à cela est qu’il vous faut un programme pour chaque chose que vous envisagez d’obtenir. La seconde est que le SQL imbriqué vous permet de renvoyer plus d’un jeu de résultats.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
- Activer la mise en veille prolongée dans Windows 10
- IBM i célèbre ses 25 ans
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
