[Migrated content. Thread originally posted on 10 October 2011]
Hello,
I am trying to compile a cobol program and have noticed that all the comp variables are being converted to comp-5 . I dont know why is this happening ? This may be a reason when I get strange results when I make third party API calls. Please notice that I have even tried the MAKESYN "COMP-5" = "COMP" and even that does not help. I have also included part of the listing for one of the program with variable STARTLOG-DVS-STATUS-1. Many comp variables defined within copy books are redefined as comp-5 as well on compilation.
My program is NOT an sql program and has no cobsql directives.
Can any one tell me what causes the comp-5 generation and how can I stop it.
The only directives I have set are
MAKESYN "COMP-5" = "COMP"
VERBOSE
SHOW-DIR
SETTINGS
CONFIRM
OVERRIDE "USER" = "BS2000USER"
COPYEXT"cbl,,cpy,pco"
ANIM
CONSTANT TESTMODE(0)
LIST()
DATAMAP
XREF
I have below part of the compiler listing that include the directives settings from the list file
* Micro Focus Net Express V5.1 revision 000 10-Oct-11 12:47 Page 1
* C:\\MOTUTM\\UDISE01.cbl
* Directives File: cobol.dir
* Accepted - SHOW-DIR
* Accepted - SETTINGS
* Accepted - CONFIRM
* Accepted - OVERRIDE "USER" = "BS2000USER"
* Accepted - COPYEXT"cbl,,cpy,pco"
* Accepted - ANIM
* Accepted - CONSTANT TESTMODE(0)
* Accepted - LIST()
* Accepted - DATAMAP
* Accepted - XREF
* End Of Directives File: cobol.dir
* Options: OMF(OBJ) GNT(.\\) OBJ(.\\) wb3 COBIDY(vi1amot) WB3 WB CSI ANIM
* EDITOR(MF2) ENSUITE(3) ANIM OBJ(vi1amot\\UDISE01.obj)
* Setting: NOACCEPTREFRESH NOADV ALIGN"8" ALPHASTART"1" ALTER NOAMODE ANIM
* NOANIMPREP ANS85 NOAPOST NOAREACHECK ARITHMETIC"MF" ASSIGN"DYNAMIC"
* NOASSIGN-PRINTER NOAUTOLOCK NOBELL BOUND NOBRIEF NOBS2000 BWZSTAR
* NOBYTEMODEMOVE CALLFH"EXTFH" NOCALLMCS NOCALLRECOVERY CALLSORT
* "EXTSM" CANCEL CANCELLBR NOCHANGEMESSAGE CHARSET"ASCII" CHECKDIV
* "ANSI" NOCHECKREFMOD NOCICS CICS-CPY NOCICSOPTIMIZE NOCMPR2
* NOCOBFSTATCONV COBIDY"vi1amot" NOCOBOL370 COBOLDIR NOCOMP COMP-5"2"
* COMP-6"2" NOCOMS85 NOCONFIRM NOCONVERTRET CONVSPACE COPYEXT
* "cbl,,cpy,pco" NOCOPYLBR COPYLIST COPYLISTCOMMENT"1" CSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY" NODATA DATACOMPRESS"0"
* NODATA-CONTEXT DATE DBCHECK DBCS"3" NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK NODG DIALECT"MF"
* NODIRECTIVES-IN-COMMENTS NODOSVS NODPCINSUBSCRIPT DYNAM
* NOEARLY-RELEASE ECHO NOECHOALL EDITOR"MF2" ENSUITE"3" NOENTCOBOL
* ERRFORMAT"1" ERRLIST"EMBED" ERRQ FASTSORT NOFCD3 NOFCDREG NOFDCLEAR
* NOFILESHARE FILETYPE"0" NOFLAG NOFLAGAS NOFLAGCD NOFLAGEUC
* NOFLAGMIG NOFLAGQ FLAGSINEDIT NOFLAGSTD NOFOLDCALLNAME
* NOFOLDCOPYNAME FORM"60" NOFP-ROUNDING NOHOSTARITHMETIC
* NOHOSTCONTZERO NOHOST-NUMCOMPARE NOHOST-NUMMOVE NOHOSTFD NOHOSTRW
* NOIBM-MS NOIBMCOMP IDXFORMAT"0" NOILGEN IMPLICITSCOPE NOINDD
* INFORETURN"0" NOINITCALL INITPTR INT"C:\\MOTUTM\\UDISE01.int" INTDATE
* "ANSI" INTLEVEL"2" IOCONV NOISO2002 NOIXNLSKEY NOIXNUMKEY KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN NOLINE-COUNT LIST"UDISE01.lst"
* LISTPATH"C:\\MOTUTM" LISTWIDTH"80" LITVAL-SIZE"4" LOCKTYPE"0"
* NOMAPNAME NOMAXERROR METHODDEFAULT"REFERENCE" MF"15" MFCOMMENT
* NOMOVELENCHECK NOMS NOMVS NATIVE"ASCII" NONATIVEFLOATINGPOINT
* NONCHAR NONEWBASENAME NONLS NSYMBOL"DBCS" NOODOOSVS NOODOSLIDE
* NOOLDBLANKLINE NOOLDCOPY NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX OOCTRL"-C-E-G-P Q R-S W" OPTIONAL-FILE NOOS390 OSEXT
* "cbl" NOOSVS NOOUTDD NOP64 NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE NOPROGID-COMMENT
* NOPROGID-INT-NAME NOPROTECT-LINKAGE PROTOTYPE"RELAXED" QUAL
* QUALPROC QUERY QUOTE NORAWLIST NORDW RECMODE"F" NOREENTRANT NOREF
* NOREFNO REMAINDER"1" REPORT-LINE"256" RESEQ NORETRYLOCK REWRITE-LS
* NORM RTNCODE-SIZE"4" NORWHARDPAGE NOSAA SEG NOSEQCHK SEQUENTIAL
* "RECORD" NOSERIAL SETTING"LINE" NOSHAREOUTDD SHOW-DIR SIGN"ASCII"
* NOSIGNFIXUP SORTTYPE"DFSORT" SOURCEFORMAT"FIXED" SOURCETABSTOP"8"
* NOSPZERO NOSSRANGE NOSTDERR NOSTICKY-LINKAGE NOSTICKY-PERFORM SUPFF
* SWITCHTYPE"1" SYMBSTART"1" SYSPUNCH"132" TERMPAGE TIME NOTRACE
* TRUNC"ANSI" NOTRUNCCALLNAME NOTRUNCCOPY TRUNCINC"10" UNICODE
* "NATIVE" VERBOSE NOVSC2 WARNING"1" WB NOWB2 WB3 WEBSERVER"CGI"
* NOWRITELOCK NOWRITETHRU NOXOPEN XREF NOZEROLENGTHFALSE NOZEROSEQ
* NOZWB
...
175 01 STARTLOG-DVS-STATUS.
176 05 STARTLOG-DVS-STATUS-1 PIC 9(02) COMP.
177 05 STARTLOG-DVS-STATUS-2 PIC X(04).
...
* 000175 STARTLOG-DVS-STATUS . . . . . . 0000000008 00000005 LC G AlphNum
* 000176 STARTLOG-DVS-STATUS-1 . . . . . 0000000008 00000001 LC E Comp-5
* 000177 STARTLOG-DVS-STATUS-2 . . . . . 0000000009 00000004 LC E AlphNum
...
* STARTLOG-DVS-STATUS Group length 5
* 39 175# (X 2)
*
* STARTLOG-DVS-STATUS-1 Numeric COMP-5 1
* 176# (X 1)
*
* STARTLOG-DVS-STATUS-2 Alphanumeric 4
* 177#
The setting MAKESYN "COMP-5" = "COMP" tells the compiler to treat COMP as COMP-5 not the other way around.
MAKESYN
Makes one reserved word synonymous with another.
Syntax:
>>-.---.-MAKESYN-"rsv-word-1" = "rsv-word-2"---><
-/-
Parameters:
rsv-word-1 A reserved word.
rsv-word-2 The reserved word whose meaning is to be changed.
Do you see the same problem when this is not set?
[Migrated content. Thread originally posted on 10 October 2011]
Hello,
I am trying to compile a cobol program and have noticed that all the comp variables are being converted to comp-5 . I dont know why is this happening ? This may be a reason when I get strange results when I make third party API calls. Please notice that I have even tried the MAKESYN "COMP-5" = "COMP" and even that does not help. I have also included part of the listing for one of the program with variable STARTLOG-DVS-STATUS-1. Many comp variables defined within copy books are redefined as comp-5 as well on compilation.
My program is NOT an sql program and has no cobsql directives.
Can any one tell me what causes the comp-5 generation and how can I stop it.
The only directives I have set are
MAKESYN "COMP-5" = "COMP"
VERBOSE
SHOW-DIR
SETTINGS
CONFIRM
OVERRIDE "USER" = "BS2000USER"
COPYEXT"cbl,,cpy,pco"
ANIM
CONSTANT TESTMODE(0)
LIST()
DATAMAP
XREF
I have below part of the compiler listing that include the directives settings from the list file
* Micro Focus Net Express V5.1 revision 000 10-Oct-11 12:47 Page 1
* C:\\MOTUTM\\UDISE01.cbl
* Directives File: cobol.dir
* Accepted - SHOW-DIR
* Accepted - SETTINGS
* Accepted - CONFIRM
* Accepted - OVERRIDE "USER" = "BS2000USER"
* Accepted - COPYEXT"cbl,,cpy,pco"
* Accepted - ANIM
* Accepted - CONSTANT TESTMODE(0)
* Accepted - LIST()
* Accepted - DATAMAP
* Accepted - XREF
* End Of Directives File: cobol.dir
* Options: OMF(OBJ) GNT(.\\) OBJ(.\\) wb3 COBIDY(vi1amot) WB3 WB CSI ANIM
* EDITOR(MF2) ENSUITE(3) ANIM OBJ(vi1amot\\UDISE01.obj)
* Setting: NOACCEPTREFRESH NOADV ALIGN"8" ALPHASTART"1" ALTER NOAMODE ANIM
* NOANIMPREP ANS85 NOAPOST NOAREACHECK ARITHMETIC"MF" ASSIGN"DYNAMIC"
* NOASSIGN-PRINTER NOAUTOLOCK NOBELL BOUND NOBRIEF NOBS2000 BWZSTAR
* NOBYTEMODEMOVE CALLFH"EXTFH" NOCALLMCS NOCALLRECOVERY CALLSORT
* "EXTSM" CANCEL CANCELLBR NOCHANGEMESSAGE CHARSET"ASCII" CHECKDIV
* "ANSI" NOCHECKREFMOD NOCICS CICS-CPY NOCICSOPTIMIZE NOCMPR2
* NOCOBFSTATCONV COBIDY"vi1amot" NOCOBOL370 COBOLDIR NOCOMP COMP-5"2"
* COMP-6"2" NOCOMS85 NOCONFIRM NOCONVERTRET CONVSPACE COPYEXT
* "cbl,,cpy,pco" NOCOPYLBR COPYLIST COPYLISTCOMMENT"1" CSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY" NODATA DATACOMPRESS"0"
* NODATA-CONTEXT DATE DBCHECK DBCS"3" NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK NODG DIALECT"MF"
* NODIRECTIVES-IN-COMMENTS NODOSVS NODPCINSUBSCRIPT DYNAM
* NOEARLY-RELEASE ECHO NOECHOALL EDITOR"MF2" ENSUITE"3" NOENTCOBOL
* ERRFORMAT"1" ERRLIST"EMBED" ERRQ FASTSORT NOFCD3 NOFCDREG NOFDCLEAR
* NOFILESHARE FILETYPE"0" NOFLAG NOFLAGAS NOFLAGCD NOFLAGEUC
* NOFLAGMIG NOFLAGQ FLAGSINEDIT NOFLAGSTD NOFOLDCALLNAME
* NOFOLDCOPYNAME FORM"60" NOFP-ROUNDING NOHOSTARITHMETIC
* NOHOSTCONTZERO NOHOST-NUMCOMPARE NOHOST-NUMMOVE NOHOSTFD NOHOSTRW
* NOIBM-MS NOIBMCOMP IDXFORMAT"0" NOILGEN IMPLICITSCOPE NOINDD
* INFORETURN"0" NOINITCALL INITPTR INT"C:\\MOTUTM\\UDISE01.int" INTDATE
* "ANSI" INTLEVEL"2" IOCONV NOISO2002 NOIXNLSKEY NOIXNUMKEY KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN NOLINE-COUNT LIST"UDISE01.lst"
* LISTPATH"C:\\MOTUTM" LISTWIDTH"80" LITVAL-SIZE"4" LOCKTYPE"0"
* NOMAPNAME NOMAXERROR METHODDEFAULT"REFERENCE" MF"15" MFCOMMENT
* NOMOVELENCHECK NOMS NOMVS NATIVE"ASCII" NONATIVEFLOATINGPOINT
* NONCHAR NONEWBASENAME NONLS NSYMBOL"DBCS" NOODOOSVS NOODOSLIDE
* NOOLDBLANKLINE NOOLDCOPY NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX OOCTRL"-C-E-G-P Q R-S W" OPTIONAL-FILE NOOS390 OSEXT
* "cbl" NOOSVS NOOUTDD NOP64 NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE NOPROGID-COMMENT
* NOPROGID-INT-NAME NOPROTECT-LINKAGE PROTOTYPE"RELAXED" QUAL
* QUALPROC QUERY QUOTE NORAWLIST NORDW RECMODE"F" NOREENTRANT NOREF
* NOREFNO REMAINDER"1" REPORT-LINE"256" RESEQ NORETRYLOCK REWRITE-LS
* NORM RTNCODE-SIZE"4" NORWHARDPAGE NOSAA SEG NOSEQCHK SEQUENTIAL
* "RECORD" NOSERIAL SETTING"LINE" NOSHAREOUTDD SHOW-DIR SIGN"ASCII"
* NOSIGNFIXUP SORTTYPE"DFSORT" SOURCEFORMAT"FIXED" SOURCETABSTOP"8"
* NOSPZERO NOSSRANGE NOSTDERR NOSTICKY-LINKAGE NOSTICKY-PERFORM SUPFF
* SWITCHTYPE"1" SYMBSTART"1" SYSPUNCH"132" TERMPAGE TIME NOTRACE
* TRUNC"ANSI" NOTRUNCCALLNAME NOTRUNCCOPY TRUNCINC"10" UNICODE
* "NATIVE" VERBOSE NOVSC2 WARNING"1" WB NOWB2 WB3 WEBSERVER"CGI"
* NOWRITELOCK NOWRITETHRU NOXOPEN XREF NOZEROLENGTHFALSE NOZEROSEQ
* NOZWB
...
175 01 STARTLOG-DVS-STATUS.
176 05 STARTLOG-DVS-STATUS-1 PIC 9(02) COMP.
177 05 STARTLOG-DVS-STATUS-2 PIC X(04).
...
* 000175 STARTLOG-DVS-STATUS . . . . . . 0000000008 00000005 LC G AlphNum
* 000176 STARTLOG-DVS-STATUS-1 . . . . . 0000000008 00000001 LC E Comp-5
* 000177 STARTLOG-DVS-STATUS-2 . . . . . 0000000009 00000004 LC E AlphNum
...
* STARTLOG-DVS-STATUS Group length 5
* 39 175# (X 2)
*
* STARTLOG-DVS-STATUS-1 Numeric COMP-5 1
* 176# (X 1)
*
* STARTLOG-DVS-STATUS-2 Alphanumeric 4
* 177#
Cheeta , thanks for your response.
I am using netexpress 5.1 to compile some legacy code.
Chris,
Thanks for your message. I have noted the correct syntax now ! I face similar problem when its not set.
Although when I include MAKESYN "COMP" = "COMP-5" the compiler seems to generate comp definitions (API call still seems to return incorrect values). How ever I feel that I should not need to use MAKESYN to get around this ?
When I dont include MAKESYN the compiler generates comp-5 versions at some places. Another point to note is that it does this in some cases and not in the other. The code has some copybooks in it with comp data types. The compiler generates comp-5 data type for one copybook declaration where as it leaves the comp items as comp in the other case.
Please see part of new listing below
* Micro Focus Net Express V5.1 revision 000 11-Oct-11 10:31 Page 1
* C:\\MOTUTM\\UDISE01.cbl
* Directives File: cobol.dir
* Accepted - SHOW-DIR
* Accepted - SETTINGS
* Accepted - CONFIRM
* Accepted - OVERRIDE "USER" = "BS2000USER"
* Accepted - COPYEXT"cbl,,cpy,pco"
* Accepted - ANIM
* Accepted - CONSTANT TESTMODE(0)
* Accepted - LIST()
* Accepted - DATAMAP
* Accepted - XREF
* End Of Directives File: cobol.dir
* Options: OMF(OBJ) GNT(.\\) OBJ(.\\) wb3 COBIDY(vi1amot) WB3 WB CSI ANIM
* EDITOR(MF2) ENSUITE(3) ANIM OBJ(vi1amot\\UDISE01.obj)
* Setting: NOACCEPTREFRESH NOADV ALIGN"8" ALPHASTART"1" ALTER NOAMODE ANIM
* NOANIMPREP ANS85 NOAPOST NOAREACHECK ARITHMETIC"MF" ASSIGN"DYNAMIC"
* NOASSIGN-PRINTER NOAUTOLOCK NOBELL BOUND NOBRIEF NOBS2000 BWZSTAR
* NOBYTEMODEMOVE CALLFH"EXTFH" NOCALLMCS NOCALLRECOVERY CALLSORT
* "EXTSM" CANCEL CANCELLBR NOCHANGEMESSAGE CHARSET"ASCII" CHECKDIV
* "ANSI" NOCHECKREFMOD NOCICS CICS-CPY NOCICSOPTIMIZE NOCMPR2
* NOCOBFSTATCONV COBIDY"vi1amot" NOCOBOL370 COBOLDIR NOCOMP COMP-5"2"
* COMP-6"2" NOCOMS85 NOCONFIRM NOCONVERTRET CONVSPACE COPYEXT
* "cbl,,cpy,pco" NOCOPYLBR COPYLIST COPYLISTCOMMENT"1" CSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY" NODATA DATACOMPRESS"0"
* NODATA-CONTEXT DATE DBCHECK DBCS"3" NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK NODG DIALECT"MF"
* NODIRECTIVES-IN-COMMENTS NODOSVS NODPCINSUBSCRIPT DYNAM
* NOEARLY-RELEASE ECHO NOECHOALL EDITOR"MF2" ENSUITE"3" NOENTCOBOL
* ERRFORMAT"1" ERRLIST"EMBED" ERRQ FASTSORT NOFCD3 NOFCDREG NOFDCLEAR
* NOFILESHARE FILETYPE"0" NOFLAG NOFLAGAS NOFLAGCD NOFLAGEUC
* NOFLAGMIG NOFLAGQ FLAGSINEDIT NOFLAGSTD NOFOLDCALLNAME
* NOFOLDCOPYNAME FORM"60" NOFP-ROUNDING NOHOSTARITHMETIC
* NOHOSTCONTZERO NOHOST-NUMCOMPARE NOHOST-NUMMOVE NOHOSTFD NOHOSTRW
* NOIBM-MS NOIBMCOMP IDXFORMAT"0" NOILGEN IMPLICITSCOPE NOINDD
* INFORETURN"0" NOINITCALL INITPTR INT"C:\\MOTUTM\\UDISE01.int" INTDATE
* "ANSI" INTLEVEL"2" IOCONV NOISO2002 NOIXNLSKEY NOIXNUMKEY KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN NOLINE-COUNT LIST"UDISE01.lst"
* LISTPATH"C:\\MOTUTM" LISTWIDTH"80" LITVAL-SIZE"4" LOCKTYPE"0"
* NOMAPNAME NOMAXERROR METHODDEFAULT"REFERENCE" MF"15" MFCOMMENT
* NOMOVELENCHECK NOMS NOMVS NATIVE"ASCII" NONATIVEFLOATINGPOINT
* NONCHAR NONEWBASENAME NONLS NSYMBOL"DBCS" NOODOOSVS NOODOSLIDE
* NOOLDBLANKLINE NOOLDCOPY NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX OOCTRL"-C-E-G-P Q R-S W" OPTIONAL-FILE NOOS390 OSEXT
* "cbl" NOOSVS NOOUTDD NOP64 NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE NOPROGID-COMMENT
* NOPROGID-INT-NAME NOPROTECT-LINKAGE PROTOTYPE"RELAXED" QUAL
* QUALPROC QUERY QUOTE NORAWLIST NORDW RECMODE"F" NOREENTRANT NOREF
* NOREFNO REMAINDER"1" REPORT-LINE"256" RESEQ NORETRYLOCK REWRITE-LS
* NORM RTNCODE-SIZE"4" NORWHARDPAGE NOSAA SEG NOSEQCHK SEQUENTIAL
* "RECORD" NOSERIAL SETTING"LINE" NOSHAREOUTDD SHOW-DIR SIGN"ASCII"
* NOSIGNFIXUP SORTTYPE"DFSORT" SOURCEFORMAT"FIXED" SOURCETABSTOP"8"
* NOSPZERO NOSSRANGE NOSTDERR NOSTICKY-LINKAGE NOSTICKY-PERFORM SUPFF
* SWITCHTYPE"1" SYMBSTART"1" SYSPUNCH"132" TERMPAGE TIME NOTRACE
* TRUNC"ANSI" NOTRUNCCALLNAME NOTRUNCCOPY TRUNCINC"10" UNICODE
* "NATIVE" VERBOSE NOVSC2 WARNING"1" WB NOWB2 WB3 WEBSERVER"CGI"
* NOWRITELOCK NOWRITETHRU NOXOPEN XREF NOZEROLENGTHFALSE NOZEROSEQ
* NOZWB
The data item STARTLOG-DVS-STATUS-1 that I had mentioned in earlier post is now generated correctly
175 01 STARTLOG-DVS-STATUS. 00113000
176 05 STARTLOG-DVS-STATUS-1 PIC 9(02) COMP. 00114000
...
* 000175 STARTLOG-DVS-STATUS . . . . . . 0000000008 00000005 LC G AlphNum
* 000176 STARTLOG-DVS-STATUS-1 . . . . . 0000000008 00000001 LC E Comp
* 000177 STARTLOG-DVS-STATUS-2 . . . . . 0000000009 00000004 LC E AlphNum
how ever item KCRLM which is declared as a PIC 9(4) COMP in a copybook is generated as
301 05 KCRLM 00011700
302 PIC 9(4) COMP-5. 00011800
another field UDISPL-NEXT-PAGE-TO-STORE declared as PIC 9(04) COMP in another copybook still comes out as a comp field .
* 000557 UDISPL-NEXT-PAGE-TO-STORE . . . 0000000120 00000002 LS E Comp
...
* UDISPL-NEXT-PAGE-TO-STORE Numeric COMP 2
* 557# (X 1)
Anything that I have missed now ?
Thanks
[Migrated content. Thread originally posted on 10 October 2011]
Hello,
I am trying to compile a cobol program and have noticed that all the comp variables are being converted to comp-5 . I dont know why is this happening ? This may be a reason when I get strange results when I make third party API calls. Please notice that I have even tried the MAKESYN "COMP-5" = "COMP" and even that does not help. I have also included part of the listing for one of the program with variable STARTLOG-DVS-STATUS-1. Many comp variables defined within copy books are redefined as comp-5 as well on compilation.
My program is NOT an sql program and has no cobsql directives.
Can any one tell me what causes the comp-5 generation and how can I stop it.
The only directives I have set are
MAKESYN "COMP-5" = "COMP"
VERBOSE
SHOW-DIR
SETTINGS
CONFIRM
OVERRIDE "USER" = "BS2000USER"
COPYEXT"cbl,,cpy,pco"
ANIM
CONSTANT TESTMODE(0)
LIST()
DATAMAP
XREF
I have below part of the compiler listing that include the directives settings from the list file
* Micro Focus Net Express V5.1 revision 000 10-Oct-11 12:47 Page 1
* C:\\MOTUTM\\UDISE01.cbl
* Directives File: cobol.dir
* Accepted - SHOW-DIR
* Accepted - SETTINGS
* Accepted - CONFIRM
* Accepted - OVERRIDE "USER" = "BS2000USER"
* Accepted - COPYEXT"cbl,,cpy,pco"
* Accepted - ANIM
* Accepted - CONSTANT TESTMODE(0)
* Accepted - LIST()
* Accepted - DATAMAP
* Accepted - XREF
* End Of Directives File: cobol.dir
* Options: OMF(OBJ) GNT(.\\) OBJ(.\\) wb3 COBIDY(vi1amot) WB3 WB CSI ANIM
* EDITOR(MF2) ENSUITE(3) ANIM OBJ(vi1amot\\UDISE01.obj)
* Setting: NOACCEPTREFRESH NOADV ALIGN"8" ALPHASTART"1" ALTER NOAMODE ANIM
* NOANIMPREP ANS85 NOAPOST NOAREACHECK ARITHMETIC"MF" ASSIGN"DYNAMIC"
* NOASSIGN-PRINTER NOAUTOLOCK NOBELL BOUND NOBRIEF NOBS2000 BWZSTAR
* NOBYTEMODEMOVE CALLFH"EXTFH" NOCALLMCS NOCALLRECOVERY CALLSORT
* "EXTSM" CANCEL CANCELLBR NOCHANGEMESSAGE CHARSET"ASCII" CHECKDIV
* "ANSI" NOCHECKREFMOD NOCICS CICS-CPY NOCICSOPTIMIZE NOCMPR2
* NOCOBFSTATCONV COBIDY"vi1amot" NOCOBOL370 COBOLDIR NOCOMP COMP-5"2"
* COMP-6"2" NOCOMS85 NOCONFIRM NOCONVERTRET CONVSPACE COPYEXT
* "cbl,,cpy,pco" NOCOPYLBR COPYLIST COPYLISTCOMMENT"1" CSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY" NODATA DATACOMPRESS"0"
* NODATA-CONTEXT DATE DBCHECK DBCS"3" NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK NODG DIALECT"MF"
* NODIRECTIVES-IN-COMMENTS NODOSVS NODPCINSUBSCRIPT DYNAM
* NOEARLY-RELEASE ECHO NOECHOALL EDITOR"MF2" ENSUITE"3" NOENTCOBOL
* ERRFORMAT"1" ERRLIST"EMBED" ERRQ FASTSORT NOFCD3 NOFCDREG NOFDCLEAR
* NOFILESHARE FILETYPE"0" NOFLAG NOFLAGAS NOFLAGCD NOFLAGEUC
* NOFLAGMIG NOFLAGQ FLAGSINEDIT NOFLAGSTD NOFOLDCALLNAME
* NOFOLDCOPYNAME FORM"60" NOFP-ROUNDING NOHOSTARITHMETIC
* NOHOSTCONTZERO NOHOST-NUMCOMPARE NOHOST-NUMMOVE NOHOSTFD NOHOSTRW
* NOIBM-MS NOIBMCOMP IDXFORMAT"0" NOILGEN IMPLICITSCOPE NOINDD
* INFORETURN"0" NOINITCALL INITPTR INT"C:\\MOTUTM\\UDISE01.int" INTDATE
* "ANSI" INTLEVEL"2" IOCONV NOISO2002 NOIXNLSKEY NOIXNUMKEY KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN NOLINE-COUNT LIST"UDISE01.lst"
* LISTPATH"C:\\MOTUTM" LISTWIDTH"80" LITVAL-SIZE"4" LOCKTYPE"0"
* NOMAPNAME NOMAXERROR METHODDEFAULT"REFERENCE" MF"15" MFCOMMENT
* NOMOVELENCHECK NOMS NOMVS NATIVE"ASCII" NONATIVEFLOATINGPOINT
* NONCHAR NONEWBASENAME NONLS NSYMBOL"DBCS" NOODOOSVS NOODOSLIDE
* NOOLDBLANKLINE NOOLDCOPY NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX OOCTRL"-C-E-G-P Q R-S W" OPTIONAL-FILE NOOS390 OSEXT
* "cbl" NOOSVS NOOUTDD NOP64 NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE NOPROGID-COMMENT
* NOPROGID-INT-NAME NOPROTECT-LINKAGE PROTOTYPE"RELAXED" QUAL
* QUALPROC QUERY QUOTE NORAWLIST NORDW RECMODE"F" NOREENTRANT NOREF
* NOREFNO REMAINDER"1" REPORT-LINE"256" RESEQ NORETRYLOCK REWRITE-LS
* NORM RTNCODE-SIZE"4" NORWHARDPAGE NOSAA SEG NOSEQCHK SEQUENTIAL
* "RECORD" NOSERIAL SETTING"LINE" NOSHAREOUTDD SHOW-DIR SIGN"ASCII"
* NOSIGNFIXUP SORTTYPE"DFSORT" SOURCEFORMAT"FIXED" SOURCETABSTOP"8"
* NOSPZERO NOSSRANGE NOSTDERR NOSTICKY-LINKAGE NOSTICKY-PERFORM SUPFF
* SWITCHTYPE"1" SYMBSTART"1" SYSPUNCH"132" TERMPAGE TIME NOTRACE
* TRUNC"ANSI" NOTRUNCCALLNAME NOTRUNCCOPY TRUNCINC"10" UNICODE
* "NATIVE" VERBOSE NOVSC2 WARNING"1" WB NOWB2 WB3 WEBSERVER"CGI"
* NOWRITELOCK NOWRITETHRU NOXOPEN XREF NOZEROLENGTHFALSE NOZEROSEQ
* NOZWB
...
175 01 STARTLOG-DVS-STATUS.
176 05 STARTLOG-DVS-STATUS-1 PIC 9(02) COMP.
177 05 STARTLOG-DVS-STATUS-2 PIC X(04).
...
* 000175 STARTLOG-DVS-STATUS . . . . . . 0000000008 00000005 LC G AlphNum
* 000176 STARTLOG-DVS-STATUS-1 . . . . . 0000000008 00000001 LC E Comp-5
* 000177 STARTLOG-DVS-STATUS-2 . . . . . 0000000009 00000004 LC E AlphNum
...
* STARTLOG-DVS-STATUS Group length 5
* 39 175# (X 2)
*
* STARTLOG-DVS-STATUS-1 Numeric COMP-5 1
* 176# (X 1)
*
* STARTLOG-DVS-STATUS-2 Alphanumeric 4
* 177#
Chris,
Sorry for the confusion, datamap is
* 000301 KCRLM . . . . . . . . . . . . . 0000000086 00000002 LS E Comp-5
I am invoking Fujitsu Universal transaction monitor calls. When I invoke the api to get the message from the client, the message is ready correctly how ever the length of the message read is not returned (still set to 0 in the KCRLM field). Now COMP-5 may be an issue.
I am not using any MAKESYN directive and even then the behavior is there when using the compiler.
Thanks
[Migrated content. Thread originally posted on 10 October 2011]
Hello,
I am trying to compile a cobol program and have noticed that all the comp variables are being converted to comp-5 . I dont know why is this happening ? This may be a reason when I get strange results when I make third party API calls. Please notice that I have even tried the MAKESYN "COMP-5" = "COMP" and even that does not help. I have also included part of the listing for one of the program with variable STARTLOG-DVS-STATUS-1. Many comp variables defined within copy books are redefined as comp-5 as well on compilation.
My program is NOT an sql program and has no cobsql directives.
Can any one tell me what causes the comp-5 generation and how can I stop it.
The only directives I have set are
MAKESYN "COMP-5" = "COMP"
VERBOSE
SHOW-DIR
SETTINGS
CONFIRM
OVERRIDE "USER" = "BS2000USER"
COPYEXT"cbl,,cpy,pco"
ANIM
CONSTANT TESTMODE(0)
LIST()
DATAMAP
XREF
I have below part of the compiler listing that include the directives settings from the list file
* Micro Focus Net Express V5.1 revision 000 10-Oct-11 12:47 Page 1
* C:\\MOTUTM\\UDISE01.cbl
* Directives File: cobol.dir
* Accepted - SHOW-DIR
* Accepted - SETTINGS
* Accepted - CONFIRM
* Accepted - OVERRIDE "USER" = "BS2000USER"
* Accepted - COPYEXT"cbl,,cpy,pco"
* Accepted - ANIM
* Accepted - CONSTANT TESTMODE(0)
* Accepted - LIST()
* Accepted - DATAMAP
* Accepted - XREF
* End Of Directives File: cobol.dir
* Options: OMF(OBJ) GNT(.\\) OBJ(.\\) wb3 COBIDY(vi1amot) WB3 WB CSI ANIM
* EDITOR(MF2) ENSUITE(3) ANIM OBJ(vi1amot\\UDISE01.obj)
* Setting: NOACCEPTREFRESH NOADV ALIGN"8" ALPHASTART"1" ALTER NOAMODE ANIM
* NOANIMPREP ANS85 NOAPOST NOAREACHECK ARITHMETIC"MF" ASSIGN"DYNAMIC"
* NOASSIGN-PRINTER NOAUTOLOCK NOBELL BOUND NOBRIEF NOBS2000 BWZSTAR
* NOBYTEMODEMOVE CALLFH"EXTFH" NOCALLMCS NOCALLRECOVERY CALLSORT
* "EXTSM" CANCEL CANCELLBR NOCHANGEMESSAGE CHARSET"ASCII" CHECKDIV
* "ANSI" NOCHECKREFMOD NOCICS CICS-CPY NOCICSOPTIMIZE NOCMPR2
* NOCOBFSTATCONV COBIDY"vi1amot" NOCOBOL370 COBOLDIR NOCOMP COMP-5"2"
* COMP-6"2" NOCOMS85 NOCONFIRM NOCONVERTRET CONVSPACE COPYEXT
* "cbl,,cpy,pco" NOCOPYLBR COPYLIST COPYLISTCOMMENT"1" CSI
* CURRENCY-SIGN"36" CURRENT-DATE"MMDDYY" NODATA DATACOMPRESS"0"
* NODATA-CONTEXT DATE DBCHECK DBCS"3" NODBCSSOSI DBSPACE DE-EDIT"2"
* DEFAULTBYTE"32" NODEFAULTCALLS DETECTLOCK NODG DIALECT"MF"
* NODIRECTIVES-IN-COMMENTS NODOSVS NODPCINSUBSCRIPT DYNAM
* NOEARLY-RELEASE ECHO NOECHOALL EDITOR"MF2" ENSUITE"3" NOENTCOBOL
* ERRFORMAT"1" ERRLIST"EMBED" ERRQ FASTSORT NOFCD3 NOFCDREG NOFDCLEAR
* NOFILESHARE FILETYPE"0" NOFLAG NOFLAGAS NOFLAGCD NOFLAGEUC
* NOFLAGMIG NOFLAGQ FLAGSINEDIT NOFLAGSTD NOFOLDCALLNAME
* NOFOLDCOPYNAME FORM"60" NOFP-ROUNDING NOHOSTARITHMETIC
* NOHOSTCONTZERO NOHOST-NUMCOMPARE NOHOST-NUMMOVE NOHOSTFD NOHOSTRW
* NOIBM-MS NOIBMCOMP IDXFORMAT"0" NOILGEN IMPLICITSCOPE NOINDD
* INFORETURN"0" NOINITCALL INITPTR INT"C:\\MOTUTM\\UDISE01.int" INTDATE
* "ANSI" INTLEVEL"2" IOCONV NOISO2002 NOIXNLSKEY NOIXNUMKEY KEEP-INT
* KEYCHECK KEYCOMPRESS"0" NOLIBRARIAN NOLINE-COUNT LIST"UDISE01.lst"
* LISTPATH"C:\\MOTUTM" LISTWIDTH"80" LITVAL-SIZE"4" LOCKTYPE"0"
* NOMAPNAME NOMAXERROR METHODDEFAULT"REFERENCE" MF"15" MFCOMMENT
* NOMOVELENCHECK NOMS NOMVS NATIVE"ASCII" NONATIVEFLOATINGPOINT
* NONCHAR NONEWBASENAME NONLS NSYMBOL"DBCS" NOODOOSVS NOODOSLIDE
* NOOLDBLANKLINE NOOLDCOPY NOOLDINDEX NOOLDNEXTSENTENCE NOOLDREADINTO
* NOOLDSTRMIX OOCTRL"-C-E-G-P Q R-S W" OPTIONAL-FILE NOOS390 OSEXT
* "cbl" NOOSVS NOOUTDD NOP64 NOPANVALET PERFORM-TYPE"MF" NOPREPLIST
* NOPREPROCESS NOPRINT-EXT NOPROFILE NOPROGID-COMMENT
* NOPROGID-INT-NAME NOPROTECT-LINKAGE PROTOTYPE"RELAXED" QUAL
* QUALPROC QUERY QUOTE NORAWLIST NORDW RECMODE"F" NOREENTRANT NOREF
* NOREFNO REMAINDER"1" REPORT-LINE"256" RESEQ NORETRYLOCK REWRITE-LS
* NORM RTNCODE-SIZE"4" NORWHARDPAGE NOSAA SEG NOSEQCHK SEQUENTIAL
* "RECORD" NOSERIAL SETTING"LINE" NOSHAREOUTDD SHOW-DIR SIGN"ASCII"
* NOSIGNFIXUP SORTTYPE"DFSORT" SOURCEFORMAT"FIXED" SOURCETABSTOP"8"
* NOSPZERO NOSSRANGE NOSTDERR NOSTICKY-LINKAGE NOSTICKY-PERFORM SUPFF
* SWITCHTYPE"1" SYMBSTART"1" SYSPUNCH"132" TERMPAGE TIME NOTRACE
* TRUNC"ANSI" NOTRUNCCALLNAME NOTRUNCCOPY TRUNCINC"10" UNICODE
* "NATIVE" VERBOSE NOVSC2 WARNING"1" WB NOWB2 WB3 WEBSERVER"CGI"
* NOWRITELOCK NOWRITETHRU NOXOPEN XREF NOZEROLENGTHFALSE NOZEROSEQ
* NOZWB
...
175 01 STARTLOG-DVS-STATUS.
176 05 STARTLOG-DVS-STATUS-1 PIC 9(02) COMP.
177 05 STARTLOG-DVS-STATUS-2 PIC X(04).
...
* 000175 STARTLOG-DVS-STATUS . . . . . . 0000000008 00000005 LC G AlphNum
* 000176 STARTLOG-DVS-STATUS-1 . . . . . 0000000008 00000001 LC E Comp-5
* 000177 STARTLOG-DVS-STATUS-2 . . . . . 0000000009 00000004 LC E AlphNum
...
* STARTLOG-DVS-STATUS Group length 5
* 39 175# (X 2)
*
* STARTLOG-DVS-STATUS-1 Numeric COMP-5 1
* 176# (X 1)
*
* STARTLOG-DVS-STATUS-2 Alphanumeric 4
* 177#
Chris,
Sorry for the confusion, datamap is
* 000301 KCRLM . . . . . . . . . . . . . 0000000086 00000002 LS E Comp-5
I am invoking Fujitsu Universal transaction monitor calls. When I invoke the api to get the message from the client, the message is ready correctly how ever the length of the message read is not returned (still set to 0 in the KCRLM field). Now COMP-5 may be an issue.
I am not using any MAKESYN directive and even then the behavior is there when using the compiler.
Thanks