Coding interoperable data types in COBOL and Java

Your COBOL program can use only certain data types when communicating with Java™.

About this task

Table 1. Interoperable data types in COBOL and Java
Primitive Java data type Corresponding COBOL data type
boolean1 PIC X followed by exactly two condition-names of this form:
level-number data-name PIC X.
88           data-name-false value X'00'.
88           data-name-true  value X'01' through X'FF'.
byte1 Single-byte alphanumeric: PIC X or PIC A
short USAGE BINARY, COMP, COMP-4, or COMP-5, with PICTURE clause of the form S9(n), where 1<=n<=4
int USAGE BINARY, COMP, COMP-4, or COMP-5, with PICTURE clause of the form S9(n), where 5<=n<=9
long USAGE BINARY, COMP, COMP-4, or COMP-5, with PICTURE clause of the form S9(n), where 10<=n<=18
float2 USAGE COMP-1
double2 USAGE COMP-2
char Single-character elementary national: PIC N USAGE NATIONAL. (Cannot be a national group.)
class types (object references) USAGE OBJECT REFERENCE class-name
  1. You must distinguish boolean from byte, because they each correspond to PIC X. PIC X is interpreted as boolean only if you define an argument or a parameter with the two condition-names as shown. Otherwise, a PIC X data item is interpreted as the Java byte type.
  2. Java floating-point data is formatted according to the IEEE Standard for Binary Floating Point Arithmetic. Enterprise COBOL, however, uses hexadecimal floating-point representation. When you pass floating-point arguments by using an INVOKE statement, or you receive floating-point data from a Java method, the arguments and data are automatically converted as needed.