COBCH1809 <キーワード> は適切な SORT キー型でない - IComparable/Comparable インターフェイスが実装されていない

マネージ配列をソートする際に、ソート キー (またはキーが明示的に指定されていない場合は配列要素) の型が final である場合 (つまりサブタイプ化できない場合)、その型は JVM 用にコンパイルする際には java.lang.Comparable を実装する必要があります。型が final ではなく、その型が正しいインターフェイスを実装していない場合、実行時にソート処理で例外が発生する可能性があります。

解決方法:

コードを修正してから再コンパイルします。

例:

以下に、実行時エラーをスローし、コンパイル時エラーをスローする不適切なコーディング例を示します。

           declare array1 as Type A occurs 2
           set array1(1) to new A
           set array1(2) to new A
           sort array1       *> Compiles cleanly but gives error at run time
           declare array2 as Type B occurs 2
           set array2(1) to new B
           set array2(2) to new B
           sort array2       *> Gives compile time error
       end program.
       class-id A.
       end class.
       class-id B final.
       end class.