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
  • I just tested this with both 2.3 and 2.3 update 1 and I cannot reproduce the problem you are seeing.

    Perhaps this is related to a directive that you are using that I am not.

    Could you try creating a new managed code console project and replacing the contents of Program1.cbl with the following to see if you still get the error?

          program-id. Program1 as "testman66.Program1".
          data division.
          working-storage section.
          01  PREV-BC-CTL.
             10  P-BRCLGROUP             PIC 9          VALUE ZERO.
             10  P-ENPG                  PIC 9          VALUE ZERO.
             10  P-ERATE                 PIC X(5)       VALUE SPACES.
             10  P-FORM                  PIC X          VALUE SPACE.
          66  P-BC-NPG-RATE  RENAMES P-BRCLGROUP THRU P-ERATE.
          procedure division.

              MOVE SPACES TO P-BC-NPG-RATE
              if P-BC-NPG-RATE = spaces
                 display "ok"
              else
                 display "no"
              end-if

              goback.

          end program Program1.

Reply
  • I just tested this with both 2.3 and 2.3 update 1 and I cannot reproduce the problem you are seeing.

    Perhaps this is related to a directive that you are using that I am not.

    Could you try creating a new managed code console project and replacing the contents of Program1.cbl with the following to see if you still get the error?

          program-id. Program1 as "testman66.Program1".
          data division.
          working-storage section.
          01  PREV-BC-CTL.
             10  P-BRCLGROUP             PIC 9          VALUE ZERO.
             10  P-ENPG                  PIC 9          VALUE ZERO.
             10  P-ERATE                 PIC X(5)       VALUE SPACES.
             10  P-FORM                  PIC X          VALUE SPACE.
          66  P-BC-NPG-RATE  RENAMES P-BRCLGROUP THRU P-ERATE.
          procedure division.

              MOVE SPACES TO P-BC-NPG-RATE
              if P-BC-NPG-RATE = spaces
                 display "ok"
              else
                 display "no"
              end-if

              goback.

          end program Program1.

Children
No Data