INSPECT CONVERTING TO HIGH-VALUES problem

I'm trying to evaluate Micro Focus Enterprise Developer, and I'm stuck.

In the native Micro Focus dialect or ENTCOBOL, when CHARSET"EBCDIC" is used code such as:

77 variable-w    pic x(12) value '000008123456'.
77 valid-chars-c pic x(10) value '0123456789'.

inspect variable-w converting valid-chars-c to high-values.

converts the variable to all x'DF', not x'FF'.

It recognizes high-values as x'FF' in other contexts, such as VALUE HIGH-VALUES or comparing the variable-w to HIGH-VALUES, so it doesn't seem to be that it is defining HIGH-VALUES as x'DF'.

It is really weird:

  • Converting a variable to the HIGH-VALUES figurative constant fails
  • Converting the variable to ALL X'FF' also results in x'DF'.

but...

  • Converting to spaces or low-values works
  • Converting a literal (e.g. '000008123456' works
  • Converting the variable to another variable (such as high-values-c pic x(12) value high-values) works
  • INSPECT ... REPLACING ALL '0' BY HIGH-VALUES (or BY X'FF') converts the zeros to x'FF' as expected
  • CHARSET"ASCII" works

It is like the only failure is when the charset is EBCDIC, and the inspect is converting an identifier to a high-values literal or figurative constant

Any ideas what is going on?

I can't work around this. There are too many programs with this coding pattern.

Parents
  • Hi,

    When setting ENTCOBOL dialect that sets CHARSET"EBCDIC" by default, see here:
    www.microfocus.com/.../HRCDRHCDIRB5.html

    To summarize, the issue is that the value is converted to x'DF', not x'FF'.

    What are you comparing the behaviour too to lead you to believe this is incorrect behaivour? I.e. which environment does this work in, IBM mainframe or a previous Micro Focus product?

    Is the behaviour only seen with an INSPECT statement or other statements, e.g. MOVE?

    It looks like you may need further assistance with this therefore I suggest you consider raising a support case to receive more dedicated help.

  • INSPECT variable CONVERTING variable TO HIGH VALUES has worked in IBM COBOL for OS/390 & VM in 2002 or so. Maybe even earlier.

    I only see the problem with INSPECT CONVERTING, and as noted above, in very particular forms of INSPECT CONVERTING.

    I don't get to raise support cases. I'm doing an evaluation of the product to determine if it can be used to develop our system.

  • Hi Michael, this may take more time to test this for you, e.g. setup suitable test environments, setup a suitable test program. I can see you should be able to raise a support case (you have an account and eval serial number), therefore please consider to do that to receive more dedicated help with this problem you are describing. If you have any problems raising the case let me know, we can review that also.

  • If I can open a case, that would be great. I've already created a reduced test program that demonstrates the issue with no other dependencies.

    But when I go to SupporttPortal > Cases > New Case, it gets stuck because for a Technical Issue, it displays None in the Account field. Is that because I have no entitled products? That's why I assumed that evals are not entitled to any support.

    Should I enter as a Non Technical Inquiry, noting the product at the beginning of the Description?

  • Verified Answer

    I recommend a case be raised. If you raise as non technical and explain the situation, then we can review further, then main thing for now would be to get this reported into the system. If you want to share the case number with me once raised then I can check that it goes to the relevant team.

Reply
  • Verified Answer

    I recommend a case be raised. If you raise as non technical and explain the situation, then we can review further, then main thing for now would be to get this reported into the system. If you want to share the case number with me once raised then I can check that it goes to the relevant team.

Children