Vous avez probablement remarqué que le code source de la figure 11 est plus volumineux que celui de la figure 10.
CL en version 6
Bien que les DCL associés au stockage *DEFINED ne représentent pas du code exécutable dans le programme DSPSBSDFN, ils représentent plus de code source qu’il n’en faut pour référencer directement des sous-champs par leur nom. C’est un compromis que je suis prêt à accepter, même s’il est un peu atténué en i 6.1 avec le support de la commande CL INCLUDE.
Si vous deviez retirer la définition des variables &Len_SBSI et &SBSI0100 de DSPSBSDFN et les placer dans un membre source séparé nommé tout simplement QWDRSBSD, vous pourriez changer DSPSBSDFN pour obtenir ce que montre la figure 11.
(((IMG6712)))
Figure 11 : Appeler l’API QWDRSBSD et traiter les données caractères et binaires en utilisant les possibilités CL 6.1
La commande INCLUDE en A de la figure 11 inclut les DCL associés à &SBSI0100 au moment de la compilation. Avec la commande INCLUDE, vous pouvez réduire la quantité de code source dans DSPSBSDFN. De plus, si la définition QWDRSBSD est utilisée par de multiples programmes, vous pouvez changer une définition commune présente dans le membre source QWDRSBSD, peut-être pour corriger une erreur, et recompiler tous les programmes en utilisant le membre include afin d’adopter le changement. Cela vaut bien mieux que de changer le source commun qui pourrait être copié physiquement dans le source de multiples programmes, par un procédé Browse/Copy.
Essayez les dernières approches
Si vous écrivez encore des applications CL avec les outils du 20e siècle, essayez donc certaines des nouvelles fonctions exposées dans cet article. Grâce aux nouveautés telles que
- type de données *INT (integer) (avec *UINT pour des entiers non signés)
- structures de flux de contrôle de la programmation comme DOFOR, DOWHILE et DOUNTIL
- support de INCLUDE au moment de la compilation vous pourrez écrire et maintenir des applications de type CL plus rapidement que jamais.
Dans le prochain article sur le CL moderne, je vous présenterai d’autres fonctions et possibilités intéressantes. Pour cette démonstration, nous accéderons à l’information du pool de stockage renvoyée à DSPSBSDFN par l’API QWDRSBSD API : une information non utilisée à l’heure actuelle.
• données *DEFINED
Téléchargez cette ressource
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.