What compiler options and properties should I use for mainframe migrations with UniKix?
Estimated Reading Time: 2 MinutesHere are some guidelines and examples:
Recommended set of isCOBOL compiler options to start with for TPE and BPE projects:
-align=8 -cax -csl -cv -dcmi -di -dv=0 -dz -m1 -pt2 -sa
Note that these options may not suit every application. For example, supplying -dz can actually *break* some applications if you are expecting decimal truncation to occur.
Option to add for using figurative constants QUOTE and QUOTES
-apost
Option to add for copybook extensions (like MF COPYEXT)
-ce=cpy:def:cob
Option to add to make LINE SEQUENTIAL the default for file SEQUENTIAL
-cfl
Option to enable IBM mainframe host compatible numeric comparisons
-chnc
Option to enable IBM mainframe host compatible numeric moves
-chnm
Option to add for Slide OCCURS DEPENDING ON behavior (like MF ODOSLIDE)
-cod1
Option to add for Panvalet includes (++INCLUDE statements)
-cpanv
Option to imply record varying size
-crv
Option to add for error file
-ef
Option to add for listing
-ld
Option used in 64-bit projects:
-d64
Option to add for debugging:
-dx
Option to add to specify an output directory:
-od=/opt/omi/prod/object
Option to remove words from the reserved words list:
-rw=CENTURY-DATE,COLOR,COMMAND-LINE,CURRENT-DATE,CURSOR,CYCLE,DAY-OF-WEEK,END-DISPLAY,EXCLUSIVE,HIGHLIGHT,INDEPENDENT,MANUAL,MENU,METHOD,PRINTER,PRIORITY,PROGRAM-STATUS,REMARKS,SCROLL,SERVICE,SWITCH,SYSTEM-INFO,TAB,TABY,WIDTH,YYYYMMDD,ZERO-FILL
Option to specify the copy path
-sp=$COBCPY
Property setting to look for file names in environment variables
iscobol.file.env_naming=1
Property setting to allow control characters in line sequential files like the Micro Focus +N runtime switch
iscobol.file.linesequential=com.iscobol.io.DynamicLSeqMF_N
Property setting to strip trailing spaces from the lines in line sequential files
iscobol.file.strip_trailing_spaces=true
Property to set the file status data item and continue execution instead of aborting after a serious file error
iscobol.file.errors_ok=2