Gen 8.6 and COBOL 6.x compiler options NOINVDATA and ARCH(11)
search cancel

Gen 8.6 and COBOL 6.x compiler options NOINVDATA and ARCH(11)

book

Article ID: 436563

calendar_today

Updated On:

Products

Gen - Host Encyclopedia Gen

Issue/Introduction

Gen 8.6 using COBOL 6.4 and below is a compiler listing.

*****

1PP 5655-EC6 IBM Enterprise COBOL for z/OS  6.4.0 P240416             
0Invocation parameters:                                               
  S,X,MAP,OFF,DATA(31),NOSEQ,OPT,RENT,DLL,APOST,NOLIB,NONUM,NOD,NODYN,
...

0Options in effect:             
   NOADATA                       
     ADV                         
     AFP(VOLATILE)               
     APOST                       
     ARCH(14)                    
     ARITH(COMPAT)               
   NOAWO                         
     BLOCK0          

 

    INITCHECK(LAX)         
  NOINITIAL                
    INLINE                 
    INTDATE(ANSI)          
  NOINVDATA                
  NOJAVAIOP                
    LANGUAGE(EN)       

*****

  • In above, regarding option NOINVDATA, does Gen generated COBOL code take care of invalid data handling?

  • If want to use the compiler options ARCH(11) with INVDATA(NOFORCENUMCMP,CLEANSIGN) will that cause any issues? Where do the default Host Construction compiler options need to changed to achieve that?

Environment

Gen Host Construction with COBOL 6.x

Resolution

  1. Compiler options:
    1. NOINVDATA
      NOINVDATA is the default setting for INVDATA per COBOL 6.4 doc. page IBM Enterprise COBOL for z/OS > 6.4.0 > Programming guide > ... > COBOL Compiler options
      Gen Engineering team advised that Gen generated code ensures that data is valid so they let the compiler default to NOINVDATA. If wish to change that default it should not cause any issues but Engineering advise testing the resulting applications to make sure no problems are introduced.
    2. ARCH(11)
      Adding ARCH(11) should also not cause any issues.

  2. Per article 187525 Gen Host Encyclopedia COBOL compiler options, the Gen Host Construction compiler options are stored in clist library CEHBCLS0 member TICCMPL.
    It is suggested to take a backup copy of the default TICCMPL member before making any changes.
    TICCMPL contains several 'IF' blocks so need to be careful when making changes.
    Some of the 'IF' blocks check the TIRHE member TIRC2VER parameter for COBOL 4 or less (e.g. TIRC2VER=V4R2M0) i.e. 'IF &SUBSTR(2,&TIRC2VER) LE 4'. So if have already changed TIRC2VER to be V6R4M0 for COBOL 6.4 then code inside that 'IF' block would not be called and would need to look at the related 'ELSE' block after it.
    After making changes to TICCMPL continue to use the Gen Host Construction "Compile listings" library to verify the new COBOL options are what are required.

Additional Information

Related article 30151: Using Gen 8.x with COBOL V5 or COBOL V6 compiler