別々のプロジェクト内から Java および COBOL を使用するには、「COBOL からの Java 静的メソッドの呼び出し (別のプロジェクト)」を参照してください。
プログラムがエディターで開きます。
$set sourceformat(variable) nsymbol(national)
program-id. demo1 as "demo1".
78 MAX_OCC value 5.
01 i pic xxxx comp-5.
01 grp2.
03 nat1 pic n(10) national occurs MAX_OCC
value n"Red" n"Green" n"Blue" n"Orange" n"Indigo".
01 grp3.
03 utf1 pic u(10) occurs MAX_OCC.
01 grp4.
03 num2 pic xxxx comp-5 occurs MAX_OCC
value 1 2 4 5 6.
procedure division.
*> Sort COBOL array
call "java.com.microfocus.java.Demo1.static1" using grp2
display "---Output from COBOL---"
perform varying i from 1 by 1 until i > 5
display nat1(i)
end-perform
*> Select colors of the rainbow from input array
*> Careful Java has 0 based array indexes
call "java.com.microfocus.java.Demo1.static2" using grp4 returning grp3
display "---Output from COBOL---"
perform varying i from 1 by 1 until i > 5
display utf1(i)
end-perform.
end program demo1.
自動的にビルドするようにワークスペースが設定されている場合、プログラムがコンパイルされます。自動的にビルドするようにワークスペースが設定されていない場合は、[Project] メニューの [Build Project] をクリックします。
プログラムがエディターで開きます。
package com.microfocus.java;
import java.util.Arrays;
public class Demo1
{
public static void static1(String[] d)
{
System.out.println("---Output from Java Demo1.static1 method---");
for (int i = 0; i < d.length; i++)
{
System.out.println(d[i]);
}
Arrays.sort(d);
}
/* select colours from array */
public static String[] static2(int[] s)
{
System.out.println("---Output from Java Demo1.static2 method---");
for (int i: s)
System.out.println(i);
String[] rainbow = {"Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"};
String[] ret = {rainbow[s[0]], rainbow[s[1]], rainbow[s[2]], rainbow[s[3]], rainbow[s[4]]};
return ret;
}
}
自動的にビルドするようにワークスペースが設定されている場合、プログラムがコンパイルされます。自動的にビルドするようにワークスペースが設定されていない場合は、[Project] メニューの [Build Project] をクリックします。
新しい構成が右側のペインに表示されます。
---Output from Java Demo1.static1 method--- Red Green Blue Orange Indigo ---Output from COBOL--- Blue Green Indigo Orange Red ---Output from Java Demo1.static2 method--- 1 2 4 5 6 ---Output from COBOL--- Orange Yellow Blue Indigo Violet
このコードおよび出力は、COBOL コードが static1 メソッドを実行し、いくつかの COBOL 操作を処理した後、static2 メソッドを実行し、さらにいくつかの COBOL 操作を処理したことを示しています。