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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager