To use the Java and COBOL from within separate projects, see Java calling COBOL (separate projects).
The Properties for <project-name> dialog box appears.
Other settings are required for this example, such as the Java Interoperability Output Path set to src, and the project being built to a single native library file, but these are the default settings and so are already set.
The program is opened in the editor.
$set sourceformat(variable) >>JAVA-CALLABLE program-id. demo3 as "demo3" . working-storage section. 01 i pic 9(9) comp-5. 01 primes. 03 pic 9(9) comp-5 occurs 10 value 2,3,5,7,11,13,17,19,23,27. linkage section. 01 ltable1. 03 str pic X(100) occurs 4. 01 lint1 pic 9(9) comp-5. 01 ltable2. 03 int1 pic 9(9) comp-5 occurs 10. procedure division using ltable1 by value lint1 returning ltable2. perform varying i from 1 by 1 until i > 4 display "COBOL " i " " str(i) end-perform display "COBOL " lint1 move primes to ltable2 goback. end program demo3.
If your workspace is set to build automatically, the program is compiled. If the workspace is not set to build automatically, on the Project menu, click Build Project.
The program is opened in the editor.
package com.mycompany.demo3; public class Demo3 { public static void main(String[] args) { String[] s = {"hello", "there", "pink", "green"}; int int1 = 23; System.out.println("---------demo3---------"); int[] i = com.mycompany.demo3.progs.demo3(s, int1); System.out.println("Hello from Java"); for (int k=0; k<i.length; k++) System.out.println(i[k]); } }
If your workspace is set to build automatically, the program is compiled. If the workspace is not set to build automatically, on the Project menu, click Build Project.
A new configuration is displayed in the right-hand pane.
-Djava.library.path=<path-to-COBOL-output-folder>
replacing <path-to-COBOL-output-folder> with the full path name to the COBOL project's output folder.
---------demo3--------- COBOL 0000000001 hello COBOL 0000000002 there COBOL 0000000003 pink COBOL 0000000004 green COBOL 0000000023 Hello from Java 2 3 5 7 11 13 17 19 23 27
The code and the output shows the Java program passing two arguments into the COBOL program, which are processed and displayed from the COBOL. The COBOL program also returns a value, which is then processed in the Java program.