Java Program
import com.acucorp.acucobolgt.*; 
public static void main(String[] args) throws IOException { 
  try{ 
     CVM cvm = CVM.GET_INSTANCE(); 
     cvm.setErrorsOut("/tmp/errfile"); 
     cvm.setConfigFile("c:/myproject/config"); 
     cvm.initialize(); 
     CALL_OPTIONS co = new CALL_OPTIONS(); 
     co.setOption("debug_method", "1"); 
     int intParam = 1; 
     Integer objInt = new Integer(intParam); 
     byte byteParam = 'a'; 
     Byte objByte = new Byte(byteParam); 
     char charParam = 'b'; 
       Character objChar = new Character(charParam); 
     Object params[] = { 
       objInt, 
       objByte, 
       objChar 
     }; 
     cvm.callProgram("TestJavaToCobol", params, co); 
     cvm.cancelProgram("TestJavaToCobol"); 
     objInt = (Integer)params[0]; 
     objByte = (Byte)params[1];
     objChar = (Character)params[2]; 
  
     System.out.println("COBOL changed value to " +     
        objInt.intValue());
     System.out.println("COBOL changed value to " + 
        objByte.byteValue(); 
     System.out.println("COBOL changed value to " + 
        objChar.charValue()); 
     cvm.shutdown(); 
   } catch (Exception e){ 
    e.printStackTrace(); 
   } 
}
            COBOL Program
identification division. program-id. TestJavaToCobol. data division. working-storage section. COPY "java.def". 01 status-val pic 9(02) value zero. linkage section. 01 integer-parameter usage is signed-int. 01 byte-parameter pic x. 01 char-parameter pic x. procedure division using integer-parameter, byte-parameter, char-parameter. main-logic. move 3 to integer-parameter. move "d" to byte-parameter. move "e" to char-parameter. exit program.