Hi Kurup,
A few examples may help:
05 num-fld-neg pic s9(4) value -0012.
05 num-fld-pos pic s9(4) value 12.
BTW, you coded the field backwards, I'm sure it's just a typo, it s/b:
05 ed-fld pic -9(8).
If you moved num-fld-neg to ed-fld and displayed it, you'd see -12
If you moved num-fld-pos to ed-fld and displayed it, you'd see 12
The thing to remember is that -9(8) defines a numeric edited field. Note that the leading zeros went away and there's no + for the pos 12. Also, if you coded ed-fld
pic +9(8) a pos 12 displays as +12, a neg 12 as 12 (wouldn't want to do that but there it is).
There are many flavors of edited fields in COBOL. Look up "numeric edited" or "edited" in the index of your text.
Regards, Jack.