The following tables list valid ALLBASE/SQL host variable data types for each supported language. FIPS 127.1 standards compliant data types are indicated with a YES. ALLBASE/SQL extensions to the standard are indicated with a NO.
Table 2-3 ALLBASE/SQL FIPS 127.1 Compliant Data Type Declarations for C
ALLBASE/SQL DATA TYPES | FIPS 127.1 Compliant? | C DATA DECLARATIONS |
---|
CHAR(1) | NO | chardataname; |
CHAR(n) | YES | chardataname[n+1];
|
VARCHAR(n) | NO | chardataname[n+1];
[1] |
SMALLINT | YES | shortdataname; or |
| NO | short intdataname; |
INTEGER | NO | intdataname; or |
| NO | long intdataname; or |
| YES | longdataname; |
REAL | YES | floatdataname; |
FLOAT(1..24) | NO | floatdataname; |
FLOAT(25..53) | NO | doubledataname; |
DOUBLE PRECISION | YES | doubledataname; |
BINARY | NO | sqlbinarydataname; |
| NO | sqlbinarydataname[n]; |
VARBINARY | NO | sqlvarbinarydataname[m];[2] |
DECIMAL | NO | doubledataname; |
DATE | NO | chardataname[11]; |
TIME | NO | chardataname[9]; |
DATETIME | NO | chardataname[24]; |
INTERVAL | NO | chardataname[21]; |
Table 2-4 ALLBASE/SQL FIPS 127.1 Compliant Data Type Declarations for COBOL
SQL DATA TYPES | FIPS 127.1 Compliant? | COBOL DATA DESCRIPTION ENTRIES |
---|
CHAR(n) | YES | 01DATA-NAMEPIC X(n). |
VARCHAR(n) | NO | 01GROUP-NAME.49LENGTH-NAMEPIC S9(9) COMP.49VALUE-NAMEPIC X(n). |
BINARY | NO | 01DATA-NAMEPIC X(n). |
VARBINARY(n) | NO | 01GROUP-NAME.49LENGTH-NAMEPIC S9(9) COMP.49VALUE-NAMEPIC X(n). |
SMALLINT | NO | 01DATA-NAMEPIC S9(4) COMP. |
INTEGER | YES | 01DATA-NAMEPIC S9(9) COMP. |
FLOAT | NO | 01DATA-NAMEPIC S9(p-s)V9(s) COMP-3. |
DECIMAL(p,s) | NO | 01DATA-NAMEPIC S9(p-s)V9(s) COMP-3.or |
| YES | 01DATA-NAMEPIC S9(p-s)V9(s) [USAGE IS] DISPLAY [SIGN IS] LEADING SEPARATE [CHARACTER]. |
DATE | NO | 01DATA-NAMEPIC X(10).[1] |
TIME | NO | 01DATA-NAMEPIC X(8).[1] |
DATETIME | NO | 01DATA-NAMEPIC X(23).[1] |
INTERVAL | NO | 01DATA-NAMEPIC X(20).[1] |
Table 2-5 ALLBASE/SQL FIPS 127.1 Compliant Data Type Declarations for FORTRAN
SQL DATA TYPES | FIPS 127.1 Compliant? | FORTRAN DATA DECLARATIONS |
---|
CHAR(1) | NO | CHARACTERDataName |
CHAR(n) | YES | CHARACTER*nDataName |
VARCHAR(n) | NO | CHARACTER*nDataName[1] |
SMALLINT | NO | INTEGER*2DataName |
INTEGER | YES | INTEGERDataName |
REAL | YES | REALDataNameor |
| NO | REAL*4DataName |
FLOAT(1..24) | NO | REALDataNameor |
| NO | REAL*4DataName |
FLOAT(1..53) | NO | DOUBLE PRECISIONDataNameor |
| NO | REAL*8DataName |
DOUBLE PRECISION | YES | DOUBLE PRECISIONDataNameor |
| NO | REAL*8DataName |
BINARY | NO | CHARACTERDataNameor |
| NO | CHARACTER*nDataName |
VARBINARY | NO | CHARACTER*nDataName |
DECIMAL | NO | DOUBLE PRECISION DataName or |
| NO | REAL*8DataName |
DATE | NO | CHARACTER*10DataName |
TIME | NO | CHARACTER*8DataName |
DATETIME | NO | CHARACTER*23DataName |
INTERVAL | NO | CHARACTER*20DataName |
Table 2-6 ALLBASE/SQL FIPS 127.1 Compliant Data Type Declarations for Pascal
SQL DATA TYPES | FIPS 127.1 Compliant? | PASCAL TYPE DESCRIPTION |
---|
CHAR(1) | NO | DataName : char; |
CHAR(n) | NO | DataName : array [1..n] of char; or |
| YES | DataName : packed array [1..n] of char; |
VARCHAR(n) | NO | DataName : string[n]; |
BINARY(1) | NO | DataName : char; |
BINARY(n) | NO | DataName : array [1..n] of char; or |
| NO | DataName : packed array [1..n] of char; |
VARBINARY(n) | NO | DataName : string[n]; |
SMALLINT | NO | DataName : smallint; |
INTEGER | YES | DataName : integer; |
REAL | YES | DataName : real; |
FLOAT | NO | DataName : longreal; |
DECIMAL | NO | DataName : longreal; |
DATE | NO | DataName : packed array[1..10] of char;[1] |
TIME | NO | DataName : packed array[1..8] of char;[1] |
DATETIME | NO | DataName : packed array[1..23] of char;[1] |
INTERVAL | NO | DataName : packed array[1..20] of char;[1] |