REST V1 OData update user defind field values

I am trying to update a value in one of our user defined fields in the SerialNoSvc service and keep getting errors for “The Transaction source is invalid”.

I have tried updating a standard field with the same result. I am able to use the GET to retrieve the record without any issue and the user defined field QADocumentScanned is in the result.

Request:

patch: https://epicorserver/Pilot/api/v1/Erp.BO.SerialNoSvc/SerialNoes(‘company’,‘PartNum’,‘SerialNo’)
Payload:

{
“odata.metadata”: “https://epicorserver/Pilot/api/v1/Erp.BO.SerialNoSvc/$metadata#Epicor.RestApi.SerialNoes/@Element”,
“QADocScanned_c”: true
}

Result:
{
“HttpStatus”: 400,
“ReasonPhrase”: “REST API Exception”,
“ErrorMessage”: “The Transaction source is invalid.”,
“ErrorType”: “Ice.Common.BusinessObjectException”,
“ErrorDetails”: [
{
“Message”: “The Transaction source is invalid.”,
“Type”: “Error”,
“Table”: “SerialNo”,
“Program”: “Epicor.RESTApi.dll”,
“Method”: “ThrowUpdateExtRESTApiException”,
“ColumnNumber”: 17,
“LineNumber”: 194
}
]

}

It wants you to pass a transaction source (as the message states) that’s a field in the dataset.

The TransactionSource is empty text in the GET. What values do I need to supply? I tried “” and a string value.The TransactionSource is not in the dbo.SerialNo view

Got it to work setting the transaction source to “SNMaint”.
Thanks for the help.

See: