COBOL - Built in Functions

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

Built-in (Intrinsic) Functions

Following are the COBOL Built-in Functions


Alphanumeric
CHAR
CURRENT-DATE
LOWER-CASE
REVERSE
UPPER-CASE
WHEN-COMPILED
Numeric
ACOS
ANNUITY
ASIN
ATAN
COS
DATE-TO-YYYYMMDD
DATE-OF-INTEGER
DAY-OF-INTEGER
DAY-TO-YYYYDDD
FACTORIAL
INTEGER
INTEGER-OF-DATE
INTEGER-OF-DAY
INTEGER-PART
LENGTH
LOG
LOG10
MEAN
MEDIAN
MIDRANGE
MOD
NUMVAL
NUMVAL-C
ORD
ORD-MAX
ORD-MIN
PRESENT-VALUE
RANDOM
RANGE
REM
SIN
SQRT
STANDARD-DEVIATION
SUM
TAN
VARIANCE
YEAR-TO-YYYY
YEARWINDOW

Alphanumeric or Numeric
DATEVAL
MAX
MIN
UNDATE

Here are some of the COBOL examples using COBOL functions.


Example #1: INTEGER-OF-DATE, DATE-OF-INTEGER, INTEGER-FORM
For a given DATE, To find the dates which is 5 days before and 5 days
after the given DATE.
WORKING-STORAGE SECTION.
*
01 YYYYMMDD
PIC 9(8).
01 INTEGER-FORM
PIC S9(9).
PROCEDURE DIVISION.
MOVE '20090101'
TO YYYYMMDD
COMPUTE INTEGER-FORM = FUNCTION INTEGER-OF-DATE(YYYYMMDD)
SUBTRACT 5 FROM INTEGER-FORM
COMPUTE YYYYMMDD = FUNCTION DATE-OF-INTEGER(INTEGER-FORM)
DISPLAY 'DATE BEFORE 5 DAYS: ' YYYYMMDD
MOVE '20090101'
TO YYYYMMDD
COMPUTE INTEGER-FORM = FUNCTION INTEGER-OF-DATE(YYYYMMDD)
ADD
5 TO
INTEGER-FORM
COMPUTE YYYYMMDD = FUNCTION DATE-OF-INTEGER(INTEGER-FORM)
DISPLAY 'DATE AFTER 5 DAYS: ' YYYYMMDD
STOP RUN.
Output:
DATE BEFORE 5 DAYS: 20081227
DATE AFTER 5 DAYS: 20090106

Example #2: NUMVAL-C Function


To do any Arithmetic operation for the fields value containing the $ ,
etc.,
01
01
01

WS-FIELD1
WS-FIELD2
WS-TOT

PIC X(10) VALUE '12,256'.


PIC X(10) VALUE '34,666'.
PIC 9(10).

PROCEDURE DIVISION.
COMPUTE WS-TOT = FUNCTION NUMVAL-C(WS-FIELD1) +
FUNCTION NUMVAL-C(WS-FIELD2)
DISPLAY 'TOTAL
: ' WS-TOT
STOP RUN.
Output:
TOTAL
: 0000046922

Example #3: CURRENT-DATE Function


To find the Current date
WORKING-STORAGE SECTION.
*
01 YYYYMMDD
PIC 9(8).
01 INTEGER-FORM
PIC S9(9).
PROCEDURE DIVISION.
MOVE FUNCTION CURRENT-DATE(1:8) TO YYYYMMDD
DISPLAY 'CURRENT DATE: ' YYYYMMDD
STOP RUN.
Output:
CURRENT DATE: 20090224

Example #4: LOWER-CASE Function


To convert the String from Upper case to Lower case
WORKING-STORAGE SECTION.
01 WS-STRING-L
PIC X(5).
01 WS-STRING-U
PIC X(5).
PROCEDURE DIVISION.
MOVE 'HELLO' TO WS-STRING-U
MOVE FUNCTION LOWER-CASE(WS-STRING-U) TO WS-STRING-L
DISPLAY 'LOWER-CASE: ' WS-STRING-L
STOP RUN.
Output:
LOWER-CASE: hello

Example #5: UPPER-CASE Function


To convert the String from Upper case to Lower case
WORKING-STORAGE SECTION.
01 WS-STRING-L
PIC X(5).
01 WS-STRING-U
PIC X(5).
PROCEDURE DIVISION.
MOVE 'hello' TO WS-STRING-L
MOVE FUNCTION UPPER-CASE(WS-STRING-L) TO WS-STRING-U
DISPLAY 'UPPER-CASE: ' WS-STRING-U
STOP RUN.
Output:
UPPER-CASE: HELLO

Example #6: LENGTH Function


To find the Length of the Field.
WORKING-STORAGE SECTION.
*
01 WS-LEN
PIC 9(3).
PROCEDURE DIVISION.
MOVE 'hello' TO WS-STRING-L
COMPUTE WS-LEN = FUNCTION LENGTH(WS-STRING-L)
DISPLAY 'LENGTH
: ' WS-LEN
STOP RUN.
Output:
LENGTH

005

Example #7: SQRT Function


To find the Square root for a given value
WORKING-STORAGE SECTION.
*
01 WS-FIELD1
PIC 9(3) VALUE 144.
01 WS-SQRT
PIC 9(3).
PROCEDURE DIVISION.
*******************************************************
0000-MAINLINE.
*******************************************************
COMPUTE WS-SQRT = FUNCTION SQRT(WS-FIELD1)
DISPLAY 'SQRT
: ' WS-SQRT
STOP RUN.
Output:
SQRT
: 012

Example #8: SUM Function


To find the SUM of given set of Values.
WORKING-STORAGE SECTION.
*
01 WS-FIELD1
PIC
01 WS-FIELD2
PIC
01 WS-FIELD3
PIC
01 WS-FIELD4
PIC
01 WS-SUM
PIC

9(3) VALUE
9(3) VALUE
9(3) VALUE
9(3) VALUE
9(4).

88.
33.
55.
22.

PROCEDURE DIVISION.
***************************************************************
0000-MAINLINE.
***************************************************************
COMPUTE WS-SUM = FUNCTION SUM(WS-FIELD1 WS-FIELD2
WS-FIELD3 WS-FIELD4)
DISPLAY 'SUM VAL
: ' WS-SUM
STOP RUN.

Output:
SUM VAL

: 0198

Example #9: MAX Function


To find the maximum value for a given set of Values.
WORKING-STORAGE SECTION.
*
01 WS-FIELD1
PIC X(3) VALUE '88'.
01 WS-FIELD2
PIC X(3) VALUE '33'.
01 WS-FIELD3
PIC X(3) VALUE '55'.
01 WS-FIELD4
PIC X(3) VALUE '22'.
01 WS-MAX
PIC X(3).
PROCEDURE DIVISION.
MOVE FUNCTION MAX(WS-FIELD1 WS-FIELD2
WS-FIELD3 WS-FIELD4)
TO WS-MAX
DISPLAY 'MAX VAL
: ' WS-MAX
STOP RUN.
Output:
MAX VAL

: 88

Example #10: MIN Function


To find the minimum value for a given set of Values.
WORKING-STORAGE SECTION.
01
01
01
01
01

WS-FIELD1
WS-FIELD2
WS-FIELD3
WS-FIELD4
WS-MIN

PIC
PIC
PIC
PIC
PIC

X(3) VALUE
X(3) VALUE
X(3) VALUE
X(3) VALUE
X(3).

'88'.
'33'.
'55'.
'22'.

PROCEDURE DIVISION.
**************************************************************
0000-MAINLINE.
**************************************************************
MOVE FUNCTION MIN(WS-FIELD1 WS-FIELD2
WS-FIELD3 WS-FIELD4)
TO WS-MIN
DISPLAY 'MIN VAL
: ' WS-MIN
STOP RUN.
Output:
MIN VAL

: 22

You might also like