My process inserts a new record in table CONTACT.
Using AC!StoredValues, the process variable pv!contact is correctly updated with the ID (in debug, I see it in the process variables).
Now I would like to understand why it is not updated in the interface calling the process as bellow.
a!startProcess( processModel: cons!CADOR_PM_SAVE_INFO_CONTACT, processParameters: { contact: ri!contact }, onSuccess: { /* here I would expect the ri!contact data to be updated with my newly inserted ID but it doesn't */ },
Note that all nodes in my PM (and sub-PMs) are chained.
Discussion posts and replies are publicly visible
You will have to add at least one a!save to onSuccess to copy data to your rule input.
Thanks! However I am not done yet...
Side question: how do I reference the output parameter? From what you say, here is what I understood I should do:
a!save(ri!contact, ri!contact)
(or with a little more imagination :
a!save(ri!contact, save!value.contact)
)?
None seem to be working for me.
docs.appian.com/.../Start_Process_Smart_Service.html
I am not sure this could answer my question: I am talking about a process launched from an interface (I know its not good, but application is here and needs maintenance).
in the 'onSuccess' you can have an array of a!save() where you can access the fv!processInfo which will contain the state of the process variables at the point that control was passed back to the calling interface. Note that if your process model is not chained beyond the point where the Ids of the inserted database objects are returned then you will not see their values returned.
processInfo
Refer to https://docs.appian.com/suite/help/22.2/Start_Process_Smart_Service.html, specifically the 'onSuccess' information.
Indeed, the
onSuccess: { a!save(ri!contact, fv!processInfo.pv.contact)
onSuccess: {
a!save(ri!contact, fv!processInfo.pv.contact)
did it.