KB-1917 System rule references revert to deprecated versions of system rules

Symptom

After saving an interface or expression rule, references to some system rules such as a!queryEntity() and a!dashboardLayout() revert to older versions, like a!queryEntity_18r3() and a!dashboardLayout_17r1(). For example, the following SAIL code:

with(
local!myCdt: 'type!{urn:com:appian:type:ESRR}MyCDT'(),
local!data: a!queryEntity(
entity: cons!consToDS,
query: a!query(
pagingInfo: a!pagingInfo(1,-1)
)
),
a!dashboardLayout(
contents: a!textField(
value: "abc"
)
)
)

Would appear after saving as:

with(
local!myCdt: 'type!{urn:com:appian:type:ESRR}MyCDT'(),
local!data: a!queryEntity_18r3(
entity: cons!consToDS,
query: a!query(
pagingInfo: a!pagingInfo(1,-1)
)
),
a!dashboardLayout_17r1(
contents: a!textField(
value: "abc"
)
)
)

Cause

This issue occurs when the SAIL code contains an invalid data type, meaning the wrong name or namespace is specified in the code. In the example code above, the namespace is written as {urn:com:appian:type:ESRR}, rather than {urn:com:appian:types:ESRR}.

This issue has been reported to the Appian Product Team. The reference number for this issue is AN-129712.

Action

To resolve the issue, take the following steps:

  1. Locate the invalid data type reference in the SAIL code.
  2. Correct the erroneous reference to refer to the correct data type name and namespace.
  3. Remove the _1*r* notation from impacted system rules.
  4. Save the interface or expression rule.

Affected Versions

This article applies to Appian 19.1 and later.

Last Reviewed: February 2024

Related
Recommended