Skip to main content

Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

Hello,

I just tested this with Net Express, and it did fail with RTS 163 'Illegal character in numeric field'

Is it possible that you have COBSW=-F set because this will override the CHECKNUM directive?

Regards,


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

COBSW= B2 S5


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

Please have a look at the listing file to see if CHECKNUM or NOCHECKNUM is listed.


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

i attach the list file

thanks...


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

A  PIC 9(3) IS AN EDITED (Alphabetical) FIELD   the value 0f  3   would be " 003"

B  PIC 9(5)  is a simple numeric field

you should use for A  a PIC  S9(3)  in that case you could move A to B  or B to A

" " sign indicates that a positive sign will be used in the output to represent positive values and that a negative sign will represent negative values.


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

A  PIC 9(3) IS AN EDITED (Alphabetical) FIELD   the value 0f  3   would be " 003"

B  PIC 9(5)  is a simple numeric field

you should use for A  a PIC  S9(3)  in that case you could move A to B  or B to A

" " sign indicates that a positive sign will be used in the output to represent positive values and that a negative sign will represent negative values.


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

A  PIC 9(3) IS AN EDITED (Alphabetical) FIELD   the value 0f  3   would be " 003"

B  PIC 9(5)  is a simple numeric field

you should use for A  a PIC  S9(3)  in that case you could move A to B  or B to A

" " sign indicates that a positive sign will be used in the output to represent positive values and that a negative sign will represent negative values.


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

I cannot change it.... there is a different behavior between NetExpress and Server Express

Server Express i have this abend:

Object Code error : file '/common/lib/cobol/pgm0c7.gnt'

error code: 163, pc=0, call=1, seg=0

163     Illegal character in numeric field (in /common/source/pgm0c7.cbl, line 26)

thank!

bye


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

I have run some tests with my colleague, and we cannot get your program to fail on either Net Express and Server Express. In addition, we tried with the default directives or with the ones that you mentioned in your initial post.

Here's the result with Net Express:

S:\\285\\Community\\IllegalChar>run PGM0C7.gnt
Micro Focus Net Express V5.112.0022
RUN TIME ENVIRONMENT Copyright (C) Micro Focus IP Development Limited 1984-2015
URN AXCGG/AA0/00000
ESEGUIAMO 0C7 O NO ?!??!
WK-A: 003
WK-B1: 00003
WK-B2: 00003
WK-B3: 0000000003
WK-B4: 00003
WK-B5: 0000000003
WK-B6: 00003

Here's the result with Server Express:

/home/support/blairm/fano > cob -ug PGM0C7.cbl

/home/support/blairm/fano > cobrun PGM0C7

ESEGUIAMO 0C7 O NO ?!??!

WK-A: 003

WK-B1: 00003

WK-B2: 00003

WK-B3: 0000000003

WK-B4: 00003

WK-B5: 0000000003

WK-B6: 00003


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

hi,

it also works to me on Server Express (I can not prove directly),

actually the case is in a production schedule , and I tried to replicate the problem in net express manually, trusting the received data.

Now I replicated exactly the case (with same data and program) and now I have the same abend also on Net Express.

(I have attached the modified program to recreate the case of RTS 163 both in the Net Express  that on Server Express.)

Thank for your support!

bye


Hi,

I have cobol program that run two time one with  NetExpress and with server Express

the compiler directive are the same:

& compilazione ambiente sviluppo
copyext",cbl,cpy,cbl,cpy"
osext"cbl"
assign"external"
ans85
noosvs
recmode"osvs"
sign-fixup
vsc2"2"
list()
setting
ibmcomp
& flag"vsc2"
omf"gnt"
comp
notrunc
checkdiv"os390"
anim
bound
ssrange
nocmpr2
hostnummove
hostnumcompare
hostarithmetic
nosignfixup
checknum

the var:

01 a pic 9(3).

01 b pic 9(5).

server express:

move a to b

give "Illegal character in numeric field "

on net Express it work

Which directive should I use in Nets compiler for get same error of server express?

thank

Hi mf_galberico,

Your revised program fails with the 163 error in Server Express for me also. This is caused by the fact that you are doing a group move, and overlaying the first position of the numeric edited field F30TIT0-100-COD-BANCA field:

   27     03  F30TIT0-100-COD-BANCA       PIC 9(3).

with the value "6000". I believe you will get the "163 - Illegal character in numeric field " error anytime you try to use this field in a numeric move, and that first byte does not contain a " " or "-" .

As Fano mentioned, you can suppress this checking for numeric values at runtime by using COBSW=-F. If you are building to .gnt files, you can also suppress this check with the directive NOCHECKNUM.