Error - 'Sales Order release related to different supplier' entering new PO

Hello,

One of our users is getting a strange error today. They are trying to enter a new purchase order and getting this error:

Sales Order Release is related to a different supplier, cannot change.

She just opened the PO screen, entered a supplier, the supplier info came back then clicked Save, and got the error. She normally does this many times a day without issue. Note also - we have two companies and this is only happening in one of them. The other is fine and works. What is strange is that there is no sales order even on this new PO.

Here is the screen:

Any ideas?

Thanks

We don’t have any BPM’s on PO objects.

I have also tried this and get the same error. I downloaded the server log and it doesn’t really add much to it.

Also, when I try to duplicate an existing PO, I get this:

And from the server log:

correlationId=“a28efbb7-5c73-4fa5-947f-45732e4952b3” dur=“143.0848” cli=“10.81.4.23:45182” usr=“JShipley” machine=“LV19637” pid=“53900” tid=“47”>
<![CDATA[System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details.
—> Microsoft.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint ‘PK_CurrExChain’. Cannot insert duplicate key in object ‘Erp.CurrExChain’. The duplicate key value is (PRT, POHeader, 13655, , , , , , , , CAD, 1).
The statement has been terminated.
at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

Not sure why I am getting that error.

Something with currency exchange rate - maybe a wonky CSF?

From data dictionary: Currency Exchange Rate Conversion Chain information for transactional tables (i.e. InvcHead, OrderHed)

PK_CurrExChain = Company,TableName,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,TargetCurrCode,Step

Looks like it is some sort of data corruption (per ChatGPT) which could be

I am now trying to get DMT to work…

OK, glad you found it…guess that means there’s a bug in the copy-PO routine if multiple currencies are in play.

This ended up being a data corruption. Epicor support told me to run Conversion 790 and that fixed it.