I have a custom H/D application that on Save, initiates a Transaction Logic Block. This Transaction LB queues a Background Logic Block. Once this Background Task is complete, I am wanting to save a new header status. I haven’t been able to get the status change to commit and am looking for some ideas. Below is the approach I’ve tried so far.
User Save
↓
Transaction Logic Block (Save Action)
↓
Background Logic #1
├─ Complete PO Receipt
└─ Queue Background Logic #2
↓
Transaction OR Background Logic #2
└─ Update Custom App Header
If you are just fetching the header record and making a change to it in logic, you will need to make sure there is an Update statement after that to persist the update to the fetched record.
If that isn’t working, this could be a lot more complicated and probably needs a customer support ticket created for a deeper dive.
@Mark.Hanneman is the expectation that the user can stay on the record while this update is occurring (use the Save and Stay selection and wait for the background task to finish)?
If that’s the case, a user will never see an update to the header ‘status’ field until they refresh the page or close and reopen the record. The system does not currently support force-refreshing a record from a background task but that is being investigated.
If a refresh/reopen of the record isn’t yielding a correct field value, there could be a variety of things going wrong and I agree with Ian that a deep dive would be good. It’s also worth trying the Save HD logic action in lieu of Update Record if you have an HD Structure - that depends on the inputs/outputs of the background logic block, which might be built over the Header table or the Header-Detail table.