Field Length

Is it possible to increase the character length allowed in a field? For example we use ShipDtl.ShortChar01 on our packing slips but would like to add more characters than are currently allowed.


Switch to Character01 rather than shortChar01.

That would mess up any dashboards though, right? Since the old records would be using ShortChar01 and then moving forward new records would be using Character01?

Since you cannot change the field size, you would have to make a decision of which user field would be appropriate use.

You can update the value of ShortChar01 in Character01 and start using Character01 going forward and modify BPM, customisation, dashboards and forms. I have to do this for some of the fields in the past.

Is this a Progress DB? If so there’s a way in PET (Progress Explorer Tool) to change a field width.

And from what I recall from V8, the DB will actually hold more characters than the specified width. The issue you run into is that the UI and reports won’t show more than the width. But the data is there.

This would also cause issues ODBC connections.

I believe Epicor started providing full Progress licence from 8.03.409 only and changing the field length might upset the programs as programs need to be re-compiled. In addition, when moving to Epicor 10/11, data need to be truncated as SQL doesn’t more than field length. Epicor provided a fix program FX_Upd_Table_Field_overflows.r to truncate it.

Would it be possible to put the new Character01 field in but then import the data on past records from ShortChar01 to Character01?

Switching from ShortChar01 to Character01 would require updating BAQ’s, RDD’s, CR .rpt
files, Customizations, and BPMs

If you have DMT You should be able to update the ShipDtl records. You’d first make a BAQ of the ShipDtl table, including the key columns and ShortChar01. Export the BAQ and that becomes your input file for DMT. Change the column name of ShortChar01 to Character01

If you don’t have DMT (or its no longer available for 8.03), you could setup an ODBC connection to the DB, with R/W access, then use MS Query to update the table. Note that this can go bad fairly easily, and if it does, it could fubar your DB. Rigorously test it on a test DB first. And make a backup of the Production DB prior to doing it on that one.

Sure, you can do it. I am not sure whether DMT will support updating ShipDtl if the pack slip is shipped. Otherwise you can write a BPM on one of the Business Objects like ABCCode.Update and update the record.