[z/OS] Fonctions et Routines de service Enterprise COBOL for z/OS
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
ACOS Valeur numérique en radians de l’arccosinus de l’argument
FUNCTION ACOS (Arg)
ANNUITY Valeur numérique approchée d’une traite annuelle à la fin de chaque période, pour un taux d’intérêt donné
FUNCTION ANNUITY(Taux-intérêt Nombre-périodes)
ASIN Valeur numérique en radians de l’arcsinus de l’argument
FUNCTION ASIN (Arg)
ATAN Valeur numérique en radians de l’arctangente de l’argument
FUNCTION ATAN (Arg)
CHAR Fournit le caractère de l’alphabet correspondant à la position ordinale fournie (> 0)
FUNCTION CHAR (Arg)
COS Fournit le cosinus de l’angle ou l’arc en radians dans l’argument
FUNCTION COS (Arg)
CURRENT-DATE Fournit la date et l’heure sur 21 caractères alphanumériques
ex: Display 'EXECUTION PROGRAMME LE ' function CURRENT-DATE(1:16)
* Avec 1-4 Année (avec le siècle)
5-6 Mois 7-8 Jour
9-10 Heure 11-12 Minutes 13-14 Secondes
15-16 Centièmes de secondes
17 - ou + / heure < ou >= Greenwich
18-21 Excédant Heures et minutes / Greenwich
DATE-OF-INTEGER Convertit un entier relatif à une date pivot en une date au format SSAAAMMJJ
ex: Compute DATE-YYMD = Function DATE-OF-INTEGER (DATE-LILIAN)
DATE-TO-YYYYMMDD Fenètrage si option DATEPROC activée : ajout du siécle dans Arg2 d'après la date AAMMJJ de Arg1
FUNCTION DATE-TO-YYYYMMDD (Arg1 Arg2)
DATEVAL Fenètrage (si option DATEPROC activée) : conversion d’un champ non date en champ date
ex: 01 DATE1 Pic 9(8) DATE FORMAT YYYYXXXX.
01 ZONE-INTER Pic 9(6).
If Function Dateval (ZONE-INTER ‘YYXXXX’) Less Than DATE1 ...
Move Function Dateval (ZONE-INTER ‘YYXXXX’) to DATE1
DAY-OF-INTEGER Convertit un entier relatif à une date pivot en une date au format Julien SSAAAQQQ
ex: Compute DATE-YYAAQQQ = Function DAY-OF-INTEGER (DATE-LILIAN)
DATE-TO-YYYYQQQ Fenètrage si option DATEPROC activée : ajout du siécle dans Arg2 d'après la date AAQQQ de Arg1
FUNCTION DATE-TO-YYYYQQQ (Arg1 Arg2)
DISPLAY-OF Retourne le caractère alphabétique correspondant à la valeur de l’argument pour le code page en argument 2
FUNCTION DISPLAY-OF (Arg1 [Arg2])
FACTORIAL Factorielle de l’argument
FUNCTION FACTORIAL (Arg)
INTEGER Valeur de l'entier inférieur ou égal à l'argument
FUNCTION INTEGER (arg) ex : 2.5 -> 2
INTEGER-OF-DATE Fournit le nombre de jours écoulés depuis une date pivot depuis une date au format SSAAMMJJ
FUNCTION INTEGER-OF-DATE (Arg)
INTEGER-OF-DAY Fournit le nombre de jours écoulés depuis une date pivot depuis une date julien SSAAQQQ
FUNCTION INTEGER-OF-DAY (Arg)
INTEGER-PART Fournit la partie entière de l’argument
FUNCTION INTEGER-PART (Arg)
LENGTH Fournit la longueur de l’argument
FUNCTION LENGTH (Arg)
LOG Fournit la valeur du logarithme de l’argument
FUNCTION LOG (Arg)
LOG10 Fournit la valeur du logarithme base 10 de l’argument
FUNCTION LOG10 (Arg)
LOWER-CASE Traduction en minuscules
FUNCTION LOWER-CASE (Arg)
MAX Fournit le contenu de l’argument qui contient la valeur maximale
FUNCTION MAX (Arg 1 Arg n)
ex: Move Function MAX(TABLE-VAL-ALPHA(ALL)) TO WS-MAXI
MEAN Moyenne arithmétique des arguments ou d'un tableau (ALL)
FUNCTION MEAN (Arg1 Arg n)
MEDIAN Valeur de largument approchant la valeur moyenne d'une liste d'arguments triés
FUNCTION MEDIAN (Arg1 Argn)
MIDRANGE Moyenne arithmétique du plus petit et du plus grand des arguments fournis
FUNCTION MIDRANGE (Arg1 Argn)
MIN Valeur du plus argument d'une liste ou d'un tableau (ALL)
FUNCTION MIN (Arg1 Argn)
MOD Valeur entière de Arg1 modulo Arg2
FUNCTION MOD (Arg 1 Arg 2)
NaTIONAL-OF Fournit le caractère nationnal correspondant à Arg1 d'après le code page fourni en Arg2
FUNCTION NaTIONAL-OF (Arg1 [Arg2])
NUMVAL Fournit la valeur numérique d'un argument éditable qui peut contenir des blancs en début et fin de chaîne, les signes -, +, CR, DB, . et ,
FUNCTION NUMVAL (Arg)
NUMVAL-C Fonction est identique à NUMVAL mais pouvant également supprimer un symbole monétaire spécifié dans Arg2
FUNCTION NUMVAL-C (Arg1 [Arg2])
ORD Fournit la position ordinale (1 à 256) dans l’alphabet correspondant à la valeur du caractère spécifé dans l’argument (cf. CHAR)
FUNCTION ORD (Arg)
ORD-MAX Fournit la position ordinale dans une liste d’arguments ou d'un tableau (ALL) de l’argument qui contient la valeur maximale (cf. MAX)
FUNCTION ORD-MAX (Arg1 Argn)
ORD-MIN Fournit la position ordinale dans une liste d’arguments de l’argument qui contient la valeur minimale (cf. MIN)
FUNCTION ORD-MIN (Arg1 Argn)
PRESENT-VALUE Valeur approchée d’un échéancier spécifié dans Arg2 pour le taux Arg1
FUNCTION PRESENT-VALUE (Arg1 Arg2)
RANDOM Fournit un (pseudo) nombre aléatoire éventuellement d’après un argument numérique (> 0)
FUNCTION RANDOM ([Arg])
RANGE Valeur de l’argument maxi moins la valeur de l’argument mini d'une liste d’arguments ou d'un tableau (ALL)
FUNCTION RANGE (Arg1 Argn)
REM Reste de la division de l’argument 1 par l’argument 2
FUNCTION REM (Arg1 Arg2)
REVERSE Fournit une chaîne de caractères inversée
FUNCTION REVERSE (Arg) -> ABCD : restitué : DCBA
SIN Sinus de l’angle ou l’arc exprimé en radians dans l’argument
FUNCTION SIN (Arg)
SQRT Fournit la racine carrée de l’argument
FUNCTION SQRT (Arg)
STANDARD-DEVIATION Fournit la déviation entre les différents arguments
FUNCTION STANDARD-DEVIATION (Arg1 Argn)
SUM Somme des différents arguments
FUNCTION SUM (Arg1 Argn)
TAN Tangente de l’angle ou l’arc exprimé en radians dans l’argument
FUNCTION TAN (Arg)
UNDATE Fenètrage (si option DATEPROC activée) : conversion d’un champ date en champ non date (cf. DATEVAL)
FUNCTION DATE-TO-YYYYMMDD (Arg1 Arg2)
UPPER-CASE Traduit une chaîne de caractère en majuscules
FUNCTION UPPER-CASE (Arg)
VARIANCE Variation entre les différents arguments
FUNCTION VARIANCE(Arg1 Argn)
WHEN-COMPILED Date et l’heure de compilation du programme en 21 caractères alphanumériques (même format que fonction CURRENT-DATE)
FUNCTION WHEN-COMPILED
YEAR-TO-YYYY Fenètrage si option DATEPROC activée : ajout du siécle dans Arg2 d'après l'année de Arg1
FUNCTION YEAR-TO-YYYY (Arg1 Arg2)
YEARWINDOW Fenètrage si option DATEPROC activée : obtention de l'année de départ du siècle correspondant à la fenètre en cours
ex: Compute START-DATE-SSAA = Function YEARWINDOW |