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) |
![]() ![]() |
![]() _Decimal64 ![]() |
![]() ![]() |
![]() DEC FLOAT(16) ![]() |
![]() ![]() |
![]() _Decimal28 ![]() |
![]() ![]() |
![]() 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:
|