a!richTextIcon( icon:"arrow-down", link:a!dynamicLink( saveInto:{ a!save(target:ri!userrole.ROLE,value:fv!item.Role), a!save(target:ri!userinputsheet.KONE_user_name,value:fv!item.KONE_user_name), a!save(target:ri!userrole.NAME,value:fv!item.KONE_user_name), a!save( target:ri!userrole.USER_ID, value:rule!KONE_Development_UserId(fv!item.KONE_user_name) ), a!save(target:ri!userinputsheet.FIRST_NAME,value:fv!item.FIRST_NAME), a!save(target:ri!userinputsheet.LAST_NAME,value:fv!item.LAST_NAME), a!save(target:ri!userinputsheet.Email, value:fv!item.Email), a!save(target:ri!userrole.EMAIL,value:fv!item.Email), a!save(target:ri!userinputsheet.Role,value:fv!item.Role), a!save( target:ri!userrole.ROLE_ID, value: a!forEach (items:rule!KONE_Development_Role_RoleId(), expression:if(fv!item.Role=ri!userinputsheet.Role,fv!item.Role_Id,{}) )), a!save( target:ri!userrole.USER_ID, value:rule!KONE_Development_UserId(ri!userinputsheet.KONE_user_name) ), a!save( target:ri!userrole.ROLE, value: fv!item.Role), a!save(target:ri!userrole.PHASE_ID, value:a!forEach (items:rule!KONE_Development_Role_RoleId(), expression:if(fv!item.Role=ri!userinputsheet.Role,fv!item.Role_Id,{}) )), a!save(target:ri!userinputsheet.Branch,value:fv!item.Branch), a!save(target:ri!userrole.BRANCH,value:fv!item.Branch), a!save(target:ri!userrole.BRANCH_ID, value:a!forEach (items:rule!KONE_Development_Branch_BranchId(), expression:if(fv!item.Branch=ri!userinputsheet.Branch,fv!item.Branch_Id,{}) )), a!save(target:ri!userinputsheet.Region,value:fv!item.Region), a!save(target:ri!userrole.REGION,value:fv!item.Region), a!save(target:ri!userrole.REGION_ID, value:a!forEach (items:rule!KONE_Development_Region_RegionId(), expression:if(fv!item.Region=ri!userinputsheet.Region,fv!item.Region_Id,{}) )), a!save(target:ri!userinputsheet.Manager_role,value:fv!item.Manager_role), a!save(target:ri!userinputsheet.Language,value:fv!item.Language), a!save(target:ri!userrole.LANG_ID, value:a!forEach (items:rule!KONE_Development_Language_LanguageId(), expression:if(fv!item.Language=ri!userinputsheet.Language,fv!item.Language_Id,{}) )), a!save(target:ri!userinputsheet.CE_LEVEL,value:fv!item.CE_LEVEL), a!save(target:ri!userrole.LEVEL,value:fv!item.CE_LEVEL), a!save(target:ri!userinputsheet.Telephone_number,value:fv!item.Telephone_number), a!save(target:ri!userrole.TELEPHONE_NUMBER,value:fv!item.Telephone_number), a!save(target:ri!userinputsheet.Exceptional_case_library_view_right,value:fv!item.Exceptional_case_library_view_right), a!save(target:ri!userrole.IS_EXCEPTION,value:0), a!save(target:ri!userinputsheet.updateTime,value:now()), a!save(target:ri!userrole.ACTIVE,value:0), a!save(target:ri!userinputsheet.Active,value:0), a!writeToMultipleDataStoreEntities( valuesToStore: { a!entityData(entity: cons!KONE_Development_userinputsheet_Constant, data: ri!userinputsheet), } ), a!deleteFromDataStoreEntities( dataToDelete: { a!entityDataIdentifiers( entity: cons!KONE_Development_userrole_Constant, identifiers: ri!userrole.NAME ) }, ) } ), linkStyle:"STANDALONE", color:"NEGATIVE" )
Just watch the bottom, i wish to update data to one table and delete data from table after click arrow-down button at the same time, but it can't running double smart service at same time, any way can make it come true?
Discussion posts and replies are publicly visible
You can trigger a process model to work on multiple smart services . Please refer the other post.
I know but always idiotic on process model
The second screenshot shows that the is no data passed into the process. Did you check whether your code for startProcess is correct?
I did, and I don't know how.
see i do save ri!submit, this process function should be triggered, isn't it?!
You are aware that in your dictionary in startProcess, you pass a parameter called "list" which does not exist in the process model? This must match! In name and data type!
And again .... Appian spends huge amounts of money in great documentation. Use it!
docs.appian.com/.../Start_Process_Smart_Service.html
though i changed list to username still not work either
What does not work ??? Do you see a valid value in the process variable?
Did you save&publish your process model? Appian will always start the last published version.
of course i save the lastest version of code each time before i running it, but what is the point there never a valid value go through the process model? It been hinder me for over 1 month, I thought I could jump over it only by coding without any process model, but now i have to use this again by application requirement.
This works for everybody else ...
Save is not good enough. Save&publish is what you need to do.
Why not make a small test. Create a new PV of type text with name "test" and make it a parameter. Then save&publish.
Then add a new parameter to your dictionary with name "test" and value "hello world".
Then click the button. You will see that the process instance will show up that value.
It seems report ri!submit i set as boolean type not match with the process variable of text type, I already set the property variable type to be boolean, where to find the process variable?
Could you give me another hint? Please sir
Please check the variables tab for submit variable.....
where is hell of process Variable can be set?
Do you use the interface as a process start form, or do you start the process via a!startProcess?
I did both ways together
Why? What do you expect what that should do? Start your process two times?
I recommend to back out of that current complex situation and do some simple and basic tests to understand how Appian works. Then, as you understand the basics, revisit your current solution.
You need to understand the difference between a start form in a process model and starting a process from another interface. See the Appian documentation and tutorials. Appian also has great online trainings and instructor lead trainings.
Peter Lewis What would be your recommendations?
I think Stefan's suggestion is a good one - often I find it helps to get a very simple use case working to make sure you understand the key concepts. Then, once you get that working, it makes it easier to apply to other concepts.
A couple resources I've seen help when learning new concepts:
One other general recommendation - sometimes it's actually okay if you don't immediately understand something. Personally I find that spending a little time testing and exploring independently before asking for help can also help me understand better.