Heureusement, IBM a corrigé ce problème dans la V2R2.
CL en version 2.2
À partir de cette version, CL a été amélioré avec le built-in %binary, ou %bin, qui permet à un développeur CL de traiter une variable *CHAR (ou une souschaîne d’une variable *CHAR) comme si elle contenait une valeur numérique binaire. La figure 8 montre comment le built-in %bin réduit sensiblement le travail d’implémentation du CPP DSPSBSDFN en utilisant CL.
(((IMG6714)))
Figure 8 : Appeler l’API QWDRSBSD et traiter les données caractères et binaires en utilisant les possibilités CL V2R2
En comparant les programmes des figures 7, 8 et 9, vous constaterez une nette amélioration de la productivité. Les initialisations en hexadécimal faites en A et B de la figure 7 sont remplacées par les commandes CHGVAR en C de la figure 9 en utilisant les valeurs décimales réelles 360 et 0. Plus important encore, tous les DCL pour &Neg1, &Zero, et les diverses variables &Pos* en A de la figure 8 ont disparu, ainsi que les commandes IF et CHGVAR en B de la figure 8. Ils ont été remplacés par des tests IF plutôt simples et/ou par des assignations directes des bonnes valeurs pour les variables &MaxActJob, &CurActJob, et &NbrPools en utilisant CHGVAR.
Pour compiler le CPP DSPSBSDFN, vous pouvez choisir CRTCLPGM PGM(DSPSBSDFN) ou CRTBNDCL PGM(DSPSBSDFN). Mais à partir de la version i 5.3, IBM offre de très puissantes fonctions CL qui, dans bien des cas, remplacent avantageusement ces built-ins.
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.