Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Just a question regarding the exact location and order that variable data is saved in. I have noticed that saving a variable in a child interface that was passed into it as a rule input also changes the related local variable in the parent interface, which is normal functionality that is explained in several tutorials. However I also noticed that saving a set of identical SAIL code into a local variable and then changing another local variable results in no change. For example if a dropdown option like this were selected it immediately resets the variable, local!madeFromCDT, back to the default:local!madeFromCDT: cast( typeof(type!("arbitraryType"), {abitraryField: null}))),
local!sailInterfaceDropdown: a!sideBySideLayout( item: rule!nestedDropdownfield( choiceLabels: local!listOfYesNo choiceValues: local!listOfYesNo value: index( local!madeFromCDT, "arbitraryField" saveInto: a!save( local!madeFromCDT, updatedictionary( dictionary: local!madeFromCDT, fieldsAndValues: {arbitraryField: save!value} ) ) ))However, using a expression rule does permanently change the local variable, local!madeFromCDT:local!madeFromCDT: cast( typeof(type!("arbitraryType"), {abitraryField: null}))),rule!sameSAILDropDownButInExpressionRule( madeFromCDT: local!madeFromCDT)
Discussion posts and replies are publicly visible
Sorry, but I do not understand what you are doing here. Please help me.
Why do you store a UI component into a local?
Instead of updatedictionary(), I suggest to use a!update().
Oh, I'm just trying to figure out more about the variable storage process (what order variables are stored and initialized etc). I couldn't find that info in the documentation, but it exists for other functionalities. But yeah, I realize that storing a UI component in a rule expression is best, but I wasn't sure why storing the UI component into a local wouldn't work too. I'll use a!update() for the other part though.
Some references:
https://appian.rocks/2022/07/05/data-in-interfaces/
https://docs.appian.com/suite/help/24.4/SAIL_Performance.html
Thank you!