Transferring a local variable in an interface into a process variable

Hi all,

I have a pickerFieldUsers field in my interface that I use to store a username into a local variable "local!userToTransferTo" which looks like this:

a!pickerFieldUsers(
label: "New Owner",
labelPosition: "ABOVE",
saveInto: local!userToTransferTo,
value: local!userToTransferTo,
required: true,
validations: {},
placeholder: "--Start typing officer name--"
),

The interface that contains this field is a Process Start form for a process model.  The process model [also] has a process variable of type "User" which is called "PVUserToTransferTo".

Back in my interface, I have a buttonWidget inside a buttonArrayLayout that looks like this:

a!buttonArrayLayout(
buttons: {
a!buttonWidget(
label: "Transfer",
style: "NORMAL",
saveInto: {
a!forEach(
local!dataGridSelection,
a!save(
target: null,
value: local!dataGridSelection
)
) /*,
a!save(
pv!PVUserToTransferTo,
local!userToTransferTo
)*/
}
)
},
align: "START"
)

There's actually two problems I'm trying to solve here.  The first problem - the one that I am asking at this time - is how to get the value that gets stored in local!userToTransferTo from the pickerFieldUsers object into the process variable PVUserToTransferTo where I can subsequently use the data in the rest of my process model.  When I un-comment out the code:

a!save(
pv!PVUserToTransferTo,
local!userToTransferTo
)

The form fails to render/compile, so this code is clearly wrong in some way.

Can someone advise how I get the value that is entered into the pickerFieldUsers object into a process variable that I can use in my process model?

thanks heaps,

David

In my process model properties

  Discussion posts and replies are publicly visible

Parents
  • Hello David,

    It is important to understand the execution context, when you are in the process context(domain) you have access to the process variables pv!. When you are in a smart service or process node you are on the activity class context ac!  (domain) and when you are on a rule ( expression, interface, or so) you are on the rule context (domain) where you have rule inputs so you have ri!.

    You should map the values between the context  you create a node data input variable ac! That you will map and set up the value that comes from the process and later you have a rule input (the same type always, that will receive the activity class variable.

    pv! -> ac! -> ri!

    And you have to do the same when you want to receive a value from the interface.

    ri! -> ac! -> pv!

    The rrror you are experiencing is that you are trying to access a process variable that is not visible on the interface just because you are not in the context.

    Here you can find a discussion about the same

    Hi, I am using 18.1 and trying records tutorial by following https://docs.appian.com/suite/help/18.1/Records_Tutorial.html I was stuck at Add a Related Action point 4 where we need to pass process…
    By in Discussions > Process
    8 replies

    Hope this helps

    Jose

Reply
  • Hello David,

    It is important to understand the execution context, when you are in the process context(domain) you have access to the process variables pv!. When you are in a smart service or process node you are on the activity class context ac!  (domain) and when you are on a rule ( expression, interface, or so) you are on the rule context (domain) where you have rule inputs so you have ri!.

    You should map the values between the context  you create a node data input variable ac! That you will map and set up the value that comes from the process and later you have a rule input (the same type always, that will receive the activity class variable.

    pv! -> ac! -> ri!

    And you have to do the same when you want to receive a value from the interface.

    ri! -> ac! -> pv!

    The rrror you are experiencing is that you are trying to access a process variable that is not visible on the interface just because you are not in the context.

    Here you can find a discussion about the same

    Hi, I am using 18.1 and trying records tutorial by following https://docs.appian.com/suite/help/18.1/Records_Tutorial.html I was stuck at Add a Related Action point 4 where we need to pass process…
    By in Discussions > Process
    8 replies

    Hope this helps

    Jose

Children
No Data