Comp-X behavior

We have a variable defined as Pic X(5) Comp-X. This is able to handle 13 digits, which it does. However, whenever we move this value to a alphanumeric field, which is defined as Pic X(13), the high order digit is dropped and the field contains 12 digits and a space. If we would move the comp-x field to a numeric field, that is defined as Pic 9(13), and then move this to the alphanumeric field it moves all 13 digits correctly. There seems to be a bug in the way that Micofocus moves the comp-x field to alphanumeric. Is there a compile setting that must be used to get the correct behavior?

Parents
  • The value 1099511627775 is 13 digits. There is no problem in moving the Pic X(05) Comp-X to a numeric 9(13) field. Also Acucobol has no problem with dealing with the field defined this way. Micro Focus is off by 1 byte in all comp-x lenghts from 1 to 8. Is a field defined as Pic 9(13) Binary(5) equivalent in lenght to a Pic X(05) Comp-X?

Reply
  • The value 1099511627775 is 13 digits. There is no problem in moving the Pic X(05) Comp-X to a numeric 9(13) field. Also Acucobol has no problem with dealing with the field defined this way. Micro Focus is off by 1 byte in all comp-x lenghts from 1 to 8. Is a field defined as Pic 9(13) Binary(5) equivalent in lenght to a Pic X(05) Comp-X?

Children
No Data