# Intrinsic Functions

Intrinsic functions are built-in functions that facilitate various operations without the need for extensive procedural logic. These functions offer a range of functionalities, from mathematical computations to string manipulations.

A function can be coded by specifying its name along with required arguments in PROCEDURE DIVISION. The functions are grouped into six categories based on the type of purpose served. They are -

• Mathematical
• Statistical
• Date and Time
• Financial
• Character Handling
• General

Below list specifies the intrinsic functions -

• ACOS
• ANNUITY
• ASIN
• ATAN
• CHAR
• CONVERT-DATE-TIME
• COS
• CURRENT-DATE
• DATE-OF-INTEGER
• DAY-OF-INTEGER
• DAY-TO-YYYYDDD
• EXTRACT-DATE-TIME
• DATE-TO-YYYYMMDD
• DISPLAY-OF
• FACTORIAL
• FIND-DURATION
• INTEGER
• INTEGER-OF-DATE
• INTEGER-OF-DAY
• INTEGER-PART
• LENGTH
• LOCALE-DATE
• LOCALE-TIME
• LOG
• LOG10
• LOWER-CASE
• MAX
• MEAN
• MEDIAN
• MIDRANGE
• MIN
• MOD
• NATIONAL-OF
• NUMVAL
• NUMVAL-C
• ORD
• ORD-MAX
• ORD-MIN
• PRESENT-VALUE
• RANDOM
• RANGE
• REM
• REVERSE
• SIN
• SQRT
• STANDARD-DEVIATION
• SUBTRACT-DURATION
• SUM
• TAN
• TEST-DATE-TIME
• TRIM
• TRIML
• TRIMR
• UPPER-CASE
• VARIANCE
• UTF8STRING
• WHEN-COMPILED
• YEAR-TO-YYYY

## Examples -

Scenario1 - Converts a numeric edited string to a numeric value.

```Code-  COMPUTE WS-NUM = FUNCTION NUMVAL('123.45')

Result-     WS-NUM = 123.45```

Scenario2 - Returns the integer portion of a numeric value.

```Code-  COMPUTE WS-INT-PART = FUNCTION INTEGER(123.45)

Result-     WS-INT-PART = 123```

Scenario3 - Converts a string to upper case.

```Code-  MOVE FUNCTION UPPER-CASE('hello') TO WS-UPPERCASE-STRING

Result-     WS-UPPERCASE-STRING = HELLO```

Scenario4 - Reverses the characters in a string.

```Code-  MOVE FUNCTION REVERSE('hello') TO WS-REVERSED-STRING

Result-     WS-REVERSED-STRING = olleh```

Scenario5 - Returns the date and time the program was compiled.

`Code-  MOVE FUNCTION WHEN-COMPILED TO COMPILE-TIME`