COBCH1707 Member <member> is not CLS compliant because it differs from another member only by case

A member that is marked as CLS compliant has the same name as another member in the assembly, differing only by case.

You need to rename one of the members, or set the CLSCompliant(false) attribute on the members whose names differ only by case, and which have the same signature.

class-id myClass.
assembly-attributes.
 attribute CLSCompliant(true).

method-id myMethod.  *> add attribute CLSCompliant(false)                   
procedure division using by value myParam as binary-long unsigned. 
...
end method.
method-id MYMethod.  *> add attribute CLSCompliant(false)
procedure division using by value myParam as binary-long unsigned.
...
end method.
end class.

The rules for setting the CLSCompliant attribute:

  • Setting the attribute at the assembly level assumes that all members within it are CLS compliant, and the Compiler issues warnings where that is not the case.
  • When the attribute is set at the assembly level, set the attribute CLSCompliant(false) on individual members to suppress the warnings.
  • When the attribute is set on a method or field, it must also be set on the containing class or assembly.
  • When the attribute is set on a class, it must also be set on the containing assembly.