Name
TYPE -- define a new data type
Synopsis
TYPE type_name IS ctype
Description
The TYPE command defines a new COBOL type. It is equivalent to putting a typedef into a declare section.
This command is only recognized when ecobpgpg is run with the -c option.
A level number of 01 is automatically added to type_name item. Thus, the level number must not to be specified externally. To define a group item, a level number needs to be specified to the each subordinate items.
For reasons of internal implementation, "TYPE" must be placed just after "EXEC SQL", without containing newline. For other place, you can use newline.
Parameters
The name for the new type. It must be a valid COBOL type name.
A COBOL type specification (including expression format specification).
Examples
EXEC SQL TYPE CUSTOMER IS 02 NAME PIC X(50) VARYING. 02 PHONE PIC S9(9) COMP. END-EXEC. EXEC SQL TYPE CUST-IND IS 02 NAME_IND PIC S9(4) COMP. 02 PHONE_IND PIC S9(4) COMP. END-EXEC. EXEC SQL TYPE INTARRAY IS 02 INT PIC S9(9) OCCURS 20. END-EXEC. EXEC SQL TYPE STR IS PIC X(50) VARYING. END-EXEC. EXEC SQL TYPE STRING IS PIC X(10). END-EXEC.
Here is an example program that uses EXEC SQL TYPE:
EXEC SQL TYPE TT IS 02 V PIC X(256) VARYING. 02 I PIC S9(9) COMP. END-EXEC. EXEC SQL TYPE TT-IND IS 02 V-IND PIC S9(4) COMP. 02 I-IND PIC S9(4) COMP. END-EXEC. EXEC SQL BEGIN DECLARE SECTION END-EXEC. 01 T TYPE TT. 01 T-IND TYPE TT-IND. EXEC SQL END DECLARE SECTION END-EXEC. EXEC SQL CONNECT TO testdb AS con1 END-EXEC. EXEC SQL SELECT current_database(), 256 INTO :T :T-IND LIMIT 1 END-EXEC. DISPLAY "t.v = " ARR OF V OF T. DISPLAY "t.i = " I OF T. DISPLAY "t_ind.v_ind = " V-IND OF T-IND. DISPLAY "t_ind.i_ind = " I-IND OF T-IND. EXEC SQL DISCONNECT con1 END-EXEC.
Compatibility
The TYPE command is a PostgreSQL extension.