Top
NetCOBOL V11.0 Syntax Samples
FUJITSU Software

1.29 TYPEDEF and TYPE Clauses

The TYPEDEF clause can define an arbitrary data type.

The defined data type is referenced by the TYPE clause.

The TYPEDEF and TYPE clauses are unique to Win32, Winx64, Solaris, Linux, LinuxIPF, Linux64 and .NET.

000010 @OPTIONS MAIN
000020*----------------------------------------------------------------------
000030* The TYPEDEF clause can define an arbitrary data type.
000040* The defined data type can be referenced by the TYPE clause.
000050*
000060* This sample uses a date type to measure the execution performance of 
000065* the ADD statement.
000070*----------------------------------------------------------------------
000080 IDENTIFICATION   DIVISION.
000090 PROGRAM-ID.      SAMPLE.
000100 DATA             DIVISION.
000110 WORKING-STORAGE  SECTION.
000120*----------------------------------------------------------------------
000130* The TYPEDEF clause is used to define the date type (DATE-EDITED).
000140*----------------------------------------------------------------------
000150 01 DATE-EDITED  TYPEDEF.
000160    02 YEARS        PIC 9(4).
000170    02              PIC X(1) VALUE "/".
000180    02 MONTHS       PIC 9(2).
000190    02              PIC X(1) VALUE "/".
000200    02 DAYS         PIC 9(2).
000210    02              PIC X(1) VALUE " ".
000220    02 HOURS        PIC 9(2).
000230    02              PIC X(1) VALUE ":".
000240    02 MINUTES      PIC 9(2).
000250    02              PIC X(1) VALUE ":".
000260    02 SECONDS      PIC 9(2).
000270    02              PIC X(1) VALUE ".".
000280    02 M-SECS       PIC 9(2).
000290*----------------------------------------------------------------------
000300* The date type defined above can be used by specifying the TYPE
000305* clause.
000310*----------------------------------------------------------------------
000320 01 STARTED     TYPE DATE-EDITED.
000330 01 ENDED       TYPE DATE-EDITED.
000340*----------------------------------------------------------------------
000350 01 WK-DATE.
000360    02  YEARS       PIC  9(4).
000370    02  MONTHS      PIC  9(2).
000380    02  DAYS        PIC  9(2).
000390    02  HOURS       PIC  9(2).
000400    02  MINUTES     PIC  9(2).
000410    02  SECONDS     PIC  9(2).
000420    02  M-SECS      PIC  9(2).
000430 01 COUNTER         PIC S9(8) VALUE 0.
000440 PROCEDURE          DIVISION.
000450      MOVE FUNCTION CURRENT-DATE TO WK-DATE.
000460      MOVE CORR WK-DATE          TO STARTED.
000470      DISPLAY "STARTED-TIME IS " STARTED.
000480**
000490      PERFORM 1000000 TIMES
000500        ADD 1 TO  COUNTER
000510      END-PERFORM.
000520**
000530      MOVE FUNCTION CURRENT-DATE TO  WK-DATE.
000540      MOVE CORR WK-DATE          TO ENDED.
000550      DISPLAY "ENDED-TIME   IS " ENDED.
000560      EXIT PROGRAM.
000570 END PROGRAM SAMPLE.