-
Recently active
Hi Everyone, I have a requirement to update more than 100 constants from the UI, for that I created Process model and I used Update Constant smart service , But the problem I am facing is for each constant I have to use separate "UPDATE CONSTANT" smart service. So is there any way to handle this kind of situation, apart from writing Smart service for each constant?
Team, We have a requirement to transfer a document from one appian system to another. Do we have any template for sample code for WebApi , can the same be achieved using webapi?
We had an issue at production yesterday where the system tried to access a property inside an empty string.Looking more closely, we discovered that the a!fromJson is not doing as it was supposed to do. Here on the a!fromJson (21.1) documentation, we see that the property with an empty string it's converted to null But when we execute the same code on the expressions, this comes back as an empty string, not maintaining its described functionality. The problem is that when we try to access a property from a null value, it does not throw an error. But when we try to access a property from a Text it throws an error and we know how problematic those are
Hello, how to build an expression rule which has 2 inputs - 1 is string, 2nd is alphabet. print the count of characters matching alphabet with the string (Umbrella to expected Result -u1m1b1r1e1l2a1)
Hi there, kind new to Appian, just want to know how to remove the leading zero from a string in Expression rule. thanks,
I have the following situation: - search text field for entering the client's ID - ADD button that does the search and adds the client to the grid - pretty complex UI which has this part regarding ADD button: a!buttonArrayLayout( buttons: { a!buttonWidget( label: "Add", saveInto: { a!save(local!addbButtonSwitch, not(local!addbButtonSwitch)), a!localVariables( local!client: a!refreshVariable( value: rule!APP_getclient( clientGroup: fv!item.id, clientCheckCdt: ri!clientCheck_cdt, clientRequestCdt: ri!request_cdt, searchString: trim( local!searchId[fv!index] ),
Hi, I have Question on adding a new field with Number(decimal) as type in CDT by using XSD Uploading, i am in confuse situation where what will the following values for Decimal?? is it decimal or float or double in XSD file </xsd:element> <xsd:element name="Amount" nillable="true" type="xsd:double"> <xsd:annotation> <xsd:appinfo source="appian.jpa">@Column(name="AMOUNT", length=255)</xsd:appinfo> If needed to Map the same field to Database SQL what will be AMOUNT column will be?? is it decimal or Double or Float or something else and also does length also be mentioned??
Hi, I have a dictionary as below - a!localVariables( local!data: { { col1: 1, col2: "N1", col3: "A1", col4: "S1" }, { col1: 2, col2: "N2", col3: "A2", col4: "S2" }, { col1: 3, col2: "N1", col3: "A1", col4: "S3" } }, local!data) I want a result that comes up post running this code - a!localVariables( local!data: { { col1: 1, col2: "N1", col3: "A1", col4: "S1" }, { col1: 2, col2: "N2", col3: "A2", col4: "S2" }, { col1: 3, col2: "N1", col3: "A1", col4: "S3" } }, local!commonData: a!forEach( items: local!data, expression: { data: index( local!data, wherecontains( merge({ fv!item.col2 }, { fv!item.col3 }), merge({ local!data.col2 }, { local!data.col3 }) ), {} ) } ), union(local!commonData,local!commonData)) But I am getting error Expression evaluation error at function 'union' Cannot compare ty
Same as subect
Hello community, I wonder if it is possible to check with in a if condition if a passed value of any type is a CDT.I want to make a generic expression rule to convert a body from JSON to CDT with two rule inputs.1 body of type text.2 any type, but only CDT's so no integer, string etc. So I want the to JSON function only to execute when the ruleinput is a CDT, if not I want to return a custom error message text string.Are the CDT in a specific reserved numeric range so I can use that, or is there another approach? Kind Regard, Erik
a!queryEntity( entity: cons!CH_ENTITY_Clients, query: a!query( filter: a!queryFilter( field: "cid", operator: "=", value: ri!rid, ), pagingInfo: a!pagingInfo( startIndex: "1", batchSize: "1" ) )).data
Hello, after Appian upgrade to version 20.4, I have a problem with confirming Save & Close button in Expression EditorClose and Save & Close buttons are now up and when I try to click on Save & Close button it's like I'm trying to edit that button.I can't confirm it. Any suggestions? How to solve that problem?Thanks, BR
Hi All, Could u pls help me for my below questions What are the steps to follow the Appian to External System?
I have one editable grid in which one priority field is there: a!integerField( label: "Priority", labelPosition: "ABOVE", value: if(not(isnull(fv!item.priority)),int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain),fv!item.priority), /*saveInto: a!save(fv!item.priority,if(rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)>0,a!save(save!value,int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)),save!value)), */ saveInto: {a!save(fv!item.priority,save!value) /*if(rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)>0,a!save(fv!item.priority,int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)),a!save(fv!item.priority,save!value))*/ }, refreshAfter: "UNFOCUS", readOnly: if(local!gridreadonly="Edit",true,false), validations: {if(and(local!gridreadonly="Save",not (isnull(fv!item.priority))),{if(count(rule!CRP_Get
Hi everyone, I need to create two expression rules that shows: 1. The information of all unfinished instances of the processes (what is seen in monitoring as not completed) in a range of dates. 2. Same, but with finished instances. Both must return a dictionary list with the basic information of the process: name, who started it and start date. Can you help me? Thank you!!
I was going through someone else's code at my company and found a puzzling thing. There was a parent expression rule calling a child expression rule. The child expression rule referenced a rule input that it did not have defined. The parent rule did have that rule input defined, and the child rule was able to access the rule input defined only in the parent. I want to make it clear that I believe the child rule *should* have had a rule input defined, and that the input should have been explicitly passed by the parent rule. The situation I ran into is not something I would personally rely on or a best practice I would recommend. Is this behavior intentional? Just curious. Below is a simple example: The parent rule has one rule input of a CDT "Widget" which has field1, field2, field3. ri!widget of type Widget is defined on expression rule "parentRule". contents of parentRule rule!childRule( ) childRule has *no* rule inputs
Case: I have Process model which has two task assignment nodes. I have a database field called Status--(Dropdown Options: Analysis, Approver, Complete) When the task is added by the admin then Status field should be defaulted to "Analysis" --> Now the task goes to Analyst (when Analyst Submits the task the field should changes to "Approver"--> Lastly, the task goes to Approver (when approver completes the task then the Status field should change to "Complete" How can I achieve this?
Hello community members, I am working on an assignment in a Appian learning path: Skills Practice Solution: Appian as a Service.A part of the assignment is calling a report from the webapi. code: a!localVariables(local!query: a!queryProcessAnalytics( report: cons!COLOUR_REPORT, contextProcessModels: cons!COLOUR_PROCESS_MODEL),a!toJson(local!query) a!toJson(local!query) is used in the body. But I get error Converting PortalReportDataSubset to JSON is not supported. It works fine with local!query.data Has this something to do with the Appian version I am using (19.4) because I followed the directions in the assignment. Kind Regards, Erik
Here is my code. I have one editable grid in which one priority field is there: a!integerField(label: "Priority",labelPosition: "ABOVE",value: if(not(isnull(fv!item.priority)),int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain),fv!item.priority),/*saveInto: a!save(fv!item.priority,if(rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)>0,a!save(save!value,int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)),save!value)), */saveInto: {a!save(fv!item.priority,save!value)/*if(rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)>0,a!save(fv!item.priority,int(fv!item.priority)-rule!CRP_CheckPriority(fv!item.priority,fv!item.contentdomain)),a!save(fv!item.priority,save!value))*/},refreshAfter: "UNFOCUS",readOnly: if(local!gridreadonly="Edit",true,false),validations: {if(and(local!gridreadonly="Save",not (isnull(fv!item.priority))),{if(count(rule!CRP_Ge
i written code : with( local!prioritylist:{1,2,3,4,5,6,7,8,9,10}, local!missinglist{}:{}, local!newmissing, local!count:0,local!temp: a!forEach( items:local!prioritylist, expression: if(fv!item <ri!priority,if(rule!CRP_Checkdepartmentwisepriority(fv!item,ri!department)=0,append(local!missinglist{},fv!item),local!missinglist{}),local!missinglist{}), local!newmissing:if(count(local!missinglist{})>0,count(local!missinglist{}),local!newmissing) ), local!temp ) i got the output like this: List of Variant - 10 items List of Variant - 0 items List of Variant - 0 items List of Number (Integer) - 1 item 3(Number (Integer)) List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items List of Variant - 0 items Here i want sum of count of each list of this list . Answer should be 1 So, How to add the count of each list in one variable??
I have a CDT (say CDTA) which contains a field for doc id that represents document in appian. CDTB would contain the bad doc ids doesn't exist in appian anymore that i need to delete using delete datastore smartsvc CDTC would contain the ones with doc ids that exist that i need to update using write to datastore smart svc in simple terms, CDTC = CDTA (all records) - CDTB (bad records) How can that be accomplished without having to loop twice ? I am using following to filter out the bad records (CDTB) a!localvariables( local!data : ri!docsdata, local!docstodelete: a!foreach( items: local!data, expression : if(isobjectexists("Document", fv!item.Doc_id), fv!item, {} ), local!docstodelete.data ) ) Then i tried using difference(CDTA,CDTB) but that doesn't work .. ;-(
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.