> Tech > Dossier Développement : Créer et tester un RPG à  partir de WDSc

Dossier Développement : Créer et tester un RPG à  partir de WDSc

Tech - Par Jef Sutherland - Publié le 28 mars 2011
email

Transformez vos programmes de service RPG en services web avec l’aide de « WDSc »

Dans cet article, je montre comment créer et tester un service web basé sur SOAP (Simple Object Access Protocol) à partir du source d’un programme de service RPG, le tout dans WDSc. Plus précisément, WDSc 7.0 dans mon exemple

Dossier Développement : Créer et tester un RPG à  partir de WDSc


Si votre version est antérieure, le déroulement pourrait être un peu différent. La figure 1 (également téléchargeable sur www.itpro.fr Club abonné) montre le code source pour le RTNCUSTWS. Il devrait marcher pour vous en l’état, à condition d’avoir la bibliothèque QIWS sur votre System i. Créez le module puis créez le programme de service :

CRTSRVPGM SRVPGM(/RTNCUSTWS)
MODULE(/RTNCUSTWS)
EXPORT(*ALL)

Le fichier QCUSTCDT est un fichier modèle dans la bibliothèque QIWS. Il y a trois procédures dont chacune effectue une instruction SQL simple sur QCUSTCDT. Chaque procédure renvoie un résultat numérique. Le service web créé par l’intermédiaire de WDSc est fondé sur l’IBM Toolbox for Java, qui n’accepte qu’un type de renvoi numérique ou vide.

La première procédure, ReturnOpnBal, a deux paramètres : un champ état client de deux caractères servant de paramètre d’entrée et un champ numérique 9 × 2 pour le solde ouvert de commandes pour l’état spécifié. Nous utilisons ce second paramètre pour renvoyer l’information dont nous avons vraiment besoin à partir du service web. Comme ReturnOpnBal renvoie une valeur numérique, j’ai décidé de renvoyer le résultat de l’instruction SQL dans SQLCOD. Si vous n’utilisez pas la valeur de renvoi de la procédure pour autre chose, vous pouvez vous en servir pour renvoyer l’information de réussite ou d’échec, comme l’état return de l’instruction SQL.

La deuxième procédure, ReturnMaxLmt, renvoie le premier client présentant la plus haute limite de crédit dans le fichier. Elle ne demande aucun paramètre d’entrée et, comme elle ne renvoie qu’une valeur numérique, la valeur return de la procédure fait l’affaire.

La troisième procédure, Return State, a besoin de renvoyer un état client de deux caractères qui a le nombre le plus élevé de clients. Les paramètres d’entrée ne sont pas requis, mais comme ReturnState doit renvoyer l’état dans une variable caractère, un paramètre est nécessaire. Et, pour plus d’efficacité, j’utilise le nombre de clients dans l’état donné, comme valeur de renvoi. J’ai utilisé différents types de paramètres et de valeurs de renvoi pour montrer la souplesse qu’offrent l’intégration de procédure et un service web. Dans une application de production, je recommande toujours, au minimum, de renvoyer un numéro de code d’erreur réussite ou échec afin que l’appelant du service web sache si ce dernier a réussi. Passons à la création et au test du source avec un service web dans WDSc.

Téléchargez gratuitement cette ressource

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Ce livre blanc expose les problématiques auxquelles sont confrontés les DAF modernes et souligne les bénéfices de la facturation électronique pour la trésorerie. Il dévoile également le processus de déploiement de ce projet de transformation digitale que la réglementation rendra bientôt obligatoire.

Tech - Par Jef Sutherland - Publié le 28 mars 2011