We’re trying to import decision tables for our business rules engine after upgrading to Appian 22.2 in the cloud. The import process throws a schema mismatch error and fails to load the tables. These same decision table exports worked fine in our previous version (21.4).
The error message shows:
Schema Validation Error: Column 'discount_rate'
Expected type: DECIMAL(5,2)
Found type: NUMBER
Line 47 in DecisionTable_Pricing.xml
I’ve checked the column mapping in the import wizard and the data types appear correct. The decision tables contain pricing rules with percentage calculations that are critical for our quote approval workflow. Is there a schema validation change in 22.2 that requires different data type definitions? The alignment between our export format and the new import requirements isn’t clear.
Thanks, that makes sense. I’ve started updating the XML files manually, but we have over 50 decision tables to import. Is there a bulk conversion tool or script that can handle this automatically? Also, should I be concerned about other data type mismatches beyond NUMBER?
Before doing bulk conversions, export your current decision table definitions from the new environment and compare the schema. This will show you exactly what Appian 22.2 expects. The admin console has a decision table schema export feature that generates the correct XML structure.
I ran into this too. You’ll need to edit the XML file before importing. Open DecisionTable_Pricing.xml in a text editor and replace all instances of type="NUMBER" with the appropriate specific type. For discount rates, use type="DECIMAL" with precision and scale attributes like precision="5" scale="2". Make sure you do this for all numeric columns in your decision tables.
Watch out for DATE and TIMESTAMP types too - 22.2 requires ISO 8601 format. Also, TEXT vs VARCHAR distinction matters now. TEXT is for long content, VARCHAR for short strings with defined length. The schema validation is much more strict about these differences in cloud environments.
You can write a Python script to batch process the XML files. Use ElementTree to parse the decision table XMLs, find all column definitions, and replace generic types with specific ones based on your business logic. Just make sure to backup the originals first.