| COBOL | Oracle |
|---|---|
| PIC X | CHAR |
| PIC X(n) | CHAR(n) |
| PIC X(n) | VARCHAR2 (VAR_LENGTH directive is required) |
| PIC X(n) | RAW(n) |
| PIC 9(n) | NUMBER(n) |
| PIC 9(n) | RAW(n) |
| PIC 9(n)V9(m) | NUMBER(n+m, m) |
| example: PIC999V99 | NUMBER(5,2) |
| Oracle | COBOL |
|---|---|
| CHAR | PIC X |
| CHAR(n) | PIC X(n) |
| VARCHAR2 | PIC X(n) (VAR_LENGTH directive is required) |
| DATE | PIC 9(6) or PIC 9(8) |
| NUMBER(n) | PIC 9(n) |
| NUMBER(n, m) | PIC 9(n-m)V9(m) |
| RAW(n) | PIC X(n) or PIC 9(n) (BINARY directive is required) |
| example: NUMBER(4,3) | PIC9V999 |
Internally, Acu4GL for Oracle uses VARCHAR to prevent key fields that are all spaces from being converted to null.
These Oracle data types are not currently supported: