Context menu errors

Hello -
We are on Epicor 9.04.507A … Yes I know it’s old, lol, not my choice believe me!
Somehow after all this time I have been successful in removing context menu’s from the part.partnum field while trying to do a quickview.

When I try to go to context menu maintenance and click on the upper or lower case Part.PartNum, I get this error:
Column ‘LikeID’ is constrained to be unique. Value ‘part.partnum’ is already present.

I have made the same mistake as was done here:

We are a Progress DB so I need to know how to remove the duplicate part.partnum or Part.Partnum .
Preferably the lowercase as it is the incorrect one I added.

Support was not able to help me, but wants the database.
Any suggestions on fixing this?
How can I go into Progress XXXDef table and fix this, if that is the only way?

Thank you,
Jim M.

Are you able to identify the “bad” records via BAQ?

AND do you already have ODBC setup for Progress?

THEN you may be able to manually delete in Progress.

Here is how I have accessed/modified Progress in the past

1.) Add an E9 ODBC DSN to your workstation - manually set the isolation level to BLANK - so that you can modify records.

2.) Install DbVisualizer and set up a connection using your new DSN
Note: Here is an old setup doc. how to add a view… but you should be able to add/edit/remove records too.
DbVisualiser setup for Progress.doc (248 KB)

If you don’t have ODBC already set up… then I’d definitely try to get Epcior support to fix this for you first.

Obviously… try this on a TEST system first.

Are UBAQ a thing in 9.04?

If so, the menus are stored as XML. If you grab the XML from a BAQ, manually correct it and jam it back in with a UBAQ, you should be able to correct the issue. Stored in XXXDef with Key1 as CustomCallContext I believe. Once you put the fixed XML back in you should be able to make a small change to any other context menu item (change a description or something) and force it to generate the new code for the menus.

Thanks for your reply. Unfortunately, Updateable BAQ’s were the next version if I remember right. Started in Thanks for the idea however.

What about dumping it and writing it back with a BPM. Replace base for something you don’t use (we usually use ABCCode.GetList) dump the XML to a file, fix it, and read it and put it back with a BPM.

That or your stuck going to the progress DB directly like Bruce suggested. I would however update the XML and let the system generate the new chunk for you vs going after the chunk.

Hi Bruce. Thank you for your information.
I did view the data in DBVisualiser as I have been using it for some time for both Progress and for our SQL server that we export Progress data to.

I do see what I think is the wrong data in a baq from XXXDEF:
I have also been able to list the data using this simple query:

select key1
WHERE Key1=‘CustomContextMenu’;

I don’t have the pro version of Visualiser, so I’ll have to remove or edit it somehow in a query and I don’t know how to do that.

If you could provide the syntax for that, it would be greatly appreciated.
Are there other tables that need deleted / changed?

I would of course test this in Pilot, which I have copied from Live to.

Thank you!