1

Anyone using Micro Focus Cobol 5.1 with Oracle 12c having any issues with the executing program returning ORA-01438 (value larger than specified precision allowed for this number column)?

Cobol column definition is PIC S9(7)V9(2) and Oracle table column definition NUMBER(9,2). Server is SPARC Solaris 64 bit. Most if not all pre-compiler/compiler parameters are set to the default for 64 bit. Cobol programs worked fine in the Oracle 11g environment. We did increase the size of the Oracle table columns and the job ran fine but resulting data was not correct. Thanks.

Lori
  • 1,392
  • 1
  • 21
  • 29
Steven
  • 11
  • 2
  • Can you include some examples of source and result for the "not correct" results when you increased the columns? Is this affecting a lot of columns? How is the S9(7)V(2) defined? COMP-3/PACKED-DECIMAL? Some type of binary? Or nothing specified? You've changed to Oracle 12c and no other system software changes? Is the pre-compiler a new version? Have you checked the output for anything that looks odd? – Bill Woodger Mar 12 '16 at 23:38
  • The source values are a zero being inserted into the table column and the resulting not correct values end up as 9.6 or 809.6 or 772109.6, etc. These similar values occur in the trace output with several different programs. Seem to end with 9.6. This only occurs with a few of the programs. The S9(7)V(2) has no other specifications. Only software changes are the upgrade to Oracle 12c. MF Cobol is the same software and configuration. Thanks. – Steven Mar 13 '16 at 01:31
  • Sounds like an Oracle bug :-) I'd experiment with making the source-field PACKED-DECIMAL and BINARY and also with the field as a different length, just to see if the behaviour varies. I'd raise it as a bug with both Micro Focus and with Oracle (sometimes vendors play "tennis" as to where the problem may lie - if they both have it reported, it makes that more difficult to do). – Bill Woodger Mar 13 '16 at 07:46

0 Answers0