La fonction intégrée ne comporte aucune valeur connue au moment de la
compilation : elle n'est pas prise en compte.
20
Cause . . . . . : Lorsqu'une
fonction intégrée est incluse dans une spécification de définition, elle doit
comporter une valeur connue au moment de la compilation.
- Pour les fonctions %ABS, %EDITC, %EDITFLT, %EDITW, %REPLACE, %SCAN,
%SUBST, %TRIM, %TRIML et %TRIMR, tous les paramètres doivent être des
littéraux ou des noms de constante représentant des litt éraux.
- Pour la fonction %ADDR, le paramètre ne peut pas être une variable BASED,
ni un paramètre pour la procédure. Si le paramètre est un tableau
indexé, son indice doit être un littéral numérique ou un nom de constante
représentant un littéral numérique.
- Les fonctions intégrées %ALLOC, %CHAR, %CHECK, %CHECKR, %DATE, %DAYS,
%DEC, %DECH, %DIFF, %EOF, %EQUAL, %ERROR, %HOURS, %INT, %INTH, %FLOAT, %FOUND,
%LOOKUP, %MINUTES, %MONTHS, %MSECONDS, %NULLIND, %OCCUR, %OPEN, %PARMS,
%REALLOC, %SECONDS, %SHTDN, %SQRT, %STATUS, %STR, %SUBDT, %THIS, %TIME,
%TIMESTAMP, %TLOOKUP, %UNS, %UNSH, %XLATE et %YEARS ne peuvent pas être
spécifiées dans une spécification de d éfinition car la valeur n'est
jamais connue au moment de la compilation.
Que faire . . . : Modifiez les paramètres de la
fonction intégrée de sorte que la valeur soit connue au moment de la
compilation, ou supprimez la fonction intégrée. Relancez la
compilation.