Data types that DCLGEN uses for variable declarations
DCLGEN produces declarations for tables and views and the corresponding host variable structures for C, COBOL, and PL/I programs. DCLGEN derives the variable names and data types for these declarations based on the source tables in the database.
The following table lists the C, COBOL, and PL/I data types that DCLGEN uses for variable declarations based on the corresponding SQL data types that are used in the source tables. var represents a variable name that DCLGEN provides.
| SQL data type1 | C | COBOL | PL/I |
|---|---|---|---|
| SMALLINT | short int |
PIC S9(4) USAGE COMP-5 |
BIN FIXED(15) |
| INTEGER | long int |
PIC S9(9) USAGE COMP-5 |
BIN FIXED(31) |
| BIGINT | long long int |
PIC S9(18) USAGE COMP-5 |
FIXED BIN(63) |
| DECIMAL(p,s) or NUMERIC(p,s) | decimal(p,s)2 |
PIC S9(p-s)V9(s) USAGE COMP-3 |
DEC FIXED(p,s) If p>15, the PL/I compiler must support this precision, or a warning is generated. |
| REAL or FLOAT(n) 1 <= n <= 21 | float |
USAGE COMP-1 |
BIN FLOAT(n) |
| DOUBLE PRECISION, DOUBLE, or FLOAT(n) | double |
USAGE COMP-2 |
BIN FLOAT(n) |
DECFLOAT(16)![]() |
![]() _Decimal64![]() |
n/a![]() |
![]() DEC FLOAT(16)![]() |
DECFLOAT(32)![]() |
![]() _Decimal128![]() |
n/a![]() |
![]() DEC FLOAT(16)![]() |
| CHAR(1) | char |
PIC X(1) |
CHAR(1) |
| CHAR(n) | char var [n+1] |
PIC X(n) |
CHAR(n) |
| VARCHAR(n) | |
|
CHAR(n) VAR |
| CLOB(n)3 | SQL TYPE IS CLOB_LOCATOR |
USAGE SQL TYPE IS CLOB-LOCATOR |
SQL TYPE IS CLOB_LOCATOR |
| GRAPHIC(1) | sqldbchar |
PIC G(1) |
GRAPHIC(1) |
| GRAPHIC(n) n > 1 |
sqldbchar var[n+1]; |
|
GRAPHIC(n) |
| VARGRAPHIC(n) | |
|
GRAPHIC(n) VAR |
| DBCLOB(n)3 | SQL TYPE IS DBCLOB_LOCATOR |
USAGE SQL TYPE IS DBCLOB-LOCATOR |
SQL TYPE IS DBCLOB_LOCATOR |
| BINARY(n) | SQL TYPE IS BINARY(n) |
USAGE SQL TYPE IS BINARY(n) |
SQL TYPE IS BINARY(n) |
| VARBINARY(n) | SQL TYPE IS VARBINARY(n) |
USAGE SQL TYPE IS VARBINARY(n) |
SQL TYPE IS VARBINARY(n) |
| BLOB(n)3 | SQL TYPE IS BLOB_LOCATOR |
USAGE SQL TYPE IS BLOB-LOCATOR |
SQL TYPE IS BLOB_LOCATOR |
| DATE | char var[11]5 |
PIC X(10)5 |
CHAR(10)5 |
| TIME | char var[9]6 |
PIC X(8)6 |
CHAR(8)6 |
| TIMESTAMP | char var[27] |
PIC X(26) |
CHAR(26) |
| TIMESTAMP(0) | char var[20] |
PIC X(19) |
CHAR(19) |
| TIMESTAMP(p) p > 0 | char var[21+p] |
PIC X(20+p) |
CHAR(20+p) |
| TIMESTAMP(0) WITH TIME ZONE | |
|
DCL var CHAR(147) VAR; |
| TIMESTAMP(p) WITH TIME ZONE | |
|
DCL var CHAR(148 + p) VAR; |
| ROWID | SQL TYPE IS ROWID |
USAGE SQL TYPE IS ROWID |
SQL TYPE IS ROWID |
| XML7 | SQL TYPE IS XML AS CLOB(1M) |
SQL TYPE IS XML AS CLOB(1M) |
SQL TYPE IS XML AS CLOB(1M) |
Notes:
|
|||
DECFLOAT(16)