|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
Voici un résumé succinct des différentes fonctions COBOL utilisables en z/OS : Enterprise Cobol V4.1
En fonctions de la version Cobol installée, toutes ne seront pas accessibles, soit parce que plus récentes (NATIONAL-OF), soit parce que non activées dans le paramétrage cobol (DATEPROC pour le fenètrage siècle notemment) Ce résumé se veut complet pour Enterprise CObol z/OS 4.1 (dernière version IBM : V5 pour ceux qui sont en z/OS 1.9/1.10) Il ne s'agit que d'un aide mémoire, la brochure de référence est Enterprise COBOL for z/OS - Language Reférence : SC23.8528.00 http://www-01.ibm.com/software/awdto...l/zos/library/ L'utilisation des fonctions est à présent indissociable de la mise en oeuvre de Language Environnement. On peut pour la plupart de celles-ci préférer des appels à des routines de service L.E. essentiellement pour les raisons suivantes : - plus de sécurité : COBOL va 'planter' si on exécute une fonction date avec une date invalide, L.E. rendra un code retour - plus de possibilités : on peut fournir à L.E. le masque correspondant au format de la donnée que l'on fournit et celui de la donnée que l'on veut recevoir, ou encore le niveau de précision dans des fonctions mathématiques complexes - plus de facilités : Routines L.E complémentaires, supplémentaires ou plus précises (Millièmes de secondes via CEELOCT par ex. contre des centièmes par fonctions dates) Par rapport aux routines de services L.E. l'intérêt des fonctions COBOL reste bien entendu la lisibilité et la simplicité d'utilisation. (Encore qu'il conviendra de choisir à bon escient entre MOVE ou COMPUTE FUNCTION suivant que l'on travaille ou non sur des données numériques) Résumé des fonctions z/OS Enterprise Cobol 4.1 : Code :
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol Inscription : juin 2007 Messages : 1 781 ![]() |
Je trouve ça génial et de grand Coeur. Merci pour le bon travail que tu as fait.
.
|
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Senior Technical Leader Inscription : décembre 2006 Messages : 538 ![]() |
Merci
__________________
★★ Documentation Mainframe ★★ |
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
J'ajoute quelques informations sur les routines de service Language Environment (L.E pour les intimes), par rapport à l'utilisation des fonctions COBOL.
Il serait un peu long et au final pas réellement indispensable d'expliquer chacune dans le détail. 1) La doc reste très dépendante de la version L.E. pour le Z/OS installé. Elle est à mon avis mieux faite que les doc COBOL. Surtout, largement dotée d'exemples. 2) On va retrouver des routines L.E. en alternatives au fonctions COBOL. En fait il y en a beaucoup plus. L'intérêt par rapport aux fonctions COBOL : 1) La fiabilité : On dispose d'un code retour si une donnée est invalide ! (pour ceux qui ont fait le plein de S0C7). 2) La précision : si on prend par exemple les routines mathématiques et scienifiques : CEESx..., le x se décline en I 32 bits binare S 32 bits virgule flottante simple D 64 bits virgule flottante double Q 128 bit virgule flottante étendue T 32 bits virgule flottante simple d'un nombre complexe E 64 bits virgule flottante double d'un nombre complexe R 128 bits virgule flottante étendue d'un nombre complexe Autre exemple, si la fonction Current-date permet d'avoir l'heure en centièmes de secondes, la fonction CEELOCT la restitue en millièmes. 3) Le choix : Accessibles par les langages autres que COBOL et beaucoup plus de possibilités (routines pour gérer les problèmes (CEE3ABD, CEE3DMP ...) ou encore pour acquérir et libérer de la mémoire, convertir des données etc. Le plus simple est de soumettre un exemple. Pour hypothèse, un module de contrôle et de manipulation d'une date. En COBOL l'utilisation des fonctions dates suppose que l'on ait vérifié la date en amont. Non seulement elle doit être valide, mais elle doit être usuellement au format SSAAMMJJ. Les routines L.E permettent de facilement vérifier si une date est valide, via une conversion par un nombre de jours relatifs depuis une date pivot (date 'Lilian'), changer le format d'une date comme on le désire et en plus par fenêtrage ajouter le siècle en retour. Le fait de transiter par cette date pivot permet au passage de faire de l'incrément ou décrément de jours sur une date (et de vérifier facilement au passage si une année est bissextile) et bien entendu de convertir dans des formats multiples. Par exemple, masque de départ DDMMYY (JJMMAA) puis restitution YYYYDDD (SSAAQQQ) J'espère que cet exemple donnera une indée de l'intérêt de ces routine : Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com