Level 66 and managed code

We're converting some REALLY old mainframe code to VC 2.3 for VS 2013 and we are getting a COBCH1710 when a Level 66 data item is referenced in the Procedure Division, specifically as an operand in an IF statement. I've dug around in the product documentation and can't find anything that says Level 66 shouldn't be used in managed code, but I've missed stuff in the past. Does anyone know of a restriction of Level 66 data items in managed code?
Parents
  • Verified Answer

    This appears to be a bug when trying to use renames in working-storage within a class definition. Although your example with moving just the 66 level item to local-storage gets rid of the compiler error the code generated is not correct. If you try to invoke InstanceMethod with this construct it will fail. If you move the entire data item being renamed to local-storage then it will work correctly.

    I will create a new support incident for you, Don and attach the RPI to it.

    Thanks.

Reply
  • Verified Answer

    This appears to be a bug when trying to use renames in working-storage within a class definition. Although your example with moving just the 66 level item to local-storage gets rid of the compiler error the code generated is not correct. If you try to invoke InstanceMethod with this construct it will fail. If you move the entire data item being renamed to local-storage then it will work correctly.

    I will create a new support incident for you, Don and attach the RPI to it.

    Thanks.

Children
No Data