Buscar..


Introducción

Las funciones intrínsecas se incluyen en el estándar COBOL como un conjunto de funciones que devuelven valores de un algoritmo específico, dado cero o más argumentos. Estas funciones intrínsecas se proporcionan como una facilidad del compilador y del sistema de tiempo de ejecución. Los elementos devueltos son campos COBOL temporales y pueden ser datos de caracteres, campos de bits o valores numéricos.

Los ejemplos incluyen funciones trigonométricas, rutinas de fecha y hora, conversiones de tipos de datos, desviación estándar y otros algoritmos de soporte.

Observaciones

COBOL 2014 enumera las siguientes funciones intrínsecas estándar:

======================================== ==========
Intrinsic Function                       Parameters
======================================== ==========
FUNCTION ABS                             1
FUNCTION ACOS                            1
FUNCTION ANNUITY                         2
FUNCTION ASIN                            1
FUNCTION ATAN                            1
FUNCTION BOOLEAN-OF-INTEGER              2
FUNCTION BYTE-LENGTH                     1
FUNCTION CHAR                            1
FUNCTION CHAR-NATIONAL                   1
FUNCTION COMBINED-DATETIME               2
FUNCTION COS                             1
FUNCTION CURRENCY-SYMBOL                 0
FUNCTION CURRENT-DATE                    0
FUNCTION DATE-OF-INTEGER                 1
FUNCTION DATE-TO-YYYYMMDD                Variable
FUNCTION DAY-OF-INTEGER                  1
FUNCTION DAY-TO-YYYYDDD                  Variable
FUNCTION DISPLAY-OF                      Variable
FUNCTION E                               0
FUNCTION EXCEPTION-FILE                  0
FUNCTION EXCEPTION-FILE-N                0
FUNCTION EXCEPTION-LOCATION              0
FUNCTION EXCEPTION-LOCATION-N            0
FUNCTION EXCEPTION-STATEMENT             0
FUNCTION EXCEPTION-STATUS                0
FUNCTION EXP                             1
FUNCTION EXP10                           1
FUNCTION FACTORIAL                       1
FUNCTION FORMATTED-CURRENT-DATE          1
FUNCTION FORMATTED-DATE                  2
FUNCTION FORMATTED-DATETIME              Variable
FUNCTION FORMATTED-TIME                  Variable
FUNCTION FRACTION-PART                   1
FUNCTION HIGHEST-ALGEBRAIC               1
FUNCTION INTEGER                         1
FUNCTION INTEGER-OF-BOOLEAN              1
FUNCTION INTEGER-OF-DATE                 1
FUNCTION INTEGER-OF-DAY                  1
FUNCTION INTEGER-OF-FORMATTED-DATE       2
FUNCTION INTEGER-PART                    1
FUNCTION LENGTH                          1
FUNCTION LENGTH-AN                       1
FUNCTION LOCALE-COMPARE                  Variable
FUNCTION LOCALE-DATE                     2
FUNCTION LOCALE-TIME                     2
FUNCTION LOCALE-TIME-FROM-SECONDS        2
FUNCTION LOG                             1
FUNCTION LOG10                           1
FUNCTION LOWER-CASE                      1
FUNCTION LOWEST-ALGEBRAIC                1
FUNCTION MAX                             Variable
FUNCTION MEAN                            Variable
FUNCTION MEDIAN                          Variable
FUNCTION MIDRANGE                        Variable
FUNCTION MIN                             Variable
FUNCTION MOD                             2
FUNCTION MODULE-CALLER-ID                0
FUNCTION MODULE-DATE                     0
FUNCTION MODULE-FORMATTED-DATE           0
FUNCTION MODULE-ID                       0
FUNCTION MODULE-PATH                     0
FUNCTION MODULE-SOURCE                   0
FUNCTION MODULE-TIME                     0
FUNCTION MONETARY-DECIMAL-POINT          0
FUNCTION MONETARY-THOUSANDS-SEPARATOR    0
FUNCTION NATIONAL-OF                     Variable
FUNCTION NUMERIC-DECIMAL-POINT           0
FUNCTION NUMERIC-THOUSANDS-SEPARATOR     0
FUNCTION NUMVAL                          1
FUNCTION NUMVAL-C                        2
FUNCTION NUMVAL-F                        1
FUNCTION ORD                             1
FUNCTION ORD-MAX                         Variable
FUNCTION ORD-MIN                         Variable
FUNCTION PI                              0
FUNCTION PRESENT-VALUE                   Variable
FUNCTION RANDOM                          Variable
FUNCTION RANGE                           Variable
FUNCTION REM                             2
FUNCTION REVERSE                         1
FUNCTION SECONDS-FROM-FORMATTED-TIME     2
FUNCTION SECONDS-PAST-MIDNIGHT           0
FUNCTION SIGN                            1
FUNCTION SIN                             1
FUNCTION SQRT                            1
FUNCTION STANDARD-COMPARE                Variable
FUNCTION STANDARD-DEVIATION              Variable
FUNCTION STORED-CHAR-LENGTH              1
FUNCTION SUM                             Variable
FUNCTION TAN                             1
FUNCTION TEST-DATE-YYYYMMDD              1
FUNCTION TEST-DAY-YYYYDDD                1
FUNCTION TEST-FORMATTED-DATETIME         2
FUNCTION TEST-NUMVAL                     1
FUNCTION TEST-NUMVAL-C                   2
FUNCTION TEST-NUMVAL-F                   1
FUNCTION TRIM                            2
FUNCTION UPPER-CASE                      1
FUNCTION VARIANCE                        Variable
FUNCTION WHEN-COMPILED                   0
FUNCTION YEAR-TO-YYYY                    Variable
======================================== ==========

GnuCOBOL añade

======================================== ==========
FUNCTION CONCATENATE                     Variable
FUNCTION SUBSTITUTE                      Variable
FUNCTION SUBSTITUTE-CASE                 Variable
======================================== ==========

La palabra clave FUNCTION es obligatoria a menos que la fuente (o la opción de tiempo de compilación) incluya

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
REPOSITORY.
    FUNCTION ALL INTRINSIC.

Donde ALL INTRINSIC puede ser una lista de funciones que se usarán sin el prefijo FUNCTION en las declaraciones de PROCEDURE DIVISION .

La función LENGTH tiene un historial ordenado. Algunos compiladores incluyen una palabra reservada de LENGTH . Para GnuCOBOL, esta palabra reservada solo se reconoce cuando se usa en la frase LENGTH OF , el token OF se requiere para desambiguar la función de la extensión de palabra reservada más antigua.

Ejemplo de FUNCTION TRIM

01 some-string PIC X(32).

...

MOVE "    a string literal" TO some-string

DISPLAY ":" some-string ":"
DISPLAY ":" FUNCTION TRIM(some-string) ":"
DISPLAY ":" FUNCTION TRIM(some-string LEADING) ":"
DISPLAY ":" FUNCTION TRIM(some-string TRAILING) ":"

Demostración

:    a string literal            :
:a string literal:
:a string literal            :
:    a string literal:

Mayúsculas

MOVE FUNCTION UPPER-CASE("Hello World!") TO SOME-FIELD
DISPLAY SOME-FIELD

Salida

HELLO WORLD!

Función LOWER-CASE

MOVE FUNCTION LOWER-CASE("HELLO WORLD!") TO SOME-FIELD
DISPLAY SOME-FIELD

Salida

hello world!


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow