-
Recently active
Hi, Im facing an issue in queryLogicalExpression where 'AND' operator is used and there are 3 query filters in it with applyWhen parameter is passed which is evaluated as false in all the 3 filters but still this expression got executed instead of ignoring it. Is the applyWhen parameter will work only for separate queryFilter and not for the filters added in logical expression? Could someone help me to understand the behaviour?Thanks
Hello everyone, In the recent update (version 26.1), we received a feature that allows us to create sync-enabled record types using a view as the data source. In our case, we have a view where we aggregate three fields (e.g., Name, Type, and ID). Since these fields are aggregated, each row is unique, and we have configured this combination as a unique key in the record type. Whenever a user updates information in the related tables, the view reflects the latest data. However, since we are using sync-enabled records, the updated data is not immediately available in the record. To handle this, we added a Sync Smart Service at the end of the process. But whenever a new record is created or updated with Name, Type, and ID, the smart service fails with the below error. Since the aggregation ensures there are no duplicate values for this column, and even in the view we see only a single row for each combination, I need guidance on how to handle or resolve this error.
Is there a best practice to handle a one-to-many relation in a record so that I can save and update the items selected from a multiple dropdown? (basically a use case where my object can have a list of related features, that can be changed). In https://docs.appian.com/suite/help/26.6/Multiple_Dropdown_Component.html#usage-considerations, I see that I can use a foreach to settle my data. But how do I say to Appian that it must remove the items that are not mentioned in the data I try to save? From what I am able to do right now, it is necessary to remove the unwanted items from the relation before inserting the new ones.
Hi everyone, We are currently analyzing the performance of record views in our application to understand what contributes to the overall record view load time beyond the interface itself. During our analysis, we observed that the interfaces configured for the record views perform well when tested independently (around 2 second). However, when the same interfaces are rendered as record views in a site, the overall load time increases significantly (around 4 seconds), with an additional 2–3 seconds spent during record view loading. This isn't isolated to a single record view—we're seeing the same pattern across multiple record views. We also notice that the additional delay is more pronounced in Production and higher environments than in DEV, which makes us wonder whether larger data volumes or other environment-specific factors could be contributing. Fun fact is DEV has more data volume than PROD. So its weird. Maybe its Infra issue? We're trying to un
I have two records related to the same project, "Template" and "Area." Both records share the same EVENT_HISTORY and EVENT_TYPE tables. Each of these records has a 1:m relationship with the EVENT_HISTORY table, but we did not relate the EVENT_HISTORY table to either record. We have a recordType column on the EVENT_HISTORY table to differentiate what type of record each event is referring to. Our devs prefer this approach to creating a new EVENT_HISTORY and EVENT_TYPE table for every record for the sake of organization. In each record, I have configured the events comment field to be a distinct event name for adding comments following these instructions. Template Record -> "Comment on Template" Area Record -> "Comment on Area" The template record was created first and behaves as expected. Whenever I attempt to add top level comments to the event history list for the Area record, it stores the event
I am exploring the possibility of integrating RDF (Resource Description Framework)-based semantic data into an application developed in Appian. The objective is to leverage RDF's interoperability and reasoning capabilities, as well as its integration with technologies such as SPARQL and standardized ontologies (e.g., OWL, FHIR, SNOMED CT). Given that Appian is a low-code platform focused on flexibility and integration, I would like to ask: Does Appian natively support managing RDF data or executing SPARQL queries? If native support is unavailable, what strategies or external tools does the community recommend for integrating RDF systems (e.g., via APIs or custom connectors)? Are there any known cases of successful RDF implementations in Appian, either directly or through integration with systems like Apache Jena, Virtuoso, or Blazegraph? Any guidance on how to approach this integration would be greatly appreciated. I am particularly interested in: Managing RDF triples within Ap
Hi all I have a requirement to build a WEB API and a Process model to update other external system. The request to the web api is: { "accountNumber": "20171941", "houseNumber": "13329892", "contractStartDate": "2022-08-25T00:00:00.0000000+01:00", "contractEndDate": "2023-08-25T00:00:00.0000000+01:00"} From the WEB API I am using the function a!fromJson to get the values for the process model from the http!request.body, as usual. When we validate the process model and it execution the dates on the request changed from 2022-08-25T00:00:00.0000000+01:00 to 8/24/2022 11:00 PM GMT+00:00. I understand that the JSON functions detects the Date but we really need to keep that format from the request. Any Idea? Thanks Mario
Issue with Dynamic Identifiers in Materialized View Causing Sync Failures We are consuming data from an external view that only returns records where: BPM_PROCESSING_STATUS IS NULL BPM_CASEID IS NULL This external view is built on top of a base table that contains all records. Current Implementation When a case is created in Appian, we update the base table using a Query Database Smart Service, populating: BPM_CASEID BPM_PROCESSING_STATUS (e.g., PENDINGFORAPPROVAL, REFERREDBACK, PROCESSED) Since we do not have access to define a primary key on the source table/view (due to grant restrictions), we: Created a Materialized View on top of the external view Added a synthetic identifier column: SQL 1 ROW_NUMBER() OVER (ORDER BY UNIQUE_ID) AS ID Show more lines Built an Appian Record Type using this materialized view (to leverage record filters, etc.) Created a stored procedure to refresh the materialized view Used: Execute Stored Procedure Smart
We have a requirement for comparison of same record type data and get the difference of the data & columns. We are aware of "CDT Diff Utilities" which does the same operation and gives the expected output. However we are looking for similar way of plugin availability or workaround to achieve the desired functionality. Note: We are not looking for manual comparison of the record fields and the data, as we need to perform the comparison across all record types in the application and it will be become very tedious process to achieve by manual comparison.
Hi, while querying data using query record type in one specific field (which is an integer type, mostly the values will be 1, 2 or 3) is returning null even the value is present in the database. While using query entity value is returning and in record data preview value is displaying but in the query record type alone it is returning null one time and returning value on clicking test value again. It's a sync record type and there is no sync failure, and no changes were made in database table structure and in CDT. By syncing the record manually this issue is resolved but I want to understand the root cause.Thanks.
So i have 3 fields in a record table namely A,B,C and also 3 groups namely A,B,C. So my doubt here is, is it possible to set security to the fields separately. For example if i place a user in group A, then i should see only the A field and the other B and C fields should not be visible to me. If it is possible, can anyone guide me how i can achieve it.
Hi, I have a grid fiield which is selectable. I am showing the filtered data in the grid. When the data is filtered the id will vary with row numbers like if id 2 and 5 is shown in first 2 rows it won't match with actual row number and the row is not getting highlighted after selection but the values are getting saved. The row is getting highlighted only when the row number matches the identifier. I have just used foreach loop and added extra parameter row number and mapped with fv!index. I have used this in identifier. The row is getting highlighted now but when there is a large number of data I am facing performance issue due to foreach loop. Is there any alternate way to achieve this ? a!forEach( items: local!data, expression: a!map( uin: fv!item.uin, uinDescription: fv!item.uindescription, totalAmount: fv!item.totalAmount, rowCount: fv!item.rowCount, rowNumber: fv!index ) ) /* Grid field code*/ a!gridField_25r2( label: "E
I need to filter data in a record type but the field I want to apply filter on is extra long text it's throwing error . My actual requirement is I have to show the data in grid with serach options. In the grid data 800 rows are there so I am trying to use custom filters since I cannot use searchbox becase I am not using record data as data source that's because if the grid column need to display exra long text content it should inly use the query record type . so basically I am facing issue with extra long text but i need it because my data have characteres more than 9000 to 12000 . They all bascially html templates .Is there any way I can have option to filter the data not exact data but matches the query .
Hi Appian Experts, Need your help regarding the data visibility. There is a scenario where our business users are not able to see the full name of a service account in a grid that is getting data from a database via a Sync disabled record, whereas the Application designer can see the full name of that service account via a following code. We have added the service account in the business group, still it didn't works. if( or( a!isNullOrEmpty( ri!user ), not( isusernametaken( ri!user ) ) ), ri!user, user( ri!user, "firstName" ) & " " & user( ri!user, "lastName" ) )
I am a little puzzled here. I need to check if a dateTime value is past a given hour of the day. But there is an issue, since it has an unpleasant behaviour : since we updated to summer time, it is wrong by 1 hour ! In my record type (and user interface), the dateTime will display "6/8/2026 5:48 PM GMT+02:00", so I assume my timezone has a two hours offset. However, when I use function "timezone()", it gives "60", which would be adequate (and it did for a while!) when we would still be with winter time. Why doesn't timezone() give 120? How is this possible ? Is it a known bug ? (we are using release 25.3). Do I have to create a specific constant with the right hour and remove the days to allow calculation? Here is what I have now: a!localVariables( local!dateBegin: now(), local!heure: hour(local!dateBegin) + timezone()/60, local!minute: minute(local!dateBegin), local!isAfter17h: or( local!heure > 1
Hello everyone, In the recent update (version 26.1), we received a feature that allows us to create sync-enabled record types using a view as the data source. However, the Sync smart service is not working with this type of record. Is this an Appian limitation? If yes, how is a sync-enabled record useful in this case? I am aggregating some information in a view and displaying it on the site, and I need up-to-date data. Therefore, I cannot rely on incremental or manual sync. Could you please suggest an appropriate approach?
Hello everyone, I want to understand how a grid field works when using a sync-enabled record as the data source. Let’s say I have 100 records. If I display 10 records per page, there will be 10 pages in total. Now, when I click on the Next icon in pagination, will the grid make a separate call to the database to fetch the next set of 10 records, or will it use Appian’s cache memory to display the data?
Issue Description On clicking the "Show Export Button" in the read-only grid, we are receiving a 403 – You do not have permission to view this page error. Details The grid is configured using a Record Type as the data source. Current data volume: 1038 rows. Number of columns: 32 columns. Request Could someone please help identify the root cause of this issue and suggest how it can be resolved?
I have a record type with following releation Request Master (one to one) Payment Request (One to One) Invoice Header (One to One) Invoice Payment Info but getting following error Unable to write to or delete from the source due to a data integrity violation.Error Details: Violation of UNIQUE KEY constraint 'UQ_PAYMENT_INFO_HEADER_INVOICE_ID'. Cannot insert duplicate key in object 'dbo.INVOICE_PAYMENT_INFO'. The duplicate key value is (21769). Not sure why its throwing duplicate key as the ID PK attribute is blank
Hi Appians, I noticed that I am able to create multiple record types with the exact same name. I tested this with both the same data stores with same/different tables from database, and the record types were created successfully without any validation error. This raised a few questions: Is it expected and valid behavior for multiple record types to share the same name? If duplicate names are allowed, what is the intended use case for this design? When configuring integrations, mappings, or other features that reference a record type, how can users reliably identify which record type is being used if multiple record types have the same name? Is there an internal unique identifier that the platform uses behind the scenes, and should users rely on that instead of the display name? (Other than UUID) I would appreciate any clarification on the expected behavior and recommended best practices. Thank you.
Hi, I see below error while creating a record, Unable to write to or delete from the source due to a data integrity violation.Error Details: (conn=141783) Duplicate entry '3' for key 'SURVEY_PROPERTY_ID' There is no key ""SURVEY_PROPERTY_ID" available in either DB or Record The counter seems to increase every time I try to write to record. But always shows the same error. Thanks in advance
Hi Team, I have a base record type and I configured multiple grids using that same record. In the grid, I am using the export/download option to download the records. However, when the file gets downloaded, the exported file name/display name is showing the Base Record name instead of the configured Record Label. My requirement is: The exported file should display the Record Label or grid-specific name It should not show the Base Record type name Could anyone help me understand: Why the export is taking the Base Record name? Is there any way to customize the export file name or make it use the Record Label? Is this expected Appian behavior or is there any workaround available? Thanks in advance!
Hi, I have list of maps in a local variable . I am using it in grid field . I need to apply sort to the columns. Sorting is supported only when the data is from query entity or record. Is there any workaround where we can manually apply sort to the grid when the data is a list of map. Sample code.a!localVariables( local!data: { a!map(id: 1, uin: 234, count: 5, ), a!map(id: 2, uin: 232, count: 5, ), a!map(id: 3, uin: 28, count: 5, ) }, a!gridField( data: local!data, columns: { a!gridColumn(label: "ID", value: fv!row.id), a!gridColumn(label: "UIN", value: fv!row.uin), a!gridColumn(label: "COUNT", value: fv!row.count) } ) ) Can you please help me with the sorting
I want to calculate cycle time -difference between received date and closed date in days which includes only business days Exclude weekends and public holidays Using recordtype-new custom record field I wanna to achieve as I need to use in process hq reports Thanks, Priyadharshini. S
I want to calculate cycle time -difference between received date and closed date in days which includes only business days Exclude weekends and public holidays Thanks, Priyadharshini. S
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.